An uplink/I2C packet to Flight Computer or Comm Controller modules must be assembled as follows:
<Address + Write> + <Command> + <Command Data>
Invalid or incomplete packets are ignored completely.
A ubyte is an unsigned byte. The signing mechanism is 2s complement unless otherwise mentioned.
Command | Action | Data Required | Valid Range | Explanation | Sat Uplink |
---|---|---|---|---|---|
0x00 | Set Flight Phase | unsigned 1 byte | 0-4 | 0=PreL,1=Clim,2=Cruise,3=descent,4=landed | |
0x01 | Ballast Altitude Target (m) | unsigned 2 byte | 0-65534 | MSL Meters | |
0x02 | Ballast Positive Vertical Speed Target (m/min) | signed 1 byte | -127 to 127 | meters/minute | |
0x06 | Data Sample Interval (s) | unsigned 2 bytes | 0-65534 | Seconds between long message data captures | |
0x07 | Data Transmit Interval (s) | unsigned 2 bytes | 0-65534 | Seconds between long message bulk transmissions | |
0x08 | Preset Bitmask Select | unsigned 2 bytes | 0-65534 | 0=, 1=, 2= | |
0x09 | Custom Bitmask Select | unsigned 12 byte | Choose which long report channels for long message channels are active | ||
0x0A | Max Allowable TX Interval (s) | unsigned 2 byte | 0-65534 | Longest time interval allowed between long message TX. OVERRIDES “Data Transmit Interval” if needed. | |
0x0B | Battery Heater Setpoint | signed 1 byte | not used for SB1 | ||
0x0D | Ballast Safety Threshold (m) | unsigned 2 byte | 0-65534 | Altitude to NOT ballast BELOW, for fire safety. | |
0x0E | HF Transmit Interval (s) | unsigned 2 byte | 0-65534 | Interval between HF transmit power-ons by FC | |
0x0F | Cutdown NOW! | No Data | Must be manually entered. Will result | ||
0x10 | Cutdown At Given Time (min) | unsigned 2 byte | 0-65534 | Cut down at particular EPOCH MINUTE since Epoch 0 | |
0x11 | Dump X Grams of Ballast (g) | unsigned 2 byte | 0-65534 | Force ballast dump, not needed if in Auto Ballast | |
0x12 | Disarm Auto Ballast | No Data | Stop automatic ballast management | ||
0x13 | ReArm Auto Ballast | No Data | Start automatic ballast management | ||
0x14 | Set Mayday VSpeed Threshold to X (m/min) | signed 2 byte | -32766 to 32766 | Descent speed that triggers High rate TX and ballast | |
0x15 | Set Mayday Altitude Threshold to X (m) | unsigned 2 byte | 0-65535 | MSL altitude that triggers High rate TX and ballast | |
0x17 | Set HF Transmit Power Interval to X (s) | unsigned 1 byte | 0-254 | HF Transmission Powers | |
0x18 | Ballast Negative Vertical Speed Target (m/min) | signed 1 byte | -127 to 127 | Part of Ballast Algorithm | |
0x19 | Enable Report Commands | No Data | ATC Reports | ||
0x1A | Disable Report Commands | No Data | ATC Reports | ||
0x1B | Set Short Report TX interval (s) | unsigned 2 byte | |||
0x1C | Update Time to HF TX (s) | unsigned 2 byte | |||
0x1D | Update length of time to keep HF tx active (s) | unsigned 1 byte | |||
0xF1 | Send Long Bulk Message | No Data | Bulk Message | ||
0xF2 | Send ATC Short Report | No Data | ATC Short Report Pair | ||
0xF4 | Reset FCPU | No Data | Does software reset (watchdog) of FC | ||
0xF5 | Turn off HF | No Data | Turns off HF TX, except in MAYDAY mode | ||
0xF6 | Turn on HF | No Data | Turns on HF with no auto-off | ||
0xF7 | Epoch Lock | unsigned 1 byte | 0-1 | Resets epoch to zero when set to 1 and FC is reset. | |
0xFF | Ground Support Data Dump | No Data | Dump all variables to GSP debug |
This Configuration implements MOST of the commands listed in the draft below. The following commands are NOT implemented:
Other Notes:
Command | Action | Data Required | Format | Sat Uplink ok | I2C OK |
---|---|---|---|---|---|
0x00 | Transmit ATC Short Report | 12 bytes | See Note below | Y | |
0x01 | Transmit Data from I2C EEPROM | 4 bytes | unsigned 2B Start Addr, unsigned 2B End Addr | Y | |
0x06 | Reset cutdown heartbeat timer | 0 byte | Y | ||
0x07 | Set cutdown timer to X minutes, and reset | unsigned 1 byte | byte, 0-255 | Y | |
0x0B | Send Iridium Position Report | 0 bytes | Takes latest position from last ATC report | Y | Y |
0x99 | CUTDOWN NOW | 0 bytes | Y | ||
0x20 | Force Satellite Comm Session | 0 bytes | not relevant | Y | |
0xBB | Power up sat modem | 0 bytes | Y | ||
0xAA | Power down sat modem | 0 bytes | Y |
Uplink commands will fit in 5 bytes of a standard Orbcomm uplink command transmission.
Uplink command structure:
Purpose | Counter | I2C Address | Command | Data |
---|---|---|---|---|
Bytes | 1 | 1 | 1 | 2 |
Send only the middle 2 bytes of the 4 byte value. Comm controller will zero pad out to 4 digits for I2C xfer. Highest byte will never be used for our flights anyway, and removing low byte only reduces time accuracy to 1 minute.