You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
Most of the timing APIs in Zephyr uses ms as a time unit. There are also several macros, which converts other time units to milliseconds. However the k_busy_wait() uses us as a unit, so all these helpers cannot be directly used with this call. Unfortunately this subtle difference is missed in few places in Zephyr.
drivers/display/ssd1673.c: k_busy_wait(SSD1673_BUSY_DELAY);
The SSD1673_BUSY_DELAY is specified in ms according to comment before this define.
Describe the bug
Most of the timing APIs in Zephyr uses ms as a time unit. There are also several macros, which converts other time units to milliseconds. However the
k_busy_wait()
uses us as a unit, so all these helpers cannot be directly used with this call. Unfortunately this subtle difference is missed in few places in Zephyr.drivers/display/ssd1673.c: k_busy_wait(SSD1673_BUSY_DELAY);
The SSD1673_BUSY_DELAY is specified in ms according to comment before this define.
tests/kernel/interrupt/src/nested_irq.c: k_busy_wait(K_SECONDS(..));
(refereed in tests/kernel/interrupt is failing on NRFx boards #10509)
drivers/wifi/winc1500/wifi_winc1500_nm_bsp.c: k_busy_wait(u32TimeMsec * MSEC_PER_SEC)
This one works as expected, but IMHO should be corrected.
The text was updated successfully, but these errors were encountered: