Controller commands¶
Commands that reach the detector controller rather than being interpreted by the server. This is the escape hatch for anything the higher-level commands do not cover.
Two routes exist. native passes a command straight through and returns the reply. The commands
routed through controller_cmd, marked Archon in the base command table, are
server-side implementations of controller-specific features.
Archon¶
native <cmd> sends <cmd> to the Archon and returns its reply without parsing it, beyond
confirming that a reply came back. The commands most worth knowing:
FRAMEFrame buffer status: which buffer is complete, frame numbers, timestamps and sizes.
STATUSBackplane status, including module temperatures, voltages and currents.
SYSTEMModule complement: what occupies each slot, with type, revision and version.
TIMERThe controller’s free-running timer, useful for checking the link is alive.
The server itself parses FRAME, STATUS and SYSTEM replies for its own bookkeeping, so use
native for inspection rather than as a control path.
Beyond native, the Archon-specific commands are raw for configuration memory, getp and setp
for parameters, inreg for a VCPU input register, loadtiming and readacf for loading, mode
for camera modes, autofetch_mode, and heater and sensor for the thermal modules. The
heater and sensor syntax is below.
ARC (AstroCam)¶
Warning
native is not implemented on an ARC build. AstroCamInterface::native logs “not yet implemented”
and returns success, so the command replies DONE while doing nothing.
controller_cmd is not implemented either, so every command in the Archon list above returns
not_supported on an ARC build.
Passing three-letter DSP commands through to an ARC controller is therefore not currently possible from the command interface.
Heater and sensor¶
For Archon Heater and HeaterX modules. Both require firmware to be loaded and a sufficiently recent backplane.
heater¶
heater <module> <A|B> [ <on|off> [target] | <target> | PID [<p> <i> <d>]
| RAMP [<on|off> [rate]] | ILIM [val] | INPUT [A|B|C] ]
Form |
Effect |
|---|---|
|
Get enable state and target |
|
Set enable state, optionally the target |
|
Set the target |
|
Get or set the P, I and D terms, each 0 to 10000 |
|
Get or set ramp enable and rate, 1 to 32767 |
|
Get or set the current limit, 0 to 10000 |
|
Get or set the input sensor. |
The target range defaults to backplane-dependent limits, overridable with HEATER_TARGET_MIN and
HEATER_TARGET_MAX in degrees C. See core keys.
sensor¶
sensor <module> <A|B|C> [ <current> | AVG [ <N> ] ]
Form |
Effect |
|---|---|
|
Get the RTD excitation current in nanoamps |
|
Set it, 0 to 1600000 nA |
|
Get the digital averaging count |
|
Set it, N in {1, 2, 4, 8, … 256} |
Sensor C exists only on HeaterX modules.