28 for (fl::size i = 0; i <
mTasks.size();) {
31 if (!
t.is_valid() ||
t._is_canceled()) {
37 bool should_run =
t._ready_to_run(current_time);
41 t._set_last_run_time(current_time);
78 for (fl::size i = 0; i <
mTasks.size();) {
81 if (!
t.is_valid() ||
t._is_canceled()) {
85 }
else if (
t._type() == task_type) {
87 bool should_run =
t._ready_to_run_frame_task(current_time);
91 t._set_last_run_time(current_time);
113 if (!trace_label.
empty()) {
114 FL_WARN(
fl::string(
"[fl::task] Warning: no then() callback set for Task#") << task_id <<
" launched at " << trace_label);
116 FL_WARN(
fl::string(
"[fl::task] Warning: no then() callback set for Task#") << task_id);
121 if (!trace_label.
empty()) {
122 FL_WARN(
fl::string(
"[fl::task] Warning: no catch_() callback set for Task#") << task_id <<
" launched at " << trace_label <<
". Error: " << error.
message);
124 FL_WARN(
fl::string(
"[fl/task] Warning: no catch_() callback set for Task#") << task_id <<
". Error: " << error.
message);
FastLED chrono implementation - duration types for time measurements.
static T & instance() FL_NOEXCEPT
bool empty() const FL_NOEXCEPT
Task Handle with fluent API (was class fl::task, renamed to avoid namespace collision)
void warn_no_then(int task_id, const fl::string &trace_label)
fl::vector< Handle > mTasks
fl::atomic< int > mNextTaskId
static Scheduler & instance()
void warn_no_catch(int task_id, const fl::string &trace_label, const Error &error)
void update_tasks_of_type(TaskType task_type)
void update_after_frame_tasks()
void update_before_frame_tasks()
Centralized logging categories for FastLED hardware interfaces and subsystems.
constexpr remove_reference< T >::type && move(T &&t) FL_NOEXCEPT
fl::u32 millis()
Universal millisecond timer - returns milliseconds since system startup.
Base definition for an LED controller.
Task scheduler — manages timer and frame-based tasks.