19 const auto previous = hooks.managed;
26 const auto previous = hooks.legacy;
35 const u32 started =
millis();
36 if (hooks.managed && !hooks.managed(timeoutMs)) {
43 return hooks.legacy(0);
45 const u32 elapsed =
millis() - started;
46 if (elapsed >= timeoutMs) {
50 return hooks.legacy(timeoutMs - elapsed);
FastLED chrono implementation - duration types for time measurements.
static T & instance() FL_NO_EXCEPT
DriverCompletionWait managed
DriverCompletionWait legacy
bool(*)(u32 timeoutMs) DriverCompletionWait
Optional completion consumers.
DriverCompletionWait setManagedCompletionWait(DriverCompletionWait wait) FL_NO_EXCEPT
Internal singleton hooks; return the previous hook to allow scoped tests.
DriverCompletionWait setLegacyCompletionWait(DriverCompletionWait wait) FL_NO_EXCEPT
bool waitForDriverCompletion(u32 timeoutMs) FL_NO_EXCEPT
Wait for installed consumers using one deadline (zero means indefinitely).
Compile-time linker keep-alive hook for a single fl::Bus.
u8 u8 fract8 blur_amount FL_NO_EXCEPT
fl::u32 millis() FL_NO_EXCEPT
Universal millisecond timer - returns milliseconds since system startup.
Base definition for an LED controller.