18#include "pw_log_tokenized/config.h"
19#include "pw_preprocessor/util.h"
20#include "pw_tokenizer/tokenize.h"
24#include "pw_log_tokenized/metadata.h"
54#define PW_LOG_TOKENIZED_TO_GLOBAL_HANDLER_WITH_METADATA( \
55 level, module, flags, message, ...) \
57 _PW_TOKENIZER_CONST uintptr_t _pw_log_tokenized_module_token = \
58 PW_TOKENIZE_STRING_MASK("pw_log_module_names", \
59 ((1u << PW_LOG_TOKENIZED_MODULE_BITS) - 1u), \
61 const uintptr_t _pw_log_tokenized_level = level; \
62 PW_LOG_TOKENIZED_ENCODE_MESSAGE( \
63 (_PW_LOG_TOKENIZED_LEVEL(_pw_log_tokenized_level) | \
64 _PW_LOG_TOKENIZED_MODULE(_pw_log_tokenized_module_token) | \
65 _PW_LOG_TOKENIZED_FLAGS(flags) | _PW_LOG_TOKENIZED_LINE(__LINE__)), \
66 PW_LOG_TOKENIZED_FORMAT_STRING(module, message), \
71#define PW_LOG_TOKENIZED_TO_GLOBAL_HANDLER_WITH_PAYLOAD \
72 PW_LOG_TOKENIZED_TO_GLOBAL_HANDLER_WITH_METADATA
78#define PW_LOG_TOKENIZED_ENCODE_MESSAGE(metadata, format, ...) \
80 PW_TOKENIZE_FORMAT_STRING( \
81 PW_TOKENIZER_DEFAULT_DOMAIN, UINT32_MAX, format, __VA_ARGS__); \
82 _pw_log_tokenized_EncodeTokenizedLog(metadata, \
83 _pw_tokenizer_token, \
84 PW_TOKENIZER_ARG_TYPES(__VA_ARGS__) \
85 PW_COMMA_ARGS(__VA_ARGS__)); \
91void _pw_log_tokenized_EncodeTokenizedLog(uint32_t metadata,
93 pw_tokenizer_ArgTypes types,
uint32_t pw_tokenizer_Token
Definition: tokenize.h:41