forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-06-12 f03cf3ae7a36954e64fc014e6bb7afd20c5a5247
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#ifndef _SIZHU_EVENT_RECORD_H
#define _SIZHU_EVENT_RECORD_H
 
#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;
    
    VALVE_CTRL_SOURCE_T            valve_action_source;
    VALVE_CTRL_TYPE_T            valve_action_type;          
    u16           valve_action_id;
    
    u16           open_valve_times;
    u16           close_valve_times;
}LOG_SIZHU_VALVE_ACTION_RECORD_SAVE_T;
 
//»Ö¸´³ö³§ÉèÖüǼ
typedef struct
{
    uint16_t    CRC16_MODBUS;
    u16 serial_number;
    
    sClockBCD         record_time_BCD;
    
    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; //¼Ç¼ʱ¼ä£¬¿ÉÒÔµ±×öУ׼ǰʱ¼ä
    
    SET_TIME_SOURCE       modify_source;
    u16           factory_id;
    
    sClockBCD         set_time_BCD; //ÉèÖõÄʱ¼ä£¬Ò²¾ÍÊÇУ׼ºóµÄʱ¼ä
    
}LOG_SIZHU_CALIBRATION_TIME_RECORD_SAVE_T;
 
 
#pragma pack()
 
 
 
void    sizhu_event_log_eeprom_default_init(void);
uint8_t sizhu_valve_action_log_eeprom_default_init(void);
uint8_t sizhu_factory_reset_log_eeprom_default_init(void);
uint8_t sizhu_calibration_time_log_eeprom_default_init(void);
 
void    sizhu_event_log_eeprom_only_read_init(void);
uint8_t sizhu_valve_action_log_only_read_init(void);
uint8_t sizhu_factory_reset_log_only_read_init(void);
uint8_t sizhu_calibration_time_log_only_read_init(void);
 
uint8_t sizhu_valve_action_log_save(uint8_t valve_action_source, uint16_t valve_action_type,uint16_t valve_action_ID,uint8_t * para_alarm_ptr);
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 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