use esp_idf_sys as _;
use std::thread;
use std::time::Duration;
use esp_idf_hal::adc::config::Config;
use esp_idf_hal::adc::Atten11dB;
use esp_idf_hal::adc::*;
use esp_idf_hal::peripherals::Peripherals;
use esp_idf_hal::gpio::{Gpio32, Gpio33};
fn main() -> anyhow::Result<()> {
let peripherals = Peripherals::take().unwrap();
let mut adc1: AdcDriver<ADC1> =
AdcDriver::new(peripherals.adc1, &Config::new().calibration(true))?;
let mut adc_pin32: esp_idf_hal::adc::AdcChannelDriver<'_, Gpio32, Atten11dB<_>> =
AdcChannelDriver::new(peripherals.pins.gpio32)?;
let mut adc_pin33: esp_idf_hal::adc::AdcChannelDriver<'_, Gpio33, Atten11dB<_>> =
AdcChannelDriver::new(peripherals.pins.gpio33)?;
loop {
thread::sleep(Duration::from_millis(10));
let adc_pin32_result = adc1.read(&mut adc_pin32)?;
let adc_pin33_result = adc1.read(&mut adc_pin33)?;
println!("Pin 32: {}, Pin 33: {}", adc_pin32_result, adc_pin33_result);
}
}