Skip to content

1-wire driver #10236

@danpetry

Description

@danpetry

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area: driversArea: Device driversState: staleState: The issue / PR has no activity for >185 daysType: cleanupThe issue proposes a clean-up / The PR cleans-up parts of the codebase / documentationType: new featureThe issue requests / The PR implemements a new feature for RIOT

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions