##// END OF EJS Templates
Switched to O3 with no inlining optim level for debug builds...
Switched to O3 with no inlining optim level for debug builds Debug builds are mostly used for gcov while it seems a bad idea(-O3), with O0 the FSW uses more than 100% CPU in normal mode so the treadoff is to switch to O3 without inlining, this preserves the 1 to 1 relation between code and gcov counters.

File last commit:

r374:79e8ac429728 No PWD scrub with...
r397:0c445dc7a949 R3++
Show More
tc_handler.h
117 lines | 4.4 KiB | text/x-c | CLexer
paul@pc-solar1.lab-lpp.local
Naming convention changed...
r5 #ifndef TC_HANDLER_H_INCLUDED
#define TC_HANDLER_H_INCLUDED
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18
paul
Minor changes in .h inclusion
r45 #include <rtems.h>
#include <leon.h>
paul
Header files inclusion reworked...
r40 #include "tc_load_dump_parameters.h"
paul
Minor changes in .h inclusion
r45 #include "tc_acceptance.h"
paul
Header files inclusion reworked...
r40 #include "tm_lfr_tc_exe.h"
paul
Minor changes in .h inclusion
r45 #include "wf_handler.h"
paul
Sync
r95 #include "fsw_processing.h"
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18
paul
cpu_load added to the housekeeping packets
r134 #include "lfr_cpu_usage_report.h"
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 #define MAX_DELTA_COARSE_TIME 3
#define NB_SCIENCE_TASKS 10
#define NB_ASM_TASKS 6
#define STATUS_0 0
#define STATUS_1 1
#define STATUS_2 2
#define STATUS_3 3
#define STATUS_4 4
#define STATUS_5 5
#define STATUS_6 6
#define STATUS_7 7
#define STATUS_8 8
#define STATUS_9 9
paul
Bug #906 calibration signal
r339 #define CAL_F0 625.
#define CAL_F1 10000.
#define CAL_W0 (2. * pi * CAL_F0)
#define CAL_W1 (2. * pi * CAL_F1)
#define CAL_A0 1.
#define CAL_A1 2.
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 #define CAL_FS 160256.410
#define CAL_SCALE_FACTOR (0.250 / 0.000654) // 191, 500 mVpp, 2 sinus waves => 500 mVpp each, amplitude = 250 mV
#define CAL_NB_PTS 256
#define CAL_DATA_MASK 0xfff
#define CAL_F_DIVISOR 38 // 25 MHz => 160 256 (39 - 1)
Implemented Calibrations Task...
r375 #define CAL_F_DIVISOR_MIN 38
#define CAL_F_DIVISOR_MAX (38*2*2*2*2)
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 // INTERLEAVED MODE
#define CAL_FS_INTER 240384.615
#define CAL_NB_PTS_INTER 384
#define CAL_DATA_MASK_INTER 0x3f
#define CAL_DATA_SHIFT_INTER 12
#define BYTES_FOR_2_SAMPLES 3 // one need 3 bytes = 24 bits to store 3 samples of 12 bits in interleaved mode
#define STEPS_FOR_STORAGE_INTER 128
#define CAL_F_DIVISOR_INTER 26 // 25 MHz => 240 384
paul
BP sending filtered depending on the lastValidEnterModeTime
r243 extern unsigned int lastValidEnterModeTime;
paul
3.0.0.19...
r271 extern unsigned char oneTcLfrUpdateTimeReceived;
paul
minor updates on documentation
r240
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 // ISR
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18 rtems_isr commutation_isr1( rtems_vector_number vector );
rtems_isr commutation_isr2( rtems_vector_number vector );
//***********
// RTEMS TASK
rtems_task actn_task( rtems_task_argument unused );
//***********
// TC ACTIONS
paul
rev 1.0.0.3
r109 int action_reset( ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time );
paul
the TC_ENTER_MODE time parameter is taken into account...
r111 int action_enter_mode(ccsdsTelecommandPacket_t *TC, rtems_id queue_id);
paul
rev 1.0.0.3
r109 int action_update_info( ccsdsTelecommandPacket_t *TC, rtems_id queue_id );
int action_enable_calibration( ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time );
int action_disable_calibration( ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time );
int action_update_time( ccsdsTelecommandPacket_t *TC);
paul
packet emission task added...
r33
paul@pc-solar1.lab-lpp.local
All modes implemented for the waveforms...
r23 // mode transition
paul
rev 1.0.0.3
r109 int check_mode_value( unsigned char requestedMode );
int check_mode_transition( unsigned char requestedMode );
paul
minor updates on documentation
r240 void update_last_valid_transition_date( unsigned int transitionCoarseTime );
paul
the TC_ENTER_MODE time parameter is taken into account...
r111 int check_transition_date( unsigned int transitionCoarseTime );
paul
Modification of the launch of NORMAL, SBM1 and SBM2 modes
r238 int stop_spectral_matrices( void );
paul
rev 1.0.0.1
r98 int stop_current_mode( void );
paul
a wrong date implies the generation of a TM_LFR_TC_EXE_NOT_EXECUTABLE...
r254 int enter_mode_standby(void );
paul
enter_mode removed...
r237 int enter_mode_normal( unsigned int transitionCoarseTime );
int enter_mode_burst( unsigned int transitionCoarseTime );
int enter_mode_sbm1( unsigned int transitionCoarseTime );
int enter_mode_sbm2( unsigned int transitionCoarseTime );
paul
The flight software is now compatible with the VHDL 0.1.32...
r171 int restart_science_tasks( unsigned char lfrRequestedMode );
paul
Modification of the launch of NORMAL, SBM1 and SBM2 modes
r238 int restart_asm_tasks(unsigned char lfrRequestedMode );
int suspend_science_tasks(void);
int suspend_asm_tasks( void );
paul
The flight software is now compatible with the VHDL 0.1.32...
r171 void launch_waveform_picker( unsigned char mode , unsigned int transitionCoarseTime );
paul
There is a message queue between AVFO and MATR...
r118 void launch_spectral_matrix( void );
paul
The flight software is now compatible with the VHDL 0.1.32...
r171 void set_sm_irq_onNewMatrix( unsigned char value );
void set_sm_irq_onError( unsigned char value );
paul
packet emission task added...
r33
paul@pc-solar1.lab-lpp.local
All modes implemented for the waveforms...
r23 // other functions
paul
a wrong date implies the generation of a TM_LFR_TC_EXE_NOT_EXECUTABLE...
r254 void updateLFRCurrentMode(unsigned char requestedMode);
paul
The flight software is now compatible with the VHDL 0.1.32...
r171 void set_lfr_soft_reset( unsigned char value );
void reset_lfr( void );
paul
2.0.2.2...
r187 // CALIBRATION
void setCalibrationPrescaler( unsigned int prescaler );
void setCalibrationDivisor( unsigned int divisionFactor );
void setCalibrationData( void );
void setCalibrationReload( bool state);
void setCalibrationEnable( bool state );
void setCalibrationInterleaved( bool state );
paul
Bug #354, hk_sy_lfr_calib_enabled is set in TM_LFR_HK packets
r206 void setCalibration( bool state );
paul
2.0.2.2...
r187 void configureCalibration( bool interleaved );
//
paul
Corrections:...
r107 void update_last_TC_exe( ccsdsTelecommandPacket_t *TC , unsigned char *time );
void update_last_TC_rej(ccsdsTelecommandPacket_t *TC , unsigned char *time );
void close_action( ccsdsTelecommandPacket_t *TC, int result, rtems_id queue_id );
paul@pc-solar1.lab-lpp.local
Naming convention changed...
r5
paul
fsw-1-0...
r82 extern rtems_status_code get_message_queue_id_send( rtems_id *queue_id );
extern rtems_status_code get_message_queue_id_recv( rtems_id *queue_id );
paul@pc-solar1.lab-lpp.local
Naming convention changed...
r5 #endif // TC_HANDLER_H_INCLUDED
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18