#ifndef SAMPLING_H_ #define SAMPLING_H_ #include #define ADC_BUFFER_SIZE 2048 // size must be a power of 2 // index wrapping macro #define ADC_BUFFER_WRAP(i) ((i) & (ADC_BUFFER_SIZE - 1)) volatile int32_t gADCBufferIndex; volatile uint16_t gADCBuffer[ADC_BUFFER_SIZE]; // circular buffer volatile uint32_t gADCErrors; // number of missed ADC deadlines // initialize ADC and ISR void start_sampler(void); void set_frequency(uint64_t microseconds); #endif /* SAMPLING_H_ */