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

Detailed Description

Centralized logging categories for FastLED hardware interfaces and subsystems.

This file provides category-specific logging macros for different FastLED subsystems. Each category can be independently enabled/disabled via preprocessor defines at compile-time.

Usage:

  • Enable category debugging: Define FL_LOG_<CATEGORY>ENABLED before including this file
  • Use the macro: FL_LOG<CATEGORY>("message" << value)
  • Logging is compile-time controlled; disabled categories produce no code

Example: #define FL_LOG_SPI_ENABLED #include "fl/log/log.h"

FL_LOG_SPI("Initializing SPI bus " << bus_id);

Definition in file log.h.

+ Include dependency graph for log.h:

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 _FASTLED_DGB(X)
 
#define FASTLED_DBG(X)
 
#define FASTLED_DBG_IF(COND, MSG)
 
#define FASTLED_ERROR(MSG)
 
#define FASTLED_ERROR_IF(COND, MSG)
 
#define FASTLED_FORCE_DBG   1
 
#define FASTLED_HAS_DBG   0
 
#define FASTLED_INFO(MSG)
 
#define FASTLED_INFO_IF(COND, MSG)
 
#define FASTLED_LOG_LITE_ENABLED   0
 
#define FASTLED_LOG_RUNTIME_ENABLED   0
 
#define FASTLED_LOG_VERBOSITY   1
 
#define FASTLED_WARN(MSG)
 
#define FASTLED_WARN_IF(COND, MSG)
 
#define FL_DBG   FASTLED_DBG
 
#define FL_DBG_EVERY(MILLIS, X)
 
#define FL_DBG_IF   FASTLED_DBG_IF
 
#define FL_DBG_NO_OP(X)
 
#define FL_ERROR(X)
 
#define FL_ERROR_IF(COND, MSG)
 
#define FL_INFO(X)
 
#define FL_INFO_IF(COND, MSG)
 
#define FL_INFO_ONCE(X)
 
#define FL_LOG_ASYNC(logger, X)
 Generic async logging macro (captures stream expression into string)
 
#define FL_LOG_ASYNC_ISR(logger, msg)
 
#define FL_LOG_AUDIO(X)
 Audio processing logging Logs audio sample processing, FFT computation, beat detection, and detector updates.
 
#define FL_LOG_AUDIO_ASYNC_FLUSH()
 
#define FL_LOG_AUDIO_ASYNC_ISR(X)
 
#define FL_LOG_AUDIO_ASYNC_MAIN(X)
 
#define FL_LOG_FLEXIO(X)
 FlexIO logging (Teensy 4.x) Logs FlexIO configuration, pin setup, DMA, and signal generation.
 
#define FL_LOG_FLEXIO_ASYNC_FLUSH()
 
#define FL_LOG_FLEXIO_ASYNC_ISR(X)
 
#define FL_LOG_FLEXIO_ASYNC_MAIN(X)
 
#define FL_LOG_INTERRUPT(X)
 Interrupt handling logging Logs interrupt installation, handler registration, and ISR events.
 
#define FL_LOG_INTERRUPT_ASYNC_FLUSH()
 
#define FL_LOG_INTERRUPT_ASYNC_ISR(X)
 
#define FL_LOG_INTERRUPT_ASYNC_MAIN(X)
 
#define FL_LOG_LIT(LITERAL)
 
#define FL_LOG_OBJECTFLED(X)
 ObjectFLED logging (Teensy 4.x) Logs ObjectFLED configuration, pin mapping, and DMA transfers.
 
#define FL_LOG_OBJECTFLED_ASYNC_FLUSH()
 
#define FL_LOG_OBJECTFLED_ASYNC_ISR(X)
 
#define FL_LOG_OBJECTFLED_ASYNC_MAIN(X)
 
#define FL_LOG_PARLIO(X)
 Parallel I/O (Parlio) logging (ESP32-P4) Logs Parlio configuration, GPIO setup, and parallel transfers.
 
#define FL_LOG_PARLIO_ASYNC_FLUSH()
 
#define FL_LOG_PARLIO_ASYNC_ISR(X)
 
#define FL_LOG_PARLIO_ASYNC_MAIN(X)
 
#define FL_LOG_RMT(X)
 Remote Control Module (RMT) logging (ESP32) Logs RMT channel configuration, timing, and signal generation.
 
#define FL_LOG_RMT_ASYNC_FLUSH()
 
#define FL_LOG_RMT_ASYNC_ISR(X)
 
#define FL_LOG_RMT_ASYNC_MAIN(X)
 
#define FL_LOG_SPI(X)
 Serial Peripheral Interface (SPI) logging Logs SPI configuration, initialization, and transfers.
 
#define FL_LOG_SPI_ASYNC_FLUSH()
 
#define FL_LOG_SPI_ASYNC_ISR(X)
 
#define FL_LOG_SPI_ASYNC_MAIN(X)
 
#define FL_PRINT(X)
 Print without prefix (like FL_WARN but without "WARN: " prefix) Uses sstream for dynamic formatting (avoids printf bloat ~40KB, adds ~3KB) Supports stream-style formatting with << operator.
 
#define FL_PRINT_EVERY(MILLIS, X)
 
#define FL_PRINTLN_DECLARED
 
#define FL_WARN(X)
 
#define FL_WARN_EVERY(MILLIS, X)
 
#define FL_WARN_FMT(X)
 
#define FL_WARN_FMT_IF(COND, MSG)
 
#define FL_WARN_IF(COND, MSG)
 
#define FL_WARN_LIT(LITERAL)
 
#define FL_WARN_ONCE(X)
 

Enumerations

enum class  fl::detail::log_kind : fl::u8 { fl::detail::WARN = 0 , fl::detail::ERROR = 1 , fl::detail::INFO = 2 }
 

Functions

void fl::async_log_service ()
 
void fl::configureAsyncLogService (u32 interval_ms=16, fl::size messages_per_tick=5) FL_NOEXCEPT
 Configure async logger automatic servicing task.
 
const char * fl::fastled_file_offset (const char *file)
 
FL_NO_INLINE void fl::detail::log_emit (log_kind kind, const char *file, int line, fl::sstream &body) FL_NOEXCEPT
 
void fl::println (const char *str) FL_NOEXCEPT