F100 User Guide Sections Introduction Simple Examples PC Graphical User Interface Palm F100 Software User Interface Programming Commands Description Command Line/Batch Mode Operation Installing the Device Installing Software Error Messages/troubleshooting INTRODUCTION The F100 software controls the F100 series of frequency generators. It lets you input or create a program file. It processes the program file, checks it for errors, converts the program commands into a sequence of instructions to produce the desired frequencies on the device. It also lets you save, load and edit program files with the graphical user interface. There is also a command line version of the F100 software that can be used in non interactive applications to run frequencies in batch mode for example. On the PC, the program file is a standard ASCII text file that contains commands as described in the Example or Programming Commands sections bellow. You can use F100 to edit those files or you can use any ASCII text editor on any computer platform as long as it stores files in ASCII mode without adding any formatting. For example, Notepad in Windows is a valid ASCII editor. MS-Word is not unless you specify to save the file in text only mode. On the Palm PDA, program files are created via the F100 program on the PDA. They are stored as Palm OS catalog files that you can edit, save, open or delete. This user guide fully describes how to program F100 series function generators. We suggest you start with the examples in the next section and once you are familiar with the simple examples and how to run them, move on to the "Programming Commands Description" section for a detailed explanation of all the available programming commands. The F100 software is updated regularly with new features. To keep up to date on software/hardware releases and to ask or browse technical questions, you can subscribe to the AtelierRobin user group at: http://atelierrobin.tripod.com/usergroup.html SIMPLE EXAMPLES Each example consists of one or more program commands. To run the examples, type the commands ,exactly as shown, in a blank program window and click the "run" button or menu item. To clear the program window of any previous content select the file->new menu item. The examples should get you started quickly for simple frequency generation but for a full description of each command and its arguments, please see the "Programming Commands Description" section. How do I run 727 HZ: 727 How do I run 727, 800 , 880 and 1500 HZ each for 120 seconds: dwell 120 727 800 880 1500 How do I run 900 HZ for 60 seconds and 1000 HZ for 5 minutes: dwell 60 900 dwell 300 1000 How do I sweep from 120 to 1000 HZ in 1 HZ steps that run half a second each? dwell 0.5 sweep 120 1000 1 How do I run 10000 HZ for 30 seconds, pulsed at 4 HZ: dwell 30 pulse 4 50 10000 How do I run 770 HZ for 3.5 minutes with a 80% duty cycle: dwell 210 duty 80 770 How do I place comments in my programs: #Any character(s) following a pound sign is a comment PC GRAPHICAL USER INTERFACE The PC F100 GUI (Graphical User Interface) is composed of a top menu row, a row of buttons just bellow and the remaining space is occupied by the program window. The program window is where you type or load programs to be run or saved in permanent storage. Some menu items have an equivalent "hot key" combination that you can use to invoke them. If a menu item has a hot key, it is specified to the right of the menu item. For example, Run can be invoked with ctrl-r on MS-Windows. File Menu New Clear the program window and start a new program Open Open an existing program file from permanent storage Save Save your program file for future reuse or editing. Save As Save your program file, specifying a new file name. Export-> Palm OS Format Save a copy of the current program file in Palm OS format. The saved file can later be copied to your Palm device using the Palm Install Tool that comes with the Palm Desktop software. The file name must contain alphanumeric characters only and it must end with .pdb . Examples of valid file names are: myfile.pdb program.pdb To copy the saved file to your Palm device, start the Palm Install Tool in the Palm Desktop software that comes with your Palm device. Click "add" and add the pdb file you just saved. Quit the Install tool. The saved pdb file will be copied to your Palm device the next time you connect your device to your PC and perform a HotSync operation. After that, the pdb file will be visible from the open menu item in the Palm F100 software. Run Check the current program for errors and send to the device to produce frequencies. If errors exists, the error and line number are reported and no frequencies are run. Run can also be invoked with the "Run" button. Pause Pause/continue program execution. Click "pause" to pause the currently running program. Click "run" again to continue program execution where it was last paused. There is no frequency output while a program is paused. Hold Hold the currently running frequency until "release" is clicked. Hold can also be invoked with the "Hold" button. Skip Skip currently running frequency. Click once to skip the current frequency and move on to the next frequency in the sequence. Tools Menu Interactive Command Brings up a set of controls to adjust the frequency, duty, dwell, pulse, pulse duty in real time. This is similar to the knobs on a frequency generator. It allows fine adjustment of the various parameters by sliding the controls. The sliders can be manipulated three different ways with varying degree of precision: Click and drag the slider to rapidly sweep the values. Click on the slider bar to increment or decrement the values in medium steps Click on one of the slider arrows to increment or decrement the values in fine steps Change the step values to make the adjustment more or less fine. PALM F100 SOFTWARE USER INTERFACE The Palm user interface is composed of a top menu. Bellow that are line edit buttons, a line edit field and bellow this field is the program listing area. There is also a popup keyboard available by tapping the "abc" keyboard icon. F100 also makes use of the Palm application buttons at the bottom of your Palm device: 1st button (Date Book) : Run/Stop a program Click once to start execution of your program. Click again to stop execution. always make sure the frequency generator is connected and turned on BEFORE pressing the run button. Failing to do that will produce an error message. 3rd button (To do List): Hold/Release the current running frequency. Click once to let the currently running frequency continue until you click this button again to release it and go on to the next frequency in the program sequence. 4th button (Note Pad) : Pause/continue program execution. Click once to pause the currently running program. Click again to continue program execution where it was last paused. There is no frequency output while a program is paused. Page Down Button : Skip currently running frequency. Click once to skip the current frequency and move on to the next frequency in the sequence. The File Menu can be opened by tapping the "F100" label at the top left of your screen. The File Menu items have the same meaning as in the desktop version of the F100 software: New Clear the program window and start a new program Open Open an existing program file from permanent storage Save Save your program file for future reuse or editing. Save As Save your program file, specifying a new file name. Run Check the current program for errors and send to the device to produce frequencies. If errors exists, the error and line number are reported and no frequencies are run. Run can also be invoked with the 1st application button (Date Book). To stop program execution, press the Date Book button again. Always make sure the frequency generator is connected and turned on BEFORE pressing the run button. Failing to do that will produce an error message. Delete Delete a F100 program from permanent storage Editing Programs on Palm OS A program consists of a number of lines. Program lines are added/removed by using the "add", "insert" and "delete" buttons bellow the menu. Line text is entered/edited in the edit field just bellow the buttons. To edit a specific line in the program, first select it by tapping the line in the program listing and then modify the text or delete the entire line in the line edit field. Editing text can be done using Graffiti character recognition or using the pop up keyboard by tapping the "abc" icon. Note to Graffiti users: To speed up multiple line entry, simply entering a new line "/" at the end of the current line will automatically add or insert a new line to the program listing and will let you edit it without interruption. PROGRAMMING COMMANDS DESCRIPTION (Common to both the PC desktop and Palm versions) Each command and its arguments are described here. Simple examples are also given. The examples have comments in them. Remember that in programming, any character that appears after a pound "#" sign is not part of the program and not necessary. It is only there to explain the command. All commands are composed of a command word followed by arguments. The only exception to this rule is the command to run specific frequencies. To run frequencies, simply type the individual frequencies separated by a space or comma alone on a line. The following are all valid frequency commands: 10 # run 10 HZ 1000.5 # run 1000.5 HZ 0.8 # run .8 HZ 727, 880 # run 727 HZ and 880 HZ 1000 1500 # run 1000 HZ and 1500 HZ The remaining commands are: cdwell c Sets the default dwell value in total number of cycles (see dwell command to set dwell in seconds). The cdwell is the number of cycles the requested frequency will be generated. The cdwell value specified will be applied to any subsequent frequency in the program file up to the next dwell or cdwell instruction. Argument units: c in cycles Range: c: 1 to 2147000000 Examples: cdwell 100 #run frequencies for 100 cycles 10 #this runs 10 HZ for 100 cycles or 100/10=10 seconds Note: Most users are more familiar with setting dwell in seconds. The dwell command can be used for that. The command cdwell is another way to specify dwell time that varies according to the frequency generated. This is useful when running sweeps that span a wide frequency band. For example: cdwell 100 sweep 10 1000 1 In this case, during the sweep, the dwell time would vary from 10 seconds at 10 HZ to .1 seconds at 1000 HZ converge r s Useful if you are not certain of the exact frequency to produce but want to produce frequencies in the neighborhood of a set of known frequencies. Similar to the fuzz command except that frequencies are run below and above the center frequency alternating with each step. How wide the sweeps are is specified with the "r" argument in two different ways In the first way, r is the number of hertz below and above the frequency. Each frequency f in the program between this statement and the next converge or fuzz command will produce frequencies f-r to f+r with step s and alternating above and below the center frequency at every step. In the second way, r is a percentage. The sweep will be from f-(r/100*f) to f+(r/100*f) with steps s. To use this command, you must add a "%" immediately after the number. For multiple frequencies, converge only needs to be specified once, before the list of frequencies. Converge can be turned off with the command: converge 0 0 Examples: dwell 11 converge 5 1 727 #is equivalent to running in this order: 722, 732, 723, 731, 724, # 730, 725, 729, 726, 728, 727 for 1 second each dwell 18 converge 2% .5 #is equivalent to running:98, 102, 98.5, 101.5, 99, 101, 99.5 100 #100.5 100 for 2 seconds each dwell 10 converge 5% .1 #will run a converge for each frequency following this line 20, 680, 727 #up to the next converge or fuzz command converge 0 0 # turns off converge for the following frequency commands Note: When using the converge command, the dwell time is computed by dividing the default dwell time by the number of steps in the fuzz. For example: dwell 100 # sets default dwell to 100 seconds converge 5 1 # converge has 11 steps:95,105,96,104,97,103,98,102,99,101,100 800 # each frequency will be run for dwell/11=9.09 seconds duty d Sets the duty for the main frequency. The duty is the on time versus cycle time of the main frequency pulse :(on time/cycle time)*100. Argument units: d in percentage Examples: duty 50 #50% on, 50% off duty 10 #10% on, 90% off Note that the software will translate the requested duty to a value that the device can produce. The device can produce duty values from 3.125% to 96.875% in 3.125% increments. Stated differently, the requested duty will be adjusted to a duty value that differs from the original by a maximum of 3.125% dwell s Sets the default dwell value. The dwell is the length of time the requested frequency will be generated. The dwell value specified will be applied to any subsequent frequency in the program file up to the next dwell or cdwell instruction. Argument units: s in seconds Range: s: 0.0 to 20000000.0 Examples: dwell 120 #run for 2 minutes dwell 0.5 #run for half a second dwell .75 #run for 3/4 second goto l Causes program execution to jump to the command immediately following the label "l". "l" must be defined somewhere in the program with the "label" command. This allows looping in a program. See the "label" command for examples. "l" must be a string of alphanumeric characters only. exit Causes immediate termination of the program, skipping any lines after the exit command fuzz r s Useful if you are not certain of the exact frequency to produce but want to produce frequencies in the neighborhood of a set of known frequencies. Similar to the sweep command but can more easily be added to the beginning of an existing series of frequencies to run sweeps centered around them. How wide the sweeps are is specified with the "r" argument in two different ways In the first way, r is the number of hertz above and below the frequency. Each frequency f in the program between this statement and the next fuzz command will be treated as a sweep from f-r to f+r with step s. In the second way, r is a percentage. The sweep will be from f-(r/100*f) to f+(r/100*f) with steps s. To use this command, you must add a "%" immediately after the number. Fuzz can be turned off with the command: fuzz 0 0 Examples: fuzz 10 1 727,880,1556 #is equivalent to 3 sweep commands:sweep 717 737 1,sweep 870 890 1, #sweep 1546 1566 1 fuzz 5% .5 #is equivalent to these sweep commands: 100, 1000 #sweep 95 105 .5, sweep 950 1050 .5 fuzz 0 0 # turns off fuzz for the following frequency commands Note: When using the fuzz command, the dwell time is computed by dividing the default dwell time by the number of steps in the fuzz. For example: dwell 100 # sets default dwell to 100 seconds fuzz 5 1 # fuzz has 11 steps:95,96,97,98,99,100,101,102,103,104,105 800 # frequencies 795 to 805 will be run for dwell/11=9.09 seconds # each. label l Defines a label that can be used with the "goto" command. This allows looping and jumping over sections of a program. When used as an argument to the "goto" command, program execution will jump from the location of the goto to the command immediately following this label command. Example1: dwell .5 label loop 727 780 goto loop # At this point program execution will jump back to the "727" # command. This looping will go on until the user issues a # "stop" command in the GUI or # kills (ctrl-c) the program in command mode. The frequency # output will alternate between 727 and 780 HZ every half a # second Example2: goto l #At this point, program execution will jump to the "30" 10 #frequency line, skipping the 10 and 20 lines. 20 label l 30 40 The label-goto commands allow an infinite variation of frequency sequences to be looped. pause s Pause execution of the program for the specified amount of time in seconds. No frequency is produced while the program is paused. Argument units: s in seconds Examples: pause 1 #pause for one second pause 2.5 #pause for 2 and a half seconds pause 0.5 #pause for half a second print This is a message Print a message on the screen. Anything after the print command up to the end of line will be printed on the screen. This is useful for putting out messages between frequency sets in your program. When running in GUI mode, you might want to put a pause command immediately after the print command to make sure the message stays on the screen for a brief period of time. Examples: print My first seep will start in 5 seconds pause 5 sweep 10 1000 1 print My second sweep will start in 10 seconds pause 10 sweep 1001 2000 1 pulse f d Sets the pulse/gate frequency and duty. Pulsing is a signal applied to the main frequency. In digital terms, if the main signal is F, the pulse signal P and the output of the device OUT, then OUT = F AND P . This command is also used to turn pulsing off as: "pulse 0 0". Argument units: f in Hz d in percentage on Range: f: 0.0 to 16000.0 d: .39% to 99.61 % Examples: pulse 4 50 #pulse at 4hz, 50% duty pulse 5000 10 #pulse at 10khz, 10% duty pulse 0 0 #turn pulsing off Note: Pulse is off by default sweep f1 f2 s Will output every frequency between f1 and f2 using a step size defined by s. The dwell time for each frequency step corresponds to the current dwell time set by the last dwell command or the default dwell (180 seconds) if there is none. Argument units: f1,f2,step in Hz Example: dwell .5 sweep 1000 1010 .1 #those two commands will produce frequencies 1000.0, #1000.1, 1000.2 ...1009.9, 1010.0 each for half a second Note: Different Fxxx series device have different limits on the step size of frequency they can produce. The program allows you to ask for any frequency step size but it will adjust the requested frequency to the closest frequency your device can produce. Read your device technical specifications for its frequency step size. For dwell times greater or equal to half a second, the requested frequency and adjusted frequency in parentheses are displayed while running. CAUTION: If you specify a step size smaller than your device is capable to produce, two or more consecutive steps could end up producing the same frequency each for the specified dwell time. Keep that in mind if in the context of your application it is important not to exceed a specific dwell time for one single frequency. In such a case, it is better to use steps at least twice the step size of your device to avoid duplicate frequencies. vduty f1 d1 f2 d2 Sets a variable duty value for the main frequency. See "duty" command for a definition of duty. This allows the duty to vary depending of the main frequency being produced. The arguments f1,d1,f2,d2 represent two points on a linear equation of duty (d) vs frequency (f). Think of a linear equation y=mx+b where y=duty and x=frequency. Argument units: f1,f2 in Hz d1,d2 in percentage on/off Range: f1 cannot equal f2 For example. If at 10 hz you want the duty to be 20% and at 3000 Hz you want the duty to be 70%, you only need to specify those two sets of data and the software will extrapolate the duty values for any other frequency based on the straight line linking those two points on a graph. The command would be: vduty 10 20 3000 70 Another example: vduty 10.0 90.0 100000 20.0 vpulse m b d Sets a variable pulse frequency based on the main frequency. See "pulse" command for a description of pulsing/gating. This allows the pulse frequency to vary based on the main frequency being produced. The arguments m and b represent the m,b values in a linear equation of pulse frequency vs main frequency: pulse freq = m * (main frequency) + b . Argument d is the pulse frequency duty cycle in percentage. When running frequencies, if the computed pulse frequency is < 0, pulsing will be turned off. If the pulse frequency is > 16000 HZ, the pulse frequency will be set at 16000 HZ. Argument units: d in percentage on/off Range: if m=0, b must be < 16000 d: .39% to 99.61 % For example, if you want the pulse frequency to always be one third the main frequency and the pulse duty cycle set at 50% you would use the command: vpulse 0.33 0 50 PC COMMAND LINE/BATCH MODE OPERATION There are three ways to run frequencies without user interaction with f100 on a PC. -GUI mode In this mode, a program file is specified on the command line, the graphical user interface is invoked and the program is run automatically without user input. Example: f100 -r myProgram.frq -Command Line Mode In this mode, a program file is specified on the command line. It is automatically run without invoking the graphical user interface. This mode requires slightly less memory to run than GUI mode. Example invocation: f100c myProgram.frq -Synchronized Command Line Mode This mode is similar to the "Command Line Mode" above except that program execution can be synchronized with an external event or between multiple F100 frequency generators connected to the same computer. Example invocation: f100s flagFile myProgram.frq This command will start the f100 software and load myProgram.frq in memory but wait for the existence of the file "flagFile" before actually executing the program. For example, to synchronize two f100 frequency generators, one would start two f100 processes: erase flagFile f100s flagFile myProgram1.frq f100s flagFile myProgram2.frq The two processes would prepare to run myProgram1 and myProgram2 but would postpone actual execution until a file called flagFile is created. The content of that file does not matter. It can be an empty file. One way to create a file is: echo go> flagFile Note: To run more than one f100 frequency generator on the same computer, one must install one copy of the f100 software per frequency generator, each in its own separate directory. Use different serial port identifiers for each generator. INSTALLING DEVICE Your frequency generator has 3 connectors and one on/off switch: Front right: BNC connector for frequency output Rear left: 1/8" Serial I/O connector labeled "COM" Rear middle: 7.5-12 Volt DC power connector (center pin positive) Rear right: off/On switch (see label under case) Serial cable connection on a PC: Locate a free serial port on your computer. Serial ports normally have 9 pin male, or on older computers, 25 pin male connector. If your computer only has a 25 pin serial port, you will need a 9 pin male to 25 pin female adapter available on our web site or most computer stores. Connect the 9 pin cable to the computer serial port. Connect the other end of the serial cable to the rear left serial I/O connector on the frequency generator device. Do not use an extension on this cable. The cable provided with your frequency generator is shielded and has RF filters at both ends. Adding an extension to this cable can cause the frequency generator to malfunction. Serial cable connection on a Palm device: If you did not buy a Palm/Frequency generator bundle and are using your own PDA device, you need to obtain the Palm PDA adapter kit from our web site. This kit contains a RF shielding ferrite block and a serial cable adapter. Those who purchased the Palm device from us can skip the rest of this paragraph. Add the RF shielding ferrite block to the your Palm cradle or serial cable: As close as possible to the end of the cable near the Palm device/cradle, wrap two turns of cable in the ferrite block and close the block and secure with the provided "tie wrap". Connect the 9 pin end of the adapter to the 9 pin cable from your Palm cradle or serial cable. Connect the other end of the adapter to the rear left serial I/O connector on the frequency generator. Do not use an extension on this cable. The cable provided with your PDA and the adapter are shielded and have an RF filter. Adding an extension to this cable can cause the frequency generator to malfunction. Power transformer The frequency generator requires a DC transformer in the 7.5V to 12V range with at least 300 ma capacity. A 7.5V DC transformer is provided for North American markets. A 12 V battery can also be used for power. Connect the transformer or battery cable to the power jack on the frequency generator. The power jack is a 2.5mm POSITIVE CENTER PIN and negative outer shell power connector. If you provide your own power cable and plug, make sure to have the correct polarity and plug size. Other plug sizes might fit but provide a faulty center contact. When using a transformer, connect the transformer to the same power outlet as the computer driving the frequency generator. This can avoid communication problems between the two devices when different outlets do not share the same ground level. Do not use a transformer or battery with output greater than 12V or the frequency generator can over heat or be damaged. It is preferable to connect the transformer to a surge suppressor "power bar" to prevent damage from voltage spikes. The frequency generator has a off/on switch. Turn the switch on (right) when in use. Make sure the power is connected and the switch is on before you start the F100 software. Do not turn off and on the generator while frequencies are running. If you do this, you need to stop program execution, turn on the generator and restart program execution. The frequency output is at the BNC connector. It can be connected to any equipment that requires TTL (0/5V) 50 Ohm frequency input. INSTALLING SOFTWARE Software for your frequency generator can be installed from the CD-ROM or our web site. If you have access to our web site, it is preferable to download the latest software from there since it may contain updates/improvements not available on the CD-ROM. Installing MS-Windows Software: The F100 software can be installed in a number of ways listed bellow. The first option (InstallAnywhere installer) is completely automated but requires more than the software's 3 MB to install depending on your system. If you have limited hard disk space and/or memory or are having difficulties during the installation using option 1, use one of the other options and follow the steps. Option 1: Automated installation Double click the file install.exe on the CD-ROM Option 2: Self extracting archive: 1)Double click the file f100rar.exe 2)Choose an installation directory when asked 3)Run f100 by double clicking f100.exe in that directory Option 3: Zip file 1) Obtain WinZip from www.winzip.com if you don't have it. You need WinZip to extract the files. 2) Double click the f100.zip file and extract it in a directory where you want f100 to be installed 3) Run f100 by double clicking f100.exe in that directory The first time you run F100, you will be asked to specify the serial port where the device is connected. If you get a message saying "can't find device", make sure the frequency generator is well connected, you specified the correct port, the power switch is on on the device. You can specify a different port in the "preferences" section in the file menu. When changing the port definition in the preferences, you need to restart the F100 software for the change to take effect. Installing Palm OS Software: Option 1: Self extracting archive: 1)Double click the file f100palm.exe 2)Choose an installation directory when asked 3)Make sure your Palm device is connected to your computer and turned on 4)Start your Palm Desktop application on your computer 5)Click "install" on the Palm Desktop 6)Click "add" in the Install Tool window 7)Add all the following files located in the directory where you extracted the Palm F100 software: SWNatives.prc SuperWaba.prc SuperWaba.pdb F100.prc F100.pdb 8)Click "done" in the Install Tool 9)Start the Palm Hot Sync Manager on your computer 10)Click the Hot Sync button on your Palm cradle 11)When Hot sync is done, you can start the F100 application on your Palm device by clicking the F100 icon. ERROR MESSAGES/TROUBLE SHOOTING "Communication port is in use, Close other applications first" The communication port you specified in the preferences section or f100.cfg file is in use by another application. Quit the other application before running F100 or specify another port. The port can be defined in the preferences section of the file menu in the GUI or by manually editing the f100.cfg file in the f100 directory. The file must contain the following line: port=COM1 Where you substitute COM1 for your port name. When I turn the generator off and on, it doesn't respond anymore or I get a message that the frequency specified is too high. When turning the generator off, wait at least 5 seconds before turning it back on. The generator has large filtering capacitors that take time to discharge when cycling the power off and on. I have a F150 or F155 and the software tells me I can't run a frequency above 156 KHZ. Make sure your generator is properly connected and the serial port is correctly defined. When the software runs, it communicates with the generator to determine what model it is. If it can't get a response, it defaults to a F105 with a maximum output frequency of 156 KHZ.