Description
Describe the bug
When trying for example the Inline current sensing test, the ESP32-S3 (esp32-s3-devkitc-1 v1.0), the esp32 is not printing anything. After some debugging, we discovered that it is stuck in adcRead (https://github.com/simplefoc/Arduino-FOC/blob/master/src/current_sense/hardware_specific/esp32/esp32s_adc_driver.cpp). We found that the while loop checking if the adc is ready is causing the problem (with our pin configuration, its the bottom one in line 241):
Arduino-FOC/src/current_sense/hardware_specific/esp32/esp32s_adc_driver.cpp
Lines 237 to 243 in 05954cb
When adding this line of code, I can see "reg: 80160000" inside the serial monitor:
Serial.printf("reg %x\n", READ_PERI_REG(SENS_SAR_MEAS1_CTRL2_REG));
Describe the hardware setup
For us it is very important to know what is the hardware setup you're using in order to be able to help more directly
- Which motor: None (devboard only)
- Which driver: None
- Which microcontroller: Espressif ESP32-S3-DevKitC-1
- Which position sensor: None
- Current sensing used? Yes
IDE you are using
- Visual Studio Code with Platformio
- [email protected] (latest)
[env:esp32-s3-devkitc-1]
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
lib_deps = askuric/Simple [email protected]
lib_archive = false
monitor_speed = 115200
upload_speed = 921600
We tried this with multiple esp32-s3 boards, and did not get it to work. When using this platformio configuration for normal esp32 (not S3!), it works however (same code):
[env:esp32dev]
platform = [email protected]
board = esp32dev
framework = arduino
lib_deps = askuric/Simple [email protected]
lib_archive = false
monitor_speed = 115200
upload_speed = 921600