#define buffer_length 10#define buffer_length_zeros 0,0,0,0,0,0,0,0,0,0volatile buffer_t pos_buffer={{buffer_length_zeros},0,0};typedef struct { int32_t data[buffer_length]; uint8_t newest; uint8_t read;} buffer_t;void buffer_write(buffer_t *buffer, int32_t data){ if((buffer->newest)>=buffer_length-1){ //if previous most recent value was at bottom of buffer buffer->data[0]=data; //place new data at top of buffer buffer->newest=0; //set most recent indext to top of buffer }else{ //otherwise buffer->data[buffer->newest+1]=data; //place data at next position buffer->newest++; //and update index }}buffer_write(pos_buffer,((int32_t) adc_pos_raw>>8));