-
Notifications
You must be signed in to change notification settings - Fork 7.6k
I2C support - Specification/Solution #5478
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Just as another data point was playing with an Adafruit Feather ESP32-S2 in the middle of the night last night using 2.0.0rc1 and ran into this problem using an adafruit OLD 128x64 and a sparkfun ICM90468 Imu. Know this is in work but is there any time time line for release with the fix. Understand lots going on - just wondering. |
Hi I think am having the same issue. I am using an ESP32-S2 Saola 1M, with the Aduino IDEI (Mac), using the espressif esp32 2.0.0-rc1 library in the board manager. This is the i2c scanner code I am using: #include <Wire.h> TwoWire I2CBME = TwoWire(0); void PrintErrors(bool bResult) { void PrintError(byte errorNumber) { void setup() { void loop() { if (nDevices == 0) { delay(5000); This is the error in the Serial Monitor: Guru Meditation Error: Core 0 panic'ed (Interrupt wdt timeout on CPU0). Core 0 register dump: Backtrace:0x4002bb90:0x3ffc03300x4002a10c:0x3ffc0350 0x40026ee1:0x3ffc0380 0x40027566:0x3ffc03b0 0x4002b51d:0x3ffc7ae0 0x4008959b:0x3ffc7b20 0x40081458:0x3ffc7b70 0x40081265:0x3ffc7b90 0x400812d9:0x3ffc7bb0 0x4008104f:0x3ffc7bd0 0x40081d69:0x3ffc7bf0 ELF file SHA256: 0000000000000000 Rebooting... And this is the output from the exception decoder: PC: 0x4002bb93: vPortEnterCritical at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/freertos/port/xtensa/port.c line 450 Decoding stack results I hope someone can help. Many thanks !!! |
Having the same issue with Unexpected Maker Feather S2; have reverted to alpha1 for the moment |
Have managed to get i2c scanner working. I added the error code for every address for debugging purposes. Turns out the issue is that the example does a Wire.beginTransmission() and Wire.endTransmission() Sending an empty array to a non-device, isn't an issue, because there's nothing there. `/* #ifdef CORE_DEBUG_LEVEL #define CORE_DEBUG_LEVEL 3 #include <Wire.h> byte address; // For printing error information TwoWire I2CBME = TwoWire(0); void PrintErrors(bool bResult) { void PrintError(byte errorNumber) { void setup() { void loop() { if (nDevices == 0) { delay(5000); |
did not crash, indeed but also did not find my I2C sensor..... Nasty, it did work in the Alpha release :( |
The code finds the device address. This is the serial output I get, I've highlighted the i2c device. Default I2C buffer length: 128 |
Hmm, strange I got the no device found message. But the good news, the published fix for this, to change the ESP_HAL_I2C.C file work for me. |
@mjs513 @Stresspuppy67 @evalstate @jandegr |
Hi could you please re-test with this new PR: #5683 |
Current state:
To-Do:
Find a solution for I2C support and implement it in next release.
Related issues:
#4729
#118
#5470
The text was updated successfully, but these errors were encountered: