102#define FL_TRACE fl::make_tuple(__FILE__, int(__LINE__), fl::millis())
104#ifdef FASTLED_DEBUG_STACK_TRACE
106#define FL_SCOPED_TRACE_CONCAT(name, line) fl::ScopedTrace __fl_trace_##line(name, line)
109#define FL_SCOPED_TRACE_IMPL(name, line) FL_SCOPED_TRACE_CONCAT(name, line)
114#define FL_SCOPED_TRACE_NAMED(name) FL_SCOPED_TRACE_IMPL(name, __LINE__)
119#define FL_SCOPED_TRACE FL_SCOPED_TRACE_IMPL(FL_FUNCTION, __LINE__)
123#define FL_TRACE_DUMP() FL_DBG(fl::ScopedTrace::dump())
127#define FL_SCOPED_TRACE_NAMED(name) do {} while(0)
128#define FL_SCOPED_TRACE do {} while(0)
129#define FL_TRACE_DUMP() do {} while(0)
FastLED chrono implementation - duration types for time measurements.
static void push(const char *function, int line) FL_NOEXCEPT
Push a function name onto the call stack.
static void pop() FL_NOEXCEPT
Pop the most recent function from the call stack.
ScopedTrace(ScopedTrace &&) FL_NOEXCEPT=delete
ScopedTrace(const char *function, int line) FL_NOEXCEPT
Construct and push function name onto stack.
static void clear() FL_NOEXCEPT
Clear the entire call stack (primarily for testing)
ScopedTrace & operator=(const ScopedTrace &) FL_NOEXCEPT=delete
static fl::size depth() FL_NOEXCEPT
Get the current stack depth.
~ScopedTrace() FL_NOEXCEPT
Destructor - automatically pops from stack.
static fl::string dump() FL_NOEXCEPT
Dump the current call stack to a string.
ScopedTrace(const ScopedTrace &) FL_NOEXCEPT=delete
fl::tuple< const char *, int, fl::u32 > TracePoint
A structure to hold source trace information.
Base definition for an LED controller.