From e06b5b0c2004e1aa448a8b88338f193027b24eaa Mon Sep 17 00:00:00 2001 From: yuri neves Date: Mon, 3 Feb 2025 13:02:42 -0300 Subject: [PATCH 1/9] feat. solved overflow panic on curve cal on _11dB --- esp-hal/src/analog/adc/calibration/curve.rs | 21 ++-- esp-hal/src/analog/adc/calibration/line.rs | 8 +- qa-test/Cargo.toml | 86 +++++++++++---- qa-test/src/bin/adc_calibration.rs | 110 ++++++++++++++++++++ 4 files changed, 180 insertions(+), 45 deletions(-) create mode 100644 qa-test/src/bin/adc_calibration.rs diff --git a/esp-hal/src/analog/adc/calibration/curve.rs b/esp-hal/src/analog/adc/calibration/curve.rs index ce60626d605..f45273497df 100644 --- a/esp-hal/src/analog/adc/calibration/curve.rs +++ b/esp-hal/src/analog/adc/calibration/curve.rs @@ -1,12 +1,7 @@ use core::marker::PhantomData; use crate::analog::adc::{ - AdcCalEfuse, - AdcCalLine, - AdcCalScheme, - AdcHasLineCal, - Attenuation, - CalibrationAccess, + AdcCalEfuse, AdcCalLine, AdcCalScheme, AdcHasLineCal, Attenuation, CalibrationAccess, }; const COEFF_MUL: i64 = 1 << 52; @@ -92,16 +87,12 @@ where let err = if val == 0 { 0 } else { - // err = coeff[0] + coeff[1] * val + coeff[2] * val^2 + ... + coeff[n] * val^n - let mut var = 1i64; - let mut err = (var * self.coeff[0] / COEFF_MUL) as i32; - - for coeff in &self.coeff[1..] { - var *= val as i64; - err += (var * *coeff / COEFF_MUL) as i32; + let x = val as i64; + let mut poly = 0_i64; + for &c in self.coeff.iter().rev() { + poly = poly * x + c; } - - err + (poly / COEFF_MUL) as i32 }; (val as i32 - err) as u16 diff --git a/esp-hal/src/analog/adc/calibration/line.rs b/esp-hal/src/analog/adc/calibration/line.rs index ea6bf66f3b1..79f87b98360 100644 --- a/esp-hal/src/analog/adc/calibration/line.rs +++ b/esp-hal/src/analog/adc/calibration/line.rs @@ -1,13 +1,7 @@ use core::marker::PhantomData; use crate::analog::adc::{ - AdcCalBasic, - AdcCalEfuse, - AdcCalScheme, - AdcCalSource, - AdcConfig, - Attenuation, - CalibrationAccess, + AdcCalBasic, AdcCalEfuse, AdcCalScheme, AdcCalSource, AdcConfig, Attenuation, CalibrationAccess, }; /// Marker trait for ADC units which support line fitting diff --git a/qa-test/Cargo.toml b/qa-test/Cargo.toml index 96cbd1135c9..dfee0066753 100644 --- a/qa-test/Cargo.toml +++ b/qa-test/Cargo.toml @@ -1,38 +1,78 @@ [package] -name = "qa-test" +name = "qa-test" version = "0.0.0" edition = "2021" license = "MIT OR Apache-2.0" publish = false [dependencies] -cfg-if = "1.0.0" -embassy-executor = { version = "0.7.0", features = ["task-arena-size-12288"] } -embassy-time = "0.4.0" -embassy-futures = "0.1.1" -embassy-sync = "0.6.1" -embedded-graphics = "0.8.1" +cfg-if = "1.0.0" +embassy-executor = { version = "0.7.0", features = ["task-arena-size-12288"] } +embassy-time = "0.4.0" +embassy-futures = "0.1.1" +embassy-sync = "0.6.1" +embedded-graphics = "0.8.1" embedded-hal-async = "1.0.0" -esp-alloc = { path = "../esp-alloc" } -esp-backtrace = { path = "../esp-backtrace", features = ["exception-handler", "panic-handler", "println"] } -esp-hal = { path = "../esp-hal", features = ["unstable", "log"] } -esp-hal-embassy = { path = "../esp-hal-embassy" } -esp-println = { path = "../esp-println", features = ["log"] } -lis3dh-async = "0.9.3" -ssd1306 = "0.9.0" +esp-alloc = { path = "../esp-alloc" } +esp-backtrace = { path = "../esp-backtrace", features = [ + "exception-handler", + "panic-handler", + "println", +] } +esp-hal = { path = "../esp-hal", features = ["unstable", "log"] } +esp-hal-embassy = { path = "../esp-hal-embassy" } +esp-println = { path = "../esp-println", features = ["log"] } +lis3dh-async = "0.9.3" +ssd1306 = "0.9.0" [features] unstable = [] -esp32 = ["esp-backtrace/esp32", "esp-hal/esp32", "esp-hal-embassy/esp32", "esp-println/esp32"] -esp32c2 = ["esp-backtrace/esp32c2", "esp-hal/esp32c2", "esp-hal-embassy/esp32c2", "esp-println/esp32c2"] -esp32c3 = ["esp-backtrace/esp32c3", "esp-hal/esp32c3", "esp-hal-embassy/esp32c3", "esp-println/esp32c3"] -esp32c6 = ["esp-backtrace/esp32c6", "esp-hal/esp32c6", "esp-hal-embassy/esp32c6", "esp-println/esp32c6"] -esp32h2 = ["esp-backtrace/esp32h2", "esp-hal/esp32h2", "esp-hal-embassy/esp32h2", "esp-println/esp32h2"] -esp32s2 = ["esp-backtrace/esp32s2", "esp-hal/esp32s2", "esp-hal-embassy/esp32s2", "esp-println/esp32s2"] -esp32s3 = ["esp-backtrace/esp32s3", "esp-hal/esp32s3", "esp-hal-embassy/esp32s3", "esp-println/esp32s3"] +esp32 = [ + "esp-backtrace/esp32", + "esp-hal/esp32", + "esp-hal-embassy/esp32", + "esp-println/esp32", +] +esp32c2 = [ + "esp-backtrace/esp32c2", + "esp-hal/esp32c2", + "esp-hal-embassy/esp32c2", + "esp-println/esp32c2", +] +esp32c3 = [ + "esp-backtrace/esp32c3", + "esp-hal/esp32c3", + "esp-hal-embassy/esp32c3", + "esp-println/esp32c3", +] +esp32c6 = [ + "esp-backtrace/esp32c6", + "esp-hal/esp32c6", + "esp-hal-embassy/esp32c6", + "esp-println/esp32c6", +] +esp32h2 = [ + "esp-backtrace/esp32h2", + "esp-hal/esp32h2", + "esp-hal-embassy/esp32h2", + "esp-println/esp32h2", +] +esp32s2 = [ + "esp-backtrace/esp32s2", + "esp-hal/esp32s2", + "esp-hal-embassy/esp32s2", + "esp-println/esp32s2", +] +esp32s3 = [ + "esp-backtrace/esp32s3", + "esp-hal/esp32s3", + "esp-hal-embassy/esp32s3", + "esp-println/esp32s3", +] [profile.release] -debug = 2 +debug = 2 +overflow-checks = true debug-assertions = true -lto = "fat" +lto = "fat" codegen-units = 1 diff --git a/qa-test/src/bin/adc_calibration.rs b/qa-test/src/bin/adc_calibration.rs new file mode 100644 index 00000000000..e20a97e9852 --- /dev/null +++ b/qa-test/src/bin/adc_calibration.rs @@ -0,0 +1,110 @@ +//! This example tests all calibration types with all Attenuations +//! and continuosly read and print ADC read pin values. +//! +//! Following pins are used: +//! - ADC read pin => GPIO3 + +//% CHIPS: esp32c2 esp32c3 esp32c6 esp32s3 + +#![no_std] +#![no_main] + +use embassy_executor::Spawner; +use embassy_time::Timer; +use esp_backtrace as _; +use esp_hal::analog::adc::*; +use esp_hal::delay::Delay; +use esp_hal::gpio::GpioPin; +use esp_hal::main; +use esp_hal::peripherals::ADC1; +use esp_println::*; + +// Samples per second +const SAMPLES: usize = 100; + +#[esp_hal_embassy::main] +async fn main(_spawner: Spawner) -> ! { + esp_println::logger::init_logger_from_env(); + + println!("\nStarting adc overflow check"); + + let ph = esp_hal::init(esp_hal::Config::default()); + + let atenuattion: &[Attenuation] = &[ + Attenuation::_0dB, + #[cfg(not(feature = "esp32c2"))] + Attenuation::_2p5dB, + #[cfg(not(feature = "esp32c2"))] + Attenuation::_6dB, + Attenuation::_11dB, + ]; + + //check for overflow + for atn in atenuattion { + println!(); + println!("Starting Test with {:?} Attenuation:", atn); + println!(); + + let basic = AdcCalBasic::::new_cal(*atn); + + //only resolution its 13b + for value in 0..4096 { + basic.adc_val(value); + } + + println!("Passed basic calibration."); + + let line = AdcCalLine::::new_cal(*atn); + + //only resolution its 13b + for value in 0..4096 { + line.adc_val(value); + } + + println!("Passed line calibration."); + + cfg_if::cfg_if! { + if #[cfg(not(feature = "esp32c2"))] + { + let curve = AdcCalCurve::::new_cal(*atn); + + //only resolution its 13b + for value in 0..4096 { + curve.adc_val(value); + } + + println!( + "Passed curve calibration." + ); + } + } + } + + let mut adc1_config = AdcConfig::new(); + + // this need to be called to calibrate the esp + AdcConfig::::adc_calibrate(Attenuation::_11dB, AdcCalSource::Ref); + + // Instead of create a new calibration and convert outside, attach the pin with a calibration scheme + let mut pin = adc1_config + .enable_pin_with_cal::, AdcCalCurve>(ph.GPIO3, Attenuation::_11dB); + + let mut adc = Adc::new(ph.ADC1, adc1_config); + + let delay = Delay::new(); + + loop { + // Taking the arithmetic average over 1 Second + let average = { + let mut val = 0.0; + for _ in 1..SAMPLES { + val += (adc.read_blocking(&mut pin) as f32) / 1000.0; + + delay.delay_millis(1000 / SAMPLES as u32); + } + val + } / SAMPLES as f32; + + println!("Value: {:?}", average); + } +} From 40bd9d31ad646f17a6420919b3b9e3f7b89d9cca Mon Sep 17 00:00:00 2001 From: yuri neves Date: Mon, 3 Feb 2025 13:06:54 -0300 Subject: [PATCH 2/9] chore. runned xtask format to format the code --- esp-hal/src/analog/adc/calibration/curve.rs | 7 ++++++- esp-hal/src/analog/adc/calibration/line.rs | 8 +++++++- qa-test/src/bin/adc_calibration.rs | 15 ++++++--------- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/esp-hal/src/analog/adc/calibration/curve.rs b/esp-hal/src/analog/adc/calibration/curve.rs index f45273497df..d58f9f5c004 100644 --- a/esp-hal/src/analog/adc/calibration/curve.rs +++ b/esp-hal/src/analog/adc/calibration/curve.rs @@ -1,7 +1,12 @@ use core::marker::PhantomData; use crate::analog::adc::{ - AdcCalEfuse, AdcCalLine, AdcCalScheme, AdcHasLineCal, Attenuation, CalibrationAccess, + AdcCalEfuse, + AdcCalLine, + AdcCalScheme, + AdcHasLineCal, + Attenuation, + CalibrationAccess, }; const COEFF_MUL: i64 = 1 << 52; diff --git a/esp-hal/src/analog/adc/calibration/line.rs b/esp-hal/src/analog/adc/calibration/line.rs index 79f87b98360..ea6bf66f3b1 100644 --- a/esp-hal/src/analog/adc/calibration/line.rs +++ b/esp-hal/src/analog/adc/calibration/line.rs @@ -1,7 +1,13 @@ use core::marker::PhantomData; use crate::analog::adc::{ - AdcCalBasic, AdcCalEfuse, AdcCalScheme, AdcCalSource, AdcConfig, Attenuation, CalibrationAccess, + AdcCalBasic, + AdcCalEfuse, + AdcCalScheme, + AdcCalSource, + AdcConfig, + Attenuation, + CalibrationAccess, }; /// Marker trait for ADC units which support line fitting diff --git a/qa-test/src/bin/adc_calibration.rs b/qa-test/src/bin/adc_calibration.rs index e20a97e9852..5539abaa3d8 100644 --- a/qa-test/src/bin/adc_calibration.rs +++ b/qa-test/src/bin/adc_calibration.rs @@ -12,11 +12,7 @@ use embassy_executor::Spawner; use embassy_time::Timer; use esp_backtrace as _; -use esp_hal::analog::adc::*; -use esp_hal::delay::Delay; -use esp_hal::gpio::GpioPin; -use esp_hal::main; -use esp_hal::peripherals::ADC1; +use esp_hal::{analog::adc::*, delay::Delay, gpio::GpioPin, main, peripherals::ADC1}; use esp_println::*; // Samples per second @@ -39,7 +35,7 @@ async fn main(_spawner: Spawner) -> ! { Attenuation::_11dB, ]; - //check for overflow + // check for overflow for atn in atenuattion { println!(); println!("Starting Test with {:?} Attenuation:", atn); @@ -47,7 +43,7 @@ async fn main(_spawner: Spawner) -> ! { let basic = AdcCalBasic::::new_cal(*atn); - //only resolution its 13b + // only resolution its 13b for value in 0..4096 { basic.adc_val(value); } @@ -56,7 +52,7 @@ async fn main(_spawner: Spawner) -> ! { let line = AdcCalLine::::new_cal(*atn); - //only resolution its 13b + // only resolution its 13b for value in 0..4096 { line.adc_val(value); } @@ -85,7 +81,8 @@ async fn main(_spawner: Spawner) -> ! { // this need to be called to calibrate the esp AdcConfig::::adc_calibrate(Attenuation::_11dB, AdcCalSource::Ref); - // Instead of create a new calibration and convert outside, attach the pin with a calibration scheme + // Instead of create a new calibration and convert outside, attach the pin with + // a calibration scheme let mut pin = adc1_config .enable_pin_with_cal::, AdcCalCurve>(ph.GPIO3, Attenuation::_11dB); From 0a283d5d5106308d2d0bb18529c903b9dc8b0f39 Mon Sep 17 00:00:00 2001 From: yuri neves Date: Mon, 3 Feb 2025 14:34:31 -0300 Subject: [PATCH 3/9] chore. added changelog info --- esp-hal/CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/esp-hal/CHANGELOG.md b/esp-hal/CHANGELOG.md index d4f643acd08..8539c8559d4 100644 --- a/esp-hal/CHANGELOG.md +++ b/esp-hal/CHANGELOG.md @@ -39,6 +39,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `DmaDescriptor` is now `#[repr(C)]` (#2988) - Fixed an issue that caused LCD_CAM drivers to turn off their clocks unexpectedly (#3007) - Fixed an issue where DMA-driver peripherals started transferring before the data was ready (#3003) +- Fixed an issue where ADC Curve Calibration overflows when converting from a value > 3095 (#3061) + ### Removed From 1116db50f6ababd1c84407608333ed67b47a04f6 Mon Sep 17 00:00:00 2001 From: yuri neves Date: Mon, 3 Feb 2025 15:18:08 -0300 Subject: [PATCH 4/9] chore. removed unused imports --- qa-test/src/bin/adc_calibration.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/qa-test/src/bin/adc_calibration.rs b/qa-test/src/bin/adc_calibration.rs index 5539abaa3d8..537c5556d70 100644 --- a/qa-test/src/bin/adc_calibration.rs +++ b/qa-test/src/bin/adc_calibration.rs @@ -10,9 +10,8 @@ #![no_main] use embassy_executor::Spawner; -use embassy_time::Timer; use esp_backtrace as _; -use esp_hal::{analog::adc::*, delay::Delay, gpio::GpioPin, main, peripherals::ADC1}; +use esp_hal::{analog::adc::*, delay::Delay, gpio::GpioPin, peripherals::ADC1}; use esp_println::*; // Samples per second From e49cca2879c48097fff00d6363faf3ac35ed2fb7 Mon Sep 17 00:00:00 2001 From: yuri neves Date: Mon, 3 Feb 2025 15:36:06 -0300 Subject: [PATCH 5/9] chore. removed other chips from adc calibration test, left just esp32s3 (tested) --- qa-test/src/bin/adc_calibration.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qa-test/src/bin/adc_calibration.rs b/qa-test/src/bin/adc_calibration.rs index 537c5556d70..7b0ddd70f5e 100644 --- a/qa-test/src/bin/adc_calibration.rs +++ b/qa-test/src/bin/adc_calibration.rs @@ -4,7 +4,7 @@ //! Following pins are used: //! - ADC read pin => GPIO3 -//% CHIPS: esp32c2 esp32c3 esp32c6 esp32s3 +//% CHIPS: esp32s3 #![no_std] #![no_main] From 7825c8795564d4092fe3ca3cd08274ab92ff7195 Mon Sep 17 00:00:00 2001 From: yuri neves Date: Tue, 4 Feb 2025 10:16:14 -0300 Subject: [PATCH 6/9] chore. revert the cargo toml reformat --- qa-test/Cargo.toml | 88 +++++++++++----------------------------------- 1 file changed, 21 insertions(+), 67 deletions(-) diff --git a/qa-test/Cargo.toml b/qa-test/Cargo.toml index dfee0066753..cc2669cc856 100644 --- a/qa-test/Cargo.toml +++ b/qa-test/Cargo.toml @@ -1,78 +1,32 @@ [package] -name = "qa-test" +name = "qa-test" version = "0.0.0" edition = "2021" license = "MIT OR Apache-2.0" publish = false [dependencies] -cfg-if = "1.0.0" -embassy-executor = { version = "0.7.0", features = ["task-arena-size-12288"] } -embassy-time = "0.4.0" -embassy-futures = "0.1.1" -embassy-sync = "0.6.1" -embedded-graphics = "0.8.1" +cfg-if = "1.0.0" +embassy-executor = { version = "0.7.0", features = ["task-arena-size-12288"] } +embassy-time = "0.4.0" +embassy-futures = "0.1.1" +embassy-sync = "0.6.1" +embedded-graphics = "0.8.1" embedded-hal-async = "1.0.0" -esp-alloc = { path = "../esp-alloc" } -esp-backtrace = { path = "../esp-backtrace", features = [ - "exception-handler", - "panic-handler", - "println", -] } -esp-hal = { path = "../esp-hal", features = ["unstable", "log"] } -esp-hal-embassy = { path = "../esp-hal-embassy" } -esp-println = { path = "../esp-println", features = ["log"] } -lis3dh-async = "0.9.3" -ssd1306 = "0.9.0" +esp-alloc = { path = "../esp-alloc" } +esp-backtrace = { path = "../esp-backtrace", features = ["exception-handler", "panic-handler", "println"] } +esp-hal = { path = "../esp-hal", features = ["unstable", "log"] } +esp-hal-embassy = { path = "../esp-hal-embassy" } +esp-println = { path = "../esp-println", features = ["log"] } +lis3dh-async = "0.9.3" +ssd1306 = "0.9.0" [features] unstable = [] -esp32 = [ - "esp-backtrace/esp32", - "esp-hal/esp32", - "esp-hal-embassy/esp32", - "esp-println/esp32", -] -esp32c2 = [ - "esp-backtrace/esp32c2", - "esp-hal/esp32c2", - "esp-hal-embassy/esp32c2", - "esp-println/esp32c2", -] -esp32c3 = [ - "esp-backtrace/esp32c3", - "esp-hal/esp32c3", - "esp-hal-embassy/esp32c3", - "esp-println/esp32c3", -] -esp32c6 = [ - "esp-backtrace/esp32c6", - "esp-hal/esp32c6", - "esp-hal-embassy/esp32c6", - "esp-println/esp32c6", -] -esp32h2 = [ - "esp-backtrace/esp32h2", - "esp-hal/esp32h2", - "esp-hal-embassy/esp32h2", - "esp-println/esp32h2", -] -esp32s2 = [ - "esp-backtrace/esp32s2", - "esp-hal/esp32s2", - "esp-hal-embassy/esp32s2", - "esp-println/esp32s2", -] -esp32s3 = [ - "esp-backtrace/esp32s3", - "esp-hal/esp32s3", - "esp-hal-embassy/esp32s3", - "esp-println/esp32s3", -] - -[profile.release] -debug = 2 -overflow-checks = true -debug-assertions = true -lto = "fat" -codegen-units = 1 +esp32 = ["esp-backtrace/esp32", "esp-hal/esp32", "esp-hal-embassy/esp32", "esp-println/esp32"] +esp32c2 = ["esp-backtrace/esp32c2", "esp-hal/esp32c2", "esp-hal-embassy/esp32c2", "esp-println/esp32c2"] +esp32c3 = ["esp-backtrace/esp32c3", "esp-hal/esp32c3", "esp-hal-embassy/esp32c3", "esp-println/esp32c3"] +esp32c6 = ["esp-backtrace/esp32c6", "esp-hal/esp32c6", "esp-hal-embassy/esp32c6", "esp-println/esp32c6"] +esp32h2 = ["esp-backtrace/esp32h2", "esp-hal/esp32h2", "esp-hal-embassy/esp32h2", "esp-println/esp32h2"] +esp32s2 = ["esp-backtrace/esp32s2", "esp-hal/esp32s2", "esp-hal-embassy/esp32s2", "esp-println/esp32s2"] +esp32s3 = ["esp-backtrace/esp32s3", "esp-hal/esp32s3", "esp-hal-embassy/esp32s3", "esp-println/esp32s3"] \ No newline at end of file From 6a0effb8a82540a196b050a0131a3854c103092c Mon Sep 17 00:00:00 2001 From: yuri neves Date: Tue, 4 Feb 2025 11:14:07 -0300 Subject: [PATCH 7/9] chore. removed innapropriate async from entry poit --- qa-test/src/bin/adc_calibration.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/qa-test/src/bin/adc_calibration.rs b/qa-test/src/bin/adc_calibration.rs index 7b0ddd70f5e..ee363fd567f 100644 --- a/qa-test/src/bin/adc_calibration.rs +++ b/qa-test/src/bin/adc_calibration.rs @@ -9,7 +9,6 @@ #![no_std] #![no_main] -use embassy_executor::Spawner; use esp_backtrace as _; use esp_hal::{analog::adc::*, delay::Delay, gpio::GpioPin, peripherals::ADC1}; use esp_println::*; @@ -17,8 +16,8 @@ use esp_println::*; // Samples per second const SAMPLES: usize = 100; -#[esp_hal_embassy::main] -async fn main(_spawner: Spawner) -> ! { +#[main] +fn main() -> ! { esp_println::logger::init_logger_from_env(); println!("\nStarting adc overflow check"); From f03adac3bae8911434560146e417a49200e64dd6 Mon Sep 17 00:00:00 2001 From: Yuri Neves Date: Tue, 4 Feb 2025 11:21:43 -0300 Subject: [PATCH 8/9] chore. fix cargo toml missinf profile --- qa-test/Cargo.toml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/qa-test/Cargo.toml b/qa-test/Cargo.toml index cc2669cc856..96cbd1135c9 100644 --- a/qa-test/Cargo.toml +++ b/qa-test/Cargo.toml @@ -29,4 +29,10 @@ esp32c3 = ["esp-backtrace/esp32c3", "esp-hal/esp32c3", "esp-hal-embassy/esp32c3" esp32c6 = ["esp-backtrace/esp32c6", "esp-hal/esp32c6", "esp-hal-embassy/esp32c6", "esp-println/esp32c6"] esp32h2 = ["esp-backtrace/esp32h2", "esp-hal/esp32h2", "esp-hal-embassy/esp32h2", "esp-println/esp32h2"] esp32s2 = ["esp-backtrace/esp32s2", "esp-hal/esp32s2", "esp-hal-embassy/esp32s2", "esp-println/esp32s2"] -esp32s3 = ["esp-backtrace/esp32s3", "esp-hal/esp32s3", "esp-hal-embassy/esp32s3", "esp-println/esp32s3"] \ No newline at end of file +esp32s3 = ["esp-backtrace/esp32s3", "esp-hal/esp32s3", "esp-hal-embassy/esp32s3", "esp-println/esp32s3"] + +[profile.release] +debug = 2 +debug-assertions = true +lto = "fat" +codegen-units = 1 From 287f69f82793a0fc075ddeb51f6b5bb6bb2d8a63 Mon Sep 17 00:00:00 2001 From: yuri neves Date: Tue, 4 Feb 2025 11:52:34 -0300 Subject: [PATCH 9/9] chore. added main into the scope --- qa-test/src/bin/adc_calibration.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qa-test/src/bin/adc_calibration.rs b/qa-test/src/bin/adc_calibration.rs index ee363fd567f..43d82727821 100644 --- a/qa-test/src/bin/adc_calibration.rs +++ b/qa-test/src/bin/adc_calibration.rs @@ -10,7 +10,7 @@ #![no_main] use esp_backtrace as _; -use esp_hal::{analog::adc::*, delay::Delay, gpio::GpioPin, peripherals::ADC1}; +use esp_hal::{analog::adc::*, delay::Delay, gpio::GpioPin, main, peripherals::ADC1}; use esp_println::*; // Samples per second