12#ifndef __HIERODULE_ADC_H
13#define __HIERODULE_ADC_H
38#define HIERODULE_ADC_SMOOTHENING_FILTER
57 #ifdef HIERODULE_ADC_SMOOTHENING_FILTER
67 void (*Data_Handler)(uint16_t);
75 void (*ISR)(uint16_t));
HIERODULE_ADC_Wrapper ** HIERODULE_ADC_InitWrapper(ADC_TypeDef *_ADC, void(*ISR)(uint16_t))
Initializes a wrapper for the specified ADC peripheral.
void HIERODULE_ADC_Enable(HIERODULE_ADC_Wrapper *Wrapper)
Updates relevant control register bits to start ADC action.
void HIERODULE_ADC_ReleaseWrapper(HIERODULE_ADC_Wrapper *Wrapper)
Frees the memory allocated to an ADC wrapper.
void HIERODULE_ADC_Disable(HIERODULE_ADC_Wrapper *Wrapper)
Updates relevant control register bits to stop ADC action.
HIERODULE_USB_Wrapper Wrapper
Extern declaration for the wrapper instance in the source file.
Struct that keeps variables for the ADC data, a pointer to the ADC peripheral and a pointer to the IS...
ADC_TypeDef * _ADC
Pointer to the ADC peripheral.
double FilterWeight
Filter weight for the smoothening filter.
uint16_t Data
Variable to assign the received ADC data.