[Index] [Back] [Next]
6. SiVMEXI External Processor Control
As with the VMEXI_SSP, control over the VMEbus from an external processor is catered for by passing arguments via parameter blocks (see section on "Inter-Processor Communication" in VMEXI_SSP). Normally programmers should develop with SiUSER in order to avoid detailed knowledge of all the communication protocols involved and so minimise any possible sources of error and confusion. However for programmers wishing to bypass the higher SiUSER level the following external "Exec" functions are available, with all input and output arguments extended to 32-bit. Also, at this level, many of the OnSiRoC functions can be addressed through the remote access of the fibre-optic ring, allowing control via the single master VMEtaxi with the returned error code that of the XI_TRANSMIT protocol; if the "Remote VMEtaxi number" is set to zero or negative the access is done locally via the standard primitives.
Exec ID Exec Name Description Input & Output Arguments/Parameters
$0320 EX_SI_ALLINIT Initialise all OnSiRoCs Input: Remote VMEtaxi number
Output: Bit pattern of OnSiRoCs found if local
$0321 EX_SI_INIT Initialise OnSiRoC Input: OnSiRoC number
2nd arg Remote VMEtaxi number
Output: Error code (see primitive if local)
$0322 EX_SI_STAT OnSiRoC Status Input: OnSiRoC number
2nd arg Remote VMEtaxi number
Output: Error code (see primitive if local)
2nd arg Status word
3rd arg Channel + Pipeline Counter 1
4th arg Channel + Pipeline Counter 2
5th arg Hit Detector Threshold
6th arg Cluster Detector Threshold
$0325 EX_SI_SETVOLTS Set Bias Voltages Input: OnSiRoC number
2nd arg Bias Voltage 1
3rd arg Bias Voltage 2
4th arg Bias Voltage 3
5th arg Bias Voltage 4
6th arg Remote VMEtaxi number
Output: Error code (see primitive if local)
$0326 EX_SI_READCURR Read Currents Input: OnSiRoC number
2nd arg Remote VMEtaxi number
Output: Error code (see primitive if local)
2nd arg Current 1
3rd arg Current 2
4th arg Current 3
5th arg Current 4
$0327 EX_SI_CTRL Set Control Registers Input: OnSiRoC number
2nd arg Control Register 1
3rd arg Control Register 2
4th arg Remote VMEtaxi number
Output: Error code (see primitive if local)
$0328 EX_SI_CCPIC Set Channel & Pipeline Counters
Input: OnSiRoC number
2nd arg Channel Counter 1
3rd arg Channel Counter 2
4th arg Pipeline Counter
5th arg Remote VMEtaxi number
Output: Error code (see primitive if local)
$0329 EX_SI_THRESH Set Thresholds Input: OnSiRoC number
2nd arg Hit Detector Threshold
3rd arg Cluster Detector Threshold
4th arg Remote VMEtaxi number
Output: Error code (see primitive if local)
$0331 EX_SI_LOAD_SEQ Load Sequencer Input: OnSiRoC number
2nd arg Store start address as seen by VMExi
3rd arg Remote VMEtaxi number
Output: Error code (see primitive if local)
$0332 EX_SI_CHCK_SEQ Check Sequencer Input: OnSiRoC number
2nd arg Store start address as seen by VMExi
Output: Error code (see primitive)
2nd arg Store address if check failure
3rd arg Data sent if check failure
4th arg Data read back if check failure
$0333 EX_SI_LOAD_PED Load Pedestals Input: OnSiRoC number
2nd arg Store start address as seen by VMExi
3rd arg Remote VMEtaxi number
Output: Error code (see primitive if local)
2nd arg Next Store address (only if local)
$0334 EX_SI_CHCK_PED Check Pedestals Input: OnSiRoC number
2nd arg Store start address as seen by VMExi
Output: Error code (see primitive)
2nd arg Store address if check failure
3rd arg Data sent if check failure
4th arg Data read back if check failure
5th arg Next Store address if no error
$0340 EX_SI_READDATA Read Data (all types) Input: OnSiRoC number
2nd arg Destination Store address from VMExi
3rd arg Data Type
0=Normal/Hits and Cluster Data
1=Fast/Hits only
2=Full/Raw
3=Normal+/Data plus software pulse
4th arg Length to left (only if Type 3)
5th arg Length to right (only if Type 3)
6th arg Integrated Software Threshold (Type 4)
Output: Error code (see READ primitives)
2nd arg Next Store address
$0341 EX_SI_READPROC Read Data Procedure Input: OnSiRoC number
2nd arg Destination Store address from VMExi
3rd arg Data Type
0=Normal/Hits and Cluster Data
1=Fast/Hits only
2=Full/Raw
3=Normal+/Data plus software pulse
4=Extra/Integrated Software Threshold
4th arg Length to left (only if Type 3)
5th arg Length to right (only if Type 3)
6th arg SiDAQ mode
7th arg Total number of consecutive OnSiRoCs
8th arg Number of events (0=forever)
9th arg Integrated Software Threshold (Type 4)
No output arguments
$034F EX_SI_STOPPROC Stop Read Data Procedure No input or output arguments
$0351 EX_SI_TEST_SEQ Test Sequencer Input: OnSiRoC number
Output: Error code (see primitive)
2nd arg Data sent if check failure
3rd arg Data read back if check failure
$0352 EX_SI_TEST_PED Test Pedestal Memory Input: OnSiRoC number
Output: Error code (see primitive)
2nd arg Data sent if check failure
3rd arg Data read back if check failure
$0353 EX_SI_TEST_POI Test Pointer Memory Input: OnSiRoC number
Output: Error code (see primitive)
2nd arg Data sent if check failure
3rd arg Data read back if check failure
$0354 EX_SI_TEST_RAW Test Raw Data Memory Input: OnSiRoC number
Output: Error code (see primitive)
2nd arg Data sent if check failure
3rd arg Data read back if check failure
$0357 EX_SI_TESTFADC Test FADC chain of OnSiRoC
$0118 EX_OPTNP List current SiDAQ configuration parameters
$7700 EX_ENAIO Enable terminal I-O
$77FF EX_DISIO Disable terminal I-O
$7777 EX_PROGMODE Program Mode Status
Note that a necessary safety feature is that some external commands are only accepted when in certain modes of operation.
[Index] [Back] [Next]