The XLMFERA module is a driver to control a JTech XLM72V running firmware to handle readout of FERA modules via ECL ports. The XLM actually interfaces with a LeCroy 4301 FERA driver to accomplish this. The firmware associated with this is the xferajan.bit firmware that was written primarily by an unknown author but was assisted by Jan Toke (JTech).
This is just a derived class of the CXLM base class.
During initialization, the firmware is loaded. The user must provide the path to the firmware file by means of the -firmware option. If no firmware file is specified or the path provided is invalid, an exception will be thrown. The firmware will always be validated on initialization by a validation test. This validation test reads the signature of the firmware from the device and compares it to the value passed by the -configuration option. If these numbers are not identical or the -forceFirmwareLoad flag is set to true, the firmware will be loaded. The user will be alerted to the success of the validation via messages printed to the console. Immediately following the firmware load, the validation test is repeated and the user will be alerted of the results. An exception will be thrown if the validation test fails at this point.
At the end of the run, no actions are taken.
During stack execution, a block transfer is executed. First, the lowest 16-bits of memory in the sramA is read via a 32-bit read. The value of these 16-bits will be used to specify the number of 32-bit transfers to execute in a subsequent block transfer. The block transfer will begin at 5th byte of sramA (i.e. the second 32-bits).
Specifies the base address of the module. See the manual on how to address the XLM. When the module is using geographic addressing, the slot number is pushed up 27 bits (i.e. slot 10 produces a base address of 0x50000000).
The path to the xferajan.bit firmware file.
The value to use in the validation test. Default is 0x54000041.
Force reload of the firmware every run regardless of whether the XLM passes the validation test.
Example 1. Simple setup of a single timestamp module
XLMFERA create myxlm -base 0x50000000 XLMFERA config myxlm -firmware /user/s800/server/fpga/xferajan.bit
Sets up an XLM in slot 10 to run the xferajan.bit firmware.