140 template<
typename Func>
144 uint32_t bit = mask & (-mask);
159 static_cast<uint16_t
>(a) |
static_cast<uint16_t
>(b));
PmicAdcBase::Channel & operator|=(PmicAdcBase::Channel &a, PmicAdcBase::Channel b)
Bitwise OR assignment operator for Channel values.
PmicAdcBase::Channel operator|(PmicAdcBase::Channel a, PmicAdcBase::Channel b)
Bitwise OR operator for combining Channel values.
static void forEachChannel(uint32_t mask, Func fn)
Helper to iterate over set bits in a bitmask.
bool disableChannels(Channel mask)
Disable one or more ADC channels by Channel enum.
virtual bool read(Channel ch, float &out)=0
Read a single ADC channel value.
virtual ~PmicAdcBase()=default
bool enableChannels(Channel mask)
Enable one or more ADC channels by Channel enum.
Channel
ADC channel bitmask.
@ BAT_PERCENTAGE
Battery percentage.
@ DIE_TEMPERATURE
Die temperature.
@ BAT_VOLTAGE
Battery voltage.
@ BAT_TEMPERATURE
Battery temperature.
@ ACIN_VOLTAGE
ACIN voltage.
@ BAT_CURRENT
Battery current.
@ VBUS_CURRENT
VBUS current.
@ VBUS_VOLTAGE
VBUS voltage.
@ ACIN_CURRENT
ACIN current.
@ VSYS_VOLTAGE
VSYS voltage.
virtual bool disableChannels(uint32_t mask)=0
Disable one or more ADC channels.
virtual bool enableChannels(uint32_t mask)=0
Enable one or more ADC channels.