forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

wujiazhi
2024-06-13 72def895431ad7a08e635b11f3da738e2b2c4618
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
#ifndef _UPPER_COMPUTER_READ_LOG_API_H_
#define _UPPER_COMPUTER_READ_LOG_API_H_
 
#include "define_all.h" 
#include "upper_computer.h"
 
#define UC_RECV_LOG_TABLE_NUM (sizeof(uc_recv_log_tab_func) / sizeof(UC_RECV_LOG_FUNC_TABLE_DRV_T))
    
#define UC_LOG_NUM_AND_FLAG_LENGTH (SIZEOF_OF(UC_SEND_LOG_PARA_T, send_log_num_now) +  \
                                                                        SIZEOF_OF(UC_SEND_LOG_PARA_T, send_log_continue_flag)) // ÈÕÖ¾ÌõÊýºÍ±ê־볤¶È
 
typedef enum{
    UCLC_HOUR_FLOW_RO = 0x0111,//²»ÄÑ¿´³ö ÓÐһЩÊý¾ÝÊÇÖÜÆÚ´æ´¢ ÓÐһЩÔòÊÇËæ»ú´æ´¢
    UCLC_DAY_FLOW_RO,
    UCLC_MONTH_FLOW_RO,
    
    UCLC_SEND_FLOW_RO,
    UCLC_SYS_ALARM_RO = 0x0260,
    UCLC_MEASURE_ALARM_RO,
    
    UCLC_CUMULANT_AMEND_RO = 0x0350,
    UCLC_BALANCE_AMEND_RO,
    UCLC_TEMP_AMEND_RO,
    UCLC_PRESS_AMEND_RO, 
    UCLC_FLOW_AMEND_RO,
    UCLC_PRICE_AMEND_RO, //¼Æ·Ñ¼Û¸ñÄÚÈÝÐÞ¸Ä
    UCLC_PULSE_AMEND_RO,
    UCLC_FUNC_CFG_AMEND_RO,
    UCLC_ALARM_CTL_SEND_AMEND_RO,
    UCLC_VALVE_CTL_AMEND_RO,
    UCLC_BILLING_ALARM_AMEND_RO, //Ìõ¼þ¼Æ·Ñ±¨¾¯ÐÞ¸Ä
    
    UCLC_VALVE_LOG_RO = 0x0401,
    UCLC_RESTORE_LOG_RO,    
    UCLC_TIMING_LOG_RO, //Уʱ
    UCLC_PAY_LOG_RO = 0x0601,
}UC_LOG_CMD;
 
#pragma pack(1)
 
typedef struct
{
    /*ÕâÑùÅÅÐòÊÇΪÁË×Ö½Ú¶ÔÆë*/
    uint32_t send_log_start_addr;   // ÈÕÖ¾·¢Ë͵ĵØÖ·
  uint16_t send_log_index;         // ÈÕÖ¾Ë÷Òý
  uint16_t send_log_num_now;      // ÈÕÖ¾ÏÖÔÚ·¢Ë͵ij¤¶È
  uint16_t send_log_num_total;    // ÈÕÖ¾×ܳ¤¶È£¨Ê£Ó೤¶È£©
  uint8_t send_log_continue_flag; // ÈÕÖ¾Ðø´«±ê־λ
} UC_SEND_LOG_PARA_T;
 
 
 
typedef ErrorStatus_STM32 (*pUc_RecvLog_FuncHandler)(uint8_t *pInputData, uint8_t *pOutputData, uint16_t *pData_field_len, UC_SEND_LOG_PARA_T *uc_log_para_p);
 
typedef struct
{
  const uint16_t uc_data_table;
  const uint8_t func_admin_mode;  // º¯ÊýģʽȨÏÞ£¨´ú±í¸Ãº¯ÊýÔÚʲôģʽÏ¿ɷÃÎÊ£©
  const uint16_t func_admin_user; // º¯ÊýÓû§È¨ÏÞ£¨´ú±í¿É·ÃÎʵÄȨÏÞ¼¶±ð£©
  pUc_RecvLog_FuncHandler UcRecvLogFuncHandler;
} UC_RECV_LOG_FUNC_TABLE_DRV_T; // ÉÏλ»ú½ÓÊÕÈÕÖ¾Êý¾Ý±íÇý¶¯;
 
 
#pragma pack()
 
 
extern UC_SEND_LOG_PARA_T uc_send_log_para_g;
 
/************************************** Log Data **************************************************************/
ErrorStatus_STM32 Uc_ReadPeriodLogHandler(uint8_t *pInputData, uint8_t *pOutputData, uint16_t *data_field_len, UC_SEND_LOG_PARA_T *uc_log_para_p);
ErrorStatus_STM32 Uc_ReadHoursLogHandler(uint8_t *pInputData, uint8_t *pOutputData, uint16_t *data_field_len, UC_SEND_LOG_PARA_T *uc_log_para_p);
ErrorStatus_STM32 Uc_ReadDaysLogHandler(uint8_t *pInputData, uint8_t *pOutputData, uint16_t *data_field_len, UC_SEND_LOG_PARA_T *uc_log_para_p);
ErrorStatus_STM32 Uc_ReadMonthsLogHandler(uint8_t *pInputData, uint8_t *pOutputData, uint16_t *data_field_len, UC_SEND_LOG_PARA_T *uc_log_para_p);
 
ErrorStatus_STM32 Uc_ReadPressAlarmCfgLogHandler(uint8_t *pInputData, uint8_t *pOutputData, uint16_t *pData_field_len, UC_SEND_LOG_PARA_T *uc_log_para_p);
ErrorStatus_STM32 Uc_ReadTempAlarmCfgLogHandler(uint8_t *pInputData, uint8_t *pOutputData, uint16_t *pData_field_len, UC_SEND_LOG_PARA_T *uc_log_para_p);
ErrorStatus_STM32 Uc_ReadFlowAlarmCfgLogHandler(uint8_t *pInputData, uint8_t *pOutputData, uint16_t *pData_field_len, UC_SEND_LOG_PARA_T *uc_log_para_p);
ErrorStatus_STM32 Uc_ReadPulseCfgLogHandler(uint8_t *pInputData, uint8_t *pOutputData, uint16_t *pData_field_len, UC_SEND_LOG_PARA_T *uc_log_para_p);
 
 
ErrorStatus_STM32 Uc_ReadSysAlarmDataLogHandler(uint8_t *pInputData, uint8_t *pOutputData, uint16_t *pData_field_len, UC_SEND_LOG_PARA_T *uc_log_para_p);
 
ErrorStatus_STM32 Read_GeneralAmend_LogHandler(uint8_t *pInputData, uint8_t *pOutputData, uint16_t *pData_field_len, UC_SEND_LOG_PARA_T *uc_log_para_p);
 
ErrorStatus_STM32 Read_GprsSendData_LogHandler(uint8_t *pInputData, uint8_t *pOutputData, uint16_t *pData_field_len, UC_SEND_LOG_PARA_T *uc_log_para_p);
ErrorStatus_STM32 Read_SysAlarmData_LogHandler(uint8_t *pInputData, uint8_t *pOutputData, uint16_t *pData_field_len, UC_SEND_LOG_PARA_T *uc_log_para_p);
ErrorStatus_STM32 Read_MeasureAlarmData_LogHandler(uint8_t *pInputData, uint8_t *pOutputData, uint16_t *pData_field_len, UC_SEND_LOG_PARA_T *uc_log_para_p);
ErrorStatus_STM32 Read_ValveCtl_LogHandler(uint8_t *pInputData, uint8_t *pOutputData, uint16_t *pData_field_len, UC_SEND_LOG_PARA_T *uc_log_para_p);
ErrorStatus_STM32 Read_Pay_LogHandler(uint8_t *pInputData, uint8_t *pOutputData, uint16_t *pData_field_len, UC_SEND_LOG_PARA_T *uc_log_para_p);
ErrorStatus_STM32 Read_Timing_LogHandler(uint8_t *pInputData, uint8_t *pOutputData, uint16_t *pData_field_len, UC_SEND_LOG_PARA_T *uc_log_para_p);
 
void Upper_ComputerLogResultProcess(ErrorStatus_STM32 result_state, uint8_t *pData, UC_RECV_DATA_UNION_T *uc_recv_union_p, UC_SEND_LOG_PARA_T *uc_log_para_p);
ErrorStatus_STM32 Upper_ComputerLogProcess(uint16_t work_permissions, uint8_t *pInput, uint8_t *pOutput);
 
 
#endif