Open fralmi1 opened 3 months ago
example_ble_server_throughput.zip
Here are the modified files for the example_ble_server_throughput project.
Might also be related to #12860, where we also sometime have I2C data corruption every few minutes (even though the data on the I2C lines measured with a scope is correct). @fralmi1: does your I2C traffic/errors match the pattern described in https://github.com/espressif/esp-idf/issues/12860#issuecomment-1994040455 (so the corrupted read byte is the same as the byte before)?
Answers checklist.
IDF version.
v4.4.1
Espressif SoC revision.
ESP32-WROVER-E
Operating System used.
Windows
How did you build your project?
VS Code IDE
If you are using Windows, please specify command line type.
PowerShell
Development Kit.
ESP32-LyraT
Power Supply used.
External 5V
What is the expected behavior?
I expected to not get any I2C read errors.
What is the actual behavior?
Instead the read I2C values sometimes differ from the expected one. This occurs once every few minutes.
Steps to reproduce.
Debug Logs.
More Information.
This problem does not occur with IDF v4.3.7 (tested over a long time). I therefore bisected the problem and it lead to one specific commit: d1db2df31670994a5ca60b5d2227f10bb77d9b16 In this commit there were various changes in the bluetooth component including switching to high level interrupts. After disabling CONFIG_BTDM_CTRL_HLI the error does not occur anymore. While this is a temporary fix, we do not know what other side effects this fix has in our firmware. I therefore think this should also be fixed with HLI, since it appears that this is the default setting.
I also found two issues which may be related: https://github.com/espressif/esp-idf/issues/7781 https://github.com/espressif/esp-idf/issues/12494