[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]