#ifndef LOG_H #define LOG_H #include "main.h" #include "common_config.h" #define FILE_BUF_MAX_LEN 10*STRING_SIZE_HISTORY // Размер временного буфера для отправки/копирования Лог файла #define FILE_BUF_MAX_LEN_LOG 10*STRING_SIZE // Размер временного буфера для отправки/копирования Лог файла #define STRING_SIZE 64 #define STRING_SIZE_HISTORY 100 #define UPS_DATA_STRING_SIZE 47 extern char logFileBuf[FILE_BUF_MAX_LEN]; extern char name_login[50]; typedef __packed struct { uint32_t timestamp; log_type_t type:8; char data[50]; } log_entry_t; #define LOG_ENTRY_VERSION 1 extern void log_init(bool format); extern int log_test(void); extern int log_append(log_entry_t *entry); extern int log_fetch(log_entry_t *entry, uint32_t timeout); extern int log_rewind(log_entry_t *entry, uint32_t timeout); extern int log_discard(log_entry_t *entry, uint32_t timeout); void log_add(char *log_data); void log_event_data(log_type_t type, char *data); /** * @brief Возвращает true если журнал проинициализирован */ bool LOG_IsInit(); /** * @brief Отключает журнал для безопасной перезагрузки */ bool LOG_Disable(void); /** * @brief Возвращает общее количество страниц */ uint32_t LOG_GetPageCount(void); uint32_t LOG_GetTotalSTRCount(void); void LOG_GetPage(char *str, uint32_t page); void LOG_GetPage_tabs(char *str, uint32_t page); uint32_t LOG_GetData(int ptr, char *str, uint32_t size, bool start); uint32_t History_GetPageCount(void); uint32_t History_GetTotalSTRCount(void); void History_GetPage(char *str, uint32_t page); uint32_t History_GetData(int ptr, char *str, uint32_t size, bool start); void History_GetPage_tabs(char *str, uint32_t page); #endif /* LOG_H */