log.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. #ifndef __LOG_H
  2. #define __LOG_H
  3. #include "at32f403a_407.h"
  4. #include <stdbool.h>
  5. typedef enum
  6. {
  7. LOG_SYSTEM_BOOT = 0, // device booted
  8. LOG_SYSTEM_DEFCONFIG, // default config applied
  9. LOG_UPDATE_SOFT,
  10. LOG_TURN_ON, //
  11. LOG_PSW_CHANGE, //
  12. LOG_SETTING_SAVE, //
  13. LOG_LOGIN_TELNET, //
  14. LOG_LOGIN_SSH,
  15. LOG_LOGIN, //
  16. LOG_TEST_UPS, //
  17. LOG_SHUTDOWN_UPS,
  18. LOG_ALARM_VAC_LOW_OUTPUT,
  19. LOG_ALARM_VAC_HIGH_OUTPUT,
  20. LOG_ALARM_HIGH_TEMP,
  21. LOG_ALARM_LOW_TEMP,
  22. LOG_ALARM_LINE,
  23. LOG_ALARM_LOW_BAT,
  24. LOG_ALARM_POWER,
  25. LOG_ALARM_UPS,
  26. LOG_ALARM_AKB,
  27. LOG_ALARM_CHANGE_AKB,
  28. LOG_PHASE_FAIL,
  29. LOG_EPO_FAIL,
  30. LOG_VALUE,
  31. LOG_NONE,
  32. } log_type_t;
  33. typedef __packed struct
  34. {
  35. uint32_t timestamp;
  36. log_type_t type:8;
  37. char data[50];
  38. } log_entry_t;
  39. void log_init(bool format);
  40. #if 0
  41. #include "main.h"
  42. #include "common_config.h"
  43. #define FILE_BUF_MAX_LEN 10*STRING_SIZE_HISTORY // Размер временного буфера для отправки/копирования Лог файла
  44. #define FILE_BUF_MAX_LEN_LOG 10*STRING_SIZE // Размер временного буфера для отправки/копирования Лог файла
  45. #define STRING_SIZE 64
  46. #define STRING_SIZE_HISTORY 100
  47. #define UPS_DATA_STRING_SIZE 47
  48. extern char logFileBuf[FILE_BUF_MAX_LEN];
  49. extern char name_login[50];
  50. #define LOG_ENTRY_VERSION 1
  51. extern void log_init(bool format);
  52. extern int log_test(void);
  53. extern int log_append(log_entry_t *entry);
  54. extern int log_fetch(log_entry_t *entry, uint32_t timeout);
  55. extern int log_rewind(log_entry_t *entry, uint32_t timeout);
  56. extern int log_discard(log_entry_t *entry, uint32_t timeout);
  57. void log_add(char *log_data);
  58. void log_event_data(log_type_t type, char *data);
  59. /**
  60. * @brief Возвращает true если журнал проинициализирован
  61. */
  62. bool LOG_IsInit();
  63. /**
  64. * @brief Отключает журнал для безопасной перезагрузки
  65. */
  66. bool LOG_Disable(void);
  67. /**
  68. * @brief Возвращает общее количество страниц
  69. */
  70. uint32_t LOG_GetPageCount(void);
  71. uint32_t LOG_GetTotalSTRCount(void);
  72. void LOG_GetPage(char *str, uint32_t page);
  73. void LOG_GetPage_tabs(char *str, uint32_t page);
  74. uint32_t LOG_GetData(int ptr, char *str, uint32_t size, bool start);
  75. uint32_t History_GetPageCount(void);
  76. uint32_t History_GetTotalSTRCount(void);
  77. void History_GetPage(char *str, uint32_t page);
  78. uint32_t History_GetData(int ptr, char *str, uint32_t size, bool start);
  79. void History_GetPage_tabs(char *str, uint32_t page);
  80. #endif
  81. #endif /* __LOG_H */