XenevaOS
Loading...
Searching...
No Matches
helix_log_std.h
Go to the documentation of this file.
1#pragma once
2#include "ConfigHelix.h"
3
4#if defined(ARDUINO) && __has_include ("Arduino.h") && !defined(USE_IDF_LOGGER)
5# include "stdio.h" // for snprintf
6# include "Arduino.h" // for Serial; include Serial.h does not work
7
8// Logging Implementation
9#if HELIX_LOGGING_ACTIVE
11 enum class LogLevelHelix {Debug, Info, Warning, Error};
12 static LogLevelHelix LOGLEVEL_HELIX = HELIX_LOG_LEVEL;
13 // We print the log based on the log level
14 #define LOG_HELIX(level,...) { if(level>=LOGLEVEL_HELIX) { int l = snprintf(log_buffer_helix, HELIX_LOG_SIZE, __VA_ARGS__); HELIX_LOGGING_OUT.print("libhelix - "); HELIX_LOGGING_OUT.write(log_buffer_helix,l); HELIX_LOGGING_OUT.println(); } }
15 #define LOGD_HELIX(...) LOG_HELIX(LogLevelHelix::Debug,__VA_ARGS__)
16 #define LOGI_HELIX(...) LOG_HELIX(LogLevelHelix::Info,__VA_ARGS__)
17 #define LOGW_HELIX(...) LOG_HELIX(LogLevelHelix::Warning,__VA_ARGS__)
18 #define LOGE_HELIX(...) LOG_HELIX(LogLevelHelix::Error,__VA_ARGS__)
19#else
20 // Remove all log statments from the code
21 #define LOGD_HELIX(...)
22 #define LOGI_HELIX(...)
23 #define LOGW_HELIX(...)
24 #define LOGE_HELIX(...)
25#endif
26
27#endif
#define HELIX_LOG_SIZE
Use the IDF logger for ESP32.
Definition ConfigHelix.h:60
#define HELIX_LOG_LEVEL
Definition ConfigHelix.h:43
char log_buffer_helix[HELIX_LOG_SIZE]
Definition helix_memory.cpp:5