##// END OF EJS Templates
Bug 657 HK_LFR_xE_CNT doesn't manage the wrap of 8bits counter error
Bug 657 HK_LFR_xE_CNT doesn't manage the wrap of 8bits counter error

File last commit:

r340:4f755502e98f R3++
r343:66679eb623f2 R3++
Show More
tc_load_dump_parameters.h
120 lines | 4.6 KiB | text/x-c | CLexer
/ header / tc_load_dump_parameters.h
#ifndef TC_LOAD_DUMP_PARAMETERS_H
#define TC_LOAD_DUMP_PARAMETERS_H
#include <rtems.h>
#include <stdio.h>
#include "fsw_params.h"
#include "wf_handler.h"
#include "tm_lfr_tc_exe.h"
#include "fsw_misc.h"
#include "basic_parameters_params.h"
#include "avf0_prc0.h"
#define FLOAT_EQUAL_ZERO 0.001
#define NB_BINS_TO_REMOVE 3
#define FI_INTERVAL_COEFF 0.285
#define BIN_MIN 0
#define BIN_MAX 127
#define DELTAF_F0 96.
#define DELTAF_F1 16.
#define DELTAF_F2 1.
#define DELTAF_DIV 2.
#define BIT_RW1_F1 0x80
#define BIT_RW1_F2 0x40
#define BIT_RW2_F1 0x20
#define BIT_RW2_F2 0x10
#define BIT_RW3_F1 0x08
#define BIT_RW3_F2 0x04
#define BIT_RW4_F1 0x02
#define BIT_RW4_F2 0x01
#define WHEEL_1 1
#define WHEEL_2 2
#define WHEEL_3 3
#define WHEEL_4 4
#define FREQ_1 1
#define FREQ_2 2
#define FREQ_3 3
#define FREQ_4 4
#define FLAG_OFFSET_WHEELS_1_3 8
#define FLAG_OFFSET_WHEELS_2_4 4
#define FLAG_NAN 0 // Not A NUMBER
#define FLAG_IAN 1 // Is A Number
#define SBM_KCOEFF_PER_NORM_KCOEFF 2
extern unsigned short sequenceCounterParameterDump;
extern unsigned short sequenceCounters_TM_DUMP[];
extern float k_coeff_intercalib_f0_norm[ ];
extern float k_coeff_intercalib_f0_sbm[ ];
extern float k_coeff_intercalib_f1_norm[ ];
extern float k_coeff_intercalib_f1_sbm[ ];
extern float k_coeff_intercalib_f2[ ];
extern fbins_masks_t fbins_masks;
int action_load_common_par( ccsdsTelecommandPacket_t *TC );
int action_load_normal_par(ccsdsTelecommandPacket_t *TC, rtems_id queue_id , unsigned char *time);
int action_load_burst_par(ccsdsTelecommandPacket_t *TC, rtems_id queue_id , unsigned char *time);
int action_load_sbm1_par(ccsdsTelecommandPacket_t *TC, rtems_id queue_id , unsigned char *time);
int action_load_sbm2_par(ccsdsTelecommandPacket_t *TC, rtems_id queue_id , unsigned char *time);
int action_load_kcoefficients(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time);
int action_load_fbins_mask(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time);
int action_load_filter_par(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time);
int action_dump_kcoefficients(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time);
int action_dump_par(ccsdsTelecommandPacket_t *TC, rtems_id queue_id );
// NORMAL
int check_normal_par_consistency( ccsdsTelecommandPacket_t *TC, rtems_id queue_id );
int set_sy_lfr_n_swf_l( ccsdsTelecommandPacket_t *TC );
int set_sy_lfr_n_swf_p( ccsdsTelecommandPacket_t *TC );
int set_sy_lfr_n_asm_p( ccsdsTelecommandPacket_t *TC );
int set_sy_lfr_n_bp_p0( ccsdsTelecommandPacket_t *TC );
int set_sy_lfr_n_bp_p1( ccsdsTelecommandPacket_t *TC );
int set_sy_lfr_n_cwf_long_f3( ccsdsTelecommandPacket_t *TC );
// BURST
int set_sy_lfr_b_bp_p0( ccsdsTelecommandPacket_t *TC );
int set_sy_lfr_b_bp_p1( ccsdsTelecommandPacket_t *TC );
// SBM1
int set_sy_lfr_s1_bp_p0( ccsdsTelecommandPacket_t *TC );
int set_sy_lfr_s1_bp_p1( ccsdsTelecommandPacket_t *TC );
// SBM2
int set_sy_lfr_s2_bp_p0( ccsdsTelecommandPacket_t *TC );
int set_sy_lfr_s2_bp_p1( ccsdsTelecommandPacket_t *TC );
// TC_LFR_UPDATE_INFO
unsigned int check_update_info_hk_lfr_mode( unsigned char mode );
unsigned int check_update_info_hk_tds_mode( unsigned char mode );
unsigned int check_update_info_hk_thr_mode( unsigned char mode );
void set_hk_lfr_sc_rw_f_flag( unsigned char wheel, unsigned char freq, float value );
void set_hk_lfr_sc_rw_f_flags( void );
void getReactionWheelsFrequencies( ccsdsTelecommandPacket_t *TC );
void setFBinMask(unsigned char *fbins_mask, float rw_f, unsigned char deltaFreq, float kcoeff );
void build_sy_lfr_rw_mask( unsigned int channel );
void build_sy_lfr_rw_masks();
void merge_fbins_masks( void );
// FBINS_MASK
int set_sy_lfr_fbins( ccsdsTelecommandPacket_t *TC );
// TC_LFR_LOAD_PARS_FILTER_PAR
int check_sy_lfr_filter_parameters( ccsdsTelecommandPacket_t *TC, rtems_id queue_id );
// KCOEFFICIENTS
int set_sy_lfr_kcoeff(ccsdsTelecommandPacket_t *TC , rtems_id queue_id);
void copyFloatByChar( unsigned char *destination, unsigned char *source );
void copyInt32ByChar( unsigned char *destination, unsigned char *source );
void copyInt16ByChar( unsigned char *destination, unsigned char *source );
void floatToChar( float value, unsigned char* ptr);
void init_parameter_dump( void );
void init_kcoefficients_dump( void );
void init_kcoefficients_dump_packet( Packet_TM_LFR_KCOEFFICIENTS_DUMP_t *kcoefficients_dump, unsigned char pkt_nr, unsigned char blk_nr );
void increment_seq_counter_destination_id_dump( unsigned char *packet_sequence_control, unsigned char destination_id );
#endif // TC_LOAD_DUMP_PARAMETERS_H