#ifndef WF_HANDLER_H_INCLUDED #define WF_HANDLER_H_INCLUDED #include #include #include #include #include #include #include #include #define pi 3.1415 //#include extern rtems_id Task_id[]; /* array of task ids */ extern int fdSPW; extern volatile int wf_snap_f0[ ]; extern volatile int wf_snap_f1[ ]; extern volatile int wf_snap_f1_bis[ ]; extern volatile int wf_snap_f2[ ]; extern volatile int wf_snap_f2_bis[ ]; extern volatile int wf_cont_f3[ ]; extern waveform_picker_regs_t *waveform_picker_regs; rtems_isr waveforms_isr( rtems_vector_number vector ); rtems_isr waveforms_simulator_isr( rtems_vector_number vector ); rtems_task wfrm_task(rtems_task_argument argument); //****************** // general functions void init_waveforms( void ); void init_header_snapshot_wf( Header_TM_LFR_SCIENCE_SWF_t *header ); void init_header_continuous_wf( Header_TM_LFR_SCIENCE_CWF_t *header ); void reset_waveforms( void ); void send_waveform_norm(Header_TM_LFR_SCIENCE_SWF_t *header, spw_ioctl_pkt_send *spw_ioctl_send); void send_waveform_burst(Header_TM_LFR_SCIENCE_CWF_t *header, spw_ioctl_pkt_send *spw_ioctl_send); void send_waveform_sbm1(Header_TM_LFR_SCIENCE_CWF_t *header, spw_ioctl_pkt_send *spw_ioctl_send); void send_waveform_sbm2(Header_TM_LFR_SCIENCE_CWF_t *header, spw_ioctl_pkt_send *spw_ioctl_send); void send_waveform_SWF( Header_TM_LFR_SCIENCE_SWF_t *header, volatile int *waveform, unsigned int sid, spw_ioctl_pkt_send *spw_ioctl_send); void send_waveform_CWF( Header_TM_LFR_SCIENCE_CWF_t *header, volatile int *waveform, unsigned int sid, spw_ioctl_pkt_send *spw_ioctl_send); //************** // wfp registers void set_wfp_data_shaping(unsigned char data_shaping); void set_wfp_delta_snapshot(unsigned int delta_snapshot); void reset_wfp_burst_enable(); void reset_wfp_regs(); // int build_value(int value1, int value0); #endif // WF_HANDLER_H_INCLUDED