Command Interface

The DPU receives and processes CCSDS telecommand packets containing one or more commands. The format of the telecommand packet and constituent commands is described in Reference 3.

Command and Macro Processing

Most commands are executed as soon as they are received; exceptions are noted in the individual command descriptions. Each command is echoed after it is executed by the DPU. A command echo subpacket containing the opcode and some arguments along with a code summarizing the command's result is downlinked. Most TPU commands are not executed by the DPU but are forwarded to the TPU. The DPU echoes the command after it has been executed by the TPU.

Some default macros are available as soon as the DPU is started. Most of these macros are one or two commands long and are used by the monitoring subsystem to respond to out of limit conditions. A default macro can be replaced with a new macro via CRS_MAC_DEF and CRS_MAC_ENDEF. The default macros are shown in the following table.

Table 18. Default Macros
IDActionCommands
0 No action CRS_CMD_NULL
1 Shutdown CRS_SPC_PWR OFF
CRS_SPC_COOL OFF
CRS_IMG_PWR OFF
CRS_TPU_MIR_HOME
CRS_FLT_MOVE CLEAR
CRS_MAC_DELAY 10
CRS_FLT_PWR OFF
CRS_MAC_DELAY 50
CRS_TPU_MIR_PWR OFF
CRS_PWR_PRI OFF ALL
CRS_HTR_MODE OFF ALL
2 Imaging - Very Near CRS_CMD_NULL
3 Imaging - Near CRS_CMD_NULL
4 Imaging - Nominal CRS_CMD_NULL
5 Imaging - Far CRS_CMD_NULL
6 Imaging - Very Far CRS_CMD_NULL
7 Imaging - "Bad" Targeting #1 CRS_CMD_NULL
8 Imaging - "Bad" Targeting #2 CRS_CMD_NULL
9 Imaging - "Bad" Targeting #3 CRS_CMD_NULL
10 Closest Approach CRS_CMD_NULL
11 Post Encounter CRS_CMD_NULL
12 Stop Macro Processing CRS_MON_CNTRL DISABLE
CRS_CA_RESET
CRS_MEM_RUN kill all macros
13 Heaters Off CRS_HTR_MODE OFF ALL
14 Cover HOPS Off CRS_COV_DEPLOY OFF 1/1
CRS_COV_DEPLOY OFF 1/2
CRS_COV_DEPLOY OFF 2/1
CRS_COV_DEPLOY OFF 2/2
CRS_COV_MODE DISABLE
15 Filter Wheel Off CRS_FLT_PWR OFF
CRS_PWR_PRI OFF FW
16 Imager Off CRS_IMG_PWR OFF
CRS_PWR_PRI OFF IM
17 Spectrometer Off CRS_SPC_PWR OFF
CRS_SPC_COOL OFF
CRS_PWR_PRI OFF SP
18 Tracking Mirror Off CRS_TPU_MIR_PWR OFF
19 - 63 Reserved  
64 - 255 Reserved for mission operations  

Commands

The CRISP and CFI common commands are described in Reference 3. CRISP-specific commands are defined below.

CRS_CA_RESET - Reset Closest Approach

Reset closest approach processing logic.

NameLength (bits) ValueDescription
Opcode 16 0x0174  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 2 Command length in 32-bit words
Checksum 32   32 bit XOR

CRS_CA_START - Start Closest Approach

Start closest approach processing logic. Also, enable or disable selection of backup closest approach macro.

NameLength (bits) ValueDescription
Opcode 16 0x014e  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Mode 8 0 = Good targeting
1 = Bad targeting
Closest approach mode
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_COV_DEPLOY - Deploy the Cover

Turn power to cover's HOP actuators off or on. Turning on the actuator deploys the cover. With operation 2, the power is removed automatically from all of the actuators by the DPU software ten seconds after the cover is open; "open" is defined as either HOP telltale indicating "extended". With operation 3, the actuator power is removed after a timeout period; the timeout is a parameter. With operation 4, the actuator power is removed once the cover is open or the timeout period elapses. This command will be rejected unless specifically enabled with the CRS_COV_MODE command. Note: the imager primary power must be turned on for the cover to deploy.

NameLength (bits) ValueDescription
Opcode 16 0x0100  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Operation 8 0 = Off
1 = On
2 = On until deployed
3 = On until timeout
4 = On until deployed or timeout
Operation for the given heater
Heater 8 0 = HOP 1, heater 1
1 = HOP 1, heater 2
2 = HOP 2, heater 1
3 = HOP 2, heater 2
Heater
Pad 16 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_COV_LED - Control Cover LED Power

Turn cover's telltale LED power off or on. Note: the imager primary power must be turned on for the LEDs to light.

NameLength (bits) ValueDescription
Opcode 16 0x0103  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Mode 8 0 = Off
1 = On
LED off/on
LED 8 0 = LED 1
1 = LED 2
255 = both LEDs
LED
Pad 16 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_COV_MODE - Enable/Disable Cover Deployment

Enable or disable deployment of the cover. This is a safety interlock; the actuators must be enabled before actually powering the actuator (with CRS_COV_DEPLOY ).

NameLength (bits) ValueDescription
Opcode 16 0x0105  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Mode 8 0 = Disable
1 = Enable
Deployment enable/disable
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_FLT_MOVE - Move Filter Wheel

Move filter wheel to indicated position. The filter movement begins at the end of the current exposure. Note: the FW motor primary power must be turned on for the filter wheel to move.

NameLength (bits) ValueDescription
Opcode 16 0x0106  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Filter 8 1 - 10 Filter wheel position
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_FLT_PWR - Control Filter Wheel Power

Turn filter wheel resolver power off or on. Note: the FW motor primary power must be turned on for the filter wheel resolver to operate.

NameLength (bits) ValueDescription
Opcode 16 0x0109  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Mode 8 0 = Off
1 = On
Filter wheel resolver power off/on
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_FLT_STEP - Step Filter Wheel

Move filter wheel the indicated number of resolver counts. Note: the FW motor primary power must be turned on for the filter wheel to move.

NameLength (bits) ValueDescription
Opcode 16 0x0169  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Counts 16 -32768 - 32767 Filter motion (resolver counts)
Pad 16 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_HTR_MODE - Set Heater Control Mode

Select heater off, on, or controlled by software.

NameLength (bits) ValueDescription
Opcode 16 0x010a  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Mode 8 0 = Off
1 = On
2 = Software control
Control mode
Zone 8 0 = Star camera 1
1 = Star camera 2
2 = Diaphragm
3 = Mirror motor
4 = Bulk
255 = All
Heater control zone
Pad 16 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_HTR_TMP - Set Heater Temperature

Set temperature goal of the heater in the indicated zone. The temperature will be held between the given setpoint and setpoint+hysteresis.

NameLength (bits) ValueDescription
Opcode 16 0x010c  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Setpoint 16 Unsigned integer Temperature setpoint (A/D units)
Hysteresis 8 Unsigned integer Hysteresis (A/D units)
Zone 8 0 = Star camera 1
1 = Star camera 2
2 = Diaphragm
3 = Mirror motor
4 = Bulk
255 = All
Heater control zone
Checksum 32   32 bit XOR

CRS_IMG_COMP_ALG - Select Image Compression Algorithm

Select image compression algorithm. When executed at time t affects the exposure taken at time t+1.

NameLength (bits) ValueDescription
Opcode 16 0x0156  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Mode 8 0 = High-range identity
1 = Low-end identity
2 = Mid-range identity
3 = DN-weighted SNR
4 = Inverse root 2 power
5 = Linear
6 = SNR proportional
7 = Root 2 power
Compression algorithm
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_IMG_COMP_MODE - Enable/Disable Image Compression

Enable or disable image compression. When executed at time t affects the exposure taken at time t+1.

NameLength (bits) ValueDescription
Opcode 16 0x010f  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Mode 8 0 = Disable
1 = Enable
Enable/disable image compression
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_IMG_EXP - Set Image Exposure Time

Set image exposure time. An exposure time set at time t effects the exposure taken at t+1. Exposure times can range from 128 µs to 979.968 ms.

NameLength (bits) ValueDescription
Opcode 16 0x0111  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Time 16 1 - 7656 Exposure time in 128 µs units
Pad 16 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_IMG_FORMAT - Select Image Format

Select the format of the images to be telemetered. When executed at time t affects the exposure taken at time t+1.

NameLength (bits) ValueDescription
Opcode 16 0x0112  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Format 8 0 = 1024 x 1024
1 = 512 x 512
2 = 256 x 256
3 = 128 x 128
Image format
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_IMG_IMAGE - Collect Images for Downlink

Collect a series of images and downlink them. An exposure requested at time t is taken at t+1. If an image collection series is in progress and a new CRS_IMG_IMAGE is issued, the new command supersedes the old command.

NameLength (bits) ValueDescription
Opcode 16 0x0150  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Time 16 0 - 65534 = Duration
65535 = Forever
Time in which to collect images (seconds)
Interval 16 1 - 65535 Interval between images (seconds)
Checksum 32   32 bit XOR

CRS_IMG_PWR - Control Imager Power

Turn imager FPU power off or on. Note: the imager primary power must be turned on for the imager FPU to activate.

NameLength (bits) ValueDescription
Opcode 16 0x0114  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Mode 8 0 = Off
1 = On
Imager power off/on
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_IMG_REGION - Select Image Region of Interest

Set the origin of the image to be telemetered. When executed at time t affects the exposure taken at time t+1.

NameLength (bits) ValueDescription
Opcode 16 0x0117  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
X 16 0 - 1023 X origin
Y 16 0 - 1023 Y origin
Checksum 32   32 bit XOR

CRS_IMG_TRACK - Collect Tracking Images

Collect a series of images for the TPU. An exposure requested at time t is taken at t+1. If an image collection series is in progress and a new CRS_IMG_TRACK is issued, the new command supersedes the old command.

NameLength (bits) ValueDescription
Opcode 16 0x0118  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Time 16 0 - 65534 = Duration
65535 = Forever
Time in which to collect images (seconds)
Interval 16 1 - 65535 Interval between images (seconds)
Checksum 32   32 bit XOR

CRS_MEM_STR_LOAD - Load Values into a Data Structure

Load the data values into the identified data structure at the location denoted by the offset. The byte count determines how many load bytes follow and may be up to 128 bytes. The padding after the data forces the size of the load to be a multiple of 4 bytes; M+N is always a multiple of 4.

NameLength (bits) ValueDescription
Opcode 16 0x0023  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 4 - 35 Command length in 32-bit words
Id 8 0 = Monitor limits
1 = DPU parameters
Id of data structure
Byte Count 8 0 - 128 (M) Number of bytes in data field
Offset 16 Unsigned integer Byte offset into data structure
Data M * 8   Load data
Pad N * 8 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_MEM_STR_READ - Read a Data Structure

Dump the identified data structure.

NameLength (bits) ValueDescription
Opcode 16 0x0025  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Id 8 0 = Monitor limits
1 = DPU parameters
Id of data structure
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_PWR_PRI - Control Primary Power

Turn primary power off or on to a selected subsystem.

NameLength (bits) ValueDescription
Opcode 16 0x0165  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Mode 8 0 = Off
1 = On
Primary power off/on
Board 8 0 = Imager
1 = Spectrometer
2 = FW Motor
255 = All
Power board
Pad 16 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_SPC_CAL_LEVEL - Set Spectrometer Calibrator Level

Set the level, and consequently the brightness, of the spectrometer's IR calibration lamps.

NameLength (bits) ValueDescription
Opcode 16 0x0155  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Level 8 0 = Dimmest
...
255 = Brightest
Lamp brightness level
Lamp 8 0 = Lamp 1
1 = Lamp 2
255 = Both lamps
Lamp
Pad 16 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_SPC_CAL_PWR - Control Spectrometer Calibrator Power

Calibrate spectrometer by turning two IR calibration lamps off or on.

NameLength (bits) ValueDescription
Opcode 16 0x011b  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Mode 8 0 = Off
1 = On for 1 minute
Lamp power off/on
Lamp 8 0 = Lamp 1
1 = Lamp 2
255 = Both lamps
Lamp
Pad 16 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_SPC_COOL - Control Spectrometer Cooler Power

Turn spectrometer cooler power off or on. There are two possible temperatures to select when the cooler is on. Note: the spectrometer primary power must be turned on for the cooler to operate.

NameLength (bits) ValueDescription
Opcode 16 0x011d  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Mode 8 0 = Off
1 = Low (90 K)
2 = High (103 K)
Cooler power off/on and goal
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_SPC_FORMAT - Select Spectrometer Image Format

Select the format of the spectrometer images to be telemetered.

NameLength (bits) ValueDescription
Opcode 16 0x011e  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Format 8 0 = 256 x 256
1 = 128 x 256
2 = 64 x 256
3 = 32 x 256
Image format
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_SPC_PWR - Control Spectrometer Power

Turn spectrometer FPU power off or on. Note: the spectrometer primary power must be turned on for the spectrometer FPU to operate.

NameLength (bits) ValueDescription
Opcode 16 0x0121  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Mode 8 0 = Off
1 = On
Spectrometer power off/on
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_SPC_RANGE - Select Spectrometer Image Range

Select a range of bits within each spectrometer pixel; these are the bits that will be telemetered.

NameLength (bits) ValueDescription
Opcode 16 0x016a  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Range 8 0 = Bits 12..1
1 = Bits 13..2
2 = Bits 11..0
Image range
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_SPC_RATE - Control Spectrometer Collection Rate

Control the spectrometer collection rate. Note: even if no spectra are being telemetered, the spectrometer will be cycled at this rate.

NameLength (bits) ValueDescription
Opcode 16 0x0122  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Mode 8 1 - 5 Collection rate (Hz)
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_SPC_REGION - Select Spectrometer Image Region of Interest

Set the origin of the spectrometer image to be telemetered.

NameLength (bits) ValueDescription
Opcode 16 0x0124  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Origin 8 0 - 255 Origin in spatial dimension
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_SPC_SPECTRA - Collect Spectra

Collect spectra. The collection will occur for the indicated time; a special value will produce continuous collection. A request for spectra made at time t starts at t+1. The number of spectra actually taken depends on the commanded spectrometer rate (CRS_SPC_RATE).

NameLength (bits) ValueDescription
Opcode 16 0x0127  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Time 16 0 - 65534 = Duration
65535 = Forever
Time in which to collect spectra (seconds)
Pad 16 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_SPC_TMP - Enable/Disable Spectrometer Temperature Monitoring

Enable or disable temperature monitoring in the spectrometer front end.

NameLength (bits) ValueDescription
Opcode 16 0x0163  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Mode 8 0 = Disable
1 = Enable
Enable/disable spectrometer temperature monitoring
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_TPU_AIM_ALG - Select Aim Algorithm

Select the aim algorithm used by TPU image processing to find the comet.

NameLength (bits) ValueDescription
Opcode 16 0x014d  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Mode 8 0 = Comet
1 = Brightest object
Aim algorithm
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_TPU_ATT_RESET - Reset Attitude Algorithm

Reset the TPU's attitude estimation algorithm.

NameLength (bits) ValueDescription
Opcode 16 0x016c  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 2 Command length in 32-bit words
Checksum 32   32 bit XOR

CRS_TPU_IMG_REGION - Select Tracking Image Region of Interest

Set the origin of the region interest in the tracking image.

NameLength (bits) ValueDescription
Opcode 16 0x0171  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
X 16 0 - 1023 X origin
Y 16 0 - 1023 Y origin
Checksum 32   32 bit XOR

CRS_TPU_IMG_ZOOM - Select Tracking Image Zoom

Set the zoom mode of the tracking image.

NameLength (bits) ValueDescription
Opcode 16 0x0172  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Zoom 8 0 = 8x8 rebin
1 = 4x4 rebin
2 = 2x2 rebin
3 = 1x1 rebin
Zoom mode
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_TPU_MEM_CHECK - Check TPU Memory

Calculate the checksum of TPU memory at given address. The checksum is the 32-bit two's complement sum of the memory indicated. The results are downlinked in a subpacket.

NameLength (bits) ValueDescription
Opcode 16 0x0128  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 4 Command length in 32-bit words
Source 32 Unsigned integer Source address
Byte Count 32 Unsigned integer Number of bytes to check
Checksum 32   32 bit XOR

CRS_TPU_MEM_COPY - Copy TPU Memory

Copy TPU memory from source to destination. The source or destination can be either RAM or EEPROM. The result is undefined if the source and destination regions overlap.

NameLength (bits) ValueDescription
Opcode 16 0x012b  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 5 Command length in 32-bit words
Source 32 Unsigned integer Source address
Destination 32 Unsigned integer Destination address
Byte Count 32 Unsigned integer Number of bytes to copy
Checksum 32   32 bit XOR

CRS_TPU_MEM_LOAD - Load TPU Memory

Load memory to the TPU. The byte count determines how many load bytes follow and may be up to 128 bytes. The padding after the data forces the size of the load to be a multiple of 4 bytes; M+N is always a multiple of 4.

NameLength (bits) ValueDescription
Opcode 16 0x012d  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 4 - 36 Command length in 32-bit words
Address 32 Unsigned integer Starting address
Byte Count 8 0 - 128 (M) Number of bytes in data field
Spare 24    
Data M * 8   Load data
Pad N * 8 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_TPU_MEM_READ - Read TPU Memory

Dump TPU memory from given address.

NameLength (bits) ValueDescription
Opcode 16 0x012e  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 4 Command length in 32-bit words
Source 32 Unsigned integer Source address
Byte Count 32 Unsigned integer Number of bytes to dump
Checksum 32   32 bit XOR

CRS_TPU_MEM_READ_ABT - Abort TPU Memory Read

Abort the current TPU memory dump.

NameLength (bits) ValueDescription
Opcode 16 0x0130  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 2 Command length in 32-bit words
Checksum 32   32 bit XOR

CRS_TPU_MEM_RUN - Run a TPU Program

Run a program at the given TPU address. The program must either execute very quickly (so as not to hold up the command handler) or must take over completely.

NameLength (bits) ValueDescription
Opcode 16 0x0133  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Address 32 Unsigned integer Program start address
Checksum 32   32 bit XOR

CRS_TPU_MEM_STR_LOAD - Load Values into TPU Data Structure

Load the data values into the identified data structure at the location denoted by the offset. The byte count determines how many load bytes follow and may be up to 128 bytes. The padding after the data forces the size of the load to be a multiple of 4 bytes; M+N is always a multiple of 4.

NameLength (bits) ValueDescription
Opcode 16 0x0135  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 4 - 35 Command length in 32-bit words
Id 8 0 = Mirror parameters
1 = Aim parameters
2 = CA parameters
3 = Tracker offset
4 = Tracker control
5 = Tracker target
6 = Tracker EKF
7 = Tracker Cheby #1
8 = Tracker Cheby #2
9 = Tracker Cheby #3
10 = Tracker mirror
11 = Tracker gate
12 = Tracker align
Id of data structure
Byte Count 8 0 - 128 (M) Number of bytes in data field
Offset 16 Unsigned integer Byte offset into data structure
Data M * 8   Load data
Pad N * 8 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_TPU_MEM_STR_READ - Read TPU Data Structure

Dump the identified data structure.

NameLength (bits) ValueDescription
Opcode 16 0x0136  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Id 8 0 = Mirror parameters
1 = Aim parameters
2 = CA parameters
3 = Tracker offset
4 = Tracker control
5 = Tracker target
6 = Tracker EKF
7 = Tracker Cheby #1
8 = Tracker Cheby #2
9 = Tracker Cheby #3
10 = Tracker mirror
11 = Tracker gate
12 = Tracker align
Id of data structure
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_TPU_MIR_ANGLE - Set the Slew Mode Target Angle

Sets the angle of the target to use when in slew mode (see CRS_TPU_MIR_MODE). The angle specifies the imager's look direction; a zero angle looks along the nose of the instrument. Note that this is not the same as the mirror shaft angle. The actual mirror shaft angle used will depend on the commanded angle and mirror side (see CRS_TPU_MIR_SIDE).

NameLength (bits) ValueDescription
Opcode 16 0x0139  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Angle 32 IEEE-754 single Slew target angle (degrees)
Checksum 32   32 bit XOR

CRS_TPU_MIR_HOME - Find Mirror Home Position

Search for mirror home fiducial. Once found, move the mirror to 90 degrees, and set the mirror mode to "hold".

NameLength (bits) ValueDescription
Opcode 16 0x013a  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 2 Command length in 32-bit words
Checksum 32   32 bit XOR

CRS_TPU_MIR_MODE - Set the Mirror Mode

Sets the control mode of the tracking mirror. When off, the mirror motor is not driven. In hold mode, the mirror is held at the current position. In slew mode, the mirror is held at a commanded angle (see CRS_TPU_MIR_ANGLE). In scan mode, the mirror follows a profile computed by the tracker. Whenever the mirror mode is commanded, the mirror controller is reset.

NameLength (bits) ValueDescription
Opcode 16 0x013c  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Mode 8 0 = Off
1 = Hold
2 = Slew
3 = Scan
Mirror mode
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_TPU_MIR_PWR - Control Mirror Motor Power

Turn mirror motor power off or on. Turning off the motor power also sets the mirror control mode to "off" (see CRS_TPU_MIR_MODE).

NameLength (bits) ValueDescription
Opcode 16 0x0159  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Mode 8 0 = Off
1 = On
Mirror motor power off/on
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_TPU_MIR_SIDE - Select Mirror Side

Selects which side of the mirror to use.

NameLength (bits) ValueDescription
Opcode 16 0x013f  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Side 8 0 = A (science)
1 = B (tracking)
Mirror side
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_TPU_OFF_ANGLE - Set the Target Offset Angle

Set the target offset angle. If automatic offset adjustment is enabled (see CRS_TPU_OFF_MODE), the angle will be modified at a commandable rate (see CRS_TPU_OFF_RATE). Note that the angle corresponds to the line-of-sight target angle rather than the mirror shaft angle.

NameLength (bits) ValueDescription
Opcode 16 0x0142  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Angle 32 IEEE-754 single Target offset angle (degrees)
Checksum 32   32 bit XOR

CRS_TPU_OFF_MODE - Enable/Disable Automatic Offset Adjustment

Enable or disable automatic offset adjustment. When enabled the offset is adjusted based on the last commanded initial angle (CRS_TPU_OFF_ANGLE) and the rate (CRS_TPU_OFF_RATE). When disabled, the offset is held at the last computed offset; when re-enabled, the offset adjust will pick up where it left off. While disabled, the offset can be commanded to a fixed position via CRS_TPU_OFF_ANGLE).

NameLength (bits) ValueDescription
Opcode 16 0x0144  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Mode 8 0 = Disable
1 = Enable
Enable/disable automatic offset adjustment
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_TPU_OFF_RATE - Set the Automatic Offset Rate

Set the automatic offset rate. The mirror is adjusted by the commanded rate. This rate is only used when automatic offset adjustment is commanded (CRS_TPU_OFF_MODE). Note that this rate applies to the line-of-sight target angle and not the mirror shaft angle.

NameLength (bits) ValueDescription
Opcode 16 0x0147  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Rate 32 IEEE-754 single Target offset rate (degrees/second)
Checksum 32   32 bit XOR

CRS_TPU_TEST - Enable/Disable Test Mode

Enable or disable test mode. In test mode, the tracking image is loaded from a test port rather the FPU. This is only useful during testing on the ground.

NameLength (bits) ValueDescription
Opcode 16 0x0166  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Mode 8 0 = Disable
1 = Enable
Test mode enable/disable
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_TPU_TLM_FLUSH - Flush TPU Telemetry Subpackets

If there is a partially filled subpacket packet in the TPU, generate a flush subpacket so that the packet will be downlinked.

NameLength (bits) ValueDescription
Opcode 16 0x015a  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 2 Command length in 32-bit words
Checksum 32   32 bit XOR

CRS_TPU_TLM_FLUSH_AUTO - Enable/Disable Automatic Flush

Enable or disable automatic flushing of partially filled subpacket packets in the TPU. If enabled, the TPU will try to send a subpacket packet every other second, even if the packet has not been completely filled. This is most useful during ground testing since it gives a low-latency response.

NameLength (bits) ValueDescription
Opcode 16 0x015c  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Mode 8 0 = Disable
1 = Enable
Enable/disable automatic flush
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_TPU_TRK_ALG - Select Tracking Algorithm

Select tracking algorithm.

NameLength (bits) ValueDescription
Opcode 16 0x0148  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Mode 8 0 = Off
1 = Fixed target
2 = Moving target
Tracking algorithm
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_TPU_TRK_GOAL - Set Tracker Goal

Set desired target position on CCD. The tracker tries to place the target at the specified position.

NameLength (bits) ValueDescription
Opcode 16 0x0153  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 4 Command length in 32-bit words
X 32 IEEE-754 single X goal position (pixels)
Y 32 IEEE-754 single Y goal position (pixels)
Checksum 32   32 bit XOR

CRS_TPU_TRK_LOOP - Enable/Disable Closed-Loop Tracking

Enable or disable closed-loop tracking.

NameLength (bits) ValueDescription
Opcode 16 0x014b  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Mode 8 0 = Disable
1 = Enable
Enable/disable closed-loop tracking
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CRS_TPU_TRK_TLM - Enable/Disable Tracking Telemetry

Enable or disable tracking telemetry production.

NameLength (bits) ValueDescription
Opcode 16 0x016f  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Mode 8 0 = Disable
1 = Enable
Enable/disable tracking telemetry
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR


home Return to CRISP Software User's Guide. Report problems to John Hayes. mail