All pastes #2070325 Raw Edit

Something

public c v1 · immutable
#2070325 ·published 2011-05-27 13:12 UTC
rendered paste body
#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));