##// END OF EJS Templates
comliance to ICD 4.3
paul -
r53:5cf0bac6095f default
parent child
Show More
@@ -106,7 +106,7
106 #define TC_LEN_LOAD_K 142
106 #define TC_LEN_LOAD_K 142
107 #define TC_LEN_DUMP_K 12
107 #define TC_LEN_DUMP_K 12
108 #define TC_LEN_LOAD_FBINS 60
108 #define TC_LEN_LOAD_FBINS 60
109 #define TC_LEN_LOAD_FILTER_PAR 28
109 #define TC_LEN_LOAD_FILTER_PAR 92
110 #define TC_LEN_UPDT_TIME 18
110 #define TC_LEN_UPDT_TIME 18
111
111
112 // PACKET CODES
112 // PACKET CODES
@@ -246,7 +246,7 enum apid_destid{
246 #define PACKET_LENGTH_TC_EXE_ERROR (24 - CCSDS_TC_TM_PACKET_OFFSET)
246 #define PACKET_LENGTH_TC_EXE_ERROR (24 - CCSDS_TC_TM_PACKET_OFFSET)
247 #define PACKET_LENGTH_TC_EXE_CORRUPTED (32 - CCSDS_TC_TM_PACKET_OFFSET)
247 #define PACKET_LENGTH_TC_EXE_CORRUPTED (32 - CCSDS_TC_TM_PACKET_OFFSET)
248 #define PACKET_LENGTH_HK (136 - CCSDS_TC_TM_PACKET_OFFSET)
248 #define PACKET_LENGTH_HK (136 - CCSDS_TC_TM_PACKET_OFFSET)
249 #define PACKET_LENGTH_PARAMETER_DUMP (148 - CCSDS_TC_TM_PACKET_OFFSET)
249 #define PACKET_LENGTH_PARAMETER_DUMP (212 - CCSDS_TC_TM_PACKET_OFFSET)
250 #define PACKET_LENGTH_K_DUMP (3920 - CCSDS_TC_TM_PACKET_OFFSET)
250 #define PACKET_LENGTH_K_DUMP (3920 - CCSDS_TC_TM_PACKET_OFFSET)
251 // SCIENCE ASM
251 // SCIENCE ASM
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 #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
@@ -674,9 +674,9 typedef struct {
674 unsigned char hk_lfr_buffer_dpu_tm_fifo;
674 unsigned char hk_lfr_buffer_dpu_tm_fifo;
675 // hk_lfr_ahb_
675 // hk_lfr_ahb_
676 unsigned char hk_lfr_ahb_correctable;
676 unsigned char hk_lfr_ahb_correctable;
677 unsigned char hk_lfr_ahb_uncorrectable;
678 // reaction wheel frequency
677 // reaction wheel frequency
679 unsigned char hk_lfr_sc_rw_f_flags;
678 unsigned char hk_lfr_sc_rw1_rw2_f_flags;
679 unsigned char hk_lfr_sc_rw3_rw4_f_flags;
680 } Packet_TM_LFR_HK_t;
680 } Packet_TM_LFR_HK_t;
681
681
682 typedef struct {
682 typedef struct {
@@ -750,6 +750,27 typedef struct {
750 unsigned char sy_lfr_pas_filter_shift[4];
750 unsigned char sy_lfr_pas_filter_shift[4];
751 unsigned char sy_lfr_sc_rw_delta_f[4];
751 unsigned char sy_lfr_sc_rw_delta_f[4];
752
752
753 // RW1_K
754 unsigned char sy_lfr_rw1_k1[4];
755 unsigned char sy_lfr_rw1_k2[4];
756 unsigned char sy_lfr_rw1_k3[4];
757 unsigned char sy_lfr_rw1_k4[4];
758 // RW2_K
759 unsigned char sy_lfr_rw2_k1[4];
760 unsigned char sy_lfr_rw2_k2[4];
761 unsigned char sy_lfr_rw2_k3[4];
762 unsigned char sy_lfr_rw2_k4[4];
763 // RW3_K
764 unsigned char sy_lfr_rw3_k1[4];
765 unsigned char sy_lfr_rw3_k2[4];
766 unsigned char sy_lfr_rw3_k3[4];
767 unsigned char sy_lfr_rw3_k4[4];
768 // RW4_K
769 unsigned char sy_lfr_rw4_k1[4];
770 unsigned char sy_lfr_rw4_k2[4];
771 unsigned char sy_lfr_rw4_k3[4];
772 unsigned char sy_lfr_rw4_k4[4];
773
753 // LFR_RW_MASK
774 // LFR_RW_MASK
754 unsigned char sy_lfr_rw_mask_f0_word1[4];
775 unsigned char sy_lfr_rw_mask_f0_word1[4];
755 unsigned char sy_lfr_rw_mask_f0_word2[4];
776 unsigned char sy_lfr_rw_mask_f0_word2[4];
@@ -287,6 +287,10 typedef struct {
287 #define DEFAULT_SY_LFR_PAS_FILTER_OFFSET 0
287 #define DEFAULT_SY_LFR_PAS_FILTER_OFFSET 0
288 #define DEFAULT_SY_LFR_PAS_FILTER_SHIFT 0.5
288 #define DEFAULT_SY_LFR_PAS_FILTER_SHIFT 0.5
289 #define DEFAULT_SY_LFR_SC_RW_DELTA_F 0.025
289 #define DEFAULT_SY_LFR_SC_RW_DELTA_F 0.025
290 #define DEFAULT_SY_LFR_RW_K1 1.
291 #define DEFAULT_SY_LFR_RW_K2 8.
292 #define DEFAULT_SY_LFR_RW_K3 24.
293 #define DEFAULT_SY_LFR_RW_K4 48.
290
294
291 typedef struct{
295 typedef struct{
292 unsigned char spare_sy_lfr_pas_filter_enabled;
296 unsigned char spare_sy_lfr_pas_filter_enabled;
@@ -295,8 +299,51 typedef struct{
295 unsigned char sy_lfr_pas_filter_offset;
299 unsigned char sy_lfr_pas_filter_offset;
296 float sy_lfr_pas_filter_shift;
300 float sy_lfr_pas_filter_shift;
297 float sy_lfr_sc_rw_delta_f;
301 float sy_lfr_sc_rw_delta_f;
302 // rw1_k
303 float sy_lfr_rw1_k1;
304 float sy_lfr_rw1_k2;
305 float sy_lfr_rw1_k3;
306 float sy_lfr_rw1_k4;
307 // rw2_k
308 float sy_lfr_rw2_k1;
309 float sy_lfr_rw2_k2;
310 float sy_lfr_rw2_k3;
311 float sy_lfr_rw2_k4;
312 // rw3_k
313 float sy_lfr_rw3_k1;
314 float sy_lfr_rw3_k2;
315 float sy_lfr_rw3_k3;
316 float sy_lfr_rw3_k4;
317 // rw4_k
318 float sy_lfr_rw4_k1;
319 float sy_lfr_rw4_k2;
320 float sy_lfr_rw4_k3;
321 float sy_lfr_rw4_k4;
298 } filterPar_t;
322 } filterPar_t;
299
323
324 typedef struct{
325 // rw1_f
326 float cp_rpw_sc_rw1_f1;
327 float cp_rpw_sc_rw1_f2;
328 float cp_rpw_sc_rw1_f3;
329 float cp_rpw_sc_rw1_f4;
330 // rw2_f
331 float cp_rpw_sc_rw2_f1;
332 float cp_rpw_sc_rw2_f2;
333 float cp_rpw_sc_rw2_f3;
334 float cp_rpw_sc_rw2_f4;
335 // rw3_f
336 float cp_rpw_sc_rw3_f1;
337 float cp_rpw_sc_rw3_f2;
338 float cp_rpw_sc_rw3_f3;
339 float cp_rpw_sc_rw3_f4;
340 // rw4_f
341 float cp_rpw_sc_rw4_f1;
342 float cp_rpw_sc_rw4_f2;
343 float cp_rpw_sc_rw4_f3;
344 float cp_rpw_sc_rw4_f4;
345 } rw_f_t;
346
300 #define ACQUISITION_DURATION_F0 683 // 256 / 24576 * 65536
347 #define ACQUISITION_DURATION_F0 683 // 256 / 24576 * 65536
301 #define ACQUISITION_DURATION_F1 4096 // 256 / 4096 * 65536
348 #define ACQUISITION_DURATION_F1 4096 // 256 / 4096 * 65536
302 #define ACQUISITION_DURATION_F2 65536 // 256 / 256 * 65536
349 #define ACQUISITION_DURATION_F2 65536 // 256 / 256 * 65536
@@ -32,15 +32,26
32 #define BYTE_POS_UPDATE_INFO_PARAMETERS_SET2 11
32 #define BYTE_POS_UPDATE_INFO_PARAMETERS_SET2 11
33 #define BYTE_POS_UPDATE_INFO_PARAMETERS_SET5 34
33 #define BYTE_POS_UPDATE_INFO_PARAMETERS_SET5 34
34 #define BYTE_POS_UPDATE_INFO_PARAMETERS_SET6 35
34 #define BYTE_POS_UPDATE_INFO_PARAMETERS_SET6 35
35 // RW1
35 #define BYTE_POS_UPDATE_INFO_CP_RPW_SC_RW1_F1 44
36 #define BYTE_POS_UPDATE_INFO_CP_RPW_SC_RW1_F1 44
36 #define BYTE_POS_UPDATE_INFO_CP_RPW_SC_RW1_F2 48
37 #define BYTE_POS_UPDATE_INFO_CP_RPW_SC_RW1_F2 48
37 #define BYTE_POS_UPDATE_INFO_CP_RPW_SC_RW2_F1 52
38 #define BYTE_POS_UPDATE_INFO_CP_RPW_SC_RW1_F3 52
38 #define BYTE_POS_UPDATE_INFO_CP_RPW_SC_RW2_F2 56
39 #define BYTE_POS_UPDATE_INFO_CP_RPW_SC_RW1_F4 56
39 #define BYTE_POS_UPDATE_INFO_CP_RPW_SC_RW3_F1 60
40 // RW2
40 #define BYTE_POS_UPDATE_INFO_CP_RPW_SC_RW3_F2 64
41 #define BYTE_POS_UPDATE_INFO_CP_RPW_SC_RW2_F1 60
41 #define BYTE_POS_UPDATE_INFO_CP_RPW_SC_RW4_F1 68
42 #define BYTE_POS_UPDATE_INFO_CP_RPW_SC_RW2_F2 64
42 #define BYTE_POS_UPDATE_INFO_CP_RPW_SC_RW4_F2 72
43 #define BYTE_POS_UPDATE_INFO_CP_RPW_SC_RW2_F3 68
43 #define BYTE_POS_UPDATE_INFO_CP_RPW_SC_RW_F_FLAGS 77
44 #define BYTE_POS_UPDATE_INFO_CP_RPW_SC_RW2_F4 72
45 // RW3
46 #define BYTE_POS_UPDATE_INFO_CP_RPW_SC_RW3_F1 76
47 #define BYTE_POS_UPDATE_INFO_CP_RPW_SC_RW3_F2 80
48 #define BYTE_POS_UPDATE_INFO_CP_RPW_SC_RW3_F3 84
49 #define BYTE_POS_UPDATE_INFO_CP_RPW_SC_RW3_F4 88
50 // RW4
51 #define BYTE_POS_UPDATE_INFO_CP_RPW_SC_RW4_F1 92
52 #define BYTE_POS_UPDATE_INFO_CP_RPW_SC_RW4_F2 96
53 #define BYTE_POS_UPDATE_INFO_CP_RPW_SC_RW4_F3 100
54 #define BYTE_POS_UPDATE_INFO_CP_RPW_SC_RW4_F4 104
44
55
45 // TC_LFR_ENTER_MODE
56 // TC_LFR_ENTER_MODE
46 #define BYTE_POS_CP_MODE_LFR_SET 11
57 #define BYTE_POS_CP_MODE_LFR_SET 11
@@ -52,6 +63,8
52 #define NB_BYTES_PER_FBINS_MASK 4
63 #define NB_BYTES_PER_FBINS_MASK 4
53
64
54 // TC_LFR_LOAD_FILTER_PAR
65 // TC_LFR_LOAD_FILTER_PAR
66 #define NB_RW_K_COEFFS 16
67 #define NB_BYTES_PER_RW_K_COEFF 4
55 #define DATAFIELD_POS_PA_RPW_SPARE8_2 0 // 8 bits
68 #define DATAFIELD_POS_PA_RPW_SPARE8_2 0 // 8 bits
56 #define DATAFIELD_POS_SY_LFR_PAS_FILTER_ENABLED 1 // 8 bits
69 #define DATAFIELD_POS_SY_LFR_PAS_FILTER_ENABLED 1 // 8 bits
57 #define DATAFIELD_POS_SY_LFR_PAS_FILTER_MODULUS 2 // 8 bits
70 #define DATAFIELD_POS_SY_LFR_PAS_FILTER_MODULUS 2 // 8 bits
@@ -59,6 +72,22
59 #define DATAFIELD_POS_SY_LFR_PAS_FILTER_OFFSET 7 // 8 bits
72 #define DATAFIELD_POS_SY_LFR_PAS_FILTER_OFFSET 7 // 8 bits
60 #define DATAFIELD_POS_SY_LFR_PAS_FILTER_SHIFT 8 // 32 bits
73 #define DATAFIELD_POS_SY_LFR_PAS_FILTER_SHIFT 8 // 32 bits
61 #define DATAFIELD_POS_SY_LFR_SC_RW_DELTA_F 12 // 32 bits
74 #define DATAFIELD_POS_SY_LFR_SC_RW_DELTA_F 12 // 32 bits
75 #define DATAFIELD_POS_SY_LFR_RW1_K1 16 // 32 bits
76 #define DATAFIELD_POS_SY_LFR_RW1_K2 20 // 32 bits
77 #define DATAFIELD_POS_SY_LFR_RW1_K3 24 // 32 bits
78 #define DATAFIELD_POS_SY_LFR_RW1_K4 28 // 32 bits
79 #define DATAFIELD_POS_SY_LFR_RW2_K1 32 // 32 bits
80 #define DATAFIELD_POS_SY_LFR_RW2_K2 36 // 32 bits
81 #define DATAFIELD_POS_SY_LFR_RW2_K3 40 // 32 bits
82 #define DATAFIELD_POS_SY_LFR_RW2_K4 44 // 32 bits
83 #define DATAFIELD_POS_SY_LFR_RW3_K1 48 // 32 bits
84 #define DATAFIELD_POS_SY_LFR_RW3_K2 52 // 32 bits
85 #define DATAFIELD_POS_SY_LFR_RW3_K3 56 // 32 bits
86 #define DATAFIELD_POS_SY_LFR_RW3_K4 60 // 32 bits
87 #define DATAFIELD_POS_SY_LFR_RW4_K1 64 // 32 bits
88 #define DATAFIELD_POS_SY_LFR_RW4_K2 68 // 32 bits
89 #define DATAFIELD_POS_SY_LFR_RW4_K3 72 // 32 bits
90 #define DATAFIELD_POS_SY_LFR_RW4_K4 76 // 32 bits
62
91
63 // TC_LFR_LOAD_KCOEFFICIENTS
92 // TC_LFR_LOAD_KCOEFFICIENTS
64 #define NB_BYTES_PER_FLOAT 4
93 #define NB_BYTES_PER_FLOAT 4
General Comments 0
You need to be logged in to leave comments. Login now