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