Packet Type 1: GPS Data (1Hz, 74 bytes long, No encoding)
Byte # |
GPS Word # |
Name |
Units |
Range |
Res. |
0 |
- |
Packet Header 0x00 |
- |
- |
-) |
1 |
- |
Packet Type (1) + No Encoding (0) |
- |
- |
- |
2 |
1000.22 |
UTC Hours |
hours |
0 - 23 |
|
3 |
1000.23 |
UTC Minutes |
minutes |
0 - 59 |
|
4 |
1000.24 |
UTC Seconds |
seconds |
0 - 59 |
|
5 |
1000.10&11 |
Navigation Solution Validity and Type |
(Bits) |
1 = True |
|
6 |
1000.12 |
Number of Measurements Used in Solution |
0 - 12 |
# sat? |
|
7 |
1000.27.B0 |
Latitude3 |
radians |
+- 0 - PI/2 |
10e-8 |
8 |
1000.27.B1 |
Latitude2 |
radians |
+- 0 - PI/2 |
10e-8 |
9 |
1000.28.B0 |
Latitude1 |
radians |
+- 0 - PI/2 |
10e-8 |
10 |
1000.28.B1 |
Latitude0 |
radians |
+- 0 - PI/2 |
10e-8 |
11 |
1000.29.B0 |
Longitude3 |
radians |
+- 0 - PI/4 |
10e-8 |
12 |
1000.29.B1 |
Longitude2 |
radians |
+- 0 - PI/4 |
10e-8 |
13 |
1000.30.B0 |
Longitude1 |
radians |
+- 0 - PI/4 |
10e-8 |
14 |
1000.30.B1 |
Longitude0 |
radians |
+- 0 - PI/4 |
10e-8 |
15 |
1000.31.B0 |
Height3 |
meters |
+- 0 - 40000 |
10e-2 |
16 |
1000.31.B1 |
Height2 |
meters |
+- 0 - 40000 |
10e-2 |
17 |
1000.32.B0 |
Height1 |
meters |
+- 0 - 40000 |
10e-2 |
18 |
1000.32.B1 |
Height0 |
meters |
+- 0 - 40000 |
10e-2 |
19 |
1009.10.B0 |
ECEF Position - X3 |
meters |
+- 0 - 9000000 |
10e-2 |
20 |
1009.10.B1 |
ECEF Position - X2 |
meters |
+- 0 - 9000000 |
10e-2 |
21 |
1009.11.B0 |
ECEF Position - X1 |
meters |
+- 0 - 9000000 |
10e-2 |
22 |
1009.11.B1 |
ECEF Position - X0 |
meters |
+- 0 - 9000000 |
10e-2 |
23 |
1009.12.B0 |
ECEF Position - Y3 |
meters |
+- 0 - 9000000 |
10e-2 |
24 |
1009.12.B1 |
ECEF Position - Y2 |
meters |
+- 0 - 9000000 |
10e-2 |
25 |
1009.13.B0 |
ECEF Position - Y1 |
meters |
+- 0 - 9000000 |
10e-2 |
26 |
1009.13.B1 |
ECEF Position - Y0 |
meters |
+- 0 - 9000000 |
10e-2 |
27 |
1009.14.B0 |
ECEF Position - Z3 |
meters |
+- 0 - 9000000 |
10e-2 |
28 |
1009.14.B1 |
ECEF Position - Z2 |
meters |
+- 0 - 9000000 |
10e-2 |
29 |
1009.15.B0 |
ECEF Position - Z1 |
meters |
+- 0 - 9000000 |
10e-2 |
30 |
1009.15.B1 |
ECEF Position - Z0 |
meters |
+- 0 - 9000000 |
10e-2 |
31 |
1009.16.B0 |
ECEF Velocity - X3 |
meters/sec |
+- 0 - 1000 |
10e-2 |
32 |
1009.16.B1 |
ECEF Velocity - X2 |
meters/sec |
+- 0 - 1000 |
10e-2 |
33 |
1009.17.B0 |
ECEF Velocity - X1 |
meters/sec |
+- 0 - 1000 |
10e-2 |
34 |
1009.17.B1 |
ECEF Velocity - X0 |
meters/sec |
+- 0 - 1000 |
10e-2 |
35 |
1009.18.B0 |
ECEF Velocity - Y3 |
meters/sec |
+- 0 - 1000 |
10e-2 |
36 |
1009.18.B1 |
ECEF Velocity - Y2 |
meters/sec |
+- 0 - 1000 |
10e-2 |
37 |
1009.19.B0 |
ECEF Velocity - Y1 |
meters/sec |
+- 0 - 1000 |
10e-2 |
38 |
1009.19.B1 |
ECEF Velocity - Y0 |
meters/sec |
+- 0 - 1000 |
10e-2 |
39 |
1009.20.B0 |
ECEF Velocity - Z3 |
meters/sec |
+- 0 - 1000 |
10e-2 |
40 |
1009.20.B1 |
ECEF Velocity - Z2 |
meters/sec |
+- 0 - 1000 |
10e-2 |
41 |
1009.21.B0 |
ECEF Velocity - Z1 |
meters/sec |
+- 0 - 1000 |
10e-2 |
42 |
1009.21.B1 |
ECEF Velocity - Z0 |
meters/sec |
+- 0 - 1000 |
10e-2 |
43 |
1000.40 |
EHPE3 |
meters |
0 - 320000000 |
10e-2 |
44 |
1000.40 |
EHPE2 |
meters |
0 - 320000000 |
10e-2 |
45 |
1000.41 |
EHPE1 |
meters |
0 - 320000000 |
10e-2 |
46 |
1000.41 |
EHPE0 |
meters |
0 - 320000000 |
10e-2 |
47 |
1000.42 |
EVPE3 |
meters |
0 - 250000 |
10e-2 |
48 |
1000.42 |
EVPE2 |
meters |
0 - 250000 |
10e-2 |
49 |
1000.43 |
EVPE1 |
meters |
0 - 250000 |
10e-2 |
50 |
1000.43 |
EVPE0 |
meters |
0 - 250000 |
10e-2 |
51 |
1000.44 |
ETE3 |
meters |
0 - 300000000 |
10e-2 |
52 |
1000.44 |
ETE2 |
meters |
0 - 300000000 |
10e-2 |
53 |
1000.45 |
ETE1 |
meters |
0 - 300000000 |
10e-2 |
54 |
1000.45 |
ETE0 |
meters |
0 - 300000000 |
10e-2 |
55 |
1000.46 |
EHVE1 |
meters/sec |
0 - 10000 |
10e-2 |
56 |
1000.46 |
EHVE0 |
meters/sec |
0 - 10000 |
10e-2 |
57 |
1000.47 |
Clock Bias 3 |
meters |
+- 0 - 9000000 |
10e-2 |
58 |
1000.47 |
Clock Bias 2 |
meters |
+- 0 - 9000000 |
10e-2 |
59 |
1000.48 |
Clock Bias 1 |
meters |
+- 0 - 9000000 |
10e-2 |
60 |
1000.48 |
Clock Bias 0 |
meters |
+- 0 - 9000000 |
10e-2 |
61 |
1000.49 |
Clock Bias SD 3 |
meters |
+- 0 - 9000000 |
10e-2 |
62 |
1000.49 |
Clock Bias SD 2 |
meters |
+- 0 - 9000000 |
10e-2 |
63 |
1000.50 |
Clock Bias SD 1 |
meters |
+- 0 - 9000000 |
10e-2 |
64 |
1000.50 |
Clock Bias SD 0 |
meters |
+- 0 - 9000000 |
10e-2 |
65 |
1000.51 |
Clock Drift 3 |
meters/sec |
+- 0 - 1000 |
10e-2 |
66 |
1000.51 |
Clock Drift 2 |
meters/sec |
+- 0 - 1000 |
10e-2 |
67 |
1000.52 |
Clock Drift 1 |
meters/sec |
+- 0 - 1000 |
10e-2 |
68 |
1000.52 |
Clock Drift 0 |
meters/sec |
+- 0 - 1000 |
10e-2 |
69 |
1000.53 |
Clock Drift SD 3 |
meters/sec |
+- 0 - 1000 |
10e-2 |
70 |
1000.53 |
Clock Drift SD 2 |
meters/sec |
+- 0 - 1000 |
10e-2 |
71 |
1000.54 |
Clock Drift SD 1 |
meters/sec |
+- 0 - 1000 |
10e-2 |
72 |
1000.54 |
Clock Drift SD 0 |
meters/sec |
+- 0 - 1000 |
10e-2 |
73 |
Packet Footer 0xFF |
Packet Type 2: Status (10Hz, 25 bytes long, No Encoding)
Byte # |
Name |
Value(s), Description & Units |
0 |
Header |
0x00 |
1 |
Packet Type (2) + No Encoding (0) |
0x20 |
2 |
FCS (Flight Computer Status) |
0x00 = NOT_ARMED 0x01 = ARMED 0x02 = LAUNCH 0x04 = FLIGHT 0x08 = APOGEE 0x16 = RECOVERY |
2 |
Local Clock Hours |
00 - 23 (if GPS, it's the GPS' hours) |
3 |
Local Clock Minutes |
00 - 60 (if GPS, it's the GPS' minutes) |
4 |
Local Clock seconds |
00 - 60 (if GPS, it's the GPS' seconds) |
5 |
Local Clock tenths of seconds |
Incremented on 10HzClk |
6 |
FCFlg0 |
Flight Computer Flag Byte (8 bit flags) |
7 |
FCFlg1 |
Flight Computer Flag Byte (8 bit flags) |
8 |
FCFlg2 |
Flight Computer Flag Byte (8 bit flags) |
9 |
FCFlg3 |
Flight Computer Flag Byte (8 bit flags) |
10 |
FCFlg4 |
Flight Computer Flag Byte (8 bit flags) |
11 |
FCFlg5 |
Flight Computer Flag Byte (8 bit flags) |
12 |
FCFlg6 |
Flight Computer Flag Byte (8 bit flags) |
13 |
FCFlg7 |
Flight Computer Flag Byte (8 bit flags) |
14 |
FCFlg8 |
Flight Computer Flag Byte (8 bit flags) |
15 |
FCFlg9 |
Flight Computer Flag Byte (8 bit flags) |
16 |
Atmospheric Pressure High Byte |
0x00 - 0x0F |
17 |
Atmospheric Pressure Low Byte |
0x00 - 0xFF in k*kPa |
18 |
External Temperature High Byte |
0x00 - 0x03 |
19 |
External Temperature Low Byte |
0x00 - 0xFF in k*° |
20 |
IMU Temperature High Byte |
0x00 - 0x03 |
21 |
IMU Temperature Low Byte |
0x00 - 0xFF in k*° |
22 |
Separation Igniter Resistance |
0x00 - 0xFF: V across the ign. @ 4.88mV/# |
23 |
Shroud Igniter Resistance |
0x00 - 0xFF: V across the ign. @ 4.88mV/# |
24 |
Footer |
0xFF |
NOT IMPLEMENTED: Packet Type 3a: INS (1Hz, 39 bytes long, Full data)
Byte # |
Name |
Value |
Units |
Range |
Res. |
0 |
Header |
0x00 |
- |
- |
- |
1 |
Packet Type (3) + Full data (0) |
0x30 |
- |
- |
- |
2 |
X position 3 |
||||
3 |
X position 2 |
||||
2 |
X position 1 |
||||
3 |
X position 0 |
||||
4 |
Y position 3 |
||||
5 |
Y position 2 |
||||
6 |
Y position 1 |
||||
7 |
Y position 0 |
||||
8 |
Z position 3 |
||||
9 |
Z position 2 |
||||
10 |
Z position 1 |
||||
11 |
Z position 0 |
||||
12 |
Phi Attitude 3 |
||||
13 |
Phi Attitude 2 |
||||
14 |
Phi Attitude 1 |
||||
15 |
Phi Attitude 0 |
||||
16 |
Psy Attitude 3 |
||||
17 |
Psy Attitude 2 |
||||
18 |
Psy Attitude 1 |
||||
19 |
Psy Attitude 0 |
||||
20 |
Theta Attitude 3 |
||||
21 |
Theta Attitude 2 |
||||
22 |
Theta Attitude 1 |
||||
23 |
Theta Attitude 0 |
||||
24 |
X Velocity 3 |
||||
25 |
X Velocity 2 |
||||
26 |
X Velocity 1 |
||||
27 |
X Velocity 0 |
||||
28 |
Y Velocity 3 |
||||
29 |
Y Velocity 2 |
||||
30 |
Y Velocity 1 |
||||
31 |
Y Velocity 0 |
||||
32 |
Z Velocity 3 |
||||
33 |
Z Velocity 2 |
||||
34 |
Z Velocity 1 |
||||
35 |
Z Velocity 0 |
||||
36 |
Status? |
||||
37 |
Status? |
||||
38 |
Footer |
0xFF |
- |
- |
- |
NOT IMPLEMENTED: Packet Type 3b: INS (10Hz, 22 bytes long, D encoding)
Byte # |
Name |
Value |
Units |
Range |
Res. |
0 |
Header |
0x00 |
- |
- |
- |
1 |
Packet Type (3) + Delta encoding (2) |
0x32 |
- |
- |
- |
2 |
X position H |
||||
3 |
X position L |
||||
4 |
Y position H |
||||
5 |
Y position L |
||||
6 |
Z position H |
||||
7 |
Z position L |
||||
8 |
Phi Attitude H |
||||
9 |
Phi Attitude L |
||||
10 |
Psy Attitude H |
||||
11 |
Psy Attitude L |
||||
12 |
Theta Attitude H |
||||
13 |
Theta Attitude L |
||||
14 |
X Velocity H |
||||
15 |
X Velocity L |
||||
16 |
Y Velocity H |
||||
17 |
Y Velocity L |
||||
18 |
Z Velocity H |
||||
19 |
Z Velocity L |
||||
20 |
Status? |
||||
21 |
Status? |
||||
22 |
Footer |
0xFF |
- |
- |
- |
Packet Type 4: Messages (Unknown Frequency, 4 - 19 bytes long, Encoding = # of Messages)
Byte # |
Name |
Value |
Units |
Range |
Res. |
0 |
Header |
0x00 |
- |
- |
- |
1 |
Packet Type (4) + # of messages |
- |
- |
0x40 - 0x4F |
- |
2 |
Message #00 |
- |
- |
0 - 255 |
- |
{3 |
Message #01 (Optional) |
- |
- |
0 - 255 |
-} |
{4 |
Message #02 (Optional) |
- |
- |
0 - 255 |
-} |
{5 |
Message #03 (Optional) |
- |
- |
0 - 255 |
-} |
{6 |
Message #04 (Optional) |
- |
- |
0 - 255 |
-} |
{7 |
Message #05 (Optional) |
- |
- |
0 - 255 |
-} |
{8 |
Message #06 (Optional) |
- |
- |
0 - 255 |
-} |
{9 |
Message #07 (Optional) |
- |
- |
0 - 255 |
-} |
{10 |
Message #08 (Optional) |
- |
- |
0 - 255 |
-} |
{11 |
Message #09 (Optional) |
- |
- |
0 - 255 |
-} |
{12 |
Message #10 (Optional) |
- |
- |
0 - 255 |
-} |
{13 |
Message #11 (Optional) |
- |
- |
0 - 255 |
-} |
{14 |
Message #12 (Optional) |
- |
- |
0 - 255 |
-} |
{15 |
Message #13 (Optional) |
- |
- |
0 - 255 |
-} |
{16 |
Message #14 (Optional) |
- |
- |
0 - 255 |
-} |
{17 |
Message #15 (Optional) |
- |
- |
0 - 255 |
-} |
3 {18} |
Footer |
0xFF |
- |
- |
- |
Packet Type 5a IMU (10Hz and as necessary, 17 bytes long, Full data)
Byte # |
Name |
Value(s), Description & Units |
0 |
Header |
0x00 |
1 |
Packet Type (5) + Full Data (0) |
0x50 |
2 |
X axis accelerometer High Byte |
0x00 - 0x0F |
3 |
X axis accelerometer Low Byte |
0x00 - 0xFF k*g |
4 |
Y axis accelerometer High Byte |
0x00 - 0x0F |
5 |
Y axis accelerometer Low Byte |
0x00 - 0xFF k*g |
6 |
Z axis accelerometer High Byte |
0x00 - 0x0F |
7 |
Z axis accelerometer Low Byte |
0x00 - 0xFF k*g |
8 |
Q axis accelerometer High Byte |
0x00 - 0x0F |
9 |
Q axis accelerometer Low Byte |
0x00 - 0xFF k*g |
10 |
j axis accelerometer High Byte |
0x00 - 0x0F |
11 |
j axis accelerometer Low Byte |
0x00 - 0xFF k*° /s |
12 |
y axis accelerometer High Byte |
0x00 - 0x0F |
13 |
y axis accelerometer Low Byte |
0x00 - 0xFF k*° /s |
14 |
q axis accelerometer High Byte |
0x00 - 0x0F |
15 |
q axis accelerometer Low Byte |
0x00 - 0xFF k*° /s |
16 |
Footer |
0xFF |
Packet Type 5b IMU (As fast as possible (100Hz?), 10 bytes long, D encoding)
Byte # |
Name |
Value(s), Description & Units |
0 |
Header |
0x00 |
1 |
Packet Type (5) + Delta Encoding (2) |
0x52 |
2 |
X axis accelerometer D encoding |
0x00 - 0xFF: 0x7F (127) to 0x80 (-128) k*g |
3 |
Y axis accelerometer D encoding |
0x00 - 0xFF: 0x7F (127) to 0x80 (-128) k*g |
4 |
Z axis accelerometer D encoding |
0x00 - 0xFF: 0x7F (127) to 0x80 (-128) k*g |
5 |
Q axis accelerometer D encoding |
0x00 - 0xFF: 0x7F (127) to 0x80 (-128) k*g |
6 |
j axis rate gyroscope D encoding |
0x00 - 0xFF: 0x7F (127) to 0x80 (-128) k*° /s |
7 |
y axis rate gyroscope D encoding |
0x00 - 0xFF: 0x7F (127) to 0x80 (-128) k*° /s |
8 |
q axis rate gyroscope D encoding |
0x00 - 0xFF: 0x7F (127) to 0x80 (-128) k*° /s |
9 |
Footer |
0xFF |
Packet Type 6: Null Packet Data (3 bytes long, No encoding)
Byte # |
Name |
Value |
Units |
Range |
Res. |
0 |
Header |
0x00 |
- |
- |
- |
1 |
Packet Type + Encoding |
0x60 |
- |
- |
- |
2 |
Footer |
0xFF |
- |
- |
- |
8/26/00 Other thoughts:
- Number of "Bad packets" (0x00 and 0xFF in wrong place, or invalid packet types) would be nice to know
- FEC will be an external process, but it would be nice to see how many bit errors it found displayed on the fcsview. I don't know the interface or whatnot but we will by Monday/Tuesday.
- I highlighted in yellow the data that's important for the display