Update: if the module needs to be gated. The GateExternalEnabled attributes should be true. The new server is able to save and load configuration files. Below is an example configuration file of a 4-channel module at P09.
0;Clock;7 0;MCAmode;1 0;LemoInputMode;3 0;LEMOINPUT1ENABLE;1 0;LEMOINPUT2ENABLE;1 0;LEMOINPUT3ENABLE;1 0;LemoOutputMode;2 0;MCAScanNofHistogramsPreset;0 0;MCAScanLNESetup;0 0;MCAScanPrescalerFactor;0 0;MCAControlScanHistogramAutoclearDisable;0 0;MCAControlStartScanOnBank2;0 0;MCAMultiScanNofScansPreset;8 0;MCAMultiscanBusy;0 0;MCAScanBusy;0 1;ADCxInputInvert;0 1;TriggerInternalEnabled;1 1;TriggerExternalEnabled;0 1;TriggerADCNminus1NextNeighborEnabled;0 1;attr_TriggerADCNplus1NextNeighborEnabled_read;0 1;Trigger50kHzEnabled;0 1;GateInternalEnabled;0 1;GateExternalEnabled;0 1;GateADCNminus1NextNeighborEnabled;0 1;GateADCNplus1NextNeighborEnabled;0 1;TriggerPeakingTime;15 1;TriggerSumGTime;16 1;InternalTriggerPulseLength;3 1;InternalGateLength;15 1;InternalTriggerDelay;4 1;PretriggerDelay;17 1;TriggerGateLength;132 1;TriggerThresholdValue;13 1;TriggerOutEnabled;1 1;TriggerModeGTEnabled;1 1;EnergyPeakingTime;40 1;EnergyGapTime;10 1;EnergyTauFactor;0 1;EnergyGateLength;140 1;TriggerDecimationMode;0 1;EnergyDecimationMode;0 1;EnergySampleStartIndex1;1 1;EnergySampleStartIndex2;0 1;EnergySampleStartIndex3;0 1;EnergySampleLength;130 1;RawDataSampleLength;108 1;RawDataSampleStartIndex;0 1;EndAddressThreshold;0 1;HistogramSize;0 1;PileupEnabled;1 1;MemoryWriteTestMode;0 1;RawDataHistogrammingEnabled;0 1;EnergyMultiplier;128 1;EnergySubtractOffset;0 1;Energy2NDivider;2 1;DACOffset;10000 2;ADCxInputInvert;0 2;TriggerInternalEnabled;0 2;TriggerExternalEnabled;0 2;TriggerADCNminus1NextNeighborEnabled;0 2;attr_TriggerADCNplus1NextNeighborEnabled_read;0 2;Trigger50kHzEnabled;0 2;GateInternalEnabled;0 2;GateExternalEnabled;0 2;GateADCNminus1NextNeighborEnabled;0 2;GateADCNplus1NextNeighborEnabled;0 2;TriggerPeakingTime;0 2;TriggerSumGTime;0 2;InternalTriggerPulseLength;0 2;InternalGateLength;0 2;InternalTriggerDelay;0 2;PretriggerDelay;17 2;TriggerGateLength;132 2;TriggerThresholdValue;0 2;TriggerOutEnabled;1 2;TriggerModeGTEnabled;0 2;EnergyPeakingTime;40 2;EnergyGapTime;10 2;EnergyTauFactor;0 2;EnergyGateLength;140 2;TriggerDecimationMode;0 2;EnergyDecimationMode;0 2;EnergySampleStartIndex1;1 2;EnergySampleStartIndex2;0 2;EnergySampleStartIndex3;0 2;EnergySampleLength;130 2;RawDataSampleLength;108 2;RawDataSampleStartIndex;0 2;EndAddressThreshold;0 2;HistogramSize;0 2;PileupEnabled;1 2;MemoryWriteTestMode;0 2;RawDataHistogrammingEnabled;0 2;EnergyMultiplier;0 2;EnergySubtractOffset;0 2;Energy2NDivider;0 2;DACOffset;10000 3;ADCxInputInvert;0 3;TriggerInternalEnabled;0 3;TriggerExternalEnabled;0 3;TriggerADCNminus1NextNeighborEnabled;0 3;attr_TriggerADCNplus1NextNeighborEnabled_read;0 3;Trigger50kHzEnabled;0 3;GateInternalEnabled;0 3;GateExternalEnabled;0 3;GateADCNminus1NextNeighborEnabled;0 3;GateADCNplus1NextNeighborEnabled;0 3;TriggerPeakingTime;0 3;TriggerSumGTime;0 3;InternalTriggerPulseLength;0 3;InternalGateLength;0 3;InternalTriggerDelay;0 3;PretriggerDelay;0 3;TriggerGateLength;0 3;TriggerThresholdValue;0 3;TriggerOutEnabled;1 3;TriggerModeGTEnabled;0 3;EnergyPeakingTime;0 3;EnergyGapTime;0 3;EnergyTauFactor;0 3;EnergyGateLength;0 3;TriggerDecimationMode;0 3;EnergyDecimationMode;0 3;EnergySampleStartIndex1;0 3;EnergySampleStartIndex2;0 3;EnergySampleStartIndex3;0 3;EnergySampleLength;0 3;RawDataSampleLength;0 3;RawDataSampleStartIndex;0 3;EndAddressThreshold;0 3;HistogramSize;0 3;PileupEnabled;0 3;MemoryWriteTestMode;0 3;RawDataHistogrammingEnabled;0 3;EnergyMultiplier;0 3;EnergySubtractOffset;0 3;Energy2NDivider;0 3;DACOffset;10000 4;ADCxInputInvert;0 4;TriggerInternalEnabled;0 4;TriggerExternalEnabled;0 4;TriggerADCNminus1NextNeighborEnabled;0 4;attr_TriggerADCNplus1NextNeighborEnabled_read;0 4;Trigger50kHzEnabled;0 4;GateInternalEnabled;0 4;GateExternalEnabled;0 4;GateADCNminus1NextNeighborEnabled;0 4;GateADCNplus1NextNeighborEnabled;0 4;TriggerPeakingTime;0 4;TriggerSumGTime;0 4;InternalTriggerPulseLength;0 4;InternalGateLength;0 4;InternalTriggerDelay;0 4;PretriggerDelay;0 4;TriggerGateLength;0 4;TriggerThresholdValue;0 4;TriggerOutEnabled;1 4;TriggerModeGTEnabled;0 4;EnergyPeakingTime;0 4;EnergyGapTime;0 4;EnergyTauFactor;0 4;EnergyGateLength;0 4;TriggerDecimationMode;0 4;EnergyDecimationMode;0 4;EnergySampleStartIndex1;0 4;EnergySampleStartIndex2;0 4;EnergySampleStartIndex3;0 4;EnergySampleLength;0 4;RawDataSampleLength;0 4;RawDataSampleStartIndex;0 4;EndAddressThreshold;0 4;HistogramSize;0 4;PileupEnabled;0 4;MemoryWriteTestMode;0 4;RawDataHistogrammingEnabled;0 4;EnergyMultiplier;0 4;EnergySubtractOffset;0 4;Energy2NDivider;0 4;DACOffset;10000
The module needs a NIM gate, 3rd input control line. Load-next-event feature via 1st input control line.
Attributes to be set:
Internal trigger enable 1 (IntTrig) Interal gate enable 0 (IntGate) External gate enable 0 (ExtGate) trapezoidal threshold value 6 Data Length 1024 (DataLength)(4 digit multiple of base 2)
Two servers are involved to operate the SIS3302 FADC:
The base address 805306368 corresponds to 0x30000000.
Online can use the SIS3302 like any other MCA, if the following entry appears in /online_dir/online.xml:
<?xml version="1.0"?> <hw> ... <device> <name>SIS3302</name> <type>mca</type> <module>mca_sis3302</module> <device>p03/SIS3302Client/exp.02</device> <control>tango</control> <hostname>haspp03nano:10000</hostname> </device> ... </hw>
The SIS3302 has lots of parameters that need to be configured properly for an optimal operation. Martin Tolkiehn wrote an application, ADCgui, to support the configuration. ADCgui is independent of Tango. It is started by:
haspp03nano:~/prog/ADCgui> ./ADCgui /tmp/sis1100_012remote or haspp09:~/prog/ADCgui> ./ADCgui /tmp/sis1100_012remote
The command line parameter specifies the VME device. It might be necessay to try several devices before a free device is found.
The incoming data is monitored, MCA mode is enabled in the General settings tab and MCA/Raw Data checkbos is enables in the Control frame (lower right part of the widget).
In general the ADCgui application is used to load a configuration file and write the parameters to the hardware. The Tango server reads the configuration from the SIS3302 ADC. In case of an emergency a possible repair procedure can be: start the Tango server, then start ADCgui and load a configuration, then start Online.
The histgramm size is changed in Online and by ADCGui: go to MCA settings and change the Histogramm size.
In the following you find some ADCgui screen shots from P09.