idfxx 1.0.0
Modern C++23 components for ESP-IDF
Loading...
Searching...
No Matches
ADC Component

Type-safe one-shot and continuous ADC reads for ESP32. More...

Namespaces

namespace  idfxx
 
namespace  idfxx::adc
 ADC classes and utilities.
 

Classes

struct  idfxx::adc::divider_ratio
 External voltage-divider ratio between a source and an ADC pin. More...
 
class  idfxx::adc::input
 A one-shot analog input on a single pin. More...
 
class  idfxx::adc::sampler
 A continuous sampler over one or more analog pins. More...
 

Enumerations

enum class  idfxx::adc::attenuation : uint8_t {
  idfxx::adc::attenuation::db_0 ,
  idfxx::adc::attenuation::db_2_5 ,
  idfxx::adc::attenuation::db_6 ,
  idfxx::adc::attenuation::db_12
}
 Input attenuation, which sets the measurable voltage range. More...
 

Detailed Description

Type-safe one-shot and continuous ADC reads for ESP32.

Two acquisition modes, one type per mode:

In both modes the ADC unit and channel are resolved from the GPIO pin, and readings convert to typed voltages (electro::millivolts) with the chip's factory calibration when available.

Depends on Core Utilities for error handling and GPIO Component for pin configuration.

Enumeration Type Documentation

◆ attenuation

enum class idfxx::adc::attenuation : uint8_t
strong

Input attenuation, which sets the measurable voltage range.

Higher attenuation extends the range at some cost in accuracy. On most chips db_12 measures roughly up to the supply voltage.

Enumerator
db_0 

No attenuation (~0–950 mV typical range).

db_2_5 

~0–1250 mV.

db_6 

~0–1750 mV.

db_12 

~0–3100 mV (full range).

Definition at line 57 of file adc.hpp.