#pragma once

#include <stdint.h>
#include <stdarg.h>

typedef enum {
	LOG_EMERG = 1,
	LOG_ALERT = 2,
	LOG_CRIT = 3,
	LOG_ERR = 4,
	LOG_WARN = 5,
	LOG_NOTICE = 6,
	LOG_INFO = 7,
	LOG_DEBUG = 8,
} LogLevel_t;


// Функции для работы с кольцевым буфером отладочных сообщений
void debug_buffer_add(const uint8_t* data, uint16_t len);
uint16_t debug_buffer_available(void);
void debug_buffer_send(void);

// Кастомный printf с приоритетом лога
int log_printf(LogLevel_t level, const char *format, ...);
