##// END OF EJS Templates
sync
paul -
r22:a806a190dcd7 default
parent child
Show More
@@ -1,280 +1,280
1 #ifndef FSW_PARAMS_H_INCLUDED
1 #ifndef FSW_PARAMS_H_INCLUDED
2 #define FSW_PARAMS_H_INCLUDED
2 #define FSW_PARAMS_H_INCLUDED
3
3
4 #include "fsw_params_processing.h"
4 #include "fsw_params_processing.h"
5 #include "fsw_params_nb_bytes.h"
5 #include "fsw_params_nb_bytes.h"
6 #include "tm_byte_positions.h"
6 #include "tm_byte_positions.h"
7 #include "ccsds_types.h"
7 #include "ccsds_types.h"
8
8
9 #define GRSPW_DEVICE_NAME "/dev/grspw0"
9 #define GRSPW_DEVICE_NAME "/dev/grspw0"
10 #define UART_DEVICE_NAME "/dev/console"
10 #define UART_DEVICE_NAME "/dev/console"
11
11
12 typedef struct ring_node
12 typedef struct ring_node
13 {
13 {
14 struct ring_node *previous;
14 struct ring_node *previous;
15 struct ring_node *next;
15 struct ring_node *next;
16 unsigned int sid;
16 unsigned int sid;
17 unsigned int coarseTime;
17 unsigned int coarseTime;
18 unsigned int fineTime;
18 unsigned int fineTime;
19 int buffer_address;
19 int buffer_address;
20 unsigned int status;
20 unsigned int status;
21 } ring_node;
21 } ring_node;
22
22
23 //************************
23 //************************
24 // flight software version
24 // flight software version
25 // this parameters is handled by the Qt project options
25 // this parameters is handled by the Qt project options
26
26
27 #define NB_PACKETS_PER_GROUP_OF_CWF 8 // 8 packets containing 336 blk
27 #define NB_PACKETS_PER_GROUP_OF_CWF 8 // 8 packets containing 336 blk
28 #define NB_PACKETS_PER_GROUP_OF_CWF_LIGHT 4 // 4 packets containing 672 blk
28 #define NB_PACKETS_PER_GROUP_OF_CWF_LIGHT 4 // 4 packets containing 672 blk
29 #define NB_SAMPLES_PER_SNAPSHOT 2688 // 336 * 8 = 672 * 4 = 2688
29 #define NB_SAMPLES_PER_SNAPSHOT 2688 // 336 * 8 = 672 * 4 = 2688
30 #define TIME_OFFSET 2
30 #define TIME_OFFSET 2
31 #define TIME_OFFSET_IN_BYTES 8
31 #define TIME_OFFSET_IN_BYTES 8
32 //#define WAVEFORM_EXTENDED_HEADER_OFFSET 22
32 //#define WAVEFORM_EXTENDED_HEADER_OFFSET 22
33 #define NB_BYTES_SWF_BLK (2 * 6)
33 #define NB_BYTES_SWF_BLK (2 * 6)
34 #define NB_WORDS_SWF_BLK 3
34 #define NB_WORDS_SWF_BLK 3
35 #define NB_BYTES_CWF3_LIGHT_BLK 6
35 #define NB_BYTES_CWF3_LIGHT_BLK 6
36 //#define WFRM_INDEX_OF_LAST_PACKET 6 // waveforms are transmitted in groups of 2048 blocks, 6 packets of 340 and 1 of 8
36 //#define WFRM_INDEX_OF_LAST_PACKET 6 // waveforms are transmitted in groups of 2048 blocks, 6 packets of 340 and 1 of 8
37 #define NB_RING_NODES_F0 3 // AT LEAST 3
37 #define NB_RING_NODES_F0 3 // AT LEAST 3
38 #define NB_RING_NODES_F1 5 // AT LEAST 3
38 #define NB_RING_NODES_F1 5 // AT LEAST 3
39 #define NB_RING_NODES_F2 5 // AT LEAST 3
39 #define NB_RING_NODES_F2 5 // AT LEAST 3
40 #define NB_RING_NODES_F3 3 // AT LEAST 3
40 #define NB_RING_NODES_F3 3 // AT LEAST 3
41
41
42 //**********
42 //**********
43 // LFR MODES
43 // LFR MODES
44 #define LFR_MODE_STANDBY 0
44 #define LFR_MODE_STANDBY 0
45 #define LFR_MODE_NORMAL 1
45 #define LFR_MODE_NORMAL 1
46 #define LFR_MODE_BURST 2
46 #define LFR_MODE_BURST 2
47 #define LFR_MODE_SBM1 3
47 #define LFR_MODE_SBM1 3
48 #define LFR_MODE_SBM2 4
48 #define LFR_MODE_SBM2 4
49
49
50 #define TDS_MODE_LFM 5
50 #define TDS_MODE_LFM 5
51 #define TDS_MODE_STANDBY 0
51 #define TDS_MODE_STANDBY 0
52 #define TDS_MODE_NORMAL 1
52 #define TDS_MODE_NORMAL 1
53 #define TDS_MODE_BURST 2
53 #define TDS_MODE_BURST 2
54 #define TDS_MODE_SBM1 3
54 #define TDS_MODE_SBM1 3
55 #define TDS_MODE_SBM2 4
55 #define TDS_MODE_SBM2 4
56
56
57 #define THR_MODE_STANDBY 0
57 #define THR_MODE_STANDBY 0
58 #define THR_MODE_NORMAL 1
58 #define THR_MODE_NORMAL 1
59 #define THR_MODE_BURST 2
59 #define THR_MODE_BURST 2
60
60
61 #define RTEMS_EVENT_MODE_STANDBY RTEMS_EVENT_0
61 #define RTEMS_EVENT_MODE_STANDBY RTEMS_EVENT_0
62 #define RTEMS_EVENT_MODE_NORMAL RTEMS_EVENT_1
62 #define RTEMS_EVENT_MODE_NORMAL RTEMS_EVENT_1
63 #define RTEMS_EVENT_MODE_BURST RTEMS_EVENT_2
63 #define RTEMS_EVENT_MODE_BURST RTEMS_EVENT_2
64 #define RTEMS_EVENT_MODE_SBM1 RTEMS_EVENT_3
64 #define RTEMS_EVENT_MODE_SBM1 RTEMS_EVENT_3
65 #define RTEMS_EVENT_MODE_SBM2 RTEMS_EVENT_4
65 #define RTEMS_EVENT_MODE_SBM2 RTEMS_EVENT_4
66 #define RTEMS_EVENT_MODE_SBM2_WFRM RTEMS_EVENT_5
66 #define RTEMS_EVENT_MODE_SBM2_WFRM RTEMS_EVENT_5
67 #define RTEMS_EVENT_NORM_BP1_F0 RTEMS_EVENT_6
67 #define RTEMS_EVENT_NORM_BP1_F0 RTEMS_EVENT_6
68 #define RTEMS_EVENT_NORM_BP2_F0 RTEMS_EVENT_7
68 #define RTEMS_EVENT_NORM_BP2_F0 RTEMS_EVENT_7
69 #define RTEMS_EVENT_NORM_ASM_F0 RTEMS_EVENT_8 // ASM only in NORM mode
69 #define RTEMS_EVENT_NORM_ASM_F0 RTEMS_EVENT_8 // ASM only in NORM mode
70 #define RTEMS_EVENT_NORM_BP1_F1 RTEMS_EVENT_9
70 #define RTEMS_EVENT_NORM_BP1_F1 RTEMS_EVENT_9
71 #define RTEMS_EVENT_NORM_BP2_F1 RTEMS_EVENT_10
71 #define RTEMS_EVENT_NORM_BP2_F1 RTEMS_EVENT_10
72 #define RTEMS_EVENT_NORM_ASM_F1 RTEMS_EVENT_11 // ASM only in NORM mode
72 #define RTEMS_EVENT_NORM_ASM_F1 RTEMS_EVENT_11 // ASM only in NORM mode
73 #define RTEMS_EVENT_NORM_BP1_F2 RTEMS_EVENT_12
73 #define RTEMS_EVENT_NORM_BP1_F2 RTEMS_EVENT_12
74 #define RTEMS_EVENT_NORM_BP2_F2 RTEMS_EVENT_13
74 #define RTEMS_EVENT_NORM_BP2_F2 RTEMS_EVENT_13
75 #define RTEMS_EVENT_NORM_ASM_F2 RTEMS_EVENT_14 // ASM only in NORM mode
75 #define RTEMS_EVENT_NORM_ASM_F2 RTEMS_EVENT_14 // ASM only in NORM mode
76 #define RTEMS_EVENT_SBM_BP1_F0 RTEMS_EVENT_15
76 #define RTEMS_EVENT_SBM_BP1_F0 RTEMS_EVENT_15
77 #define RTEMS_EVENT_SBM_BP2_F0 RTEMS_EVENT_16
77 #define RTEMS_EVENT_SBM_BP2_F0 RTEMS_EVENT_16
78 #define RTEMS_EVENT_SBM_BP1_F1 RTEMS_EVENT_17
78 #define RTEMS_EVENT_SBM_BP1_F1 RTEMS_EVENT_17
79 #define RTEMS_EVENT_SBM_BP2_F1 RTEMS_EVENT_18
79 #define RTEMS_EVENT_SBM_BP2_F1 RTEMS_EVENT_18
80 #define RTEMS_EVENT_BURST_BP1_F0 RTEMS_EVENT_19
80 #define RTEMS_EVENT_BURST_BP1_F0 RTEMS_EVENT_19
81 #define RTEMS_EVENT_BURST_BP2_F0 RTEMS_EVENT_20
81 #define RTEMS_EVENT_BURST_BP2_F0 RTEMS_EVENT_20
82 #define RTEMS_EVENT_BURST_BP1_F1 RTEMS_EVENT_21
82 #define RTEMS_EVENT_BURST_BP1_F1 RTEMS_EVENT_21
83 #define RTEMS_EVENT_BURST_BP2_F1 RTEMS_EVENT_22
83 #define RTEMS_EVENT_BURST_BP2_F1 RTEMS_EVENT_22
84
84
85 //****************************
85 //****************************
86 // LFR DEFAULT MODE PARAMETERS
86 // LFR DEFAULT MODE PARAMETERS
87 // COMMON
87 // COMMON
88 #define DEFAULT_SY_LFR_COMMON0 0x00
88 #define DEFAULT_SY_LFR_COMMON0 0x00
89 #define DEFAULT_SY_LFR_COMMON1 0x10 // default value 0 0 0 1 0 0 0 0
89 #define DEFAULT_SY_LFR_COMMON1 0x20 // default value bw sp0 sp1 r0 r1 r2 = 1 0 0 0 0 0
90 // NORM
90 // NORM
91 #define DFLT_SY_LFR_N_SWF_L 2048 // nb sample
91 #define DFLT_SY_LFR_N_SWF_L 2048 // nb sample
92 #define DFLT_SY_LFR_N_SWF_P 300 // sec
92 #define DFLT_SY_LFR_N_SWF_P 300 // sec
93 #define DFLT_SY_LFR_N_ASM_P 3600 // sec
93 #define DFLT_SY_LFR_N_ASM_P 3600 // sec
94 #define DFLT_SY_LFR_N_BP_P0 4 // sec
94 #define DFLT_SY_LFR_N_BP_P0 4 // sec
95 #define DFLT_SY_LFR_N_BP_P1 20 // sec
95 #define DFLT_SY_LFR_N_BP_P1 20 // sec
96 #define DFLT_SY_LFR_N_CWF_LONG_F3 0 // 0 => production of light continuous waveforms at f3
96 #define DFLT_SY_LFR_N_CWF_LONG_F3 0 // 0 => production of light continuous waveforms at f3
97 #define MIN_DELTA_SNAPSHOT 16 // sec
97 #define MIN_DELTA_SNAPSHOT 16 // sec
98 // BURST
98 // BURST
99 #define DEFAULT_SY_LFR_B_BP_P0 1 // sec
99 #define DEFAULT_SY_LFR_B_BP_P0 1 // sec
100 #define DEFAULT_SY_LFR_B_BP_P1 5 // sec
100 #define DEFAULT_SY_LFR_B_BP_P1 5 // sec
101 // SBM1
101 // SBM1
102 #define DEFAULT_SY_LFR_S1_BP_P0 1 // sec
102 #define DEFAULT_SY_LFR_S1_BP_P0 1 // sec
103 #define DEFAULT_SY_LFR_S1_BP_P1 1 // sec
103 #define DEFAULT_SY_LFR_S1_BP_P1 1 // sec
104 // SBM2
104 // SBM2
105 #define DEFAULT_SY_LFR_S2_BP_P0 1 // sec
105 #define DEFAULT_SY_LFR_S2_BP_P0 1 // sec
106 #define DEFAULT_SY_LFR_S2_BP_P1 5 // sec
106 #define DEFAULT_SY_LFR_S2_BP_P1 5 // sec
107 // ADDITIONAL PARAMETERS
107 // ADDITIONAL PARAMETERS
108 #define TIME_BETWEEN_TWO_SWF_PACKETS 30 // nb x 10 ms => 300 ms
108 #define TIME_BETWEEN_TWO_SWF_PACKETS 30 // nb x 10 ms => 300 ms
109 #define TIME_BETWEEN_TWO_CWF3_PACKETS 1000 // nb x 10 ms => 10 s
109 #define TIME_BETWEEN_TWO_CWF3_PACKETS 1000 // nb x 10 ms => 10 s
110 // STATUS WORD
110 // STATUS WORD
111 #define DEFAULT_STATUS_WORD_BYTE0 0x0d // [0000] [1] [101] mode 4 bits / SPW enabled 1 bit / state is run 3 bits
111 #define DEFAULT_STATUS_WORD_BYTE0 0x0d // [0000] [1] [101] mode 4 bits / SPW enabled 1 bit / state is run 3 bits
112 #define DEFAULT_STATUS_WORD_BYTE1 0x00
112 #define DEFAULT_STATUS_WORD_BYTE1 0x00
113 //
113 //
114 #define SY_LFR_DPU_CONNECT_TIMEOUT 100 // 100 * 10 ms = 1 s
114 #define SY_LFR_DPU_CONNECT_TIMEOUT 100 // 100 * 10 ms = 1 s
115 #define SY_LFR_DPU_CONNECT_ATTEMPT 3
115 #define SY_LFR_DPU_CONNECT_ATTEMPT 3
116 //****************************
116 //****************************
117
117
118 //*****************************
118 //*****************************
119 // APB REGISTERS BASE ADDRESSES
119 // APB REGISTERS BASE ADDRESSES
120 #define REGS_ADDR_APBUART 0x80000100
120 #define REGS_ADDR_APBUART 0x80000100
121 #define REGS_ADDR_GPTIMER 0x80000300
121 #define REGS_ADDR_GPTIMER 0x80000300
122 #define REGS_ADDR_GRSPW 0x80000500
122 #define REGS_ADDR_GRSPW 0x80000500
123 #define APB_OFFSET_GRSPW_TIME_REGISTER 0x14
123 #define APB_OFFSET_GRSPW_TIME_REGISTER 0x14
124 #define REGS_ADDR_TIME_MANAGEMENT 0x80000600
124 #define REGS_ADDR_TIME_MANAGEMENT 0x80000600
125 #define REGS_ADDR_GRGPIO 0x80000b00
125 #define REGS_ADDR_GRGPIO 0x80000b00
126
126
127 #define REGS_ADDR_SPECTRAL_MATRIX 0x80000f00
127 #define REGS_ADDR_SPECTRAL_MATRIX 0x80000f00
128 //#define REGS_ADDR_WAVEFORM_PICKER 0x80000f50
128 //#define REGS_ADDR_WAVEFORM_PICKER 0x80000f50
129 #define REGS_ADDR_WAVEFORM_PICKER 0x80000f54 // PDB >= 0.1.28
129 #define REGS_ADDR_WAVEFORM_PICKER 0x80000f54 // PDB >= 0.1.28
130 #define REGS_ADDR_VHDL_VERSION 0x80000ff0
130 #define REGS_ADDR_VHDL_VERSION 0x80000ff0
131
131
132 #define APBUART_CTRL_REG_MASK_DB 0xfffff7ff
132 #define APBUART_CTRL_REG_MASK_DB 0xfffff7ff
133 #define APBUART_CTRL_REG_MASK_TE 0x00000002
133 #define APBUART_CTRL_REG_MASK_TE 0x00000002
134 // scaler value = system_clock_frequency / ( baud_rate * 8 ) - 1
134 // scaler value = system_clock_frequency / ( baud_rate * 8 ) - 1
135 #define APBUART_SCALER_RELOAD_VALUE 0x00000050 // 25 MHz => about 38400
135 #define APBUART_SCALER_RELOAD_VALUE 0x00000050 // 25 MHz => about 38400
136
136
137 //**********
137 //**********
138 // IRQ LINES
138 // IRQ LINES
139 #define IRQ_SM_SIMULATOR 9
139 #define IRQ_SM_SIMULATOR 9
140 #define IRQ_SPARC_SM_SIMULATOR 0x19 // see sparcv8.pdf p.76 for interrupt levels
140 #define IRQ_SPARC_SM_SIMULATOR 0x19 // see sparcv8.pdf p.76 for interrupt levels
141 #define IRQ_WAVEFORM_PICKER 14
141 #define IRQ_WAVEFORM_PICKER 14
142 #define IRQ_SPARC_WAVEFORM_PICKER 0x1e // see sparcv8.pdf p.76 for interrupt levels
142 #define IRQ_SPARC_WAVEFORM_PICKER 0x1e // see sparcv8.pdf p.76 for interrupt levels
143 #define IRQ_SPECTRAL_MATRIX 6
143 #define IRQ_SPECTRAL_MATRIX 6
144 #define IRQ_SPARC_SPECTRAL_MATRIX 0x16 // see sparcv8.pdf p.76 for interrupt levels
144 #define IRQ_SPARC_SPECTRAL_MATRIX 0x16 // see sparcv8.pdf p.76 for interrupt levels
145
145
146 //*****
146 //*****
147 // TIME
147 // TIME
148 #define CLKDIV_SM_SIMULATOR (10416 - 1) // 10 ms => nominal is 1/96 = 0.010416667, 10417 - 1 = 10416
148 #define CLKDIV_SM_SIMULATOR (10416 - 1) // 10 ms => nominal is 1/96 = 0.010416667, 10417 - 1 = 10416
149 #define TIMER_SM_SIMULATOR 1
149 #define TIMER_SM_SIMULATOR 1
150 #define HK_PERIOD 100 // 100 * 10ms => 1s
150 #define HK_PERIOD 100 // 100 * 10ms => 1s
151 #define SY_LFR_TIME_SYN_TIMEOUT_in_ms 2000
151 #define SY_LFR_TIME_SYN_TIMEOUT_in_ms 2000
152 #define SY_LFR_TIME_SYN_TIMEOUT_in_ticks 200 // 200 * 10 ms = 2 s
152 #define SY_LFR_TIME_SYN_TIMEOUT_in_ticks 200 // 200 * 10 ms = 2 s
153
153
154 //**********
154 //**********
155 // LPP CODES
155 // LPP CODES
156 #define LFR_SUCCESSFUL 0
156 #define LFR_SUCCESSFUL 0
157 #define LFR_DEFAULT 1
157 #define LFR_DEFAULT 1
158 #define LFR_EXE_ERROR 2
158 #define LFR_EXE_ERROR 2
159
159
160 //******
160 //******
161 // RTEMS
161 // RTEMS
162 #define TASKID_RECV 1
162 #define TASKID_RECV 1
163 #define TASKID_ACTN 2
163 #define TASKID_ACTN 2
164 #define TASKID_SPIQ 3
164 #define TASKID_SPIQ 3
165 #define TASKID_STAT 4
165 #define TASKID_STAT 4
166 #define TASKID_AVF0 5
166 #define TASKID_AVF0 5
167 #define TASKID_SWBD 6
167 #define TASKID_SWBD 6
168 #define TASKID_WFRM 7
168 #define TASKID_WFRM 7
169 #define TASKID_DUMB 8
169 #define TASKID_DUMB 8
170 #define TASKID_HOUS 9
170 #define TASKID_HOUS 9
171 #define TASKID_PRC0 10
171 #define TASKID_PRC0 10
172 #define TASKID_CWF3 11
172 #define TASKID_CWF3 11
173 #define TASKID_CWF2 12
173 #define TASKID_CWF2 12
174 #define TASKID_CWF1 13
174 #define TASKID_CWF1 13
175 #define TASKID_SEND 14
175 #define TASKID_SEND 14
176 #define TASKID_WTDG 15
176 #define TASKID_WTDG 15
177 #define TASKID_AVF1 16
177 #define TASKID_AVF1 16
178 #define TASKID_PRC1 17
178 #define TASKID_PRC1 17
179 #define TASKID_AVF2 18
179 #define TASKID_AVF2 18
180 #define TASKID_PRC2 19
180 #define TASKID_PRC2 19
181
181
182 //#define TASK_PRIORITY_SPIQ 5
182 //#define TASK_PRIORITY_SPIQ 5
183 //#define TASK_PRIORITY_WTDG 10
183 //#define TASK_PRIORITY_WTDG 10
184 //#define TASK_PRIORITY_HOUS 20
184 //#define TASK_PRIORITY_HOUS 20
185 //#define TASK_PRIORITY_AVF0 25
185 //#define TASK_PRIORITY_AVF0 25
186 //#define TASK_PRIORITY_AVF1 30
186 //#define TASK_PRIORITY_AVF1 30
187 //#define TASK_PRIORITY_AVF2 33
187 //#define TASK_PRIORITY_AVF2 33
188 //#define TASK_PRIORITY_CWF1 35 // CWF1 and CWF2 are never running together
188 //#define TASK_PRIORITY_CWF1 35 // CWF1 and CWF2 are never running together
189 //#define TASK_PRIORITY_CWF2 35 //
189 //#define TASK_PRIORITY_CWF2 35 //
190 //#define TASK_PRIORITY_SWBD 37 // SWBD has a lower priority than WFRM, this is to extract the snapshot before sending it
190 //#define TASK_PRIORITY_SWBD 37 // SWBD has a lower priority than WFRM, this is to extract the snapshot before sending it
191 //#define TASK_PRIORITY_WFRM 40
191 //#define TASK_PRIORITY_WFRM 40
192 //#define TASK_PRIORITY_CWF3 40 // there is a printf in this function, be careful with its priority wrt CWF1
192 //#define TASK_PRIORITY_CWF3 40 // there is a printf in this function, be careful with its priority wrt CWF1
193 //#define TASK_PRIORITY_RECV 45
193 //#define TASK_PRIORITY_RECV 45
194 //#define TASK_PRIORITY_SEND 50
194 //#define TASK_PRIORITY_SEND 50
195 //#define TASK_PRIORITY_ACTN 50
195 //#define TASK_PRIORITY_ACTN 50
196 //#define TASK_PRIORITY_PRC2 90
196 //#define TASK_PRIORITY_PRC2 90
197 //#define TASK_PRIORITY_PRC0 100
197 //#define TASK_PRIORITY_PRC0 100
198 //#define TASK_PRIORITY_PRC1 105
198 //#define TASK_PRIORITY_PRC1 105
199 //#define TASK_PRIORITY_STAT 200
199 //#define TASK_PRIORITY_STAT 200
200 //#define TASK_PRIORITY_DUMB 200
200 //#define TASK_PRIORITY_DUMB 200
201
201
202 #define TASK_PRIORITY_SPIQ 5
202 #define TASK_PRIORITY_SPIQ 5
203 #define TASK_PRIORITY_WTDG 20
203 #define TASK_PRIORITY_WTDG 20
204 #define TASK_PRIORITY_HOUS 30
204 #define TASK_PRIORITY_HOUS 30
205 #define TASK_PRIORITY_CWF1 35 // CWF1 and CWF2 are never running together
205 #define TASK_PRIORITY_CWF1 35 // CWF1 and CWF2 are never running together
206 #define TASK_PRIORITY_CWF2 35 //
206 #define TASK_PRIORITY_CWF2 35 //
207 #define TASK_PRIORITY_SWBD 37 // SWBD has a lower priority than WFRM, this is to extract the snapshot before sending it
207 #define TASK_PRIORITY_SWBD 37 // SWBD has a lower priority than WFRM, this is to extract the snapshot before sending it
208 #define TASK_PRIORITY_WFRM 40
208 #define TASK_PRIORITY_WFRM 40
209 #define TASK_PRIORITY_CWF3 40 // there is a printf in this function, be careful with its priority wrt CWF1
209 #define TASK_PRIORITY_CWF3 40 // there is a printf in this function, be careful with its priority wrt CWF1
210 #define TASK_PRIORITY_SEND 45
210 #define TASK_PRIORITY_SEND 45
211 #define TASK_PRIORITY_RECV 50
211 #define TASK_PRIORITY_RECV 50
212 #define TASK_PRIORITY_ACTN 50
212 #define TASK_PRIORITY_ACTN 50
213 #define TASK_PRIORITY_AVF0 60
213 #define TASK_PRIORITY_AVF0 60
214 #define TASK_PRIORITY_AVF1 70
214 #define TASK_PRIORITY_AVF1 70
215 #define TASK_PRIORITY_PRC0 100
215 #define TASK_PRIORITY_PRC0 100
216 #define TASK_PRIORITY_PRC1 100
216 #define TASK_PRIORITY_PRC1 100
217 #define TASK_PRIORITY_AVF2 110
217 #define TASK_PRIORITY_AVF2 110
218 #define TASK_PRIORITY_PRC2 110
218 #define TASK_PRIORITY_PRC2 110
219 #define TASK_PRIORITY_STAT 200
219 #define TASK_PRIORITY_STAT 200
220 #define TASK_PRIORITY_DUMB 200
220 #define TASK_PRIORITY_DUMB 200
221
221
222 #define MSG_QUEUE_COUNT_RECV 10
222 #define MSG_QUEUE_COUNT_RECV 10
223 #define MSG_QUEUE_COUNT_SEND 50
223 #define MSG_QUEUE_COUNT_SEND 50
224 #define MSG_QUEUE_COUNT_PRC0 10
224 #define MSG_QUEUE_COUNT_PRC0 10
225 #define MSG_QUEUE_COUNT_PRC1 10
225 #define MSG_QUEUE_COUNT_PRC1 10
226 #define MSG_QUEUE_COUNT_PRC2 5
226 #define MSG_QUEUE_COUNT_PRC2 5
227 #define MSG_QUEUE_SIZE_SEND 810 // 806 + 4 => TM_LFR_SCIENCE_BURST_BP2_F1
227 #define MSG_QUEUE_SIZE_SEND 810 // 806 + 4 => TM_LFR_SCIENCE_BURST_BP2_F1
228 #define ACTION_MSG_SPW_IOCTL_SEND_SIZE 24 // hlen *hdr dlen *data sent options
228 #define ACTION_MSG_SPW_IOCTL_SEND_SIZE 24 // hlen *hdr dlen *data sent options
229 #define MSG_QUEUE_SIZE_PRC0 28 // two pointers, one rtems_event + 4 integers
229 #define MSG_QUEUE_SIZE_PRC0 28 // two pointers, one rtems_event + 4 integers
230 #define MSG_QUEUE_SIZE_PRC1 28 // two pointers, one rtems_event + 4 integers
230 #define MSG_QUEUE_SIZE_PRC1 28 // two pointers, one rtems_event + 4 integers
231 #define MSG_QUEUE_SIZE_PRC2 28 // two pointers, one rtems_event + 4 integers
231 #define MSG_QUEUE_SIZE_PRC2 28 // two pointers, one rtems_event + 4 integers
232
232
233 #define QUEUE_RECV 0
233 #define QUEUE_RECV 0
234 #define QUEUE_SEND 1
234 #define QUEUE_SEND 1
235 #define QUEUE_PRC0 2
235 #define QUEUE_PRC0 2
236 #define QUEUE_PRC1 3
236 #define QUEUE_PRC1 3
237 #define QUEUE_PRC2 4
237 #define QUEUE_PRC2 4
238
238
239 //*******
239 //*******
240 // MACROS
240 // MACROS
241 #ifdef PRINT_MESSAGES_ON_CONSOLE
241 #ifdef PRINT_MESSAGES_ON_CONSOLE
242 #define PRINTF(x) printf(x);
242 #define PRINTF(x) printf(x);
243 #define PRINTF1(x,y) printf(x,y);
243 #define PRINTF1(x,y) printf(x,y);
244 #define PRINTF2(x,y,z) printf(x,y,z);
244 #define PRINTF2(x,y,z) printf(x,y,z);
245 #else
245 #else
246 #define PRINTF(x) ;
246 #define PRINTF(x) ;
247 #define PRINTF1(x,y) ;
247 #define PRINTF1(x,y) ;
248 #define PRINTF2(x,y,z) ;
248 #define PRINTF2(x,y,z) ;
249 #endif
249 #endif
250
250
251 #ifdef BOOT_MESSAGES
251 #ifdef BOOT_MESSAGES
252 #define BOOT_PRINTF(x) printf(x);
252 #define BOOT_PRINTF(x) printf(x);
253 #define BOOT_PRINTF1(x,y) printf(x,y);
253 #define BOOT_PRINTF1(x,y) printf(x,y);
254 #define BOOT_PRINTF2(x,y,z) printf(x,y,z);
254 #define BOOT_PRINTF2(x,y,z) printf(x,y,z);
255 #else
255 #else
256 #define BOOT_PRINTF(x) ;
256 #define BOOT_PRINTF(x) ;
257 #define BOOT_PRINTF1(x,y) ;
257 #define BOOT_PRINTF1(x,y) ;
258 #define BOOT_PRINTF2(x,y,z) ;
258 #define BOOT_PRINTF2(x,y,z) ;
259 #endif
259 #endif
260
260
261 #ifdef DEBUG_MESSAGES
261 #ifdef DEBUG_MESSAGES
262 #define DEBUG_PRINTF(x) printf(x);
262 #define DEBUG_PRINTF(x) printf(x);
263 #define DEBUG_PRINTF1(x,y) printf(x,y);
263 #define DEBUG_PRINTF1(x,y) printf(x,y);
264 #define DEBUG_PRINTF2(x,y,z) printf(x,y,z);
264 #define DEBUG_PRINTF2(x,y,z) printf(x,y,z);
265 #else
265 #else
266 #define DEBUG_PRINTF(x) ;
266 #define DEBUG_PRINTF(x) ;
267 #define DEBUG_PRINTF1(x,y) ;
267 #define DEBUG_PRINTF1(x,y) ;
268 #define DEBUG_PRINTF2(x,y,z) ;
268 #define DEBUG_PRINTF2(x,y,z) ;
269 #endif
269 #endif
270
270
271 #define CPU_USAGE_REPORT_PERIOD 6 // * 10 s = period
271 #define CPU_USAGE_REPORT_PERIOD 6 // * 10 s = period
272
272
273 struct param_local_str{
273 struct param_local_str{
274 unsigned int local_sbm1_nb_cwf_sent;
274 unsigned int local_sbm1_nb_cwf_sent;
275 unsigned int local_sbm1_nb_cwf_max;
275 unsigned int local_sbm1_nb_cwf_max;
276 unsigned int local_sbm2_nb_cwf_sent;
276 unsigned int local_sbm2_nb_cwf_sent;
277 unsigned int local_sbm2_nb_cwf_max;
277 unsigned int local_sbm2_nb_cwf_max;
278 };
278 };
279
279
280 #endif // FSW_PARAMS_H_INCLUDED
280 #endif // FSW_PARAMS_H_INCLUDED
General Comments 0
You need to be logged in to leave comments. Login now