#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