| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 | #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];extern char name_login_telnet[50];extern bool telnet_act;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,		//#if	defined HARDWARE_BT6707 || HARDWARE_BT6709	LOG_LOGIN_TELNET,		//#endif	LOG_LOGIN,		//	LOG_TEST_UPS,		//	LOG_SHUTDOWN_UPS,#ifndef HARDWARE_BT6709	LOG_ALARM_DIO,	LOG_DO0_STATE,	LOG_DO1_STATE,#if	defined HARDWARE_BT6707	LOG_DO2_STATE,#endif#endif#if	defined HARDWARE_BT6707 || HARDWARE_BT6709	LOG_ALARM_VAC_LOW_OUTPUT,	LOG_ALARM_VAC_HIGH_OUTPUT,#endif	LOG_ALARM_HIGH_TEMP,	LOG_ALARM_LOW_TEMP,	LOG_ALARM_LINE,	LOG_ALARM_LOW_BAT,	LOG_ALARM_POWER,	LOG_ALARM_UPS,	LOG_ALARM_AKB,#ifdef HARDWARE_BT6709	LOG_ALARM_CHANGE_AKB,#endif	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);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 */
 |