Skip to content
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

Change GPIO to use ESP-IDF API (C) #6120

Closed
VojtechBartoska opened this issue Jan 10, 2022 · 12 comments · Fixed by #6259
Closed

Change GPIO to use ESP-IDF API (C) #6120

VojtechBartoska opened this issue Jan 10, 2022 · 12 comments · Fixed by #6259
Assignees
Labels
Area: Peripherals API Relates to peripheral's APIs.
Milestone

Comments

@VojtechBartoska
Copy link
Collaborator

This issue tracks refactoring of GPIO to use ESP-IDF API.

No related issues have been found.

@VojtechBartoska VojtechBartoska added the Area: Peripherals API Relates to peripheral's APIs. label Jan 10, 2022
@VojtechBartoska VojtechBartoska added this to the 2.0.3 milestone Jan 10, 2022
@sylvioalves
Copy link

@VojtechBartoska I think OneWire feature isn't working as it fails for ESP32C3 when building some DS18B20 temperature sensor. I guess it is GPIO related.

@Jason2866
Copy link
Collaborator

@sylvioalves DS18B20 does work with the C3. Probably your used OneWire lib is not core 2.0.x ready. See changes made in Stickbreakers OneWire lib made here arendst/Tasmota@3cb48f1

@sylvioalves
Copy link

sylvioalves commented Jan 11, 2022

@Jason2866 I understand. However, for common users, how would they know that or which OneWire lib to use? If you type OneWire to install a new library, there happens to be more than 5 libs and at least 2 of then does not work. So what would be the recommended way of having any OneWire library working? Well, I am not following the development as is, so my question is really as an end-user one.

@Jason2866
Copy link
Collaborator

@sylvioalves That's in general a Arduino library problem. Many do not work reliable since the are designed to be used with many different MCU. Maybe espressif can recommend a library and supports to maintain?

@Jason2866
Copy link
Collaborator

@sylvioalves The maintainer of Tasmota fixed the onewire lib.
arendst/Tasmota@165880f

@sylvioalves
Copy link

@Jason2866 thanks for the heads up!

@SuGlider
Copy link
Collaborator

@VojtechBartoska @me-no-dev
What do you think about adding an official OneWire library to ESP Arduino Framework?

@me-no-dev
Copy link
Member

@SuGlider maybe a good idea :) need to refresh my memories on the protocol. Maybe we can use a peripheral, like RMT for that

@igrr
Copy link
Member

igrr commented Jan 19, 2022

FWIW, there's this IDF-specific RMT-based onewire driver you could reference: https://github.com/DavidAntliff/esp32-owb/blob/master/owb_rmt.c

@SuGlider SuGlider assigned P-R-O-C-H-Y and unassigned SuGlider Jan 26, 2022
@bbinet
Copy link

bbinet commented Jan 28, 2022

@igrr this IDF-specific RMT-based onewire driver does not work with esp32-c3 though:
DavidAntliff/esp32-owb#26

@SuGlider
Copy link
Collaborator

I think it may not compile, but it could work with the right adjustment.

C3 has a more limited version of the RMT peripheral. It certainly needs code adjusting.

@Jason2866
Copy link
Collaborator

Would be great to have a adopted OneWire driver for release of v2.0.3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Peripherals API Relates to peripheral's APIs.
Projects
Development

Successfully merging a pull request may close this issue.

8 participants