MCP Axis Status Bits
The status word that the MCP passes to the TCC upon receipt of a
STATUS
command is defined in data_collection.h; the
version as of Twelth Night 2001 is:
struct AXIS_STAT {
unsigned always_zero : 1;
unsigned bump_up_ccw_sticky : 1;
unsigned bump_dn_cw_sticky : 1;
unsigned : 4;
unsigned ms_on_correction_too_large : 1;
unsigned : 6;
unsigned clock_slow_signal : 1;
unsigned clock_loss_signal : 1;
unsigned : 1;
unsigned semCmdPort_taken : 1;
unsigned stop_in : 1;
unsigned amp_bad : 1;
unsigned out_closed_loop : 1;
unsigned stop_ok : 1; *
unsigned amp_ok : 1; *
unsigned closed_loop : 1; *
unsigned max_limit: 1;
unsigned min_limit: 1;
unsigned max_acc: 1;
unsigned max_vel: 1;
unsigned max_pos: 1;
unsigned min_pos: 1;
unsigned pvt_time_late : 1;
unsigned pvt_empty : 1;
};
The * means that this bit is
not passed to the TCC.
The bits' significances are:
- always_zero    0x80000000
- Sign bit; always zero.
- bump_up_ccw_sticky    0x40000000
- The windscreen touched. Only valid for altitude (up)
or azimuth (anticlockwise)
- bump_dn_cw_sticky    0x20000000
- The windscreen touched. Only valid for altitude (down)
or azimuth (clockwise)
- ms_on_correction_too_large    0x01000000
- The correction made by an MS.ON command would have exceeded MS.MAX
- clock_slow_signal    0x00020000
- Unused
- clock_loss_signal    0x00010000
- Failed to see the GPS interrupt
- semCmdPort_taken    0x00004000
- Someone else has the semCmdPort semaphore (and is thus
permitted to use the mcpMenu to move the telescope)
- stop_in    0x00002000
- A stop button has been pushed.
- amp_bad    0x00001000
- The amplifier for this axis is not OK
- out_closed_loop    0x00000800
- This axis is out of closed loop
- stop_ok    0x00000400
- A stop button has not been pushed
(masked).
- amp_ok    0x00000200
- The amplifier for this axis is OK
(masked).
- closed_loop    0x00000100
- This axis is in closed loop
(masked).
- max_limit    0x00000080
- Unused
- min_limit    0x00000040
- Unused
- max_acc    0x00000020
- Unused
- max_vel    0x00000010
- Unused
- max_pos    0x00000008
- Unused
- min_pos    0x00000004
- Unused
- pvt_time_late    0x00000002
- Unused
- pvt_empty    0x00000001
- Unused
The MCP reserves the right to mask certain status bits and thus not
pass them to the TCC; the current value of the mask is 0x00000700,
and thus all except 3 bits are available.