Macro Processing Helpers#
Helper macros for token concatenation and argument processing.
These macros provide the foundation for the variadic logging system, enabling automatic selection of appropriate logging functions based on argument count and generating unique identifiers.
Macros#
Generate unique name based on line number.
Implementation macro for counting variadic arguments (up to 10)
Count the number of variadic arguments (up to 10)
Helper for choosing logging macro based on argument count.
Macro dispatcher for selecting appropriate logging function.
Macro dispatcher for selecting appropriate logging function.
Macro dispatcher for selecting appropriate logging function.
Chooser for SL_PRINT_EVENT_* -> SEGGER_SYSVIEW_RecordU32 / RecordU32xN.
Chooser for SL_PRINT_EVENT_* -> SEGGER_SYSVIEW_RecordU32 / RecordU32xN.
Macro Definition Documentation#
SLI_LOG_UNIQUE_NAME#
#define SLI_LOG_UNIQUE_NAMEValue:
(base)
Generate unique name based on line number.
SLI_LOG_COUNT_ARGS_IMPL#
#define SLI_LOG_COUNT_ARGS_IMPLValue:
(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, N, ...)
Implementation macro for counting variadic arguments (up to 10)
SLI_LOG_COUNT_ARGS#
#define SLI_LOG_COUNT_ARGSValue:
(fmt, ...)
Count the number of variadic arguments (up to 10)
SLI_LOG_MACRO_CHOOSER2#
#define SLI_LOG_MACRO_CHOOSER2Value:
(count)
Helper for choosing logging macro based on argument count.
SLI_LOG_VOID_MACRO_CHOOSER2#
#define SLI_LOG_VOID_MACRO_CHOOSER2Value:
(count)
Macro dispatcher for selecting appropriate logging function.
SLI_LOG_VOID_MACRO_CHOOSER1#
#define SLI_LOG_VOID_MACRO_CHOOSER1Value:
(count)
Macro dispatcher for selecting appropriate logging function.
SLI_LOG_MACRO_CHOOSER1#
#define SLI_LOG_MACRO_CHOOSER1Value:
(count)
Macro dispatcher for selecting appropriate logging function.
SLI_LOG_EVENT_MACRO_CHOOSER2#
#define SLI_LOG_EVENT_MACRO_CHOOSER2Value:
(count)
Chooser for SL_PRINT_EVENT_* -> SEGGER_SYSVIEW_RecordU32 / RecordU32xN.
SLI_LOG_EVENT_MACRO_CHOOSER1#
#define SLI_LOG_EVENT_MACRO_CHOOSER1Value:
(count)
Chooser for SL_PRINT_EVENT_* -> SEGGER_SYSVIEW_RecordU32 / RecordU32xN.