1-Wire driver for nRF52


Sven Schwermer <sven@...>
 

Hi!

I have written a bitbanged 1-wire driver for the nRF52 to interface with
DS18B20 sensors. Since it seems to be impossible to read back from a
pulled up open-drain driver without clearing the DIR register on the
nRF52, I have timing issues, because gpio_pin_configure just takes too
much time.

Putting device-specific hardware accesses into the driver solves the
issue but completely defeats the purpose of a platform-agnostic driver.
I also can't just write a nRF-specific backend, since the GPIO hardware
is managed by the actual nRF GPIO driver and the lower level functions
in said driver are not meant to be called (static, no public declarations).

How does one write timing critical bitbanged drivers in Zephyr?

Any pointers are welcome :-)

Best regards,
Sven

Join devel@lists.zephyrproject.org to automatically receive all group messages.