-
Notifications
You must be signed in to change notification settings - Fork 7.1k
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
Delete i2c cmd_mux semaphore more cleanly (v4.3 branch) (IDFGH-5061) #6846
Conversation
This change fixes an problem we have seen in CircuitPython between The essence of the problem is this sequence: i2c_driver_delete(NULL); // does nothing
i2c_param_config();
i2c_driver_install();
i2c_driver_delete(); // This is crucial.
esp_netif_init();
esp_event_loop_create_default();
xEventGroupCreateStatic();
esp_event_handler_instance_register();
esp_event_handler_instance_register();
esp_wifi_init();
esp_wifi_set_mode();
esp_wifi_start(); I arrived at this change by divide and conquer, seeing which part of the The critical piece of the original xTakeSemaphore();
vSemaphoreDelete(); If the I have tried to create a minimal example in ESP-IDF. I have one I, but the only difference I see immediately is that the Other drivers (e.g., SPI, etc.) do not affect |
Thanks for your contribution. |
Thanks for your contribution, and sorry for late reply, we have put the changes into our internal review queue, and the PR will be updated once the changes are available on GitHub. Thanks. |
Thanks for your contribution again! This PR has been merged into release/v4.3 (commit: |
Thanks for your contribution. |
See adafruit#1 for more info.