Open mailonghua opened 9 months ago
I think I have located this problem. This is a bug. Each ADC of esp32s3 has 10 channels 0~9, and the SENS_SAR_MEAS1_CTRL2_REG register shows the status of ADC1, and SENS_SAR_MEAS2_CTRL2_REG shows the status of ADC2. But when I use GPIO9, currently The judgment detects BIT16 of SENS_SAR_MEAS2_CTRL2_REG, which belongs to ADC2. When I change if(channel > 7) to if(channel > 9), my current program is normal. But I think this method may not be appropriate for ADC2
I think I have located this problem. This is a bug. Each ADC of esp32s3 has 10 channels 0~9, and the SENS_SAR_MEAS1_CTRL2_REG register shows the status of ADC1, and SENS_SAR_MEAS2_CTRL2_REG shows the status of ADC2. But when I use GPIO9, currently The judgment detects BIT16 of SENS_SAR_MEAS2_CTRL2_REG, which belongs to ADC2. When I change if(channel > 7) to if(channel > 9), my current program is normal. But I think this method may not be appropriate for ADC2
Simple FOC\src\current_sense\hardware_specific\esp32\esp32s_adc_driver.cpp :237
Thank you very much for reporting this and finding the solution! We'll look into it as soon as we can!
Probably a duplicate: #295
Describe the bug When using SimpleFOC, the program will stay at the current_sense.init(); function location
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
Config file [env:esp32-s3-devkitc-1] platform = https://github.com/platformio/platform-espressif32.git board = esp32-s3-devkitc-1 framework = arduino monitor_speed = 115200 lib_deps = askuric/Simple FOC @ ^2.3.1 SPI Wire lib_archive = false
CurrentCode
include
define A0 8
define A1 9
// current sensor // shunt resistor value // gain value // pins phase A,B, (C optional) InlineCurrentSense current_sense = InlineCurrentSense(0.01f, 50.0f, 8, 9);
void setup() { Serial.begin(115200); Serial.println("Start init current sense"); // initialise the current sensing current_sense.init(); Serial.println("End init current sense");
// for SimpleFOCShield v2.01/v2.0.2 current_sense.gain_b *= -1;
Serial.println("Current sense ready."); }
void loop() {
}
Out ESP-ROM:esp32s3-20210327 Build:Mar 27 2021 rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT) SPIWP:0xee mode:DIO, clock div:1 load:0x3fce3808,len:0x44c load:0x403c9700,len:0xbe4 load:0x403cc700,len:0x2a68 entry 0x403c98d4 Start init current sense