working averaging!

This commit is contained in:
2025-10-02 20:46:27 +03:00
parent 95cf79b61f
commit 42f53ae5a5
5 changed files with 4735 additions and 4641 deletions

File diff suppressed because it is too large Load Diff

View File

@ -122,6 +122,7 @@ volatile uint32_t send_size = 0;
volatile uint8_t TX_buff_state = TX_DONE; //FILLING, TODO_TX, TRANSMITTING, TX_DONE, BUFF_READY, volatile uint8_t TX_buff_state = TX_DONE; //FILLING, TODO_TX, TRANSMITTING, TX_DONE, BUFF_READY,
volatile uint32_t tx_val = 0; volatile uint32_t tx_val = 0;
uint32_t some_i = 0;
volatile uint32_t size_processed = 0; volatile uint32_t size_processed = 0;
@ -246,7 +247,7 @@ uint32_t usr_in_proc_data(uint32_t* data, uint32_t size) {
// for (uint32_t i = 0; ((TX_buff_I < TX_BUFF_SIZE) && (i < AVG_BUFF_SIZE)); i++){ // for (uint32_t i = 0; ((TX_buff_I < TX_BUFF_SIZE) && (i < AVG_BUFF_SIZE)); i++){
uint32_t i = 0; uint32_t i = 0;
while ((TX_buff_I < TX_BUFF_SIZE) && (i < AVG_BUFF_SIZE)){ while ((TX_buff_I < TX_BUFF_SIZE) && (i < AVG_BUFF_SIZE)){
TX_buff[TX_buff_I++] = AVG_buff[i]; TX_buff[TX_buff_I++] = AVG_buff[i++];
//TX_buff[TX_buff_I++] = 0xB0000000 + Proc_state.average_N; //TX_buff[TX_buff_I++] = 0xB0000000 + Proc_state.average_N;
//TX_buff[TX_buff_I++] = 0xC1000000; //TX_buff[TX_buff_I++] = 0xC1000000;
} }
@ -254,7 +255,7 @@ uint32_t usr_in_proc_data(uint32_t* data, uint32_t size) {
//clear AVG_buff: //clear AVG_buff:
for (uint32_t i = 0; i < AVG_BUFF_SIZE; i++ ){ for (uint32_t i = 0; i < AVG_BUFF_SIZE; i++ ){
AVG_buff[i] = 0xC2321123; AVG_buff[i] = 0xC2000000;
} }
TX_buff_state = TODO_TX; TX_buff_state = TODO_TX;
@ -275,7 +276,7 @@ uint32_t usr_in_proc_data(uint32_t* data, uint32_t size) {
}else{ // }else{ //
Proc_state.AVG_state = STEP_RUNNING; Proc_state.AVG_state = STEP_RUNNING;
Proc_state.AVG_buff_I = 0; //Proc_state.AVG_buff_I = 0;
} }
} }
@ -285,8 +286,9 @@ uint32_t usr_in_proc_data(uint32_t* data, uint32_t size) {
// if (Proc_state.LFSM_state == CYCLE_STARTED){ // if (Proc_state.LFSM_state == CYCLE_STARTED){
if (1){ 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 | (0x00FFFFFF & (AVG_buff[Proc_state.AVG_buff_I] + val));
// AVG_buff[Proc_state.AVG_buff_I] = 0xC0000000 | ((val + AVG_buff[Proc_state.AVG_buff_I]) & 0xFFFFFF); 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; // 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; //AVG_buff[Proc_state.AVG_buff_I++] = 0xC0000000;
Proc_state.AVG_buff_I++; Proc_state.AVG_buff_I++;
if (Proc_state.AVG_buff_I >= AVG_BUFF_SIZE){ if (Proc_state.AVG_buff_I >= AVG_BUFF_SIZE){
@ -314,7 +316,7 @@ uint32_t usr_in_proc_data(uint32_t* data, uint32_t size) {
TX_buff_shadow[i] = TX_buff[i]; TX_buff_shadow[i] = TX_buff[i];
} }
hdma_send_req_start(TX_buff_shadow, TX_buff_I, 0); hdma_send_req_start(TX_buff_shadow, TX_buff_I, 0);
//hdma_send_req_start(TX_marker, 10, 0); hdma_send_req_start(TX_marker, 10, 0);
//hdma_send_req_start(TX_buff, TX_BUFF_SIZE, 0); //hdma_send_req_start(TX_buff, TX_BUFF_SIZE, 0);
//TX_buff_state = TRANSMITTING; //TX_buff_state = TRANSMITTING;
TX_buff_state = TX_DONE; TX_buff_state = TX_DONE;