This program runs as daemon unless overriden with the --no_daemon argument and should NOT be started in the background.
Argument processing is done using Unix long argument syntax.
The values of all of the parameters listed here (whether or not they were supplied on the command line) are printed on stderr when the program starts.
If this argument is not supplied the default is "localhost".
The default is: /dev/camac
The default is: /dev/kbuss
If this is not supplied it defaults to 0.
If this is not supplied it defaults to 99.
MBSseqTask uses the AccelNET data interface to communicate with dbman. This means that all communication takes place using the DATA records and that the program is not aware of Labels or RefNames.
However, a number of DESC records need to be set up in the database to manipulate the contents of the DATA records. This is a list of them grouped by RefName.
It is a 2 bit field within the record with the device key NECrunC.
The bit field usage is:
0 = nop
1 = stop
2 = start
3 = not_used
It is a 2 bit field within the record with the device key NECbusyR.
The bit field usage is:
0 = stop
1 = tune
2 = collect
3 = pause
It is a 1 bit field within the record with the device key NECrunC.
The bit field usage is:
0 = nop
1 = clear
It is a 1 bit field within the record with the device key NECrunC.
The bit field usage is:
0 = nop
1 = end_run
It is a 1 bit field within the record with the device key NECrunC.
The bit field usage is:
0 = tune
1 = collect
It is a 2 bit field within the record with the device key NECmodeC.
The bit field usage is:
0 = pass_stop
1 = pass_run
2 = cont_run
3 = not_used
It is a 32 bit field within the record with the device key NECcntC.
It is a 32 bit field within the record with the device key NECcntR.
It is a 32 bit field within the record with the device key NECcycC.
This is a 1 bit field within the record with the device key NECseqC and ChNo=0.
The bit field usage is:
0 = stop
1 = run
It is a 1 bit field within the record with the device key NECseqC and ChNo=0.
The bit field usage is:
0 = free_run
1 = line_sync
It is a 1 bit field within the record with the device key NECseqC and ChNo=0.
The bit field usage is:
0 = sync-
1 = sync+
This must be enabled for MBSseqTask to operate properly. It may be turned off on special occasions for troubleshooting.
It is a 1 bit field within the record with the device key NECseqC and ChNo=0.
The bit field usage is:
0 = no_lam
1 = lam_enable
It is a 1 bit field within the record with the device key NECseqC and ChNo=0.
The bit field usage is:
0 = norm
1 = maint
This control determines the number of states the sequencer will go through on each jumping cycle.
It is a four bit field within the record with the device key NECseqC and ChNo=1.
It is used when maint mode is selected.
It is a four bit field within the record with the device key NECseqC and ChNo=1.
CAMAC
CAMAC_2
CAMAC_3
CAMAC_4
CAMAC_5
In this case the program opens /dev/camac.
These keys are used with KBUSS:
KBUSS_1
KBUSS_2
KBUSS_3
KBUSS_4
KBUSS_5
KBUSS_6
In this case the program opens /dev/kbuss.
Individual bits within this record are used to program the control register in the sequencer module.
bit 0 - stop/run
bit 1 - free_run/line_sync
bit 2 - sync+/sync-
bit 3 - lam_disable/lam_enable
bit 4 - norm_mode/maint_mode
Bit assignments are:
bit 3-0 - norm mode max. state number
bit 7-4 - mint mode current state number
Individual bits within this record are used to control program functions.
bit 0,1 - StartSC
bit 2 - ClearSC
bit 3 - EndRunC
bit 4 - CollMode
This is the number of cycles to perform before pausing and ordering clients to unload and store their data.
If for some reason one wishes to manage more than one sequencer (which hasn’t happened anywhere except in a test database) one needs to run multiple copies of MBSseqTask AND run them on separate boxes because each copy creates a listener socket.
The program checks the time between LAMs and if a lot of time elapses (~120sec) since the last LAM was serviced it toggles into pause.
This can be very helpful if the crate is switched off. When the crate is turned back all of the registers will be restored (delay register update is inhibited while cycling because it glitches the cycle) and all one has to do is issue "crate n rstr" to recover all status and continue where one left off. This is much better than having to restart AccelNET to recover from this condition.
The internal state of the program can be dumped to stderr by issuing a SIGHUP to the job. This is a software diagnostic ’cause there still seems to be a case where by switching power off/on etc. the job can be made to hang up. 1-19-05rlk