FastLED 3.9.15
Loading...
Searching...
No Matches
delay.h File Reference

Detailed Description

Delay utilities for FastLED Includes nanosecond-precision delays, cycle counting, and microsecond delays.

Definition in file delay.h.

#include "platforms/cycle_type.h"
#include "fl/stl/compiler_control.h"
#include "fl/stl/int.h"
#include "fl/stl/type_traits.h"
#include "platforms/delay.h"
#include "fl/stl/noexcept.h"
+ Include dependency graph for delay.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  fl
 Base definition for an LED controller.
 
namespace  fl::detail
 Compile-time linker keep-alive hook for a single fl::Bus.
 

Macros

#define __INC_FL_DELAY_H
 

Functions

constexpr fl::u32 fl::detail::cycles_from_ns (fl::u32 ns, fl::u32 hz) FL_NOEXCEPT
 Convert nanoseconds to CPU cycles.
 
constexpr fl::u32 fl::detail::cycles_from_ns_default (fl::u32 ns) FL_NOEXCEPT
 Compute cycles using default CPU frequency (compile-time)
 
template<int Dummy = 0>
void fl::delay (u32 ms, bool run_async=true) FL_NOEXCEPT
 Public delay wrapper that keeps bare Arduino delay() preferred after using fl::delay; while still allowing explicit fl::delay() calls.
 
void fl::detail::delay_impl (u32 ms, bool run_async=true) FL_NOEXCEPT
 Internal delay implementation used by the public fl::delay wrapper.
 
template<cycle_t CYCLES>
void fl::delaycycles () FL_NOEXCEPT
 Forward declaration of delaycycles template.
 
template<cycle_t CYCLES>
void fl::delaycycles_min1 () FL_NOEXCEPT
 A variant of delaycycles that will always delay at least one cycle.
 
void fl::delayMicroseconds (u32 us) FL_NOEXCEPT
 Delay for a given number of microseconds.
 
void fl::delayMillis (u32 ms) FL_NOEXCEPT
 Delay for a given number of milliseconds (legacy - no async pumping)
 
void fl::delayMs (u32 ms, bool run_async=true) FL_NOEXCEPT
 Shorter alias for delay with optional async task pumping.
 
template<fl::u32 NS>
FASTLED_FORCE_INLINE void fl::delayNanoseconds () FL_NOEXCEPT
 Delay for a compile-time constant number of nanoseconds.
 
void fl::delayNanoseconds (fl::u32 ns) FL_NOEXCEPT
 Delay for a runtime number of nanoseconds.
 
void fl::delayNanoseconds (fl::u32 ns, fl::u32 hz) FL_NOEXCEPT
 Delay for a runtime number of nanoseconds with explicit clock frequency.
 
template<u32 NS>
void fl::delayNs () FL_NOEXCEPT
 Shorter alias for delayNanoseconds (template version)
 
void fl::delayNs (u32 ns) FL_NOEXCEPT
 Shorter alias for delayNanoseconds (runtime version)
 
void fl::delayNs (u32 ns, u32 hz) FL_NOEXCEPT
 Shorter alias for delayNanoseconds with explicit clock frequency.
 
void fl::delayUs (u32 us) FL_NOEXCEPT
 Shorter alias for delayMicroseconds.