3#ifndef __INC_FL_DELAY_H
4#define __INC_FL_DELAY_H
10#include "platforms/cycle_type.h"
18#include "platforms/delay.h"
32 return ((fl::u64)ns * (fl::u64)hz + 999999999UL) / 1000000000UL;
50 delayNanoseconds_impl(
NS);
97template<
int Dummy = 0>
#define FASTLED_FORCE_INLINE
#define NS(_NS)
Convert from nanoseconds to number of clock cycles.
constexpr fl::u32 cycles_from_ns(fl::u32 ns, fl::u32 hz) FL_NO_EXCEPT
Convert nanoseconds to CPU cycles.
constexpr fl::u32 cycles_from_ns_default(fl::u32 ns) FL_NO_EXCEPT
Compute cycles using default CPU frequency (compile-time)
void delay_impl(u32 ms, bool run_async) FL_NO_EXCEPT
Internal delay implementation used by the public fl::delay wrapper.
u8 u8 fract8 blur_amount FL_NO_EXCEPT
void delay(u32 ms, bool run_async=true) FL_NO_EXCEPT
Public delay wrapper that keeps bare Arduino delay() preferred after using fl::delay; while still all...
void delayUs(u32 us) FL_NO_EXCEPT
Shorter alias for delayMicroseconds.
void delayMillis(u32 ms) FL_NO_EXCEPT
Delay for a given number of milliseconds (legacy - no async pumping)
void delaycycles() FL_NO_EXCEPT
Forward declaration of delaycycles template.
void delayMs(u32 ms, bool run_async=true) FL_NO_EXCEPT
Shorter alias for delay with optional async task pumping.
void delaycycles_min1() FL_NO_EXCEPT
A variant of delaycycles that will always delay at least one cycle.
void delaycycles< 1 >() FL_NO_EXCEPT
void delayNs() FL_NO_EXCEPT
Shorter alias for delayNanoseconds (template version)
FASTLED_FORCE_INLINE void delayNanoseconds() FL_NO_EXCEPT
Delay for a compile-time constant number of nanoseconds.
void delayMicroseconds(u32 us) FL_NO_EXCEPT
Delay for a given number of microseconds.
Base definition for an LED controller.