-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Description
Description
The DS18 temperature sensor driver merged in #10011 depends on the 1-wire protocol. Both are currently implemented in the DS18 driver. The 1-wire driver should be separated from the DS18 driver.
There were issues achieving the timing (of the order of microseconds) required by the 1-wire driver, using xtimer_usleep (documented in #10073). Therefore, if xtimer is to be used in the 1-wire driver part of the work to handle this issue would be to characterize xtimer on different platforms, with different configuration settings, including xtimer_spin (which would be a better way to achieve these timings). This may involve using a second periph_timer if available as the source of truth, and may involve reconfiguring periph_timer on certain platforms if necessary, to achieve sub microsecond precision. From this work, a regression test run by Murdock would be a good additional outcome.
An alternative way to achieve these timings might be to use board peripherals directly, such as PWM or any other peripheral which may directly provide details of bus timings. The resulting driver would then have a build dependency on a that cpu feature being present.