forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-06-12 f03cf3ae7a36954e64fc014e6bb7afd20c5a5247
Function/STORAGE/sizhu_event_record.h
@@ -3,21 +3,59 @@
#include "system_general_para.h"
#include "system_mem_para.h"
#include "valve_control.h"
/************************´æ´¢¿Õ¼ä¹æ»®**************************/
/*ʼþ¼Ç¼´æ´¢¿ØÖÆ*/
//·§ÃŲÙ×÷¼Ç¼
#define   VALVE_OPERATION_EVENT_LOG_START_ADDR         VALVE_OPERATION_EVENT_STORAGE_START_ADDR
#define   VALVE_OPERATION_EVENT_LOG_LENGTH               sizeof(LOG_SIZHU_VALVE_ACTION_RECORD_SAVE_T)
#define   VALVE_OPERATION_EVENT_LOG_MAX_NUM                  200U
#define   VALVE_OPERATION_EVENT_LOG_END_ADDR            VALVE_OPERATION_EVENT_LOG_START_ADDR + VALVE_OPERATION_EVENT_LOG_LENGTH * (VALVE_OPERATION_EVENT_LOG_MAX_NUM -1)
//»Ö¸´³ö³§ÉèÖüǼ
#define   FACTORY_RESET_EVENT_LOG_START_ADDR         FACTORY_RESET_EVENT_STORAGE_START_ADDR
#define   FACTORY_RESET_EVENT_LOG_LENGTH               sizeof(LOG_SIZHU_FACTORY_RESET_RECORD_SAVE_T)
#define   FACTORY_RESET_EVENT_LOG_MAX_NUM                  20U
#define   FACTORY_RESET_EVENT_LOG_END_ADDR            FACTORY_RESET_EVENT_LOG_START_ADDR + FACTORY_RESET_EVENT_LOG_LENGTH * (FACTORY_RESET_EVENT_LOG_MAX_NUM -1)
//Уʱ¼Ç¼
#define   SET_TIME_EVENT_LOG_START_ADDR         SET_TIME_EVENT_STORAGE_START_ADDR
#define   SET_TIME_EVENT_LOG_LENGTH               sizeof(LOG_SIZHU_CALIBRATION_TIME_RECORD_SAVE_T)
#define   SET_TIME_EVENT_LOG_MAX_NUM                  50U
#define   SET_TIME_EVENT_LOG_END_ADDR            SET_TIME_EVENT_LOG_START_ADDR + SET_TIME_EVENT_LOG_LENGTH * (SET_TIME_EVENT_LOG_MAX_NUM -1)
/************************´æ´¢¿Õ¼ä¹æ»®**************************/
typedef enum
{
   FACTORY_RESET_SOURCE_UP_COMM   = 1U,
   FACTORY_RESET_SOURCE_BLE_APP,
   FACTORY_RESET_SOURCE_WRC,    //Ô¶´«
} FACTORY_RESET_SOURCE; // »Ö¸´³ö³§ÉèÖÃÀ´Ô´
typedef enum
{
   SET_TIME_SOURCE_AUTO   = 1U,  //×Ô¶¯Ð£Ê±
   SET_TIME_SOURCE_WRC_COMMAND,
   SET_TIME_SOURCE_UP_COMM,
   SET_TIME_SOURCE_BLE_APP,
} SET_TIME_SOURCE; // »Ö¸´³ö³§ÉèÖÃÀ´Ô´
#pragma pack(1)
//·§ÃŲÙ×÷¼Ç¼
typedef struct
{
   uint16_t   CRC16_MODBUS;
   u16 serial_number;
   
   sClockBCD       record_time_BCD;
   
   uint8_t            valve_action_source;
   uint8_t            valve_action_type;
   VALVE_CTRL_SOURCE_T            valve_action_source;
   VALVE_CTRL_TYPE_T            valve_action_type;
   u16           valve_action_id;
   
   u16           open_valve_times;
@@ -27,24 +65,25 @@
//»Ö¸´³ö³§ÉèÖüǼ
typedef struct
{
   uint16_t   CRC16_MODBUS;
   u16 serial_number;
   
   sClockBCD       record_time_BCD;
   
   uint8_t            modify_source;
   FACTORY_RESET_SOURCE            modify_source;
   u16           factory_id;
   
}LOG_SIZHU_FACTORY_RESET_RECORD_SAVE_T;
//Уʱ¼Ç¼
//»Ö¸´³ö³§ÉèÖüǼ
typedef struct
{
   uint16_t   CRC16_MODBUS;
   u16 serial_number;
   
   sClockBCD       record_time_BCD; //¼Ç¼ʱ¼ä£¬¿ÉÒÔµ±×öУ׼ǰʱ¼ä
   
   uint8_t       modify_source;
   SET_TIME_SOURCE       modify_source;
   u16           factory_id;
   
   sClockBCD       set_time_BCD; //ÉèÖõÄʱ¼ä£¬Ò²¾ÍÊÇУ׼ºóµÄʱ¼ä
@@ -54,7 +93,7 @@
#pragma pack()
extern LOG_EVENT_CTRL_T log_event_para_g;
void    sizhu_event_log_eeprom_default_init(void);
uint8_t sizhu_valve_action_log_eeprom_default_init(void);
@@ -70,8 +109,11 @@
uint8_t sizhu_factory_reset_log_save(uint8_t reset_source, uint16_t factory_id,uint8_t * para_alarm_ptr);
uint8_t sizhu_calibration_time_log_save(uint8_t calibration_source,uint16_t factory_id, uint8_t * para_alarm_ptr);
void sizhu_valve_action_log_data_handle(uint8_t valve_action_source, uint16_t valve_action_type,uint16_t valve_action_ID);
void sizhu_factory_reset_log_data_handle(uint8_t reset_source, uint16_t factory_id);
void sizhu_calibration_time_log_data_handle(uint8_t calibration_source,uint16_t factory_id);
void sizhuValveActionLogHandle(VALVE_CTRL_SOURCE_T valve_ctrl_source, VALVE_CTRL_TYPE_T valve_action_type,uint16_t valve_action_ID);
void sizhuFactoryResetLogHandle(FACTORY_RESET_SOURCE modify_source, uint16_t manufactuer_code);
void sizhuSetTimeLogHandle(SET_TIME_SOURCE modify_source, uint16_t manufactuer_code,sClockBCD time_after_cali);
#endif