##// END OF EJS Templates
Ignore doc files...
Ignore doc files All redmine issues taken into account SpaceWire management rewritten Init task changed to work when SpaceWire is not available at boot time

File last commit:

r46:72fea9e87fcb default
r46:72fea9e87fcb default
Show More
fsw_params.h
233 lines | 6.9 KiB | text/x-c | CLexer
paul
Minor changes in .h inclusion
r45 #ifndef FSW_PARAMS_H_INCLUDED
#define FSW_PARAMS_H_INCLUDED
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18
paul
Header files inclusion reworked...
r40 #include "grlib_regs.h"
paul
TM_LFR_TC_EXE packet sending reworked...
r37 #include "fsw_params_processing.h"
paul
Header files inclusion reworked...
r40 #include "tm_byte_positions.h"
paul
TM_LFR_TC_EXE packet sending reworked...
r37 #include "ccsds_types.h"
paul
SID corrected in TM_LFR_TC_EXE packets...
r31
paul@pc-solar1.lab-lpp.local
Naming convention changed...
r5 #define GRSPW_DEVICE_NAME "/dev/grspw0"
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18 #define UART_DEVICE_NAME "/dev/console"
paul@pc-solar1.lab-lpp.local
Current version with modes NORMAL and SBM1 operational
r21 //************************
// flight software version
// this parameters is handled by the Qt project options
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18 //**********
// LFR MODES
#define LFR_MODE_STANDBY 0
#define LFR_MODE_NORMAL 1
#define LFR_MODE_BURST 2
#define LFR_MODE_SBM1 3
#define LFR_MODE_SBM2 4
paul
sy_lfr_n_swf_p implemented...
r32 #define LFR_MODE_NORMAL_CWF_F3 5
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18
paul@pc-solar1.lab-lpp.local
Current version with modes NORMAL and SBM1 operational
r21 #define RTEMS_EVENT_MODE_STANDBY RTEMS_EVENT_0
#define RTEMS_EVENT_MODE_NORMAL RTEMS_EVENT_1
#define RTEMS_EVENT_MODE_BURST RTEMS_EVENT_2
#define RTEMS_EVENT_MODE_SBM1 RTEMS_EVENT_3
#define RTEMS_EVENT_MODE_SBM2 RTEMS_EVENT_4
paul
Commit before working on the ERR 4 due to message queue...
r34 #define RTEMS_EVENT_MODE_SBM2_WFRM RTEMS_EVENT_5
paul@pc-solar1.lab-lpp.local
Current version with modes NORMAL and SBM1 operational
r21
paul@pc-solar1.lab-lpp.local
All modes implemented for the waveforms...
r23 //****************************
// LFR DEFAULT MODE PARAMETERS
paul@pc-solar1.lab-lpp.local
Release 0.7...
r28 // COMMON
#define DEFAULT_SY_LFR_COMMON0 0x00
#define DEFAULT_SY_LFR_COMMON1 0x10 // default value 0 0 0 1 0 0 0 0
paul@pc-solar1.lab-lpp.local
All modes implemented for the waveforms...
r23 // NORM
paul
Ignore doc files...
r46 #define SY_LFR_N_SWF_L 2048 // nb sample
#define SY_LFR_N_SWF_P 300 // sec
#define SY_LFR_N_ASM_P 3600 // sec
#define SY_LFR_N_BP_P0 4 // sec
#define SY_LFR_N_BP_P1 20 // sec
paul
sy_lfr_n_swf_p implemented...
r32 #define MIN_DELTA_SNAPSHOT 16 // sec
paul@pc-solar1.lab-lpp.local
All modes implemented for the waveforms...
r23 // BURST
#define DEFAULT_SY_LFR_B_BP_P0 1 // sec
#define DEFAULT_SY_LFR_B_BP_P1 5 // sec
// SBM1
#define DEFAULT_SY_LFR_S1_BP_P0 1 // sec
#define DEFAULT_SY_LFR_S1_BP_P1 1 // sec
// SBM2
#define DEFAULT_SY_LFR_S2_BP_P0 1 // sec
#define DEFAULT_SY_LFR_S2_BP_P1 5 // sec
paul
packet emission task added...
r33 // ADDITIONAL PARAMETERS
#define TIME_BETWEEN_TWO_SWF_PACKETS 30 // nb x 10 ms => 300 ms
paul
Ignore doc files...
r46 #define TIME_BETWEEN_TWO_CWF3_PACKETS 1000 // nb x 10 ms => 10 s
// STATUS WORD
#define DEFAULT_STATUS_WORD_BYTE0 0x0d // [0000] [1] [101] mode 4 bits / SPW enabled 1 bit / state is run 3 bits
#define DEFAULT_STATUS_WORD_BYTE1 0x00
paul
packet emission task added...
r33 //
paul
Ignore doc files...
r46 #define SY_LFR_DPU_CONNECT_TIMEOUT 100 // 100 * 10 ms = 1 s
#define SY_LFR_DPU_CONNECT_ATTEMPT 3
paul
packet emission task added...
r33 //****************************
paul@pc-solar1.lab-lpp.local
All modes implemented for the waveforms...
r23
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18 //*****************************
// APB REGISTERS BASE ADDRESSES
#define REGS_ADDR_APBUART 0x80000100
#define REGS_ADDR_GPTIMER 0x80000300
#define REGS_ADDR_GRSPW 0x80000500
#define REGS_ADDR_TIME_MANAGEMENT 0x80000600
paul
SID corrected in TM_LFR_TC_EXE packets...
r31 #define REGS_ADDR_SPECTRAL_MATRIX 0x80000f00
#ifdef GSA
#else
#define REGS_ADDR_WAVEFORM_PICKER 0x80000f20
#endif
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18
#define APBUART_CTRL_REG_MASK_DB 0xfffff7ff
paul@pc-solar1.lab-lpp.local
commit before release
r25 #define APBUART_SCALER_RELOAD_VALUE 0x00000050 // 25 MHz => about 38400 (0x50)
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18
//**********
paul@pc-solar1.lab-lpp.local
Minor updates to use the time management VHDL module
r12 // IRQ LINES
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18 #define IRQ_SM 9
#define IRQ_SPARC_SM 0x19 // see sparcv8.pdf p.76 for interrupt levels
#define IRQ_WF 10
#define IRQ_SPARC_WF 0x1a // see sparcv8.pdf p.76 for interrupt levels
#define IRQ_TIME1 12
#define IRQ_SPARC_TIME1 0x1c // see sparcv8.pdf p.76 for interrupt levels
#define IRQ_TIME2 13
#define IRQ_SPARC_TIME2 0x1d // see sparcv8.pdf p.76 for interrupt levels
#define IRQ_WAVEFORM_PICKER 14
#define IRQ_SPARC_WAVEFORM_PICKER 0x1e // see sparcv8.pdf p.76 for interrupt levels
paul
SID corrected in TM_LFR_TC_EXE packets...
r31 #define IRQ_SPECTRAL_MATRIX 6
#define IRQ_SPARC_SPECTRAL_MATRIX 0x16 // see sparcv8.pdf p.76 for interrupt levels
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18
//*****
// TIME
paul
SID corrected in TM_LFR_TC_EXE packets...
r31 #define CLKDIV_SM_SIMULATOR (10000 - 1) // 10 ms
#define CLKDIV_WF_SIMULATOR (10000000 - 1) // 10 000 000 * 1 us = 10 s
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18 #define TIMER_SM_SIMULATOR 1
#define TIMER_WF_SIMULATOR 2
#define HK_PERIOD 100 // 100 * 10ms => 1sec
paul@pc-solar1.lab-lpp.local
Current version with modes NORMAL and SBM1 operational
r21 //**********
// LPP CODES
#define LFR_SUCCESSFUL 0
#define LFR_DEFAULT 1
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18 //******
// RTEMS
#define TASKID_RECV 1
#define TASKID_ACTN 2
#define TASKID_SPIQ 3
#define TASKID_SMIQ 4
#define TASKID_STAT 5
#define TASKID_AVF0 6
#define TASKID_BPF0 7
#define TASKID_WFRM 8
#define TASKID_DUMB 9
#define TASKID_HOUS 10
paul
SID corrected in TM_LFR_TC_EXE packets...
r31 #define TASKID_MATR 11
paul
sy_lfr_n_swf_p implemented...
r32 #define TASKID_CWF3 12
paul
packet emission task added...
r33 #define TASKID_CWF2 13
#define TASKID_CWF1 14
#define TASKID_SEND 15
paul
Ignore doc files...
r46 #define TASKID_WTDG 16
paul
packet emission task added...
r33
#define TASK_PRIORITY_SPIQ 5
#define TASK_PRIORITY_SMIQ 10
paul
Commit before working on the ERR 4 due to message queue...
r34 //
paul
Ignore doc files...
r46 #define TASK_PRIORITY_WTDG 20
//
paul
Last commit before release 0-13...
r35 #define TASK_PRIORITY_ACTN 30
paul
Commit before working on the ERR 4 due to message queue...
r34 //
#define TASK_PRIORITY_HOUS 40
#define TASK_PRIORITY_CWF1 40
#define TASK_PRIORITY_CWF2 40
#define TASK_PRIORITY_WFRM 40
#define TASK_PRIORITY_CWF3 40
paul
Ignore doc files...
r46 #define TASK_PRIORITY_SEND 40
paul
Commit before working on the ERR 4 due to message queue...
r34 //
paul
Ignore doc files...
r46 #define TASK_PRIORITY_RECV 50 // this priority prevents the blocking of of other tasks in case of link deconnexion
paul
Last commit before release 0-13...
r35 //
paul
Commit before working on the ERR 4 due to message queue...
r34 #define TASK_PRIORITY_AVF0 60
#define TASK_PRIORITY_BPF0 60
#define TASK_PRIORITY_MATR 100
#define TASK_PRIORITY_STAT 200
#define TASK_PRIORITY_DUMB 200
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18
#define ACTION_MSG_QUEUE_COUNT 10
paul
packet emission task added...
r33 #define ACTION_MSG_PKTS_COUNT 50
paul
Ignore doc files...
r46 #define ACTION_MSG_PKTS_MAX_SIZE (PACKET_LENGTH_HK + CCSDS_TC_TM_PACKET_OFFSET + CCSDS_PROTOCOLE_EXTRA_BYTES)
paul
TM_LFR_TC_EXE packet sending reworked...
r37 #define ACTION_MSG_SPW_IOCTL_SEND_SIZE 24 // hlen *hdr dlen *data sent options
paul
Commit before working on the ERR 4 due to message queue...
r34
paul
Minor bug corrected in the tc_acceptance function...
r42 #define QUEUE_RECV 0
#define QUEUE_SEND 1
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18
//*******
// MACROS
paul@pc-solar1.lab-lpp.local
Naming convention changed...
r5 #ifdef PRINT_MESSAGES_ON_CONSOLE
#define PRINTF(x) printf(x);
#define PRINTF1(x,y) printf(x,y);
#define PRINTF2(x,y,z) printf(x,y,z);
#else
#define PRINTF(x) ;
#define PRINTF1(x,y) ;
#define PRINTF2(x,y,z) ;
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18 #endif
paul
Last commit before release 0-13...
r35 #ifdef BOOT_MESSAGES
#define BOOT_PRINTF(x) printf(x);
#define BOOT_PRINTF1(x,y) printf(x,y);
#define BOOT_PRINTF2(x,y,z) printf(x,y,z);
#else
#define BOOT_PRINTF(x) ;
#define BOOT_PRINTF1(x,y) ;
#define BOOT_PRINTF2(x,y,z) ;
#endif
#ifdef DEBUG_MESSAGES
#define DEBUG_PRINTF(x) printf(x);
#define DEBUG_PRINTF1(x,y) printf(x,y);
#define DEBUG_PRINTF2(x,y,z) printf(x,y,z);
#else
#define DEBUG_PRINTF(x) ;
#define DEBUG_PRINTF1(x,y) ;
#define DEBUG_PRINTF2(x,y,z) ;
#endif
paul
packet emission task added...
r33 #define CPU_USAGE_REPORT_PERIOD 6 // * 10 s = period
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18 #define NB_SAMPLES_PER_SNAPSHOT 2048
#define TIME_OFFSET 2
#define WAVEFORM_EXTENDED_HEADER_OFFSET 22
paul
Last commit before release 0-13...
r35 #define NB_BYTES_SWF_BLK (2 * 6)
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18 #define NB_WORDS_SWF_BLK 3
paul
CWF_F3 packets are now compliant with the ICD...
r38 #define NB_BYTES_CWF3_LIGHT_BLK 6
#define WFRM_INDEX_OF_LAST_PACKET 6 // waveforms are transmitted in groups of 2048 blocks, 6 packets of 340 and 1 of 8
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18
paul@pc-solar1.lab-lpp.local
Current version with modes NORMAL and SBM1 operational
r21 //******************
// SEQUENCE COUNTERS
#define SEQ_CNT_NB_PID 2
#define SEQ_CNT_NB_CAT 4
#define SEQ_CNT_NB_DEST_ID 11
// pid
#define SEQ_CNT_PID_76 0
#define SEQ_CNT_PID_79 1
//cat
#define SEQ_CNT_CAT_1 0
#define SEQ_CNT_CAT_4 1
#define SEQ_CNT_CAT_9 2
#define SEQ_CNT_CAT_12 3
// destination id
#define SEQ_CNT_DST_ID_GROUND 0
#define SEQ_CNT_DST_ID_MISSION_TIMELINE 1
#define SEQ_CNT_DST_ID_TC_SEQUENCES 2
#define SEQ_CNT_DST_ID_RECOVERY_ACTION_CMD 3
#define SEQ_CNT_DST_ID_BACKUP_MISSION_TIMELINE 4
#define SEQ_CNT_DST_ID_DIRECT_CMD 5
#define SEQ_CNT_DST_ID_SPARE_GRD_SRC1 6
#define SEQ_CNT_DST_ID_SPARE_GRD_SRC2 7
#define SEQ_CNT_DST_ID_OBCP 8
#define SEQ_CNT_DST_ID_SYSTEM_CONTROL 9
#define SEQ_CNT_DST_ID_AOCS 10
paul@pc-solar1.lab-lpp.local
All modes implemented for the waveforms...
r23 struct param_local_str{
unsigned int local_sbm1_nb_cwf_sent;
unsigned int local_sbm1_nb_cwf_max;
unsigned int local_sbm2_nb_cwf_sent;
unsigned int local_sbm2_nb_cwf_max;
paul
sy_lfr_n_swf_p implemented...
r32 unsigned int local_nb_interrupt_f0_MAX;
paul@pc-solar1.lab-lpp.local
All modes implemented for the waveforms...
r23 };
paul
Minor changes in .h inclusion
r45 #endif // FSW_PARAMS_H_INCLUDED