##// END OF EJS Templates
CCSDS_TC_PKT_MAX_SIZE modified
paul -
r51:1ffa3d630b9c default
parent child
Show More
@@ -1,795 +1,796
1 1 #ifndef CCSDS_TYPES_H_INCLUDED
2 2 #define CCSDS_TYPES_H_INCLUDED
3 3
4 4 #define CCSDS_PROTOCOLE_EXTRA_BYTES 4
5 5 #define CCSDS_TC_TM_PACKET_OFFSET 7
6 6 #define CCSDS_TELEMETRY_HEADER_LENGTH 16+4
7 7 #define CCSDS_TM_PKT_MAX_SIZE 4412
8 8 #define CCSDS_TELECOMMAND_HEADER_LENGTH 10+4
9 #define CCSDS_TC_PKT_MAX_SIZE 256
9 //#define CCSDS_TC_PKT_MAX_SIZE 256
10 #define CCSDS_TC_PKT_MAX_SIZE 2048
10 11 #define CCSDS_TC_PKT_MIN_SIZE 16
11 12 #define CCSDS_PROCESS_ID 76
12 13 #define CCSDS_PACKET_CATEGORY 12
13 14 #define CCSDS_NODE_ADDRESS 0xfe
14 15 #define CCSDS_USER_APP 0x00
15 16
16 17 #define DEFAULT_SPARE1_PUSVERSION_SPARE2 0x10
17 18 #define DEFAULT_RESERVED 0x00
18 19 #define DEFAULT_HKBIA 0x1e // 0001 1110
19 20
20 21 // PACKET ID
21 22 #define TM_PACKET_PID_DEFAULT 76
22 23 #define TM_PACKET_PID_BURST_SBM1_SBM2 79
23 24 #define APID_TM_TC_EXE 0x0cc1 // PID 76 CAT 1
24 25 #define APID_TM_HK 0x0cc4 // PID 76 CAT 4
25 26 #define APID_TM_SCIENCE_NORMAL_BURST 0x0ccc // PID 76 CAT 12
26 27 #define APID_TM_SCIENCE_SBM1_SBM2 0x0cfc // PID 79 CAT 12
27 28 #define APID_TM_PARAMETER_DUMP 0x0cc6 // PID 76 CAT 6
28 29 #define APID_TM_KCOEFFICIENTS_DUMP 0x0cc6 // PID 76 CAT 6
29 30 // PACKET CAT
30 31 #define TM_PACKET_CAT_TC_EXE 1
31 32 #define TM_PACKET_CAT_HK 4
32 33 #define TM_PACKET_CAT_SCIENCE 12
33 34 #define TM_PACKET_CAT_DUMP 6
34 35
35 36 // PACKET SEQUENCE CONTROL
36 37 #define TM_PACKET_SEQ_CTRL_CONTINUATION 0x00 // [0000 0000]
37 38 #define TM_PACKET_SEQ_CTRL_FIRST 0x40 // [0100 0000]
38 39 #define TM_PACKET_SEQ_CTRL_LAST 0x80 // [1000 0000]
39 40 #define TM_PACKET_SEQ_CTRL_STANDALONE 0xc0 // [1100 0000]
40 41 #define TM_PACKET_SEQ_CNT_DEFAULT 0x00 // [0000 0000]
41 42
42 43 // DESTINATION ID
43 44 #define TM_DESTINATION_ID_GROUND 0
44 45 #define TM_DESTINATION_ID_MISSION_TIMELINE 110
45 46 #define TM_DESTINATION_ID_TC_SEQUENCES 111
46 47 #define TM_DESTINATION_ID_RECOVERY_ACTION_COMMAND 112
47 48 #define TM_DESTINATION_ID_BACKUP_MISSION_TIMELINE 113
48 49 #define TM_DESTINATION_ID_DIRECT_CMD 120
49 50 #define TM_DESTINATION_ID_SPARE_GRD_SRC1 121
50 51 #define TM_DESTINATION_ID_SPARE_GRD_SRC2 122
51 52 #define TM_DESTINATION_ID_OBCP 15
52 53 #define TM_DESTINATION_ID_SYSTEM_CONTROL 14
53 54 #define TM_DESTINATION_ID_AOCS 11
54 55
55 56 //*********************************************************
56 57 //*** /!\ change CCSDS_DESTINATION_ID before flight /!\ ***
57 58 //*********************************************************
58 59 #ifdef LPP_DPU_DESTID
59 60 #define CCSDS_DESTINATION_ID 32
60 61 #else
61 62 #define CCSDS_DESTINATION_ID 0x01
62 63 #endif
63 64 #define CCSDS_PROTOCOLE_ID 0x02
64 65 #define CCSDS_RESERVED 0x00
65 66 #define CCSDS_USER_APP 0x00
66 67
67 68 #define SIZE_TM_LFR_TC_EXE_NOT_IMPLEMENTED 24
68 69 #define SIZE_TM_LFR_TC_EXE_CORRUPTED 32
69 70 #define SIZE_HK_PARAMETERS 112
70 71
71 72 // TC TYPES
72 73 #define TC_TYPE_GEN 181
73 74 #define TC_TYPE_TIME 9
74 75
75 76 // TC SUBTYPES
76 77 #define TC_SUBTYPE_RESET 1
77 78 #define TC_SUBTYPE_LOAD_COMM 11
78 79 #define TC_SUBTYPE_LOAD_NORM 13
79 80 #define TC_SUBTYPE_LOAD_BURST 19
80 81 #define TC_SUBTYPE_LOAD_SBM1 25
81 82 #define TC_SUBTYPE_LOAD_SBM2 27
82 83 #define TC_SUBTYPE_DUMP 31
83 84 #define TC_SUBTYPE_ENTER 41
84 85 #define TC_SUBTYPE_UPDT_INFO 51
85 86 #define TC_SUBTYPE_EN_CAL 61
86 87 #define TC_SUBTYPE_DIS_CAL 63
87 88 #define TC_SUBTYPE_LOAD_K 93
88 89 #define TC_SUBTYPE_DUMP_K 95
89 90 #define TC_SUBTYPE_LOAD_FBINS 91
90 91 #define TC_SUBTYPE_LOAD_FILTER_PAR 97
91 92 #define TC_SUBTYPE_UPDT_TIME 129
92 93
93 94 // TC LEN
94 95 #define TC_LEN_RESET 12
95 96 #define TC_LEN_LOAD_COMM 14
96 97 #define TC_LEN_LOAD_NORM 22
97 98 #define TC_LEN_LOAD_BURST 14
98 99 #define TC_LEN_LOAD_SBM1 14
99 100 #define TC_LEN_LOAD_SBM2 14
100 101 #define TC_LEN_DUMP 12
101 102 #define TC_LEN_ENTER 20
102 103 #define TC_LEN_UPDT_INFO 110
103 104 #define TC_LEN_EN_CAL 12
104 105 #define TC_LEN_DIS_CAL 12
105 106 #define TC_LEN_LOAD_K 142
106 107 #define TC_LEN_DUMP_K 12
107 108 #define TC_LEN_LOAD_FBINS 60
108 109 #define TC_LEN_LOAD_FILTER_PAR 28
109 110 #define TC_LEN_UPDT_TIME 18
110 111
111 112 // PACKET CODES
112 113 #define TM_CODE_K_DUMP 0xb5600b00 // 181 (0xb5) ** 96 (0x60) ** 11 (0x0b) ** 0 (0x00)
113 114
114 115 // TM TYPES
115 116 #define TM_TYPE_TC_EXE 1
116 117 #define TM_TYPE_HK 3
117 118 #define TM_TYPE_LFR_SCIENCE 21
118 119 #define TM_TYPE_PARAMETER_DUMP 181
119 120 #define TM_TYPE_K_DUMP 181
120 121
121 122 // TM SUBTYPES
122 123 #define TM_SUBTYPE_EXE_OK 7
123 124 #define TM_SUBTYPE_EXE_NOK 8
124 125 #define TM_SUBTYPE_HK 25
125 126 #define TM_SUBTYPE_LFR_SCIENCE_3 3 // TM packets with fixed size
126 127 #define TM_SUBTYPE_LFR_SCIENCE_6 6 // TM packets with variable size
127 128 #define TM_SUBTYPE_PARAMETER_DUMP 32
128 129 #define TM_SUBTYPE_K_DUMP 96
129 130
130 131 // FAILURE CODES
131 132 #define ILLEGAL_APID 0
132 133 #define WRONG_LEN_PKT 1
133 134 #define INCOR_CHECKSUM 2
134 135 #define ILL_TYPE 3
135 136 #define ILL_SUBTYPE 4
136 137 #define WRONG_APP_DATA 5 // 0x00 0x05
137 138 #define TC_NOT_EXE 42000 // 0xa4 0x10
138 139 #define WRONG_SRC_ID 42001 // 0xa4 0x11
139 140 #define FUNCT_NOT_IMPL 42002 // 0xa4 0x12
140 141 #define FAIL_DETECTED 42003 // 0xa4 0x13
141 142 #define NOT_ALLOWED 42004 // 0xa4 0x14
142 143 #define CORRUPTED 42005 // 0xa4 0x15
143 144 #define CCSDS_TM_VALID 7
144 145
145 146 // HK_LFR_LAST_ER_RID
146 147 #define RID_LE_LFR_TIME 42119
147 148 #define RID_LE_LFR_DPU_SPW 42128
148 149 #define RID_LE_LFR_TIMEC 42129
149 150 #define RID_ME_LFR_DPU_SPW 42338
150 151 // HK_LFR_LAST_ER_CODE
151 152 #define CODE_PARITY 1
152 153 #define CODE_DISCONNECT 2
153 154 #define CODE_ESCAPE 3
154 155 #define CODE_CREDIT 4
155 156 #define CODE_WRITE_SYNC 5
156 157 #define CODE_EARLY_EOP_EEP 6
157 158 #define CODE_INVALID_ADDRESS 7
158 159 #define CODE_EEP 8
159 160 #define CODE_RX_TOO_BIG 9
160 161 #define CODE_HEADER_CRC 16
161 162 #define CODE_DATA_CRC 17
162 163 #define CODE_ERRONEOUS 20
163 164 #define CODE_MISSING 21
164 165 #define CODE_INVALID 22
165 166 #define CODE_TIMECODE_IT 24
166 167 #define CODE_NOT_SYNCHRO 25
167 168 #define CODE_TIMECODE_CTR 26
168 169
169 170 // TC SID
170 171 #define SID_TC_GROUND 0
171 172 #define SID_TC_MISSION_TIMELINE 110
172 173 #define SID_TC_TC_SEQUENCES 111
173 174 #define SID_TC_RECOVERY_ACTION_CMD 112
174 175 #define SID_TC_BACKUP_MISSION_TIMELINE 113
175 176 #define SID_TC_DIRECT_CMD 120
176 177 #define SID_TC_SPARE_GRD_SRC1 121
177 178 #define SID_TC_SPARE_GRD_SRC2 122
178 179 #define SID_TC_OBCP 15
179 180 #define SID_TC_SYSTEM_CONTROL 14
180 181 #define SID_TC_AOCS 11
181 182 #define SID_TC_RPW_INTERNAL 254
182 183
183 184 enum apid_destid{
184 185 GROUND,
185 186 MISSION_TIMELINE,
186 187 TC_SEQUENCES,
187 188 RECOVERY_ACTION_CMD,
188 189 BACKUP_MISSION_TIMELINE,
189 190 DIRECT_CMD,
190 191 SPARE_GRD_SRC1,
191 192 SPARE_GRD_SRC2,
192 193 OBCP,
193 194 SYSTEM_CONTROL,
194 195 AOCS,
195 196 RPW_INTERNAL
196 197 };
197 198 // SEQUENCE COUNTERS
198 199 #define SEQ_CNT_MAX 16383
199 200 #define SEQ_CNT_NB_DEST_ID 12
200 201
201 202 // TM SID
202 203 #define SID_HK 1
203 204
204 205 #define SID_NORM_SWF_F0 3
205 206 #define SID_NORM_SWF_F1 4
206 207 #define SID_NORM_SWF_F2 5
207 208 #define SID_NORM_CWF_F3 1
208 209 #define SID_BURST_CWF_F2 2
209 210 #define SID_SBM1_CWF_F1 24
210 211 #define SID_SBM2_CWF_F2 25
211 212 #define SID_NORM_ASM_F0 11
212 213 #define SID_NORM_ASM_F1 12
213 214 #define SID_NORM_ASM_F2 13
214 215 #define SID_NORM_BP1_F0 14
215 216 #define SID_NORM_BP1_F1 15
216 217 #define SID_NORM_BP1_F2 16
217 218 #define SID_NORM_BP2_F0 19
218 219 #define SID_NORM_BP2_F1 20
219 220 #define SID_NORM_BP2_F2 21
220 221 #define SID_BURST_BP1_F0 17
221 222 #define SID_BURST_BP2_F0 22
222 223 #define SID_BURST_BP1_F1 18
223 224 #define SID_BURST_BP2_F1 23
224 225 #define SID_SBM1_BP1_F0 28
225 226 #define SID_SBM1_BP2_F0 31
226 227 #define SID_SBM2_BP1_F0 29
227 228 #define SID_SBM2_BP2_F0 32
228 229 #define SID_SBM2_BP1_F1 30
229 230 #define SID_SBM2_BP2_F1 33
230 231 #define SID_NORM_CWF_LONG_F3 34
231 232
232 233 #define SID_PARAMETER_DUMP 10
233 234 #define SID_K_DUMP 11
234 235
235 236 // HEADER_LENGTH
236 237 //#define TM_HEADER_LEN 16
237 238 #define HEADER_LENGTH_TM_LFR_SCIENCE_CWF 32
238 239 #define HEADER_LENGTH_TM_LFR_SCIENCE_SWF 34
239 240 #define HEADER_LENGTH_TM_LFR_SCIENCE_ASM 34
240 241 // PACKET_LENGTH
241 242 #define PACKET_LENGTH_TC_EXE_SUCCESS (20 - CCSDS_TC_TM_PACKET_OFFSET)
242 243 #define PACKET_LENGTH_TC_EXE_INCONSISTENT (26 - CCSDS_TC_TM_PACKET_OFFSET)
243 244 #define PACKET_LENGTH_TC_EXE_NOT_EXECUTABLE (26 - CCSDS_TC_TM_PACKET_OFFSET)
244 245 #define PACKET_LENGTH_TC_EXE_NOT_IMPLEMENTED (24 - CCSDS_TC_TM_PACKET_OFFSET)
245 246 #define PACKET_LENGTH_TC_EXE_ERROR (24 - CCSDS_TC_TM_PACKET_OFFSET)
246 247 #define PACKET_LENGTH_TC_EXE_CORRUPTED (32 - CCSDS_TC_TM_PACKET_OFFSET)
247 248 #define PACKET_LENGTH_HK (136 - CCSDS_TC_TM_PACKET_OFFSET)
248 249 #define PACKET_LENGTH_PARAMETER_DUMP (148 - CCSDS_TC_TM_PACKET_OFFSET)
249 250 #define PACKET_LENGTH_K_DUMP (3920 - CCSDS_TC_TM_PACKET_OFFSET)
250 251 // SCIENCE ASM
251 252 #define PACKET_LENGTH_TM_LFR_SCIENCE_ASM_F0_1 (3230 - CCSDS_TC_TM_PACKET_OFFSET) // 32 * 25 * 4 + 30 => 32 bins (32 + 32 + 24 ), 3 packets
252 253 #define PACKET_LENGTH_TM_LFR_SCIENCE_ASM_F0_2 (2430 - CCSDS_TC_TM_PACKET_OFFSET) // 24 * 25 * 4 + 30 => 24 bins (32 + 32 + 24 ), 3 packets
253 254 #define PACKET_LENGTH_TM_LFR_SCIENCE_ASM_F1_1 (3630 - CCSDS_TC_TM_PACKET_OFFSET) // 36 * 25 * 4 + 30 => 36 bins (36 + 36 + 32 ), 3 packets
254 255 #define PACKET_LENGTH_TM_LFR_SCIENCE_ASM_F1_2 (3230 - CCSDS_TC_TM_PACKET_OFFSET) // 32 * 25 * 4 + 30 => 32 bins (36 + 36 + 32 ), 3 packets
255 256 #define PACKET_LENGTH_TM_LFR_SCIENCE_ASM_F2 (3230 - CCSDS_TC_TM_PACKET_OFFSET) // 32 * 25 * 4 + 30 => 96 bins (32 + 32 + 32 ), 3 packets
256 257 // SCIENCE NORM
257 258 #define PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP1_F0 (150 - CCSDS_TC_TM_PACKET_OFFSET) // 11 * 11 + 29 (1 spare byte in the header)
258 259 #define PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP1_F1 (172 - CCSDS_TC_TM_PACKET_OFFSET) // 13 * 11 + 29 (1 spare byte in the header)
259 260 #define PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP1_F2 (160 - CCSDS_TC_TM_PACKET_OFFSET) // 12 * 11 + 28
260 261 #define PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP2_F0 (358 - CCSDS_TC_TM_PACKET_OFFSET) // 11 * 30 + 28
261 262 #define PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP2_F1 (418 - CCSDS_TC_TM_PACKET_OFFSET) // 13 * 30 + 28
262 263 #define PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP2_F2 (388 - CCSDS_TC_TM_PACKET_OFFSET) // 12 * 30 + 28
263 264 // SCIENCE SBM
264 265 #define PACKET_LENGTH_TM_LFR_SCIENCE_SBM_BP1_F0 (270 - CCSDS_TC_TM_PACKET_OFFSET) // 22 * 11 + 28
265 266 #define PACKET_LENGTH_TM_LFR_SCIENCE_SBM_BP2_F0 (688 - CCSDS_TC_TM_PACKET_OFFSET) // 22 * 30 + 28
266 267 #define PACKET_LENGTH_TM_LFR_SCIENCE_SBM_BP1_F1 (314 - CCSDS_TC_TM_PACKET_OFFSET) // 26 * 11 + 28
267 268 #define PACKET_LENGTH_TM_LFR_SCIENCE_SBM_BP2_F1 (808 - CCSDS_TC_TM_PACKET_OFFSET) // 26 * 30 + 28
268 269
269 270 #define PACKET_LENGTH_DELTA 11 // 7 + 4
270 271
271 272 #define SPARE1_PUSVERSION_SPARE2 0x10
272 273
273 274 // R3
274 275 // one snapshot = 2048 samples = 6 packets * 304 + 224
275 276 #define TM_LEN_SCI_SWF_304 (3678 - CCSDS_TC_TM_PACKET_OFFSET) // 304 * 12 + 30
276 277 #define TM_LEN_SCI_SWF_224 (2718 - CCSDS_TC_TM_PACKET_OFFSET) // 224 * 12 + 30
277 278 // one continuous buffer = 2688 samples = 8 packets * 336
278 279 #define TM_LEN_SCI_CWF_336 (4060 - CCSDS_TC_TM_PACKET_OFFSET) // 336 * 12 + 28
279 280 #define TM_LEN_SCI_CWF_672 (4060 - CCSDS_TC_TM_PACKET_OFFSET) // 672 * 6 + 28
280 281 //
281 282 #define DEFAULT_PKTCNT 0x07
282 283 #define BLK_NR_304 0x0130
283 284 #define BLK_NR_224 0x00e0
284 285 #define BLK_NR_CWF 0x0150 // 336
285 286 #define BLK_NR_CWF_SHORT_F3 0x02a0 // 672
286 287
287 288 enum TM_TYPE{
288 289 TM_LFR_TC_EXE_OK,
289 290 TM_LFR_TC_EXE_ERR,
290 291 TM_LFR_HK,
291 292 TM_LFR_SCI,
292 293 TM_LFR_SCI_SBM,
293 294 TM_LFR_PAR_DUMP
294 295 };
295 296
296 297 typedef struct {
297 298 unsigned char targetLogicalAddress;
298 299 unsigned char protocolIdentifier;
299 300 unsigned char reserved;
300 301 unsigned char userApplication;
301 302 // PACKET HEADER
302 303 unsigned char packetID[2];
303 304 unsigned char packetSequenceControl[2];
304 305 unsigned char packetLength[2];
305 306 // DATA FIELD HEADER
306 307 unsigned char spare1_pusVersion_spare2;
307 308 unsigned char serviceType;
308 309 unsigned char serviceSubType;
309 310 unsigned char destinationID;
310 311 unsigned char time[6];
311 312 //
312 313 unsigned char telecommand_pkt_id[2];
313 314 unsigned char pkt_seq_control[2];
314 315 } Packet_TM_LFR_TC_EXE_SUCCESS_t;
315 316
316 317 typedef struct {
317 318 unsigned char targetLogicalAddress;
318 319 unsigned char protocolIdentifier;
319 320 unsigned char reserved;
320 321 unsigned char userApplication;
321 322 // PACKET HEADER
322 323 unsigned char packetID[2];
323 324 unsigned char packetSequenceControl[2];
324 325 unsigned char packetLength[2];
325 326 // DATA FIELD HEADER
326 327 unsigned char spare1_pusVersion_spare2;
327 328 unsigned char serviceType;
328 329 unsigned char serviceSubType;
329 330 unsigned char destinationID;
330 331 unsigned char time[6];
331 332 //
332 333 unsigned char telecommand_pkt_id[2];
333 334 unsigned char pkt_seq_control[2];
334 335 unsigned char tc_failure_code[2];
335 336 unsigned char tc_service;
336 337 unsigned char tc_subtype;
337 338 unsigned char byte_position;
338 339 unsigned char rcv_value;
339 340 } Packet_TM_LFR_TC_EXE_INCONSISTENT_t;
340 341
341 342 typedef struct {
342 343 unsigned char targetLogicalAddress;
343 344 unsigned char protocolIdentifier;
344 345 unsigned char reserved;
345 346 unsigned char userApplication;
346 347 // PACKET HEADER
347 348 unsigned char packetID[2];
348 349 unsigned char packetSequenceControl[2];
349 350 unsigned char packetLength[2];
350 351 // DATA FIELD HEADER
351 352 unsigned char spare1_pusVersion_spare2;
352 353 unsigned char serviceType;
353 354 unsigned char serviceSubType;
354 355 unsigned char destinationID;
355 356 unsigned char time[6];
356 357 //
357 358 unsigned char telecommand_pkt_id[2];
358 359 unsigned char pkt_seq_control[2];
359 360 unsigned char tc_failure_code[2];
360 361 unsigned char tc_service;
361 362 unsigned char tc_subtype;
362 363 unsigned char lfr_status_word[2];
363 364 } Packet_TM_LFR_TC_EXE_NOT_EXECUTABLE_t;
364 365
365 366 typedef struct {
366 367 unsigned char targetLogicalAddress;
367 368 unsigned char protocolIdentifier;
368 369 unsigned char reserved;
369 370 unsigned char userApplication;
370 371 // PACKET HEADER
371 372 unsigned char packetID[2];
372 373 unsigned char packetSequenceControl[2];
373 374 unsigned char packetLength[2];
374 375 // DATA FIELD HEADER
375 376 unsigned char spare1_pusVersion_spare2;
376 377 unsigned char serviceType;
377 378 unsigned char serviceSubType;
378 379 unsigned char destinationID;
379 380 unsigned char time[6];
380 381 //
381 382 unsigned char telecommand_pkt_id[2];
382 383 unsigned char pkt_seq_control[2];
383 384 unsigned char tc_failure_code[2];
384 385 unsigned char tc_service;
385 386 unsigned char tc_subtype;
386 387 } Packet_TM_LFR_TC_EXE_NOT_IMPLEMENTED_t;
387 388
388 389 typedef struct {
389 390 unsigned char targetLogicalAddress;
390 391 unsigned char protocolIdentifier;
391 392 unsigned char reserved;
392 393 unsigned char userApplication;
393 394 // PACKET HEADER
394 395 unsigned char packetID[2];
395 396 unsigned char packetSequenceControl[2];
396 397 unsigned char packetLength[2];
397 398 // DATA FIELD HEADER
398 399 unsigned char spare1_pusVersion_spare2;
399 400 unsigned char serviceType;
400 401 unsigned char serviceSubType;
401 402 unsigned char destinationID;
402 403 unsigned char time[6];
403 404 //
404 405 unsigned char telecommand_pkt_id[2];
405 406 unsigned char pkt_seq_control[2];
406 407 unsigned char tc_failure_code[2];
407 408 unsigned char tc_service;
408 409 unsigned char tc_subtype;
409 410 } Packet_TM_LFR_TC_EXE_ERROR_t;
410 411
411 412 typedef struct {
412 413 unsigned char targetLogicalAddress;
413 414 unsigned char protocolIdentifier;
414 415 unsigned char reserved;
415 416 unsigned char userApplication;
416 417 // PACKET HEADER
417 418 unsigned char packetID[2];
418 419 unsigned char packetSequenceControl[2];
419 420 unsigned char packetLength[2];
420 421 // DATA FIELD HEADER
421 422 unsigned char spare1_pusVersion_spare2;
422 423 unsigned char serviceType;
423 424 unsigned char serviceSubType;
424 425 unsigned char destinationID;
425 426 unsigned char time[6];
426 427 //
427 428 unsigned char telecommand_pkt_id[2];
428 429 unsigned char pkt_seq_control[2];
429 430 unsigned char tc_failure_code[2];
430 431 unsigned char tc_service;
431 432 unsigned char tc_subtype;
432 433 unsigned char pkt_len_rcv_value[2];
433 434 unsigned char pkt_datafieldsize_cnt[2];
434 435 unsigned char rcv_crc[2];
435 436 unsigned char computed_crc[2];
436 437 } Packet_TM_LFR_TC_EXE_CORRUPTED_t;
437 438
438 439 typedef struct {
439 440 unsigned char targetLogicalAddress;
440 441 unsigned char protocolIdentifier;
441 442 unsigned char reserved;
442 443 unsigned char userApplication;
443 444 unsigned char packetID[2];
444 445 unsigned char packetSequenceControl[2];
445 446 unsigned char packetLength[2];
446 447 // DATA FIELD HEADER
447 448 unsigned char spare1_pusVersion_spare2;
448 449 unsigned char serviceType;
449 450 unsigned char serviceSubType;
450 451 unsigned char destinationID;
451 452 unsigned char time[6];
452 453 // AUXILIARY HEADER
453 454 unsigned char sid;
454 455 unsigned char pa_bia_status_info;
455 456 unsigned char sy_lfr_common_parameters_spare;
456 457 unsigned char sy_lfr_common_parameters;
457 458 unsigned char pktCnt;
458 459 unsigned char pktNr;
459 460 unsigned char acquisitionTime[6];
460 461 unsigned char blkNr[2];
461 462 } Header_TM_LFR_SCIENCE_SWF_t;
462 463
463 464 typedef struct {
464 465 unsigned char targetLogicalAddress;
465 466 unsigned char protocolIdentifier;
466 467 unsigned char reserved;
467 468 unsigned char userApplication;
468 469 unsigned char packetID[2];
469 470 unsigned char packetSequenceControl[2];
470 471 unsigned char packetLength[2];
471 472 // DATA FIELD HEADER
472 473 unsigned char spare1_pusVersion_spare2;
473 474 unsigned char serviceType;
474 475 unsigned char serviceSubType;
475 476 unsigned char destinationID;
476 477 unsigned char time[6];
477 478 // AUXILIARY DATA HEADER
478 479 unsigned char sid;
479 480 unsigned char pa_bia_status_info;
480 481 unsigned char sy_lfr_common_parameters_spare;
481 482 unsigned char sy_lfr_common_parameters;
482 483 unsigned char acquisitionTime[6];
483 484 unsigned char blkNr[2];
484 485 } Header_TM_LFR_SCIENCE_CWF_t;
485 486
486 487 typedef struct {
487 488 unsigned char targetLogicalAddress;
488 489 unsigned char protocolIdentifier;
489 490 unsigned char reserved;
490 491 unsigned char userApplication;
491 492 unsigned char packetID[2];
492 493 unsigned char packetSequenceControl[2];
493 494 unsigned char packetLength[2];
494 495 // DATA FIELD HEADER
495 496 unsigned char spare1_pusVersion_spare2;
496 497 unsigned char serviceType;
497 498 unsigned char serviceSubType;
498 499 unsigned char destinationID;
499 500 unsigned char time[6];
500 501 // AUXILIARY HEADER
501 502 unsigned char sid;
502 503 unsigned char pa_bia_status_info;
503 504 unsigned char sy_lfr_common_parameters_spare;
504 505 unsigned char sy_lfr_common_parameters;
505 506 unsigned char pa_lfr_pkt_cnt_asm;
506 507 unsigned char pa_lfr_pkt_nr_asm;
507 508 unsigned char acquisitionTime[6];
508 509 unsigned char pa_lfr_asm_blk_nr[2];
509 510 } Header_TM_LFR_SCIENCE_ASM_t;
510 511
511 512 typedef struct {
512 513 unsigned char targetLogicalAddress;
513 514 unsigned char protocolIdentifier;
514 515 unsigned char reserved;
515 516 unsigned char userApplication;
516 517 unsigned char packetID[2];
517 518 unsigned char packetSequenceControl[2];
518 519 unsigned char packetLength[2];
519 520 // DATA FIELD HEADER
520 521 unsigned char spare1_pusVersion_spare2;
521 522 unsigned char serviceType;
522 523 unsigned char serviceSubType;
523 524 unsigned char destinationID;
524 525 unsigned char time[6];
525 526 // AUXILIARY HEADER
526 527 unsigned char sid;
527 528 unsigned char pa_bia_status_info;
528 529 unsigned char sy_lfr_common_parameters_spare;
529 530 unsigned char sy_lfr_common_parameters;
530 531 unsigned char acquisitionTime[6];
531 532 unsigned char source_data_spare;
532 533 unsigned char pa_lfr_bp_blk_nr[2];
533 534 } Header_TM_LFR_SCIENCE_BP_with_spare_t;
534 535
535 536 typedef struct {
536 537 unsigned char targetLogicalAddress;
537 538 unsigned char protocolIdentifier;
538 539 unsigned char reserved;
539 540 unsigned char userApplication;
540 541 unsigned char packetID[2];
541 542 unsigned char packetSequenceControl[2];
542 543 unsigned char packetLength[2];
543 544 // DATA FIELD HEADER
544 545 unsigned char spare1_pusVersion_spare2;
545 546 unsigned char serviceType;
546 547 unsigned char serviceSubType;
547 548 unsigned char destinationID;
548 549 unsigned char time[6];
549 550 // AUXILIARY HEADER
550 551 unsigned char sid;
551 552 unsigned char pa_bia_status_info;
552 553 unsigned char sy_lfr_common_parameters_spare;
553 554 unsigned char sy_lfr_common_parameters;
554 555 unsigned char acquisitionTime[6];
555 556 unsigned char pa_lfr_bp_blk_nr[2];
556 557 } Header_TM_LFR_SCIENCE_BP_t;
557 558
558 559 typedef struct {
559 560 //targetLogicalAddress is removed by the grspw module
560 561 unsigned char protocolIdentifier;
561 562 unsigned char reserved;
562 563 unsigned char userApplication;
563 564 unsigned char packetID[2];
564 565 unsigned char packetSequenceControl[2];
565 566 unsigned char packetLength[2];
566 567 // DATA FIELD HEADER
567 568 unsigned char headerFlag_pusVersion_Ack;
568 569 unsigned char serviceType;
569 570 unsigned char serviceSubType;
570 571 unsigned char sourceID;
571 572 unsigned char dataAndCRC[CCSDS_TC_PKT_MAX_SIZE-10];
572 573 } ccsdsTelecommandPacket_t;
573 574
574 575 typedef struct {
575 576 unsigned char targetLogicalAddress;
576 577 unsigned char protocolIdentifier;
577 578 unsigned char reserved;
578 579 unsigned char userApplication;
579 580 unsigned char packetID[2];
580 581 unsigned char packetSequenceControl[2];
581 582 unsigned char packetLength[2];
582 583 unsigned char spare1_pusVersion_spare2;
583 584 unsigned char serviceType;
584 585 unsigned char serviceSubType;
585 586 unsigned char destinationID;
586 587 unsigned char time[6];
587 588 unsigned char sid;
588 589
589 590 //**************
590 591 // HK PARAMETERS
591 592 unsigned char lfr_status_word[2];
592 593 unsigned char lfr_sw_version[4];
593 594 unsigned char lfr_fpga_version[3];
594 595 // ressource statistics
595 596 unsigned char hk_lfr_cpu_load;
596 597 unsigned char hk_lfr_cpu_load_max;
597 598 unsigned char hk_lfr_cpu_load_aver;
598 599 unsigned char hk_lfr_q_sd_fifo_size_max;
599 600 unsigned char hk_lfr_q_sd_fifo_size;
600 601 unsigned char hk_lfr_q_rv_fifo_size_max;
601 602 unsigned char hk_lfr_q_rv_fifo_size;
602 603 unsigned char hk_lfr_q_p0_fifo_size_max;
603 604 unsigned char hk_lfr_q_p0_fifo_size;
604 605 unsigned char hk_lfr_q_p1_fifo_size_max;
605 606 unsigned char hk_lfr_q_p1_fifo_size;
606 607 unsigned char hk_lfr_q_p2_fifo_size_max;
607 608 unsigned char hk_lfr_q_p2_fifo_size;
608 609 // tc statistics
609 610 unsigned char hk_lfr_update_info_tc_cnt[2];
610 611 unsigned char hk_lfr_update_time_tc_cnt[2];
611 612 unsigned char hk_lfr_exe_tc_cnt[2];
612 613 unsigned char hk_lfr_rej_tc_cnt[2];
613 614 unsigned char hk_lfr_last_exe_tc_id[2];
614 615 unsigned char hk_lfr_last_exe_tc_type[2];
615 616 unsigned char hk_lfr_last_exe_tc_subtype[2];
616 617 unsigned char hk_lfr_last_exe_tc_time[6];
617 618 unsigned char hk_lfr_last_rej_tc_id[2];
618 619 unsigned char hk_lfr_last_rej_tc_type[2];
619 620 unsigned char hk_lfr_last_rej_tc_subtype[2];
620 621 unsigned char hk_lfr_last_rej_tc_time[6];
621 622 // anomaly statistics
622 623 unsigned char hk_lfr_le_cnt[2];
623 624 unsigned char hk_lfr_me_cnt[2];
624 625 unsigned char hk_lfr_he_cnt[2];
625 626 unsigned char hk_lfr_last_er_rid[2];
626 627 unsigned char hk_lfr_last_er_code;
627 628 unsigned char hk_lfr_last_er_time[6];
628 629 // vhdl_blk_status
629 630 unsigned char hk_lfr_vhdl_aa_sm;
630 631 unsigned char hk_lfr_vhdl_fft_sr;
631 632 unsigned char hk_lfr_vhdl_cic_hk;
632 633 unsigned char hk_lfr_vhdl_iir_cal;
633 634 // spacewire_if_statistics
634 635 unsigned char hk_lfr_dpu_spw_pkt_rcv_cnt[2];
635 636 unsigned char hk_lfr_dpu_spw_pkt_sent_cnt[2];
636 637 unsigned char hk_lfr_dpu_spw_tick_out_cnt;
637 638 unsigned char hk_lfr_dpu_spw_last_timc;
638 639 // ahb error statistics
639 640 unsigned char hk_lfr_last_fail_addr[4];
640 641 // temperatures
641 642 unsigned char hk_lfr_temp_scm[2];
642 643 unsigned char hk_lfr_temp_pcb[2];
643 644 unsigned char hk_lfr_temp_fpga[2];
644 645 // spacecraft potential
645 646 unsigned char hk_lfr_sc_v_f3[2];
646 647 unsigned char hk_lfr_sc_e1_f3[2];
647 648 unsigned char hk_lfr_sc_e2_f3[2];
648 649 // lfr common parameters
649 650 unsigned char sy_lfr_common_parameters_spare;
650 651 unsigned char sy_lfr_common_parameters;
651 652 // error counters
652 653 unsigned char hk_lfr_dpu_spw_parity;
653 654 unsigned char hk_lfr_dpu_spw_disconnect;
654 655 unsigned char hk_lfr_dpu_spw_escape;
655 656 unsigned char hk_lfr_dpu_spw_credit;
656 657 unsigned char hk_lfr_dpu_spw_write_sync;
657 658 unsigned char hk_lfr_dpu_spw_rx_ahb;
658 659 unsigned char hk_lfr_dpu_spw_tx_ahb;
659 660 unsigned char hk_lfr_dpu_spw_early_eop;
660 661 unsigned char hk_lfr_dpu_spw_invalid_addr;
661 662 unsigned char hk_lfr_dpu_spw_eep;
662 663 unsigned char hk_lfr_dpu_spw_rx_too_big;
663 664 // timecode
664 665 unsigned char hk_lfr_timecode_erroneous;
665 666 unsigned char hk_lfr_timecode_missing;
666 667 unsigned char hk_lfr_timecode_invalid;
667 668 // time
668 669 unsigned char hk_lfr_time_timecode_it;
669 670 unsigned char hk_lfr_time_not_synchro;
670 671 unsigned char hk_lfr_time_timecode_ctr;
671 672 // hk_lfr_buffer_dpu_
672 673 unsigned char hk_lfr_buffer_dpu_tc_fifo;
673 674 unsigned char hk_lfr_buffer_dpu_tm_fifo;
674 675 // hk_lfr_ahb_
675 676 unsigned char hk_lfr_ahb_correctable;
676 677 unsigned char hk_lfr_ahb_uncorrectable;
677 678 // reaction wheel frequency
678 679 unsigned char hk_lfr_sc_rw_f_flags;
679 680 } Packet_TM_LFR_HK_t;
680 681
681 682 typedef struct {
682 683 unsigned char targetLogicalAddress;
683 684 unsigned char protocolIdentifier;
684 685 unsigned char reserved;
685 686 unsigned char userApplication;
686 687 unsigned char packetID[2];
687 688 unsigned char packetSequenceControl[2];
688 689 unsigned char packetLength[2];
689 690 // DATA FIELD HEADER
690 691 unsigned char spare1_pusVersion_spare2;
691 692 unsigned char serviceType;
692 693 unsigned char serviceSubType;
693 694 unsigned char destinationID;
694 695 unsigned char time[6];
695 696 unsigned char sid;
696 697
697 698 //******************
698 699 // COMMON PARAMETERS
699 700 unsigned char sy_lfr_common_parameters_spare;
700 701 unsigned char sy_lfr_common_parameters;
701 702
702 703 //******************
703 704 // NORMAL PARAMETERS
704 705 unsigned char sy_lfr_n_swf_l[2];
705 706 unsigned char sy_lfr_n_swf_p[2];
706 707 unsigned char sy_lfr_n_asm_p[2];
707 708 unsigned char sy_lfr_n_bp_p0;
708 709 unsigned char sy_lfr_n_bp_p1;
709 710 unsigned char sy_lfr_n_cwf_long_f3;
710 711 unsigned char pa_rpw_spare8_1;
711 712
712 713 //*****************
713 714 // BURST PARAMETERS
714 715 unsigned char sy_lfr_b_bp_p0;
715 716 unsigned char sy_lfr_b_bp_p1;
716 717
717 718 //****************
718 719 // SBM1 PARAMETERS
719 720 unsigned char sy_lfr_s1_bp_p0;
720 721 unsigned char sy_lfr_s1_bp_p1;
721 722
722 723 //****************
723 724 // SBM2 PARAMETERS
724 725 unsigned char sy_lfr_s2_bp_p0;
725 726 unsigned char sy_lfr_s2_bp_p1;
726 727
727 728 // mask F0
728 729 unsigned char sy_lfr_fbins_f0_word1[4];
729 730 unsigned char sy_lfr_fbins_f0_word2[4];
730 731 unsigned char sy_lfr_fbins_f0_word3[4];
731 732 unsigned char sy_lfr_fbins_f0_word4[4];
732 733 // mask F1
733 734 unsigned char sy_lfr_fbins_f1_word1[4];
734 735 unsigned char sy_lfr_fbins_f1_word2[4];
735 736 unsigned char sy_lfr_fbins_f1_word3[4];
736 737 unsigned char sy_lfr_fbins_f1_word4[4];
737 738 // mask F2
738 739 unsigned char sy_lfr_fbins_f2_word1[4];
739 740 unsigned char sy_lfr_fbins_f2_word2[4];
740 741 unsigned char sy_lfr_fbins_f2_word3[4];
741 742 unsigned char sy_lfr_fbins_f2_word4[4];
742 743
743 744 // PAS FILTER PARAMETERS
744 745 unsigned char pa_rpw_spare8_2;
745 746 unsigned char spare_sy_lfr_pas_filter_enabled;
746 747 unsigned char sy_lfr_pas_filter_modulus;
747 748 unsigned char sy_lfr_pas_filter_tbad[4];
748 749 unsigned char sy_lfr_pas_filter_offset;
749 750 unsigned char sy_lfr_pas_filter_shift[4];
750 751 unsigned char sy_lfr_sc_rw_delta_f[4];
751 752
752 753 // LFR_RW_MASK
753 754 unsigned char sy_lfr_rw_mask_f0_word1[4];
754 755 unsigned char sy_lfr_rw_mask_f0_word2[4];
755 756 unsigned char sy_lfr_rw_mask_f0_word3[4];
756 757 unsigned char sy_lfr_rw_mask_f0_word4[4];
757 758 unsigned char sy_lfr_rw_mask_f1_word1[4];
758 759 unsigned char sy_lfr_rw_mask_f1_word2[4];
759 760 unsigned char sy_lfr_rw_mask_f1_word3[4];
760 761 unsigned char sy_lfr_rw_mask_f1_word4[4];
761 762 unsigned char sy_lfr_rw_mask_f2_word1[4];
762 763 unsigned char sy_lfr_rw_mask_f2_word2[4];
763 764 unsigned char sy_lfr_rw_mask_f2_word3[4];
764 765 unsigned char sy_lfr_rw_mask_f2_word4[4];
765 766
766 767 // SPARE
767 768 unsigned char pa_rpw_spare8_3;
768 769 } Packet_TM_LFR_PARAMETER_DUMP_t;
769 770
770 771 typedef struct {
771 772 unsigned char targetLogicalAddress;
772 773 unsigned char protocolIdentifier;
773 774 unsigned char reserved;
774 775 unsigned char userApplication;
775 776 unsigned char packetID[2];
776 777 unsigned char packetSequenceControl[2];
777 778 unsigned char packetLength[2];
778 779 // DATA FIELD HEADER
779 780 unsigned char spare1_pusVersion_spare2;
780 781 unsigned char serviceType;
781 782 unsigned char serviceSubType;
782 783 unsigned char destinationID;
783 784 unsigned char time[6];
784 785 unsigned char sid;
785 786 unsigned char pkt_cnt;
786 787 unsigned char pkt_nr;
787 788 unsigned char blk_nr;
788 789
789 790 //******************
790 791 // SOURCE DATA repeated N times with N in [0 .. PA_LFR_KCOEFF_BLK_NR]
791 792 unsigned char kcoeff_blks[3900]; // one blk is 2 + 4 * 32 = 130 bytes, 30 blks max in one packet (30 * 130 = 3900)
792 793
793 794 } Packet_TM_LFR_KCOEFFICIENTS_DUMP_t;
794 795
795 796 #endif // CCSDS_TYPES_H_INCLUDED
General Comments 0
You need to be logged in to leave comments. Login now