zephyr/drivers/w1
Thomas Stranger d668281b4a drivers: w1: add zephyr-serial driver
The zephyr-serial w1 driver introduced in this commit implements
all routines for the w1 api on top of the zephyr serial driver.
W1 bit read, write, and reset operations are executed by issuing
polling zephyr serial byte read and write operations.

The driver should be usable on most platforms in zephyr that have
implemented support for the polling procedures of the serial driver.
As not all serial drivers are implemented exactly the same minor
additional quirks may be needed on some platforms.
The most notable difference of polling serial driver implementations
seems to be that some return immediately from poll_out after the
transmission was started(e.g. STM32) and others wait until
the transmission was completed before returning from poll_out
(e.g. NRF). While this has influence on the timeout, both types
are supported by this driver because the driver waits for a
configurable time period until it terminates the read.

The driver needs an appropriate open drain interface to be able
to communicate with slaves.
In the simpliest case this might be achived by configuring the mcu pins
in open-drain configuration with a (sufficiently small) pull-up to 3V3/5V.
Otherwise an external circuit needs to provide this interface.

Overdrive and Standard Speed modes are supported by this driver.

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2022-07-05 23:06:45 +02:00
..
CMakeLists.txt drivers: w1: add zephyr-serial driver 2022-07-05 23:06:45 +02:00
Kconfig drivers: w1: add zephyr-serial driver 2022-07-05 23:06:45 +02:00
Kconfig.test drivers: w1: add vnd,w1 driver for ci testing 2022-07-05 23:06:45 +02:00
Kconfig.zephyr_serial drivers: w1: add zephyr-serial driver 2022-07-05 23:06:45 +02:00
w1_common.c
w1_handlers.c
w1_net.c
w1_test.c drivers: w1: add vnd,w1 driver for ci testing 2022-07-05 23:06:45 +02:00
w1_zephyr_serial.c drivers: w1: add zephyr-serial driver 2022-07-05 23:06:45 +02:00