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

Masked Bits

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.