GPS Device
Loading...
Searching...
No Matches
log.h
Go to the documentation of this file.
1
32
38
39#ifndef LOG_H__
40#define LOG_H__
41
42#include "stm32f401re.h"
43#include "stm32f401re_usart.h"
44#include "stm32f401re_gpio.h"
45#include "err.h"
46#include "configuration.h"
47#include "modules.h"
48
55
72
96
98
105
121ERR_te log_init(LOG_HANDLE_ts *log_handle);
122
134ERR_te log_deinit(void);
135
161ERR_te log_print(MODULES_te subsys, LOG_LEVEL_te subsys_log_level, LOG_LEVEL_te log_level, char *msg, ...);
162
178ERR_te log_get_level_name(LOG_LEVEL_te log_level, char *str);
179
194ERR_te log_level_to_int(char const *str, LOG_LEVEL_te *log_level_o);
195
209ERR_te log_set_force_disable(bool bool_status);
210
212
230
231#if defined(CONFIG_COMPILE_WITH_LOGGING)
232
234#define LOG_INFO(subsys, lvl, fmt, ...) \
235 log_print((subsys), (lvl), LOG_LEVEL_INFO, fmt, ##__VA_ARGS__)
236
238#define LOG_DEBUG(subsys, lvl, fmt, ...) \
239 log_print((subsys), (lvl), LOG_LEVEL_DEBUG, fmt, ##__VA_ARGS__)
240
242#define LOG_WARNING(subsys, lvl, fmt, ...) \
243 log_print((subsys), (lvl), LOG_LEVEL_WARNING, fmt, ##__VA_ARGS__)
244
246#define LOG_ERROR(subsys, lvl, fmt, ...) \
247 log_print((subsys), (lvl), LOG_LEVEL_ERROR, fmt, ##__VA_ARGS__)
248
250#define LOG_CRITICAL(subsys, lvl, fmt, ...) \
251 log_print((subsys), (lvl), LOG_LEVEL_CRITICAL, fmt, ##__VA_ARGS__)
252
253#else
254
255#define LOG_INFO(subsys, lvl, fmt, ...) ((void)0)
256#define LOG_DEBUG(subsys, lvl, fmt, ...) ((void)0)
257#define LOG_WARNING(subsys, lvl, fmt, ...) ((void)0)
258#define LOG_ERROR(subsys, lvl, fmt, ...) ((void)0)
259#define LOG_CRITICAL(subsys, lvl, fmt, ...) ((void)0)
260
261#endif
262
264
265#endif
266
System-wide error code definitions.
ERR_te
Standard return type used by all public API functions.
Definition err.h:35
ERR_te log_set_force_disable(bool bool_status)
Enables or disables forced suppression of all log output.
Definition log.c:219
ERR_te log_init(LOG_HANDLE_ts *log_handle)
Initializes the log subsystem.
Definition log.c:56
ERR_te log_get_level_name(LOG_LEVEL_te log_level, char *str)
Converts a LOG_LEVEL_te value to its lowercase string name.
Definition log.c:153
ERR_te log_deinit(void)
Deinitializes the log subsystem.
Definition log.c:85
ERR_te log_level_to_int(char const *str, LOG_LEVEL_te *log_level_o)
Converts a log level name string to its LOG_LEVEL_te value.
Definition log.c:192
ERR_te log_print(MODULES_te subsys, LOG_LEVEL_te subsys_log_level, LOG_LEVEL_te log_level, char *msg,...)
Prints a formatted message to the serial terminal if the severity threshold is met.
Definition log.c:99
LOG_LEVEL_te
Log severity levels, in ascending order of severity.
Definition log.h:63
@ LOG_LEVEL_CRITICAL
Definition log.h:68
@ LOG_LEVEL_DEBUG
Definition log.h:65
@ LOG_LEVEL_ERROR
Definition log.h:67
@ LOG_LEVEL_WARNING
Definition log.h:66
@ LOG_LEVEL_NONE
Definition log.h:69
@ LOG_LEVEL_COUNT
Definition log.h:70
@ LOG_LEVEL_INFO
Definition log.h:64
MODULES_te
Identifies a subsystem for use in logging and CLI output.
Definition modules.h:42
GPIO_PIN_te
GPIO pin number within a port (0–15).
GPIO_ALTERNATE_FUNCTION_te
GPIO alternate function mapping (AF0–AF15).
USART_BAUD_RATE_te
USART baud rate in bits per second.
System module identifier definitions.
STM32F401RE MCU-specific peripheral register definitions and bit position enumerations.
STM32F401RE GPIO driver public API.
STM32F401RE USART driver public API.
GPIO peripheral register map.
Definition stm32f401re.h:95
Configuration handle for initializing the log subsystem.
Definition log.h:80
GPIO_REGDEF_ts * gpio_port
Definition log.h:88
GPIO_ALTERNATE_FUNCTION_te gpio_alternate_function
Definition log.h:94
USART_BAUD_RATE_te usart_baud_rate
Definition log.h:85
USART_REGDEF_ts * usart_instance
Definition log.h:82
GPIO_PIN_te gpio_pin
Definition log.h:91
USART peripheral register map.