91 lines
2.0 KiB
C
91 lines
2.0 KiB
C
/** @defgroup user_process Пользовательская обработка данных */
|
|
|
|
/***************************************************************************//**
|
|
@addtogroup user_process
|
|
@{
|
|
@file l502_user_process.h
|
|
|
|
Файл содержит описания функций, которые предназначены для изменения
|
|
пользователем для написания своих алгоритмов обработки данных и реализации
|
|
пользовательских команд.
|
|
******************************************************************************/
|
|
//#define TX_BUFF_SIZE 100000
|
|
#define RAW_DATA_BUFF_SIZE 1000
|
|
#define AVG_BUFF_SIZE 1000
|
|
#define FFT_BUFF_SIZE 1000
|
|
|
|
//#define L502_SPORT_IN_BUF_SIZE (2048*1024)
|
|
|
|
//#define TX_BUFF_SIZE (RAW_DATA_BUFF_SIZE + AVG_BUFF_SIZE + FFT_BUFF_SIZE + L502_SPORT_IN_BUF_SIZE) //should be large enough to fit all other buffers and raw data
|
|
#define TX_BUFF_SIZE 10000
|
|
|
|
|
|
#ifndef L502_USER_PROCESS_H_
|
|
#define L502_USER_PROCESS_H_
|
|
|
|
|
|
enum buff_switch{
|
|
A = 0,
|
|
B = 1,
|
|
};
|
|
|
|
enum avg_state {
|
|
STOPPED,
|
|
STEP_RUNNING,
|
|
STEP_COMPLETED,
|
|
FULLY_COMPLETED,
|
|
ENDED,
|
|
};
|
|
|
|
enum cycle_state {
|
|
CYCLE_UNKNOWN,
|
|
CYCLE_STARTED,
|
|
CYCLE_RUNNING,
|
|
};
|
|
|
|
|
|
enum hdma_TX_state {
|
|
TX_BUFF_OFF,
|
|
FILLING,
|
|
TODO_TX,
|
|
TRANSMITTING,
|
|
TX_DONE,
|
|
BUFF_READY,
|
|
DUMMY,
|
|
};
|
|
|
|
enum dataprocessor_state {
|
|
OFF,
|
|
TRANSPARENT,
|
|
SEMITRANSPARENT,
|
|
AVG,
|
|
AVG_DONE,
|
|
FFT,
|
|
FFT_DONE,
|
|
WORK,
|
|
};
|
|
|
|
/*
|
|
struct dataprocessor_dypedef {
|
|
uint8_t state;
|
|
uint8_t state_next;
|
|
uint8_t LFSM_state; // 0 -- waiting for it... ; 1 -- receiving LFSM data
|
|
uint16_t average_N_max;
|
|
uint16_t average_N;
|
|
uint32_t TX_buff_I;
|
|
uint32_t AVG_buff_I;
|
|
uint32_t FFT_buff_I;
|
|
|
|
};
|
|
*/
|
|
|
|
|
|
uint32_t usr_in_proc_data(uint32_t* data, uint32_t size);
|
|
uint32_t usr_out_proc_data(uint32_t* data, uint32_t size);
|
|
|
|
void usr_cmd_process(t_l502_bf_cmd *cmd);
|
|
|
|
#endif
|
|
|
|
/** @} */
|