fsw_globals.c
91 lines
| 4.0 KiB
| text/x-c
|
CLexer
/ src / fsw_globals.c
paul
|
r45 | /** Global variables of the LFR flight software. | ||
* | ||||
* @file | ||||
* @author P. LEROY | ||||
* | ||||
* Among global variables, there are: | ||||
* - RTEMS names and id. | ||||
* - APB configuration registers. | ||||
* - waveforms global buffers, used by the waveform picker hardware module to store data. | ||||
* - spectral matrices buffesr, used by the hardware module to store data. | ||||
* - variable related to LFR modes parameters. | ||||
* - the global HK packet buffer. | ||||
* - the global dump parameter buffer. | ||||
* | ||||
*/ | ||||
admin@pc-p-leroy3.LAB-LPP.LOCAL
|
r8 | #include <rtems.h> | ||
paul@pc-solar1.lab-lpp.local
|
r23 | #include <grspw.h> | ||
paul
|
r45 | |||
paul
|
r40 | #include "ccsds_types.h" | ||
#include "grlib_regs.h" | ||||
#include "fsw_params.h" | ||||
admin@pc-p-leroy3.LAB-LPP.LOCAL
|
r8 | |||
// RTEMS GLOBAL VARIABLES | ||||
paul
|
r35 | rtems_name misc_name[5]; | ||
rtems_id misc_id[5]; | ||||
rtems_name Task_name[20]; /* array of task names */ | ||||
rtems_id Task_id[20]; /* array of task ids */ | ||||
paul
|
r34 | unsigned int maxCount; | ||
paul@pc-solar1.lab-lpp.local
|
r18 | int fdSPW = 0; | ||
int fdUART = 0; | ||||
paul
|
r33 | unsigned char lfrCurrentMode; | ||
paul@pc-solar1.lab-lpp.local
|
r18 | |||
paul@pc-solar1.lab-lpp.local
|
r11 | // APB CONFIGURATION REGISTERS | ||
time_management_regs_t *time_management_regs = (time_management_regs_t*) REGS_ADDR_TIME_MANAGEMENT; | ||||
paul@pc-solar1.lab-lpp.local
|
r18 | gptimer_regs_t *gptimer_regs = (gptimer_regs_t *) REGS_ADDR_GPTIMER; | ||
paul
|
r31 | #ifdef GSA | ||
#else | ||||
paul
|
r52 | new_waveform_picker_regs_t *new_waveform_picker_regs = (new_waveform_picker_regs_t*) REGS_ADDR_WAVEFORM_PICKER; | ||
paul
|
r31 | #endif | ||
spectral_matrix_regs_t *spectral_matrix_regs = (spectral_matrix_regs_t*) REGS_ADDR_SPECTRAL_MATRIX; | ||||
paul@pc-solar1.lab-lpp.local
|
r11 | |||
paul@pc-solar1.lab-lpp.local
|
r19 | // WAVEFORMS GLOBAL VARIABLES // 2048 * 3 * 4 + 2 * 4 = 24576 + 8 bytes | ||
paul
|
r86 | volatile int wf_snap_f0[ NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK + TIME_OFFSET ] __attribute__((aligned(0x100))); | ||
paul
|
r33 | // | ||
paul
|
r86 | volatile int wf_snap_f1[ NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK + TIME_OFFSET ] __attribute__((aligned(0x100))); | ||
volatile int wf_snap_f1_bis[ NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK + TIME_OFFSET ] __attribute__((aligned(0x100))); | ||||
volatile int wf_snap_f1_norm[ NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK + TIME_OFFSET ] __attribute__((aligned(0x100))); | ||||
paul
|
r33 | // | ||
paul
|
r86 | volatile int wf_snap_f2[ NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK + TIME_OFFSET ] __attribute__((aligned(0x100))); | ||
volatile int wf_snap_f2_bis[ NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK + TIME_OFFSET ] __attribute__((aligned(0x100))); | ||||
volatile int wf_snap_f2_norm[ NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK + TIME_OFFSET ] __attribute__((aligned(0x100))); | ||||
paul
|
r33 | // | ||
paul
|
r86 | volatile int wf_cont_f3[ NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK + TIME_OFFSET ] __attribute__((aligned(0x100))); | ||
volatile int wf_cont_f3_bis[ NB_SAMPLES_PER_SNAPSHOT * NB_WORDS_SWF_BLK + TIME_OFFSET ] __attribute__((aligned(0x100))); | ||||
char wf_cont_f3_light[ NB_SAMPLES_PER_SNAPSHOT * NB_BYTES_CWF3_LIGHT_BLK ] __attribute__((aligned(0x100))); | ||||
paul@pc-solar1.lab-lpp.local
|
r5 | |||
// SPECTRAL MATRICES GLOBAL VARIABLES | ||||
paul
|
r32 | volatile int spec_mat_f0_0[ SM_HEADER + TOTAL_SIZE_SM ]; | ||
volatile int spec_mat_f0_1[ SM_HEADER + TOTAL_SIZE_SM ]; | ||||
paul
|
r34 | volatile int spec_mat_f0_a[ SM_HEADER + TOTAL_SIZE_SM ]; | ||
volatile int spec_mat_f0_b[ SM_HEADER + TOTAL_SIZE_SM ]; | ||||
paul
|
r32 | volatile int spec_mat_f0_c[ SM_HEADER + TOTAL_SIZE_SM ]; | ||
volatile int spec_mat_f0_d[ SM_HEADER + TOTAL_SIZE_SM ]; | ||||
volatile int spec_mat_f0_e[ SM_HEADER + TOTAL_SIZE_SM ]; | ||||
volatile int spec_mat_f0_f[ SM_HEADER + TOTAL_SIZE_SM ]; | ||||
volatile int spec_mat_f0_g[ SM_HEADER + TOTAL_SIZE_SM ]; | ||||
volatile int spec_mat_f0_h[ SM_HEADER + TOTAL_SIZE_SM ]; | ||||
volatile int spec_mat_f0_0_bis[ SM_HEADER + TOTAL_SIZE_SM ]; | ||||
volatile int spec_mat_f0_1_bis[ SM_HEADER + TOTAL_SIZE_SM ]; | ||||
paul@pc-solar1.lab-lpp.local
|
r18 | // | ||
paul
|
r32 | volatile int spec_mat_f1[ SM_HEADER + TOTAL_SIZE_SM ]; | ||
volatile int spec_mat_f1_bis[ SM_HEADER + TOTAL_SIZE_SM ]; | ||||
paul
|
r31 | // | ||
paul
|
r32 | volatile int spec_mat_f2[ SM_HEADER + TOTAL_SIZE_SM ]; | ||
volatile int spec_mat_f2_bis[ SM_HEADER + TOTAL_SIZE_SM ]; | ||||
paul@pc-solar1.lab-lpp.local
|
r5 | |||
paul@pc-solar1.lab-lpp.local
|
r11 | // MODE PARAMETERS | ||
paul@pc-solar1.lab-lpp.local
|
r28 | Packet_TM_LFR_PARAMETER_DUMP_t parameter_dump_packet; | ||
paul@pc-solar1.lab-lpp.local
|
r23 | struct param_local_str param_local; | ||
admin@pc-p-leroy3.LAB-LPP.LOCAL
|
r10 | |||
paul@pc-solar1.lab-lpp.local
|
r16 | // HK PACKETS | ||
paul@pc-solar1.lab-lpp.local
|
r17 | Packet_TM_LFR_HK_t housekeeping_packet; | ||
paul@pc-solar1.lab-lpp.local
|
r23 | // sequence counters are incremented by APID (PID + CAT) and destination ID | ||
paul
|
r63 | unsigned short sequenceCounters_SCIENCE_NORMAL_BURST; | ||
unsigned short sequenceCounters_SCIENCE_SBM1_SBM2; | ||||
unsigned short sequenceCounters_TC_EXE[SEQ_CNT_NB_DEST_ID]; | ||||
paul@pc-solar1.lab-lpp.local
|
r23 | spw_stats spacewire_stats; | ||
spw_stats spacewire_stats_backup; | ||||
paul@pc-solar1.lab-lpp.local
|
r16 | |||
paul@pc-solar1.lab-lpp.local
|
r15 | |||