29 lines
922 B
C++
29 lines
922 B
C++
#pragma once
|
|
#include <stdint.h>
|
|
|
|
class Adc
|
|
{
|
|
public:
|
|
|
|
inline static void* userData_ = nullptr;
|
|
inline static void (*sampleCallback_)(uint16_t sample, void* userData) = nullptr;
|
|
|
|
static constexpr uint8_t VREF_VCC = 0b0000;
|
|
static constexpr uint8_t VREF_1_1 = 0b0010;
|
|
static constexpr uint8_t VREF_2_56 = 0b0110;
|
|
static constexpr uint8_t VREF_EXT = 0b0001;
|
|
|
|
static constexpr uint8_t IN_ADC0 = 0b0000;
|
|
static constexpr uint8_t IN_ADC1 = 0b0001;
|
|
static constexpr uint8_t IN_ADC2 = 0b0010;
|
|
static constexpr uint8_t IN_ADC3 = 0b0011;
|
|
static constexpr uint8_t IN_ADC4 = 0b1111;
|
|
|
|
Adc(void (*sampleCallback)(uint16_t sample, void* userData), void* userData = nullptr, uint8_t input = IN_ADC0, uint8_t referance = VREF_2_56);
|
|
~Adc();
|
|
|
|
void setInput(const uint8_t input);
|
|
void setReferance(const uint8_t referance);
|
|
void aquire();
|
|
};
|