Flag | Description | Usage/further information | |
-h | This help information. | HelpInformation | |
-v | Version information for this application and its supporting components. | VersionInformation | |
-f | <filename> | Specify a particular application configuration file to use. This allows for command-line requesting of different sets of instruments to bring online in a given session and other startup options. The file must reside in the current working directory. If this option is not specified, the default config file 'cbic.conf' will be read from the current working directory |
$CESR_ONLINE/instr/CBPM/ops sample files: cbic.conf-14ns-FixedGain cbic.conf-4ns-VariableGain |
-a | <allocation-spec> | Specify an instrument allocation scheme / allocation name pair $CESR_ONLINE/instr/CBPM/allocation |
-a Standard:West OR -a Custom:Blank (to connect to NO BPMs) OR -a Literal:BPM_12W3,BPM_8AW (to specify the BPMs in a list) |
-b | 'BACK-END' mode. Start program, reading configuration as normal, then drop into a wait state for an incoming network connection from a manager program, potentially on a remote host. Once a connection is established, the manager will have full control of this program. |
. not used much anymore . | |
-s | Go directly into SERVER MODE. Once all instruments are polled and brought online, this will place the application into BPM data server mode to allow 3rd party beam position requests. CESRV and orbit are two programs that use a BPM server to acquire their data. |
This is used for the East and West servers. This gets automatically to where Menu option 17 will take you manually. |
|
-c | Go directly into CURRENT MONITOR MODE DEFAULT Intended for bringing a SINGLE instrument online and activating it to allow continuous bunch-by-bunch current monitoring The instrument to use for monitoring currents is specified in the instrument list file with a 'CURRMON' server ID specification. |
places data in the mnemonics: POS_2NS_MAMP, ELE_2NS_MAMP, and CSR_CURRENTS |
|
-e | Older version of Current Monitor. | No longer supported. | |
-i | Use Current Monitor Test Mnemonics instead of the real MPM Database nodes. used as a test mode, instead of putting data into the usual mnemonics, they are place in special Test mnemonics |
places data in the mnemonics: POS_TST_MAMP, ELE_TST_MAMP, and TST_CURRENTS |
|
-w | Go directly into POSITION MONITOR MODE Intended for bringing a GROUP of instruments online and activating it to allow continuous position monitoring |
This gets automatically to where Menu option 41 will take you manually. PositionMonitorSampleOutput |
|
-d | <#> | Set debug verbosity level 0 - 5 Determines the level of detail that debugging and trace printouts show during operation. 0 means no additional debugging output- equivalent to not using '-d' 5 means maximum detail in debugging output The application defaults to level 0 if no option is specified. NOTE: Level 5 prints a LOT of information and may in fact clutter useful information or scroll it off the screen more rapidly than it may be productively used. It is recommended that the application is run in a terminal window with a large scrollback buffer so that runtime details are not lost. |
|
-k | Keyboard input protection override - used for running CBIC with command files. There is a check to make sure that commands aren't entered to fast, since sometimes due to an unexplained bug, CBIC will just take off, like someone is entering commands as fast as possible. The protection will automatically stop the program if commands happen too fast 5 times in a row. This protection override is used if you run CBIC from a command file, since there the won't BE any time delay between commands being "entered". |
||
-l | Start with long form of the menu. When CBIC starts up, it is usually in the "User" menu, the shortest form. With this option, CBIC will start with the Expert menu, the longest form. |
||
-m | Enter 'MAINTENANCE MODE' wherein instruments are brought online with a customizable set of communication checks and parameter reads. 0 means no maintenance mode will be used- equivalent to not using '-m' 1 2 3 Highest supported maintenance mode. Reads in general parameters but avoids all communication with instruments to allow low level tasks to be performed. Example: To perform a rapid blanket reset/wakeup of all instruments after a power cycle of several instruments has taken place, start up application in maintenance mode 3 and then run the RESET INSTRUMENT command. Wait about 20 seconds. All instruments should be ready for use. Exit and start application normally. |
Hasn't been used much lately. | |
-M | Enter 'MANAGER MODE' wherein this application will start (remote) instances of itself in Back-end mode and then connect to them for centralized control. |
. not used much anymore . | |
-T | TESTING MANAGER MODE. The same as -M above, but DO NOT spawn copies of each back-end instance requested. The back-ends will need to be started manually. Used for testing. |
. not used much anymore . | |
-t | Trigger-enable mode. The program will set the trigger (data) enable flag in the CESR database on its own once all instruments are set up and ready to acquire data. The program then de-asserts the trigger enable once the measurement is complete. |
||
-g | Graphical User Interface (GUI) mode. Allows for windowed, graphical control of some program functions. |
except it's been discontinued for years: 12682, look at use_gui | |
-o | <#> | Set Debug Option mode 1 integer choice | if debug verbosity level is 2 or greater , and -o > 0 then Current Monitor will print out array of bunch currents. The -p switch specifies whether the print out is raw data or current_array scaled and filtered. |
-p | <#> | Set Debug Option mode 2 to 1 | if debug verbosity level is 2 or greater, and -o > 0, then Current Monitor: DEFAULT: printf( current_array scaled and filtered) if -p is not 0 : printf( current raw signal sum) |
-q | <#> | Set Debug Option mode 3 to 1 | 60 Hz synchronize data acquisition trigger for Current Monitor DEFAULT: trigger = TRIG_MASK_A 60 Hz trigger if -q flag set: trigger = TRIG_MASK_NONE, no 60 Hz trigger |
-r | <#> | Set Debug Option mode 4 floating point choice | exponentional filter time constant for Current Monitor DEFAULT: a = 4.0 or you can set "a" to a floating point number in the following equation: newCurrentMeasurement = (1.-1./a)*oldCurrentMeasurement |
-u | <#> | Set Debug Option mode 5 to 1 | no longer used |
# | Files and SampleOutput | ||
-1 | FIND bTMD | Determine best block turns marker delay settings | FindBTMD |
0 | Change Menu | Change Menu Level( (U)ser, (S)uperuser, (E)xpert) DEFAULT: U : UserLevelMenu, S : SuperuserLevelMenu, E : ExpertLevelMenu |
|
1 | FIND BUNCH | Determine which bunch bucket in the machine contains charge (Single bunch only) FB-046344-124.dat |
FindBunch |
2 | GET STATUS AND DEBUG | Read back the status and debug structures from each instrument | GetStatusAndDebug |
3 | TEST DATA BUFFERS | Test command to verify buffer filling and other things | TestDataBuffers |
4 | GET TURN-BY-TURN DATA (do cbpm_tbt_[positrons/electrons]) |
Collect turn-by-turn data RD-018345.dat | GetTurnByTurnData |
5 | GET PROCESSED DATA | Collect data averaged over some number of turns FB-046344-124.dat | GetProcessedData |
6 | MEASURE 4ns BUNCH CURRENTS (start DEFAULT Current Monitor) |
Collect data averaged over some number of turns, calculate sum of buttons, publish in current nodes. |
MeasureBunchCurrents |
7 | FIND cTMD | Calculate the COMMON turns-marker delay setting. | FindCTMD |
8 | GET BETATRON PHASE (Measure Phase) | Collect betatron phase data | GetBetatronPhase |
9 | SAVE TIMING PARAMETERS | Save timing values to disk | SaveTimingParameters |
10 | SAVE PEDESTAL PARAMETERS | Save pedestal values to disk | SavePedestalParameters |
11 | TIME SCAN (do adjust_cbpm_times [pos/ele]) |
Perform a global delay scan TimeScanPlots TimeScanDiagnosticsDocumentation | TimeScan |
12 | SET GAINS | Set all gain values on board instrument | SetGains |
13 | GET TEMPERATURES | Read back all temperature sensors data | GetTemperatures |
14 | REREAD PARAMETER FILES | Reload the detector and instrument parameters files. | ReReadParameterFiles |
15 | SELECT ACTIVE INSTRUMENTS (List Instruments) |
Toggle the activity state of any online instruments | WestInstrumentList, output_WestE.txt EastInstrumentList, output_EastE.txt |
16 | IDLE COMMAND | Send the 'IDLE COMMAND' to the instruments. | IdleCommand |
17 | ENTER SERVER MODE (Start Server) | Accept requests via the MPM interface array, <a name="MenuOption17"></a> this can be automatically reached by the execution flag "-s" |
EnterServerMode |
18 | DUMP MPM INTERFACE STRUCTURE | Dump the contents of the MPM interface array to the screen | DumpMPMInterfaceStruct |
19 | ACQUIRE PEDESTALS | Acquire pedestal values on all cards, channels, and gain settings for the active timing setup. |
AcquirePedestals |
20 | DUMP RAW DATA | Dump to disk the most recent turn-by-turn data without new acquisition. | DumpRawData |
21 | CHECK PULSE | Read and verify the DSP heartbeat and timing integrity signals. | CheckPulse |
22 | SET TIMING SETUP | Configure the timing setup for each ONLINE instrument. | SetTimingSetup |
23 | INSTALL UPDATED PARAMETERS | Copy the latest parameter set with outstanding changes in this session to the master operational parameters file. |
InstallUpdatedParameters |
24 | RESET COLDFIRE | Reset the Coldfire communications board | ResetColdFire |
25 | PROGRAM FLASH | Reload an instrument's on-board software | ProgramFlash |
26 | RESET AND INIT | Reset and reinitialize instruments | ResetAndInit |
27 | POWER CYCLE - RESET AND INIT (Cycle Power) |
Cycle power before performing reset and init sequence. | PowerCycle |
28 | TIME-IN | Perform a mostly-automated initial timing-in procedure on the instruments. | TimeIn |
29 | INSTALL ELECTRONIC GAIN CORRECTIONS | Overwrite all relevant gain tables from scale factor file storing in intermediate config file. | InstallElectronicGainCorrecctions |
30 | APPLY GAIN MAPPING CORRECTIONS | Multiply each existing gain scale factor by the provided gain mapping correction values. | ApplyGainMappingCorrections |
31 | COMPOSE BUNCH PATTERN (Create Bunch Pattern) |
Compose a new bunch pattern graphically. | ComposeBunchPatternPicts |
32 | Clear Debug Struct | Clear Debug index and array | ClearDebugStruct |
33 | SCRUB TIMING PARAMS | Scrub all block-dependent timing params to an uninitialized state. | ScrubTimingParams |
34 | COPY TIMING PARAMS A-->B | Copies all timing params from timing block A to block B for calibration work. | CopyTimingParams |
35 | Diagnostic Dump | Dump full diagnostic information for all active instruments to a file. 20E-ctacf018.dump | DiagnosticDump |
36 | EXIT (Exit) | Exit this application | |
37 | Enable FG Zero-Crossing Sample Point | Change all active instrument sample points to 0.4ns later for FixedGain zero-crossing measurement. |
EnableFGZeroCrossingSamplePoint |
38 | Install Turn-By-Turn Bunch Pattern (Set Bunch Pattern) |
Prompt for a bunch pattern and acquire a multibunch turn-by-turn data set. | InstallTurnByTurnBunchPattern |
39 | Test Life | Command test running till death or error | TestList |
40 | Calibration 4ns BUNCH CURRENTS | Calibrate the Current monitor at different gain settings | no longer used |
41 | Start Realtime Position Monitor | Start Realtime Position Monitor, showing x,y, and amplitude, this can be automatically reached by the execution flag "-w" |
StartRealtimePositionMonitor |
42 | MEASURE 4ns BUNCH CURRENTS (start OLD VERSION Current Monitor) |
Collect data averaged over some number of turns, calculate sum of buttons, publish in current nodes. |
No longer supported. |
43 | ENTER SERVER INJECTION MODE (Start Server for Injection) |
Accept requests via the MPM interface array | EnterServerInjectionMode |
44 | COPY TIMING PARAMS A-->B+0.5 nS | Copies all timing params from timing block A to block B plus Constant. | CopyTimingParamsAToBPlus500pS |
Name | Prep function | Parameters | Output |
Get Turn-By-Turn Data (From CBIC menu item 4) |
cbpm_raw_data_prep | user questions: specify bunch pattern, # of turns, automatic timing hard coded: pedestal subtract:ON, gain scale:ON, auto gain:ON |
raw button values, file includes pedestal and gain calibrations RD-0#####.dat |
Get Turn-By-Turn Data (from MPM using do cbpm_tbt_positrons or do cbpm_tbt_electrons ) |
cbpm_raw_data_prep_from_iface | info from MPM: # of turns, bunch pattern (set with Install Bunch Pattern (menu item 38) hard coded: automatic timing:OFF, pedestal subtract:ON, gain scale:ON, auto gain: ON |
raw button values, file includes pedestal and gain calibrations PROC-14####.dat |
Take Orbit (from MPM using cesrv) |
cbpm_proc_data_prep_from_iface | info from MPM: # of turns, which bunch hard coded: automatic timing:OFF, pedestal subtract:ON, gain scale:ON, auto gain: retrieve from cbic.conf |
MPM values in mnemonics: CSRBPM_DDATA, BPM_ORB_DATA, CSRBPM_XYPOS, CSRBPM_DSTAT, no file written by CBIC |
Get Processed Data (From CBIC menu item 5) |
cbpm_proc_data_prep | user questions: species, bunches to enable, # of turns, automatic timing, pedestal subtract, gain scale, auto gain, jitter suppression |
average of turns taken written into PROC file by CBIC, no MPM data stored |
Name | Location | Link or Attached File |
SVN | $ACCR/trunk/src | https://accserv.lepp.cornell.edu/cgi-bin/view.cgi/trunk/src/ |
CBPMII System Power Supply Controls.odt | Q:\hardware\BPM\Docs | CBPMII_System_Power_Supply_Controls.odt |
Additional CBPM Docs from XferDocs | https://cesrwww.lepp.cornell.edu/wiki/CESR/XferBpmInterface#Reference_Documents | |
Transfer Line BPM DSP User Manual | https://cesrwww.lepp.cornell.edu/wiki/CESR/XferBpmInterface | |
Analog Front End board | Q:\hardware\BPM\6048-145_BPM_Front_End\docs | AFE4_DesignSpec.doc |
Digital Processor Board | Q:\hardware\BPM\6048-113_DSP_Board\Docs | DSP_Board_Programming_V5-13_July2014.docx |
Timing Board | Q:\hardware\BPM\6048-113_DSP_Board\Docs | CBPM_Timing_Board_Address_Space.xls, CBPM_Timing_Board_Address_Space.txt |
Matt Rendina presentations | https://wiki.classe.cornell.edu/ACC/Bunch/Presentations | |
system_overview.pptx | ||
BPM_system_software_design.pptx |
DSP | 27422 | /home/mgs9/mgs9/checkedout_27422_old | CBPM_II.ldr.1304261532 | $ACCR/CESR/branches/BPM_DSP_27422 | 32847 | |
Ring | 27943 | /home/mgs9/mgs9/checkedout_27943_5 | CBIC/cbic-1.10.16FixgainOrbit_27943_5 | $ACCR/CESR/branches/BPMRing_27943 | 32848 | |
Current Monitor | 29313 | /home/mgs9/mgs9/checkedout_29313_patch2_newmpm | CBIC/cbic-1.10.18_29313_patch2_newmpm | $ACCR/CESR/branches/BPMCurrentMonitor_29313 | 32852 | Current Monitor Doc |
Position Monitor for ODR | 29778 | $ACCR/CESR/branches/CBPMPositionMonitorODR_29778 | 32858 | ODR Doc | ||
Currently checked in version | /home/mgs9/mgs9/checkin | CBIC/cbic |