CSBF Command Extended Formats

Change Log
Version Date Comments
1.0 02-Aug-2010 Initial Release
1.1 28-May-2012 Add CSBF doc

Acronym List
Acronym Definition
CSBF Columbia Scientific Balloon Facility
GSE Ground Support Equipment
HASP High Altitude Student Platform
LDBR Long Duration Balloon Receiver
LOS Line of Sight
ST5000 Star Tracker 5000
TDRSS Tracking and Data Relay Satellite System


For the ST5000's flight on the High Altitude Student Payload (HASP), we had to accomodate two new command formats. One format covers the commands from the ST5000 GSE (laptop) to the CSBF Ground Station and its response to the ST5000 GSE. The other covers the same commands as they emerge from the on-balloon flight receiver and are received by the ST5000 in flight. The CSBF spec is here. We elaborate on it in this document.

ST5000 GSE to CSBF Ground Station Extended Command Format

The CSBF GSE allows for two types of commanding: commands that are 20 bytes or fewer are broken up, 2 bytes at a time, into 8-byte packets for uplink. With the Extended Command format, for commands longer than 20 bytes, the command is passed through essentially unchanged from the ST5000 GSE to the ST5000. We chose to always use the extended format by padding out commands with spaces to at least 32 bytes. We describe the extended format.

CSBF Extended Command Format
Byte Content Comment
0 0x10 ASCII DLE
1 0x00 Link routing, see Table below
2 0x0c Routing address
3 N Command length, N bytes
4... ... N command bytes
4+N 0x03 ASCII ETX

Link Routing Table
Link Selection (byte 1) Routing Address (byte 2)
0 (LOS) 0x09 (COMM1) or 0x0c (COMM2)
1 (TDRSS) 0x09
2 (Iridium) 0x0c

CSFB Ground Station to ST5000 GSE Command Response

In response to a CSBF GSE command from the ST5000 GSE to the CSBF GSE, the CSBF GSE will reply with a 3-byte reply. Byte 2 has five possible values.

CSBF GSE Command Reply
Byte Value Comment
0 0xfa Sync 1
1 0xf3 Sync 1
2 0x00 OK
2 0x0a Operator disabled science from sending commands
2 0x0b Routing address does not match the selected link
2 0x0c The link selected is not enabled
2 0x0d All other cases

LDBR (Long Duration Balloon Receiver) to ST5000 Extended Command Format

When the command emerges from the on-board Long Duration Balloon Receiver (LDBR), it has a different format, with an 8-byte header.

LDBR Receiver Format
Byte Value Comment
0 0xfa Sync 1
1 0xf3 Sync 1
2 0x37 Balloon 3, Extended cmd routing 7. The balloon number can vary.
You may see other balloons' commands mixed in with your commands.
Make sure you find out your balloon number, and check for that in each command you process.
If more than one experiment on a single balloon is using the extended command format,
the experimenters must collaborate among themselves to hash out an addressing scheme.
The CSBF command header does not carry experiment ID data.
3 ~(byte 2) 1's complement of byte 2
4 0x0a or 0x0c CPU ID
I check for either one,
then save whatever the byte was for the next 1's complement test.
5 ~(byte 4) 1's complement of byte 4
6 N Command length, N bytes
7 ~(byte 6) 1's complement of byte 6
8... ... N command bytes
8+N TBD Checksum: add N command bytes, mask off bottom byte.
Checksum does not include the 8 header bytes,
only the N-byte user command.