-
Notifications
You must be signed in to change notification settings - Fork 2
Firmware Requirements
The server software has certain expectations when interacting with the detector controller firmware, which are described here. The following is intended as reference for the firmware programmer.
Archon has an external trigger input which is connected to the timing core reset when TRIGINENABLE=1, or ignored when TRIGINENABLE=0. The trigger-in is always ignored when Archon is synchronized to an external clock.
When enabled, the external TRIGIN resets the timing core. One can write an Archon controller start-up function which takes different actions on reset depending on the state(s) of one or more parameters; then by setting the appropriate parameter(s) prior to a TRIGIN-induced reset, the external trigger effectively induces the desired action(s). It is the responsibility of the Archon programmer to write the supporting firmware.
The "trigin expose [N]" command sets the parameter defined in the configuration file by TRIGIN_EXPOSE_PARAM to 1 (or N, when an optional number of exposures is provided). It also sets the parameter defined by TRIGIN_UNTIMED_PARAM to the value defined by TRIGIN_UNTIMED_DISABLE and the parameter defined by TRIGIN_READOUT_PARAM to the value defined by TRIGIN_READOUT_DISABLE.
The "trigin untimed" command sets the parameter defined in the configuration file by TRIGIN_EXPOSE_PARAM to 0, the parameter defined by TRIGIN_UNTIMED_PARAM to the value defined by TRIGIN_UNTIMED_ENABLE and the parameter defined by TRIGIN_READOUT_PARAM to the value defined by TRIGIN_READOUT_DISABLE. After setting these parameters the server is idle and is not waiting for any specific input or action. It is assumed that an external trigger will trigger the exposure on the Archon but this does not require any intervention from the server. The "trigin readout" is used to end the exposure.
The "trigin readout" command sets the parameter defined in the configuration file by TRIGIN_EXPOSE_PARAM to 0, the parameter defined by TRIGIN_UNTIMED_PARAM to the value defined by TRIGIN_UNTIMED_DISABLE and the parameter defined by TRIGIN_READOUT_PARAM to the value defined by TRIGIN_READOUT_ENABLE. It is assumed that the "trigin readout" command is immediately followed by a hardware trigger which causes the Archon to read out into an internal frame buffer; the server immediately begins waiting for this readout and will fetch the completed frame when ready and write it to disk.
The "trigin disable" command sets the parameter defined in the configuration file by TRIGIN_EXPOSE_PARAM to 0, the parameter defined by TRIGIN_UNTIMED_PARAM to the value defined by TRIGIN_UNTIMED_DISABLE and the parameter defined by TRIGIN_READOUT_PARAM to the value defined by TRIGIN_READOUT_DISABLE. After setting these parameters the server is idle.