somehow averaging fails (avg cycle stops too early. So in the result of avg there is sum of all runs in the start and some values in line are forbidden at the end of avg cycle). Fixed avg cycle numbering -> averaged value have the same amplitude as raw value
This commit is contained in:
@ -235,7 +235,6 @@ uint32_t usr_in_proc_data(uint32_t* data, uint32_t size) {
|
||||
|
||||
if ((DY_SYN_2_value == 1)&& (DY_SYN_2_value_prev == 0)){ //new cycle started
|
||||
//data[data_I] = 0xB00000000;
|
||||
Proc_state.average_N ++;
|
||||
Proc_state.AVG_buff_I = 0;
|
||||
Proc_state.LFSM_state = CYCLE_STARTED;
|
||||
if (Proc_state.average_N >= Proc_state.average_N_max){ //whole average ended
|
||||
@ -259,8 +258,7 @@ uint32_t usr_in_proc_data(uint32_t* data, uint32_t size) {
|
||||
}
|
||||
|
||||
TX_buff_state = TODO_TX;
|
||||
//hdma_send_req_start(TX_buff, TX_BUFF_SIZE, 0);
|
||||
//return size;
|
||||
|
||||
|
||||
// for (uint32_t i = 0; i < TX_BUFF_SIZE; ++i){
|
||||
// TX_buff_shadow[i] = TX_buff[i];
|
||||
@ -274,8 +272,12 @@ uint32_t usr_in_proc_data(uint32_t* data, uint32_t size) {
|
||||
// TX_buff_state = TX_DONE;
|
||||
Proc_state.average_N = 0;
|
||||
|
||||
//hdma_send_req_start(TX_buff, TX_buff_I, 0);
|
||||
//return data_I;
|
||||
|
||||
}else{ //
|
||||
Proc_state.AVG_state = STEP_RUNNING;
|
||||
Proc_state.average_N ++;
|
||||
//Proc_state.AVG_buff_I = 0;
|
||||
}
|
||||
}
|
||||
@ -286,7 +288,7 @@ uint32_t usr_in_proc_data(uint32_t* data, uint32_t size) {
|
||||
// if (Proc_state.LFSM_state == CYCLE_STARTED){
|
||||
if (1){
|
||||
// AVG_buff[Proc_state.AVG_buff_I++] = 0xC0000000 | (0x00FFFFFF & (AVG_buff[Proc_state.AVG_buff_I] + val));
|
||||
AVG_buff[Proc_state.AVG_buff_I] = 0xC0000000 | ((val/10 + AVG_buff[Proc_state.AVG_buff_I]) & 0xFFFFFF);
|
||||
AVG_buff[Proc_state.AVG_buff_I] = 0xC0000000 | ((val/Proc_state.average_N_max + AVG_buff[Proc_state.AVG_buff_I]) & 0xFFFFFF);
|
||||
// AVG_buff[Proc_state.AVG_buff_I] = 0xC0000000 | some_i++;
|
||||
// AVG_buff[Proc_state.AVG_buff_I] = 0xC0000000 | val;
|
||||
//AVG_buff[Proc_state.AVG_buff_I++] = 0xC0000000;
|
||||
@ -585,7 +587,7 @@ void usr_cmd_process(t_l502_bf_cmd *cmd) {
|
||||
Proc_state.mode = AVG;
|
||||
Proc_state.mode_next = AVG;
|
||||
Proc_state.LFSM_state = CYCLE_UNKNOWN;
|
||||
Proc_state.average_N_max = 10;
|
||||
Proc_state.average_N_max = 5;
|
||||
// Proc_state.average_N_max = cmd->param;
|
||||
Proc_state.average_N = 0;
|
||||
Proc_state.TX_buff_I = 0;
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
******************************************************************************/
|
||||
//#define TX_BUFF_SIZE 100000
|
||||
#define RAW_DATA_BUFF_SIZE 1000
|
||||
#define AVG_BUFF_SIZE 1000
|
||||
#define AVG_BUFF_SIZE 2000
|
||||
#define FFT_BUFF_SIZE 1000
|
||||
|
||||
//#define L502_SPORT_IN_BUF_SIZE (2048*1024)
|
||||
|
||||
Reference in New Issue
Block a user