-
Notifications
You must be signed in to change notification settings - Fork 7.4k
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
i2c_master.h for ESP8266 RTOS SDK (IDFGH-13827) #14678
Comments
Hi @trombik, thank you for your great work on the esp-idf-lib project. As you know, the ESP8266 RTOS SDK is under very limited maintenance and is based on a much older version of IDF, which has undergone significant changes since then. We will assess the effort required to support the new I2C driver and get back to you later. |
@wujiangang Thank you for the feedback. Yes, I can guess how difficult to support Thanks. |
Hi @trombik Could you give me a list about your used APIs in IDF's |
@donghengqaz Technically, it is possible to wrap all the functions of If you have a better idea to support ESP8266, I am all ears. |
I check your PR, it is very valuable for reference. If your requirement is to implement the esp-idf v5.2 I2C APIs for 8266, I will try to do this. Maybe 2 weeks later or even next week, I may upload a beta version. |
@donghengqaz That's incredible. Some notes:
|
I started porting a few drivers utilizing the latest design pattern with i2c_master.h. However, ever since I upgrade to ESP-IDF v5.3.1 I have been getting unexpected NACK errors on a few sensors, even with pull-up resistors, and trouble shooting with a logic analyzer. It is probably something else causing the problem. Examples are here but they haven't been updated to work with ESP-IDF v.5.3.1: https://github.com/K0I05/esp32-s3 I'll post updated libraries for ESP-IDF v.5.3.1 soon. |
@K0I05 please don't hijack the issue with an irrelevant issue. |
at least I contributed to the relevant issue, the existing libraries are helpful but the design pattern is dated. |
Hi @trombik I develop the I2C wrapper APIs, the source code is in attachment This suit also lacks of async APIs, because the original ESP8266 I2C driver doesn't support this, if you really need this, I will try to implement this, but this is much complex than just adding wrapper APIs. From the next week, I am to support customers, so more I2C APIs testing have to be stopped, and when I am free from this work, the testing will continue. I hope my code is helpful to you. |
@donghengqaz That's great, thanks. I will review it and make a branch for it in As for async APIs, no, it's not mandatory (the existing APIs and drivers are not async either). We will internally talk and decide what we should do. I am grateful that you contributed so much when you have other tasks. |
A branch in our repository was made and I will close this. Thank you for all the help. We will also continue to support Espressif and its products. |
Is your feature request related to a problem?
We are maintaining device drivers for
esp-idf
and ESP8266 RTOS SDK at https://github.com/UncleRus/esp-idf-lib/. Recently, users asked for updating our libraries to newer I2C driver introduced inesp-idf
5.2. We are willing to do so but the issue is ESP8266 support. Asi2c_master.h
is completely different fromi2c.h
, it is not practically possible to maintain two versions of each i2c drivers. Our options are:i2c.h
andi2c_master.h
i2c.h
andi2c_master.h
by creating two versions of the driversIt seems that 1st and 2nd are not practically possible. We do want to avoid 3rd.
Do you have any plan to add
i2c_master.h
and its friends to ESP8266 RTOS SDK? If you do, we can continue to support ESP8266.I do know that this repository is for
esp-idf
, but the maintainers of ESP8266 RTOS SDK repository rarely reply to issues or PRs, I am asking here.See also: UncleRus/esp-idf-lib#655
Describe the solution you'd like.
Update ESP8266 RTOS SDK with
i2c_master.h
and its friends.Describe alternatives you've considered.
See above.
Additional context.
Thanks to the common I2C component and the interface, we have been able to support ESP8266 and ESP32. We do know Espressif has few reasons to update ESP8266 RTOS SDK, but I saw some ESP8266 support is still in some tools, like the latest toolchains. We don't have numbers, but there are users who still want to use ESP8266 RTOS SDK and our drivers.
The text was updated successfully, but these errors were encountered: