wf_handler.h
65 lines
| 2.2 KiB
| text/x-c
|
CLexer
/ header / wf_handler.h
paul@pc-solar1.lab-lpp.local
|
r5 | #ifndef WF_HANDLER_H_INCLUDED | ||
#define WF_HANDLER_H_INCLUDED | ||||
paul
|
r40 | #include "fsw_init.h" | ||
paul
|
r33 | |||
paul@pc-solar1.lab-lpp.local
|
r18 | #include <math.h> | ||
#define pi 3.1415 | ||||
paul@pc-solar1.lab-lpp.local
|
r5 | |||
extern int fdSPW; | ||||
paul@pc-solar1.lab-lpp.local
|
r18 | extern volatile int wf_snap_f0[ ]; | ||
paul
|
r33 | // | ||
paul@pc-solar1.lab-lpp.local
|
r18 | extern volatile int wf_snap_f1[ ]; | ||
paul@pc-solar1.lab-lpp.local
|
r19 | extern volatile int wf_snap_f1_bis[ ]; | ||
paul
|
r33 | extern volatile int wf_snap_f1_norm[ ]; | ||
// | ||||
paul@pc-solar1.lab-lpp.local
|
r18 | extern volatile int wf_snap_f2[ ]; | ||
paul@pc-solar1.lab-lpp.local
|
r22 | extern volatile int wf_snap_f2_bis[ ]; | ||
paul
|
r33 | extern volatile int wf_snap_f2_norm[ ]; | ||
// | ||||
paul@pc-solar1.lab-lpp.local
|
r18 | extern volatile int wf_cont_f3[ ]; | ||
paul
|
r32 | extern volatile int wf_cont_f3_bis[ ]; | ||
paul
|
r38 | extern char wf_cont_f3_light[ ]; | ||
paul@pc-solar1.lab-lpp.local
|
r18 | extern waveform_picker_regs_t *waveform_picker_regs; | ||
paul@pc-solar1.lab-lpp.local
|
r5 | |||
rtems_isr waveforms_isr( rtems_vector_number vector ); | ||||
paul@pc-solar1.lab-lpp.local
|
r18 | rtems_isr waveforms_simulator_isr( rtems_vector_number vector ); | ||
paul
|
r38 | rtems_task wfrm_task( rtems_task_argument argument ); | ||
rtems_task cwf3_task( rtems_task_argument argument ); | ||||
rtems_task cwf2_task( rtems_task_argument argument ); | ||||
rtems_task cwf1_task( rtems_task_argument argument ); | ||||
paul@pc-solar1.lab-lpp.local
|
r5 | |||
paul@pc-solar1.lab-lpp.local
|
r17 | //****************** | ||
// general functions | ||||
paul@pc-solar1.lab-lpp.local
|
r18 | void init_waveforms( void ); | ||
paul
|
r33 | // | ||
paul
|
r38 | int init_header_snapshot_wf_table( unsigned int sid, Header_TM_LFR_SCIENCE_SWF_t *headerSWF ); | ||
int init_header_continuous_wf_table( unsigned int sid, Header_TM_LFR_SCIENCE_CWF_t *headerCWF ); | ||||
int init_header_continuous_wf3_light_table( Header_TM_LFR_SCIENCE_CWF_t *headerCWF ); | ||||
paul
|
r33 | // | ||
paul@pc-solar1.lab-lpp.local
|
r18 | void reset_waveforms( void ); | ||
paul
|
r32 | |||
paul
|
r38 | int send_waveform_SWF( volatile int *waveform, unsigned int sid, Header_TM_LFR_SCIENCE_SWF_t *headerSWF, rtems_id queue_id ); | ||
int send_waveform_CWF( volatile int *waveform, unsigned int sid, Header_TM_LFR_SCIENCE_CWF_t *headerCWF, rtems_id queue_id ); | ||||
int send_waveform_CWF3( volatile int *waveform, unsigned int sid, Header_TM_LFR_SCIENCE_CWF_t *headerCWF, rtems_id queue_id ); | ||||
int send_waveform_CWF3_light( volatile int *waveform, Header_TM_LFR_SCIENCE_CWF_t *headerCWF, rtems_id queue_id ); | ||||
paul@pc-solar1.lab-lpp.local
|
r23 | |||
//************** | ||||
// wfp registers | ||||
paul
|
r32 | void set_wfp_data_shaping(); | ||
char set_wfp_delta_snapshot(); | ||||
void set_wfp_burst_enable_register( unsigned char mode); | ||||
paul@pc-solar1.lab-lpp.local
|
r23 | void reset_wfp_burst_enable(); | ||
paul
|
r33 | void reset_wfp_status(); | ||
paul
|
r31 | void reset_waveform_picker_regs(); | ||
paul
|
r32 | |||
//***************** | ||||
// local parameters | ||||
void set_local_sbm1_nb_cwf_max(); | ||||
void set_local_sbm2_nb_cwf_max(); | ||||
void set_local_nb_interrupt_f0_MAX(); | ||||
void reset_local_sbm1_nb_cwf_sent(); | ||||
void reset_local_sbm2_nb_cwf_sent(); | ||||
paul@pc-solar1.lab-lpp.local
|
r17 | |||
paul@pc-solar1.lab-lpp.local
|
r5 | #endif // WF_HANDLER_H_INCLUDED | ||