Packet Format
Note: All multi-byte data field are big-endian
Message Packet Format Definition
UNDEFINED (0x00)
Undefined message, do not use
GENERAL_BOARD_STATUS (0x01)
Board status broadcast
Byte 0-1 |
Byte 2-5 |
Byte 6-7 |
|
|---|---|---|---|
2 byte timestamp |
GENERAL_ERROR_BITFIELD |
BOARD_ERROR_BITFIELD |
|
RESET_CMD (0x02)
Command to reset boards
Byte 0-1 |
Byte 2 |
Byte 3 |
|
|---|---|---|---|
2 byte timestamp |
BOARD_TYPE_ID |
BOARD_INST_ID |
|
DEBUG_RAW (0x03)
6-bytes of raw data
Byte 0-1 |
Byte 2-7 |
|
|---|---|---|
2 byte timestamp |
RAW_DATA |
|
CONFIG_SET (0x04)
Set board specific configuration
Byte 0-1 |
Byte 2 |
Byte 3 |
Byte 4-5 |
Byte 6-7 |
|
|---|---|---|---|---|---|
2 byte timestamp |
BOARD_TYPE_ID |
BOARD_INST_ID |
CONFIG_ID |
CONFIG_VALUE |
|
CONFIG_STATUS (0x05)
Broadcast board specific configuration, for verify CONFIG_SET success
Byte 0-1 |
Byte 2-3 |
Byte 4-5 |
|
|---|---|---|---|
2 byte timestamp |
CONFIG_ID |
CONFIG_VALUE |
|
ACTUATOR_CMD (0x06)
Set actuator commanded state
Metadata |
Byte 0-1 |
Byte 2 |
|
|---|---|---|---|
ACTUATOR_ID |
2 byte timestamp |
ACTUATOR_CMD_STATE |
|
ACTUATOR_STATUS (0x07)
Actuator Status Message
Metadata |
Byte 0-1 |
Byte 2 |
Byte 3 |
|
|---|---|---|---|---|
ACTUATOR_ID |
2 byte timestamp |
ACTUATOR_CURR_STATE |
ACTUATOR_CMD_STATE |
|
ALT_ARM_CMD (0x08)
Command to arm altimeter
Metadata |
Byte 0-1 |
Byte 2 |
|
|---|---|---|---|
ALT_ID |
2 byte timestamp |
ALT_ARM_STATE |
|
ALT_ARM_STATUS (0x09)
Altimeter Arm Status
Metadata |
Byte 0-1 |
Byte 2 |
Byte 3-4 |
Byte 5-6 |
|
|---|---|---|---|---|---|
ALT_ID |
2 byte timestamp |
ALT_ARM_STATE |
DROGUE_V |
MAIN_V |
|
SENSOR_ANALOG16 (0x0A)
16-bits analog sensor
Metadata |
Byte 0-1 |
Byte 2-3 |
|
|---|---|---|---|
SENSOR_ID |
2 byte timestamp |
VALUE |
|
SENSOR_ANALOG32 (0x0B)
32-bits analog sensor
Metadata |
Byte 0-1 |
Byte 2-5 |
|
|---|---|---|---|
SENSOR_ID |
2 byte timestamp |
VALUE |
|
SENSOR_DEM_ANALOG16 (0x0C)
3-Dimensional 16-bit analog sensor value message
Metadata |
Byte 0-1 |
Byte 2-3 |
Byte 4-5 |
Byte 6-7 |
|
|---|---|---|---|---|---|
DEM_SENSOR_ID |
2 byte timestamp |
VALUE_X |
VALUE_Y |
VALUE_Z |
|
GPS_TIMESTAMP (0x0D)
Byte 0-1 |
Byte 2 |
Byte 3 |
Byte 4 |
Byte 5 |
|
|---|---|---|---|---|---|
2 byte timestamp |
UTC_HOURS |
UTC_MINUTES |
UTC_SECONDS |
UTC_DSECONDS |
|
GPS_LATITUDE (0x0E)
Byte 0-1 |
Byte 2 |
Byte 3 |
Byte 4-5 |
Byte 6 |
|
|---|---|---|---|---|---|
2 byte timestamp |
DEGREES |
MINUTES |
DMINUTES_H |
DIR_NS |
|
GPS_LONGITUDE (0x0F)
Byte 0-1 |
Byte 2 |
Byte 3 |
Byte 4-5 |
Byte 6 |
|
|---|---|---|---|---|---|
2 byte timestamp |
DEGREES |
MINUTES |
DMINUTES_H |
DIR_EW |
|
GPS_ALTITUDE (0x10)
Byte 0-1 |
Byte 2-5 |
Byte 6 |
|
|---|---|---|---|
2 byte timestamp |
ALT |
DALT |
|
GPS_INFO (0x11)
Byte 0-1 |
Byte 2 |
Byte 3 |
|
|---|---|---|---|
2 byte timestamp |
NUM_SAT |
QUALITY |
|
STREAM_STATUS (0x12)
Byte 0-1 |
Byte 2-4 |
Byte 5-7 |
|
|---|---|---|---|
2 byte timestamp |
TOTAL_SIZE |
TX_SIZE |
|
STREAM_DATA (0x13)
Metadata |
Byte 0-1 |
Byte 2-7 |
|
|---|---|---|---|
SEQ_ID |
2 byte timestamp |
DATA |
|
STREAM_RETRY (0x14)
LEDS_ON (0x15)
LEDS_OFF (0x16)
Enums Definition
actuator_id
Actuator ID for Actuator Command and Status Messages
Enum Name |
Description |
ID |
|---|---|---|
OX_INJECTOR_VALVE |
Oxidizer Injector Valve, for hall-effect sensor state feedback and Canard activation |
0x00 |
FUEL_INJECTOR_VALVE |
Oxidizer Injector Valve, for hall-effect sensor state feedback |
0x01 |
ROCKET_CHARGE_ENABLE |
Rocket Ground-side Charging Enable |
0x02 |
PAYLOAD_CHARGE_ENABLE |
Payload Ground-side Charging Enable |
0x03 |
5V_RAIL_ROCKET |
No Description |
0x04 |
5V_RAIL_PAYLOAD |
No Description |
0x05 |
12V_RAIL_ROCKET |
No Description |
0x06 |
TELEMETRY |
No Description |
0x07 |
CAMERA_SIDE_LOOKING |
No Description |
0x08 |
CAMERA_DOWN_LOOKING |
No Description |
0x09 |
CAMERA_RECOVERY |
No Description |
0x0A |
CANARD_PAD_FILTER |
Switch Canard to Pad Filter when commanded ACT_STATE_ON |
0x0B |
CANARD_LOW_POWER_MODE |
Canard Low-Power Mode (In Low-Power mode when ACT_STATE_ON, vice versa) |
0x0C |
SRAD_ALT_ESTIMATOR_INIT |
Actuator command to start SRAD Altimeter state estimation |
0x0D |
SRAD_ALT_GPS_RESET |
Actuator command to reset GPS Receiver on SRAD Altimeter |
0x0E |
CAMERA_CAPTURE |
No Description |
0x0F |
PAYLOAD_LOGGING_ENABLE |
Payload Sensor Board Logging Enable Control |
0x10 |
THESEUS_ACTUATOR_1 |
Theseus board actuator channel 1 |
0x11 |
THESEUS_ACTUATOR_2 |
Theseus board actuator channel 2 |
0x12 |
RLCS_RELAY_POWER |
RLCS Relay Board Power Relay |
0x13 |
RLCS_RELAY_SELECT |
RLCS Relay Board Select Relay(Limit switch state feedback) |
0x14 |
actuator_state
Actuator State
Enum Name |
Description |
ID |
|---|---|---|
ON |
Actuator is in ON state, or Open |
0x00 |
OFF |
Actuator is in OFF state, or Close |
0x01 |
UNK |
Unknown state, for example when ball valve is turning |
0x02 |
ILLEGAL |
Illegal state, for example when limit switch of both state being triggered |
0x03 |
altimeter_id
Altimeter ID for uniquely indentify each altimeter
Enum Name |
Description |
ID |
|---|---|---|
RAVEN |
Raven4 Altimeter |
0x00 |
STRATOLOGGER |
StratoLoggerCF |
0x01 |
SRAD |
SRAD Altimeter |
0x02 |
alt_arm_state
Altimiter Arm State
Enum Name |
Description |
ID |
|---|---|---|
DISARMED |
Disarmed |
0x00 |
ARMED |
Armed |
0x01 |
analog_sensor_id
Sensor ID for Sensor Messages
Enum Name |
Description |
ID |
|---|---|---|
5V_VOLT |
Voltage of 5V rail in mV |
0x00 |
5V_CURR |
Current of 5V rail in mA |
0x01 |
12V_VOLT |
Voltage of 12V rail in mV |
0x02 |
12V_CURR |
Current of 12V rail in mA |
0x03 |
CHARGE_VOLT |
LiPo charging voltage in mV |
0x04 |
CHARGE_CURR |
LiPo charging current in mA |
0x05 |
BATT_VOLT |
Battery Voltage in mV |
0x06 |
BATT_CURR |
Battery Current in mA |
0x07 |
RADIO_CURR |
Radio current in mA |
0x08 |
GPS_CURR |
GPS Receiver current in mA |
0x09 |
LOCAL_CURR |
Local voltage rail (e.g. 3.3V) current in mA |
0x0A |
PT_CHANNEL_1 |
Pressure Transducer Channel 1, J3 on Injector Sensor Hub |
0x0B |
PT_CHANNEL_2 |
Pressure Transducer Channel 2, J4 on Injector Sensor Hub |
0x0C |
PT_CHANNEL_3 |
Pressure Transducer Channel 3, J6 on Injector Sensor Hub |
0x0D |
PT_CHANNEL_4 |
Pressure Transducer Channel 4, J8 on Injector Sensor Hub |
0x0E |
PT_CHANNEL_5 |
Pressure Transducer Channel 5, J10 on Injector Sensor Hub |
0x0F |
HALL_CHANNEL_1 |
Hall-Effect Sensor Channel 1, J7 on Injector Sensor Hub |
0x10 |
HALL_CHANNEL_2 |
Hall-Effect Sensor Channel 2, J5 on Injector Sensor Hub |
0x11 |
HALL_CHANNEL_3 |
Hall-Effect Sensor Channel 3, J9 on Injector Sensor Hub |
0x12 |
RA_BATT_VOLT_1 |
No Description |
0x13 |
RA_BATT_VOLT_2 |
No Description |
0x14 |
RA_BATT_CURR_1 |
No Description |
0x15 |
RA_BATT_CURR_2 |
No Description |
0x16 |
RA_MAG_VOLT_1 |
No Description |
0x17 |
RA_MAG_VOLT_2 |
No Description |
0x18 |
FPS |
Camera framerate |
0x19 |
PAYLOAD_LIM_1 |
Payload Motor Board Limit Switch 1 |
0x1A |
PAYLOAD_LIM_2 |
Payload Motor Board Limit Switch 2 |
0x1B |
PAYLOAD_SERVO_DIRECTION |
Payload Servo Direction |
0x1C |
PAYLOAD_INFRARED |
Payload Infrared Sensor Reading |
0x1D |
THESEUS_TEMP_1 |
Theseus board temperature channel 1 |
0x1E |
THESEUS_TEMP_2 |
Theseus board temperature channel 2 |
0x1F |
THESEUS_TEMP_3 |
Theseus board temperature channel 3 |
0x20 |
RLCS_RELAY_OUTPUT_VOLT_A |
RLCS Relay Board channel A output voltage |
0x21 |
RLCS_RELAY_OUTPUT_VOLT_B |
RLCS Relay Board channel B output voltage |
0x22 |
RLCS_RELAY_OUTPUT_CURR_A |
RLCS Relay Board channel A output current |
0x23 |
RLCS_RELAY_OUTPUT_CURR_B |
RLCS Relay Board channel B output current |
0x24 |
RLCS_RELAY_LIM_VOLT_A |
RLCS Relay Board limit switch A voltage |
0x25 |
RLCS_RELAY_LIM_VOLT_B |
RLCS Relay Board limit switch B voltage |
0x26 |
LOG_WRITTEN_SIZE |
Number of bytes written to log file(reset to 0 when a new file is created) |
0x27 |
SD_LOG_FILE_NAME |
SD Card log file name(the number part only) |
0x28 |
SD_USED |
SD Card used space size, in MiB |
0x29 |
SD_FREE |
SD Card free space size, in MiB |
0x2A |
FLASH_LOG_FILE_NAME |
Flash log file name(the number part only) |
0x2B |
FLASH_USED |
Flash used space size, in MiB |
0x2C |
FLASH_FREE |
FLash free space size, in MiB |
0x2D |
CANARD_CTRL_CMD_ANGLE |
Canard Controller Commanded Angle |
0x2E |
CANARD_CTRL_COEFF_LIFT |
Canard Controller Coefficient of Lift |
0x2F |
CANARD_MS5611_BARO |
Canard MS5611 Barometer pressure reading |
0x30 |
CANARD_MS5611_TEMP |
Canard MS5611 Barometer temperature reading |
0x31 |
CANARD_MTI630_BARO_0 |
Canard MTI-630 Movella barometer reading 0 |
0x32 |
CANARD_MTI630_BARO_1 |
Canard MTI-630 Movella barometer reading 1 |
0x33 |
CANARD_MTI630_EST_ALT |
Canard MTI-630 Movella Estimation altitude |
0x34 |
CANARD_ADXRS649_GYRO |
Canard ADXRS649 1-Axis Gyroscope angular velocity reading |
0x35 |
CANARD_SERVO_ANGLE |
Canard Servo encoder angle reading |
0x36 |
CANARD_SERVO_CURR |
Canard Servo current reading (in mA) |
0x37 |
CANARD_SERVO_TEMP |
Canard Servo temperature reading (in Celcius) |
0x38 |
dem_sensor_id
3-Dimensional SENSOR_ID
Enum Name |
Description |
ID |
|---|---|---|
CANARD_NAV_ORIENTATION_QUAT_QX_QY_QZ |
Canard Navigation Orientation QX, QY, QZ |
0x00 |
CANARD_NAV_ORIENTATION_QUAT_QW_ALT_VARNORM |
Canard Navigation Orientation QW, Altitude, Variance Norm |
0x01 |
CANARD_NAV_ANGLE_VEL |
Canard Navigation Angular Velocity |
0x02 |
CANARD_NAV_VEL |
Canard Navigation Velocity |
0x03 |
CANARD_LSM6DSV32X_ACCEL |
Canard LSM6DSV32X 32G IMU Acceleration |
0x04 |
CANARD_LSM6DSV32X_GYRO |
Canard LSM6DSV32X 32G IMU Angular Velocity |
0x05 |
CANARD_LSM303AGR_ACCEL |
Canard LSM303AGR Compass Acceleration |
0x06 |
CANARD_LSM303AGR_MAG |
Canard LSM303AGR Magnetometer Reading |
0x07 |
CANARD_MTI630_ACCEL |
Canard MTI-630 Movella Acceleration |
0x08 |
CANARD_MTI630_GYRO |
Canard MTI-630 Movella Angular Velocity |
0x09 |
CANARD_MTI630_MAG |
Canard MTI-630 Movella Magnetometer Reading |
0x0A |
CANARD_MTI630_EST_ORIENTATION |
Canard MTI-630 Movella Estimation Orientation (Euler) |
0x0B |
CANARD_MTI630_EST_ANGLE_VEL |
Canard MTI-630 Movella Estimation Angular Velocity |
0x0C |
CANARD_MTI630_EST_VEL |
Canard MTI-630 Movella Estimation Velocity |
0x0D |
CANARD_ADXL380_ACCEL |
Canard ADXL380 Accelerometer Acceleration |
0x0E |
Bitfields Definition
general_board_status
General board status bitfield
Bitfield Name |
Description |
Offset |
|---|---|---|
5V_OVER_CURRENT |
No Description |
0x00 |
5V_OVER_VOLTAGE |
No Description |
0x01 |
5V_UNDER_VOLTAGE |
No Description |
0x02 |
12V_OVER_CURRENT |
No Description |
0x03 |
12V_OVER_VOLTAGE |
No Description |
0x04 |
12V_UNDER_VOLTAGE |
No Description |
0x05 |
BATT_OVER_CURRENT |
No Description |
0x06 |
BATT_OVER_VOLTAGE |
No Description |
0x07 |
BATT_UNDER_VOLTAGE |
No Description |
0x08 |
MOTOR_OVER_CURRENT |
No Description |
0x09 |
IO_ERROR |
No Description |
0x0A |
FS_ERROR |
No Description |
0x0B |
WATCHDOG_TIMEOUT |
No Description |
0x0C |
board_specific_status
Board specific status bitfield
Bitfield Name |
Description |
Offset |
|---|---|---|
12V_EFUSE_FAULT |
No Description |
0x00 |
5V_EFUSE_FAULT |
No Description |
0x01 |
PT_OUT_OF_RANGE |
No Description |
0x02 |