| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 | #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		  	100extern char logFileBuf[FILE_BUF_MAX_LEN];extern char name_login[50];typedef __packed enum {	LOG_SYSTEM_BOOT = 0x00,			// device booted	LOG_SYSTEM_DEFCONFIG,	// default config applied	LOG_UPDATE_SOFT,	LOG_TURN_ON,		//	LOG_PSW_CHANGE,		//	LOG_SETTING_SAVE,		//	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,} log_type_t;typedef __packed struct {	uint32_t timestamp;	log_type_t type:8;	char data[50];} log_entry_t;#define LOG_ENTRY_VERSION 1extern 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);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 */
 |