1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #ifndef LOG_H
- #define LOG_H
- #include "main.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
- char logFileBuf[FILE_BUF_MAX_LEN];
- typedef enum {
- LOG_SYSTEM_BOOT = 0x00, // device booted
- LOG_SYSTEM_DEFCONFIG, // default config applied
- LOG_UPDATE_SOFT, //
- LOG_PSW_CHANGE, //
- LOG_LOGIN, //
- LOG_TEST_UPS, //
- LOG_SHUTDOWN_UPS,
- LOG_ALARM_DIO,
- LOG_DO0_STATE,
- LOG_DO1_STATE,
- LOG_ALARM_TEMP,
- LOG_ALARM_LINE,
- LOG_ALARM_LOW_BAT,
- LOG_ALARM_POWER,
- LOG_ALARM_UPS,
- LOG_ALARM_AKB,
- LOG_VALUE,
- LOG_NONE,
- } __packed log_type_t;
- typedef struct {
- uint32_t timestamp;
- log_type_t type:8;
- char data[50];
- } __packed 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 Возвращает общее количество страниц
- */
- uint32_t LOG_GetPageCount(void);
- uint32_t LOG_GetTotalSTRCount(void);
- void LOG_GetPage(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);
- #endif /* LOG_H */
|