##// END OF EJS Templates
the interrupt sub routine related to the waveform picker is now lighter...
the interrupt sub routine related to the waveform picker is now lighter no more picks are observed on the waveforms

File last commit:

r112:5b5da8d2c053 VHDLib206
r112:5b5da8d2c053 VHDLib206
Show More
fsw_params.h
225 lines | 7.2 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
rev 1.0.0.2...
r104 #include "fsw_params_nb_bytes.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
Minor changes
r93 typedef struct ring_node
{
struct ring_node *previous;
int buffer_address;
struct ring_node *next;
unsigned int status;
} ring_node;
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
rev 1.0.0.1
r98 #define NB_PACKETS_PER_GROUP_OF_CWF 8 // 8 packets containing 336 blk
#define NB_PACKETS_PER_GROUP_OF_CWF_LIGHT 4 // 4 packets containing 672 blk
#define NB_SAMPLES_PER_SNAPSHOT 2688 // 336 * 8 = 672 * 4 = 2688
paul
First version of the rings for the waveform picker.
r87 #define TIME_OFFSET 2
paul
Minor changes
r93 #define TIME_OFFSET_IN_BYTES 8
paul
First version of the rings for the waveform picker.
r87 #define WAVEFORM_EXTENDED_HEADER_OFFSET 22
#define NB_BYTES_SWF_BLK (2 * 6)
#define NB_WORDS_SWF_BLK 3
#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
Minor changes
r93 #define NB_RING_NODES_F0 3 // AT LEAST 3
#define NB_RING_NODES_F1 5 // AT LEAST 3
#define NB_RING_NODES_F2 5 // AT LEAST 3
paul
First version of the rings for the waveform picker.
r87
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18 //**********
// LFR MODES
paul
rev 1.0.0.2...
r104 #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
#define TDS_MODE_LFM 5
#define TDS_MODE_STANDBY 0
#define TDS_MODE_NORMAL 1
#define TDS_MODE_BURST 2
#define TDS_MODE_SBM1 3
#define TDS_MODE_SBM2 4
#define THR_MODE_STANDBY 0
paul
the interrupt sub routine related to the waveform picker is now lighter...
r112 #define THR_MODE_NORMAL 1
paul
rev 1.0.0.2...
r104 #define THR_MODE_BURST 2
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18
paul
Minor changes
r94 #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
#define RTEMS_EVENT_MODE_SBM2_WFRM RTEMS_EVENT_5
#define RTEMS_EVENT_MODE_NORMAL_SWF_F0 RTEMS_EVENT_6
#define RTEMS_EVENT_MODE_NORMAL_SWF_F1 RTEMS_EVENT_7
#define RTEMS_EVENT_MODE_NORMAL_SWF_F2 RTEMS_EVENT_8
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
paul
Sync
r97 #define SY_LFR_N_SWF_P 300 // sec
paul
Ignore doc files...
r46 #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
rev 1.0.0.1
r98 #define SY_LFR_N_CWF_LONG_F3 0 // 0 => production of light continuous waveforms at f3
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
paul
rev 1.0.0.1
r98 #define REGS_ADDR_APBUART 0x80000100
#define REGS_ADDR_GPTIMER 0x80000300
#define REGS_ADDR_GRSPW 0x80000500
#define REGS_ADDR_TIME_MANAGEMENT 0x80000600
paul
Corrections:...
r107 #define REGS_ADDR_GRGPIO 0x80000b00
paul
snapshots extraction fully functionnal in SBM1 and SBM2
r106
#define REGS_ADDR_SPECTRAL_MATRIX 0x80000f00
#define REGS_ADDR_WAVEFORM_PICKER 0x80000f40
paul
SID corrected in TM_LFR_TC_EXE packets...
r31
paul
rev 1.0.0.1
r98 #define APBUART_CTRL_REG_MASK_DB 0xfffff7ff
#define APBUART_CTRL_REG_MASK_TE 0x00000002
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
Sync
r99 #define IRQ_SM_SIMULATOR 9
#define IRQ_SPARC_SM_SIMULATOR 0x19 // see sparcv8.pdf p.76 for interrupt levels
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18 #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
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18 #define TIMER_SM_SIMULATOR 1
paul
rev 1.0.0.2...
r104 #define HK_PERIOD 100 // 100 * 10ms => 1s
#define SY_LFR_TIME_SYN_TIMEOUT_in_ms 2000
#define SY_LFR_TIME_SYN_TIMEOUT_in_ticks 200 // 200 * 10 ms = 2 s
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 //**********
// 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
paul
snapshot extraction for the waveform ring is operational...
r105 #define TASKID_SWBD 7
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18 #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
Ignore doc files...
r46 #define TASK_PRIORITY_WTDG 20
paul
priority modifications...
r50 #define TASK_PRIORITY_HOUS 30
#define TASK_PRIORITY_CWF1 35 // CWF1 and CWF2 are never running together
#define TASK_PRIORITY_CWF2 35 //
paul
snapshots extraction fully functionnal in SBM1 and SBM2
r106 #define TASK_PRIORITY_SWBD 37 // SWBD has a lower priority than WFRM, this is to extract the snapshot before sending it
paul
Commit before working on the ERR 4 due to message queue...
r34 #define TASK_PRIORITY_WFRM 40
paul
priority modifications...
r50 #define TASK_PRIORITY_CWF3 40 // there is a printf in this function, be careful with its priority wrt CWF1
#define TASK_PRIORITY_SEND 45
paul
fsw-0-18...
r49 #define TASK_PRIORITY_RECV 50
#define TASK_PRIORITY_ACTN 50
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
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