-
Notifications
You must be signed in to change notification settings - Fork 2.1k
[Tracking] modules depending on 64-bit xtimer implementation #13667
Copy link
Copy link
Open
Labels
Area: timersArea: timer subsystemsArea: timer subsystemsType: enhancementThe issue suggests enhanceable parts / The PR enhances parts of the codebase / documentationThe issue suggests enhanceable parts / The PR enhances parts of the codebase / documentationType: trackingThe issue tracks and organizes the sub-tasks of a larger effortThe issue tracks and organizes the sub-tasks of a larger effort
Description
Description
The new ztimer offers the pseudo-module ztimer_xtimer_compat that replaces all xtimer related API by ztimer functions. Since ztimer doesn't offer 64-bit timers, no replacement functions can be found for the xtimer_*64() functions.
In most cases, those 64-bit timers are used for long-running timers. However, the high precision is not required.
This issue tracks modules that require the 64-bit xtimer functions and are not compatible with ztimer_xtimer_compat. The highlighted modules are using the 64-bit implementation just for long-running timers (as far as I understand the code on the first glimpse ...).
sys
- sys/arduino : sys/arduino: replace xtimer by ztimer as high-level background timer #15317 used for unsigned long millis() -> ZTIMER_MSEC or MODULE_ZTIMER_NOW64
- sys/net/dhcpv6/client : timestamp -> needs much less resolution of 1/100 Sec (cs for centisecond)-> ZTIMER_MSEC or MODULE_ZTIMER_NOW64 - dhcpv6_client: refactor to use
event_timeoutfor non-sock timeouts #16668 - sys/net/sntp : timestamp -> MODULE_ZTIMER_NOW64 (may need that much resolution) -> It was decided to go for ms resolution - sys/net/sntp: migrate from xtimer to ztimer #21633
- sys/net/gnrc/gomach: dutycycle tracking and more (not easy) -> convert back to RTT / ZTIMER_MSEC net/gomach: Remove deprecated GoMach module #21600
- sys/net/fib: used to track a lifetime in milliseconds (timestamps -> MODULE_ZTIMER_NOW64) the code is quiet spread -> not a fast rewrite to ZTIMER_MSEC
- sys/newlib_syscalls_default : gettimeofday uses the size and the resolution of a 64bit timestamp-> MODULE_ZTIMER_NOW64
- sys/posix: pthread_rwlock_timedlock and cond and semaphore use the size and the resolution to setup a timer by struct timespec definition
- sys/random/fortuna : timestamps to track the reseed interval dokumentation states 100ms is good -> millisecond tracking is enaugh ZTIMER_MSEC sys/random/fortuna: change interval ressed to ms #16594
- sys/event: deprecate event_wait_timeout64 (no user in RIOT outside of tests) sys/event: add event_wait_timeout_ztimer() #15789 merged 2021-03-31
- sys/evtimer : sys/evtimer: introduce ZTIMER_MSEC as timer backend #13661 merged 2020-09-27
- sys/net/gnrc/ipv6/nib: net/gnrc/ipv6/nib: remove direct dependency to xtimer #13666 removed the dependency
- sys/net/gnrc/rpl: calculates milliseconds -> ZTIMER_MSEC or MODULE_ZTIMER_NOW64 net/gnrc/rpl: use ztimer_msec if available #16339
- sys/sema : sys/sema: allow to use ztimer and/or xtimer #15782 timestamps and xtimer_mutex_lock_timeout in
_sema_wait(sema_t *sema, int block, uint64_t us)sys/sema: allow to use ztimer and/or xtimer #15782 2021-04-12 - sys/trickle: trickels in ms -> rewrite to ZTIMER_MSEC sys/trickle: migrate from xtimer to ZTIMER_MSEC #16322 merged 2021-06-14
drivers
- drivers/ata8520e: wait for uint8 (256) seconds with us resolution -> 32 bit is enough (one function rewrite) drivers/ata8520e: migrate to ztimer #17105
- drivers/ltc4150: has a 64Bit timestamp callback MODULE_ZTIMER_NOW64 but would consider redefining the API to 32Bit
- drivers/pir: timestamp to calculate the occupation between readout i think this can live with 32 Bit (time between readout < the 2^32 usec) or MODULE_ZTIMER_NOW64
- drivers/rn2xx3: wait for uint8 (256) seconds with us resolution -> 32 bit is enough (one function rewrite) drivers/rn2xx3: migrate to ztimer #17112
- drivers/xbee: wait 1 second with us precision -> 32 bit is enough (one function rewrite) drivers/xbee: migrate to ztimer_msec #17114
pkg
- pkg/lwip: now need 32Bit of MSEC and wait on semaphore for 32Bit msec pkg/lwip: use ztimer_msec instead of xtimer #17115
- pkg/wakaama time_t lwm2m_gettime(void) timestamps of 32Bit seconds pkg/wakaama: use ztimer #17103
- pkg/semtech-loramac: is ported to ztimer
Reactions are currently unavailable
Metadata
Metadata
Labels
Area: timersArea: timer subsystemsArea: timer subsystemsType: enhancementThe issue suggests enhanceable parts / The PR enhances parts of the codebase / documentationThe issue suggests enhanceable parts / The PR enhances parts of the codebase / documentationType: trackingThe issue tracks and organizes the sub-tasks of a larger effortThe issue tracks and organizes the sub-tasks of a larger effort