SensorLib 0.5.0
Multi-platform sensor driver library for Arduino, PlatformIO, and ESP-IDF
Loading...
Searching...
No Matches
AXP1xxAdc.hpp
Go to the documentation of this file.
1
31#pragma once
32
33#include <stdint.h>
34#include <math.h>
35#include "../../PmicAdcBase.hpp"
36
37namespace axp1xx
38{
39
50template<typename CoreType, typename RegTraits>
51class AXP1xxAdc : public PmicAdcBase
52{
53public:
58 explicit AXP1xxAdc(CoreType &core) : _core(core) {}
59
60 ~AXP1xxAdc() = default;
61
62
65
77 bool enableChannels(uint32_t mask) override;
78
85 bool disableChannels(uint32_t mask) override;
86
98 bool read(Channel ch, float &out) override;
99
100protected:
101 CoreType &_core;
102
103private:
114 uint16_t readH8L4(uint8_t regH, uint8_t regL);
115
128 uint16_t readH8L5(uint8_t regH, uint8_t regL);
129};
130
131} // namespace axp1xx
132
133#include "AXP1xxAdc_impl.hpp"
@license MIT License
bool disableChannels(Channel mask)
Disable one or more ADC channels by Channel enum.
bool enableChannels(Channel mask)
Enable one or more ADC channels by Channel enum.
Channel
ADC channel bitmask.
Generic ADC implementation for AXP1xx-based PMICs.
Definition AXP1xxAdc.hpp:52
CoreType & _core
Reference to I2C communication core.
bool disableChannels(uint32_t mask) override
Disable one or more ADC channels.
AXP1xxAdc(CoreType &core)
Construct ADC interface.
Definition AXP1xxAdc.hpp:58
bool enableChannels(uint32_t mask) override
Enable one or more ADC channels.
bool read(Channel ch, float &out) override
Read a single ADC channel value.
~AXP1xxAdc()=default