forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

wujiazhi
2024-06-11 65062d0d5b21f838aa0043a15ce54cfab8d72c43
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
#ifndef _SYSTEM_LOG_H_
#define _SYSTEM_LOG_H_
 
#include "define_all.h" 
#include "cyclic_storage_cfg_api.h"
#include "para_storage_cfg_api.h"
#include "cyclic_storage_data_created_api.h"
#include "working_time_calculate.h"
 
 
#define SAVE_DAY_MONTH_TIMING_LENGTH sizeof(save_day_month_timing_bcd)
 
typedef enum
{
  SYS_FLOW_DATA_NONE = 0U,
  SYS_FLOW_DATA_5MINS = 1,
  SYS_FLOW_DATA_PERIOD = 2,
  SYS_FLOW_DATA_1HOUR = 4,
  SYS_FLOW_DATA_1DAY = 8,
  SYS_FLOW_DATA_1MONTH = 16
} SYS_FLOW_DATA_LOG_T;
 
#pragma pack(1)
 
 
#define REALTIME_DATA_LOG_FORMAT_SIZE sizeof(SAVE_REALTIME_DATA_T)
 
 
typedef struct{
    uint8_t record_time_bcd[6];
    struct realtime_flow_data
    {
        double forward_cumulate_sc; // ÕýÏò±ê¿öÀÛ»ýÁ¿
        double forward_cumulate_wc;
        double cal_cumulate_reserve[2];         // ±ê¶¨ÀÛ»ýÁ¿_Ô¤Áô
        double err_forward_cumulate_reserve[2]; // ´íÎóÀÛ»ýÁ¿_Ô¤Áô
        float temp_avg;   // Î¶ȾùÖµ
        float press_avg;      // Ñ¹Á¦¾ùÖµ
    }realtime_flow_data_s;
    struct realtime_billing_data
    {
        uint8_t price_type_mode_now;
        uint32_t price_now;
        double use_money_sum;
        double balance_now;
        double residual_gas_now;
        double ladder_cumulate_sc;
    }realtime_billing_data_s;
    uint32_t lith_bat_working_time_remain_hour;//Ê£Ó๤×÷ʱ¼ä µ¥Î»£ºÐ¡Ê±
    uint8_t reserve[16];
} SAVE_REALTIME_DATA_T;
 
 
#define SAVE_DATA_START_PARA_FORMAT_SIZE sizeof(SAVE_DATA_START_PARA_T)
typedef struct
{
  uint8_t set_minute_bcd;//µÍλ·ÖÖÓ£¬¸ßλСʱ
  uint8_t set_hour_bcd; // 0x0800 ´ú±íÿÌìµÄ8µã0·Ö±£´æÈռǼ£¬Ã¿ÔµÄ1ÔÂ1ÈÕ8µã0·Ö±£´æÔ¼Ç¼
  uint8_t reserve[4];
} SAVE_DATA_START_PARA_T;
 
#pragma pack()
 
extern SAVE_REALTIME_DATA_T save_realtime_data_g;
extern SAVE_DATA_START_PARA_T save_day_month_timing_g;
extern uint8_t pay_flag_g;
extern FlagStatus key_save_send_data_flag_g;
 
void System_LogProcess(void);
void Sys_FirstPower_E2pProcess(void);
 
ErrorStatus_STM32 RealTimeData_LogStore(SAVE_REALTIME_DATA_T * save_realtime_data_p,SYS_REAL_TIME_DATA_T *realtime_data_p,
                               BILLING_REAL_PARA_T *billing_realtime_p, __IO RTC_TimeDateTypeDef *calendar_p);
 
#endif