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.

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 CFI_MAC_DEF and CFI_MAC_ENDEF. The default macros are shown in the following table.

Table 16. Default Macros
IdActionCommands
0 No action CFI_CMD_NULL
1 Shutdown CFI_IMG_PWR OFF
CFI_FLT_MOVE CLEAR
CFI_HTR_MODE OFF
2 Heater Power Off CFI_HTR_MODE OFF
3 Cover HOPS Off CFI_COV_DEPLOY HOP1/1 OFF
CFI_COV_DEPLOY HOP1/2 OFF
CFI_COV_DEPLOY HOP2/1 OFF
CFI_COV_DEPLOY HOP2/2 OFF
4 Mirror Power Off CFI_PWR_PRI CM OFF
5 Imager Power Off CFI_IMG_PWR OFF
6 Filter Power Off CFI_PWR_PRI FW OFF
7 Stop Macro Processing CFI_MON_CNTRL DISABLE
CFI_MEM_RUN kill all macros
8 - 63 Reserved  
64 - 255 Reserved for mission operations  

Commands

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

CFI_CHE_PEEK - Read CHEAP Hardware

Read a 16-bit data value from the CHEAP hardware and telemeter the result. Note: only one peek or poke can be commanded per second.

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
Board 8 66 = DSAD (FPGA)
67 = Dosimeter (xRIO)
36 = Dust (TRIO)
Board's I2C address
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CFI_CHE_POKE - Write CHEAP Hardware

Write an 8-bit data value to the CHEAP hardware. Note: only one peek or poke can be commanded per second.

NameLength (bits) ValueDescription
Opcode 16 0x0130  
Macro? 1 0 = Execute
1 = Append to macro
Macro load bit
Length 15 3 Command length in 32-bit words
Board 8 66 = DSAD (FPGA)
67 = Dosimeter (xRIO)
36 = Dust (TRIO)
Board's I2C address
Address 8 Unsigned integer Register address within board
Data 8 Unsigned integer Data to write
Pad 8 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CFI_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 actuator power is removed automatically by the DPU software once the cover is open. 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 CFI_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

CFI_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 CFI_COV_DEPLOY).

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 = Disable
1 = Enable
Deployment enable/disable
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CFI_DOS_DATA - Collect Dosimeter Data for Downlink

Collect dosimeter data and downlink it.

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

CFI_DUS_DATA - Collect Dust Shield Data for Downlink

Collect dust shield data and downlink it.

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
Spare 32    
Checksum 32   32 bit XOR

CFI_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 0x0105  
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

CFI_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 0x0106  
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

CFI_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 0x012d  
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

CFI_HTR_MODE - Set Heater Control Mode

Select heater off, on, or controlled by software.

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
2 = Software control
Control mode
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CFI_HTR_SENSOR - Select Heater Control Sensor

Select the temperature sensor used to control the heater.

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
Sensor 8 0 = CCD plate temp. #1
1 = CCD plate temp. #2
2 = Radiator temp. #1
3 = Radiator temp. #2
Temperature sensor
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CFI_HTR_TMP - Set Heater Temperature

Set temperature goal of the heater. 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)
Pad 8 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CFI_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 0x010f  
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

CFI_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 0x0111  
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

CFI_IMG_EXP - Set Image Exposure Time

Set image exposure time. An exposure time set at time t effects the exposure taken at t+1. The exposure time is specified in two pieces. The first argument how long to expose in the first second; this can range from 2.048 ms to 958.464 ms. The second argument specifies additional whole seconds of exposure. Note: If the commanded exposure time is greater than the commanded collection interval (see CFI_IMG_IMAGE), the exposure time is reduced to match the collection interval.

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
Time 16 1 - 468 Exposure time in 2.048 ms units
Seconds 16 0 - 127 Additional exposure time in seconds
Checksum 32   32 bit XOR

CFI_IMG_FORMAT - Select Image Format

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

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
Format 8 0 = 1024 x 1024
1 = 512 x 512 window
2 = 256 x 256 window
3 = 128 x 128 window
4 = 512 x 512 rebin
5 = 256 x 256 rebin
Image format
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CFI_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 CFI_IMG_IMAGE is issued, the new command supersedes the old command.

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
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

CFI_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 0x0118  
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

CFI_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 0x011b  
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

CFI_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

CFI_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

CFI_MIR_MOVE - Move Cube Mirror

Move cube mirror to use the indicated side. Note: the CM motor primary power must be turned on for the cube mirror to move.

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
Side 8 0 - 3 Mirror side
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CFI_MIR_PWR - Control Mirror Power

Turn cube mirror resolver power off or on. Note: the CM motor primary power must be turned on for the cube mirror resolver to operate.

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 0 = Off
1 = On
Mirror power off/on
Pad 24 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CFI_MIR_STEP - Step Cube Mirror

Move cube mirror the indicated number of resolver counts. Note: the CM motor primary power must be turned on for the cube mirror to move.

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
Counts 16 -32768 - 32767 Mirror motion (resolver counts)
Pad 16 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CFI_PWR_PRI - Control Primary Power

Turn primary power off or on to a selected subsystem.

NameLength (bits) ValueDescription
Opcode 16 0x012b  
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 = CM Motor
2 = FW Motor
255 = All
Power board
Pad 16 0 Pad up to 32-bit boundary
Checksum 32   32 bit XOR

CFI_SAD_EXP - Set DSAD Image Exposure Time

Set DSAD image exposure time.

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 8 1 - 255 Exposure time (36+8(n-1) seconds)
DSAD 8 0 = Pinhole
1 = Lensed
255 = Both
DSAD
Spare 16    
Checksum 32   32 bit XOR

CFI_SAD_IMAGE - Collect DSAD Data for Downlink

Take a DSAD image, collect data, and downlink it. Summary data is collected from the indicated DSAD and telemetered. If requested, the associated raw image is also sent

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
Spare 32    
DSAD 8 0 = Pinhole
1 = Lensed
DSAD
Image 8 0 = No image
1 = Image
Send image too?
Spare 16    
Checksum 32   32 bit XOR


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