#include "upper_computer_read_log_api.h"
|
#include "upper_computer_rw_api.h"
|
#include "lcd.h"
|
#include "system_log.h"
|
#include "e2p.h"
|
#include "delay.h"
|
#include "string.h"
|
#include "gpio.h"
|
#include "low_pwr_test.h"
|
#include "upper_computer_read_log_temp.h"
|
#include "cyclic_storage_cfg_api.h"
|
|
|
UC_SEND_LOG_PARA_T uc_send_log_para_g = {0};
|
UC_AMEND_LOG_T uc_amend_log_g = {0};
|
UC_ALARM_DATA_LOG_T uc_other_alarm_data_log_g = {0};
|
SYS_UPCOMPUTER_SYSLOG_FORMAT_T uc_send_time_data_g = {0};
|
|
/************************************** Read Log ****************************************************************/
|
/************************************** Read Log ***************************************************************/
|
static const UC_RECV_LOG_FUNC_TABLE_DRV_T uc_recv_log_tab_func[] = {
|
{0x0303, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Uc_ReadPressAlarmCfgLogHandler},
|
{0x0304, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Uc_ReadTempAlarmCfgLogHandler},
|
{0x0305, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Uc_ReadFlowAlarmCfgLogHandler},
|
{0x0306, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Uc_ReadPulseCfgLogHandler},
|
|
{0x0201, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Uc_ReadSysAlarmDataLogHandler},
|
{0x0202, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Uc_ReadSysAlarmDataLogHandler},
|
{0x0203, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Uc_ReadSysAlarmDataLogHandler},
|
{0x0204, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Uc_ReadSysAlarmDataLogHandler},
|
{0x0205, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Uc_ReadSysAlarmDataLogHandler},
|
|
{UCLC_HOUR_FLOW_RO, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Uc_ReadHoursLogHandler},
|
{UCLC_DAY_FLOW_RO, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Uc_ReadDaysLogHandler},
|
{UCLC_MONTH_FLOW_RO, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Uc_ReadMonthsLogHandler},
|
|
{UCLC_SEND_FLOW_RO, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Read_GprsSendData_LogHandler},
|
{UCLC_SYS_ALARM_RO, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Read_SysAlarmData_LogHandler},
|
{UCLC_MEASURE_ALARM_RO, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Read_MeasureAlarmData_LogHandler},
|
|
{UCLC_CUMULANT_AMEND_RO, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Read_GeneralAmend_LogHandler},
|
{UCLC_BALANCE_AMEND_RO, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Read_GeneralAmend_LogHandler},
|
{UCLC_TEMP_AMEND_RO, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Read_GeneralAmend_LogHandler},
|
{UCLC_PRESS_AMEND_RO, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Read_GeneralAmend_LogHandler},
|
{UCLC_FLOW_AMEND_RO, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Read_GeneralAmend_LogHandler},
|
{UCLC_PRICE_AMEND_RO, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Read_GeneralAmend_LogHandler},
|
{UCLC_PULSE_AMEND_RO, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Read_GeneralAmend_LogHandler},
|
{UCLC_FUNC_CFG_AMEND_RO, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Read_GeneralAmend_LogHandler},
|
{UCLC_ALARM_CTL_SEND_AMEND_RO, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Read_GeneralAmend_LogHandler},
|
{UCLC_VALVE_CTL_AMEND_RO, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Read_GeneralAmend_LogHandler},
|
{UCLC_BILLING_ALARM_AMEND_RO, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Read_GeneralAmend_LogHandler},
|
|
{UCLC_VALVE_LOG_RO, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Read_ValveCtl_LogHandler},
|
{UCLC_RESTORE_LOG_RO, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Uc_ReadSysAlarmDataLogHandler},
|
{UCLC_TIMING_LOG_RO,NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER,Read_Timing_LogHandler},
|
{UCLC_PAY_LOG_RO, NORMAL_MODE | DISPLAY_PARA | SET_PARA_MODE, UC_NORMAL_USER | UC_POWER_USER | UC_ADMIN_USER | UC_SUPERUSER, Read_Pay_LogHandler},
|
};
|
|
/************************************** Read Log ****************************************************************/
|
/************************************** Read Log ****************************************************************/
|
/************************************** Read Log ****************************************************************/
|
/*ÉÏλ»úÈÕÖ¾·µ»Ø´¦Àíº¯Êý*/
|
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)
|
{
|
/*°ÑÖ¡Í·½á¹¹ÌåÊý¾Ý¿½±´µ½·¢ËÍÊý×é*/
|
memcpy(pData, &uc_recv_union_p->uc_protocol_head_s, UC_PROTOCOL_HEAD_LENGTH);
|
/*¹¹ÔìÊý¾ÝÓò±íºÅ,±¾´Î·¢ËÍÌõÊýºÍÐø´«±ê־λ*/
|
pData[UC_PROTOCOL_HEAD_LENGTH] = uc_recv_union_p->uc_recv_buf[12]; // ´ó¶Ë
|
pData[UC_PROTOCOL_HEAD_LENGTH + 1] = uc_recv_union_p->uc_recv_buf[13];
|
pData[UC_PROTOCOL_HEAD_LENGTH + 2] = uc_log_para_p->send_log_num_now >> 8; // ´ó¶Ë
|
pData[UC_PROTOCOL_HEAD_LENGTH + 3] = uc_log_para_p->send_log_num_now;
|
pData[UC_PROTOCOL_HEAD_LENGTH + 4] = uc_log_para_p->send_log_continue_flag;
|
|
// if (result_state == ERROR_1)
|
// memset(&pData[UC_PROTOCOL_HEAD_LENGTH + 2], 0, uc_recv_union_p->uc_protocol_head_s.data_field_length - 2); //³ýÁ˱íºÅµÄÊý¾ÝÓò²¿·Ö½o0
|
}
|
|
ErrorStatus_STM32 Uc_ReadPeriodLogHandler(uint8_t *pInputData, uint8_t *pOutputData, uint16_t *pData_field_len, UC_SEND_LOG_PARA_T *uc_log_para_p)
|
{
|
uint8_t reserved_bytes = 4;
|
*pData_field_len = HISTORY_FLOW_DATA_LOG_FORMAT_SIZE + UC_DATA_TABLE_BYTES_LENGTH + reserved_bytes;
|
return SUCCESS_0;
|
}
|
#define UC_READ_LOG_NUM_MAX 4
|
ErrorStatus_STM32 Uc_ReadHoursLogHandler(uint8_t *pInputData, uint8_t *pOutputData, uint16_t *pData_field_len, UC_SEND_LOG_PARA_T *uc_log_para_p)
|
{
|
ErrorStatus_STM32 result_flag = ERROR_1;
|
uint16_t uc_log_format_len = HISTORY_FLOW_DATA_LOG_FORMAT_SIZE - SIZEOF_OF(SYS_FLOW_DATA_SYSLOG_FORMAT_T,reserve);
|
SYS_FLOW_DATA_SYSLOG_FORMAT_T temp_record_buff = {0};
|
const SYSLOG_CYCLIC_TABLE_T * ptr = &sys_log_cyclic_table[CYCL_HOUR_FLOW_DATA];
|
if (pInputData[14 + UC_DATA_TABLE_BYTES_LENGTH] == 0) // ÊÇ·ñÊ״ζÁÈ¡±ê־룬Ê×´ÎÐèÒª¼ÆËã·¢ËÍÌõÊýºÍ·¢ËÍÊ×µØÖ·
|
{
|
uc_log_para_p->send_log_start_addr = Sys_Log_E2pCyclic_TimeGetStartAddr(ptr,&uc_log_para_p->send_log_num_total,
|
&pInputData[UC_DATA_TABLE_BYTES_LENGTH],&pInputData[6 + UC_DATA_TABLE_BYTES_LENGTH],1);//»ñÈ¡µØÖ·
|
uc_log_para_p->send_log_index = 0;
|
}
|
else
|
uc_log_para_p->send_log_index += UC_READ_LOG_NUM_MAX;
|
|
if(uc_log_para_p->send_log_num_total > UC_READ_LOG_NUM_MAX)
|
{
|
uc_log_para_p->send_log_num_total -= UC_READ_LOG_NUM_MAX;
|
uc_log_para_p->send_log_num_now = UC_READ_LOG_NUM_MAX;
|
uc_log_para_p->send_log_continue_flag = 1;
|
}
|
else
|
{
|
uc_log_para_p->send_log_num_now = uc_log_para_p->send_log_num_total;
|
uc_log_para_p->send_log_continue_flag = 0;
|
}
|
for(uint16_t i = 0;i < uc_log_para_p->send_log_num_now; i++)
|
{
|
uc_log_para_p->send_log_start_addr = Sys_Log_E2pCyclicRead_1_Data(ptr,(uint8_t *)&temp_record_buff,uc_log_para_p->send_log_start_addr);
|
memcpy(&pOutputData[i * uc_log_format_len],&temp_record_buff,uc_log_format_len);
|
}
|
/*·µ»ØÊý¾ÝÓò³¤¶È*/
|
*pData_field_len = UC_DATA_TABLE_BYTES_LENGTH + UC_LOG_NUM_AND_FLAG_LENGTH +
|
uc_log_format_len * uc_log_para_p->send_log_num_now;
|
result_flag = SUCCESS_0;
|
return result_flag;
|
}
|
|
ErrorStatus_STM32 Uc_ReadDaysLogHandler(uint8_t *pInputData, uint8_t *pOutputData, uint16_t *pData_field_len, UC_SEND_LOG_PARA_T *uc_log_para_p)
|
{
|
ErrorStatus_STM32 result_flag = ERROR_1;
|
uint16_t uc_log_format_len = HISTORY_FLOW_DATA_LOG_FORMAT_SIZE - SIZEOF_OF(SYS_FLOW_DATA_SYSLOG_FORMAT_T,reserve);
|
SYS_FLOW_DATA_SYSLOG_FORMAT_T temp_record_buff = {0};
|
const SYSLOG_CYCLIC_TABLE_T * ptr = &sys_log_cyclic_table[CYCL_DAY_FLOW_DATA];
|
if (pInputData[14 + UC_DATA_TABLE_BYTES_LENGTH] == 0) // ÊÇ·ñÊ״ζÁÈ¡±ê־룬Ê×´ÎÐèÒª¼ÆËã·¢ËÍÌõÊýºÍ·¢ËÍÊ×µØÖ·
|
{
|
uc_log_para_p->send_log_start_addr = Sys_Log_E2pCyclic_TimeGetStartAddr(ptr,&uc_log_para_p->send_log_num_total,
|
&pInputData[UC_DATA_TABLE_BYTES_LENGTH],&pInputData[6 + UC_DATA_TABLE_BYTES_LENGTH],2);//»ñÈ¡µØÖ·
|
uc_log_para_p->send_log_index = 0;
|
}
|
else
|
uc_log_para_p->send_log_index += UC_READ_LOG_NUM_MAX;
|
|
if(uc_log_para_p->send_log_num_total > UC_READ_LOG_NUM_MAX)
|
{
|
uc_log_para_p->send_log_num_total -= UC_READ_LOG_NUM_MAX;
|
uc_log_para_p->send_log_num_now = UC_READ_LOG_NUM_MAX;
|
uc_log_para_p->send_log_continue_flag = 1;
|
}
|
else
|
{
|
uc_log_para_p->send_log_num_now = uc_log_para_p->send_log_num_total;
|
uc_log_para_p->send_log_continue_flag = 0;
|
}
|
for(uint16_t i = 0;i < uc_log_para_p->send_log_num_now; i++)
|
{
|
uc_log_para_p->send_log_start_addr = Sys_Log_E2pCyclicRead_1_Data(ptr,(uint8_t *)&temp_record_buff,uc_log_para_p->send_log_start_addr);
|
memcpy(&pOutputData[i * uc_log_format_len],&temp_record_buff,uc_log_format_len);
|
}
|
/*·µ»ØÊý¾ÝÓò³¤¶È*/
|
*pData_field_len = UC_DATA_TABLE_BYTES_LENGTH + UC_LOG_NUM_AND_FLAG_LENGTH +
|
uc_log_format_len * uc_log_para_p->send_log_num_now;
|
result_flag = SUCCESS_0;
|
return result_flag;
|
}
|
|
ErrorStatus_STM32 Uc_ReadMonthsLogHandler(uint8_t *pInputData, uint8_t *pOutputData, uint16_t *pData_field_len, UC_SEND_LOG_PARA_T *uc_log_para_p)
|
{
|
ErrorStatus_STM32 result_flag = ERROR_1;
|
uint16_t uc_log_format_len = HISTORY_FLOW_DATA_LOG_FORMAT_SIZE - SIZEOF_OF(SYS_FLOW_DATA_SYSLOG_FORMAT_T,reserve);
|
SYS_FLOW_DATA_SYSLOG_FORMAT_T temp_record_buff = {0};
|
const SYSLOG_CYCLIC_TABLE_T * ptr = &sys_log_cyclic_table[CYCL_MONTH_FLOW_DATA];
|
if (pInputData[14 + UC_DATA_TABLE_BYTES_LENGTH] == 0) // ÊÇ·ñÊ״ζÁÈ¡±ê־룬Ê×´ÎÐèÒª¼ÆËã·¢ËÍÌõÊýºÍ·¢ËÍÊ×µØÖ·
|
{
|
uc_log_para_p->send_log_start_addr = Sys_Log_E2pCyclic_TimeGetStartAddr(ptr,&uc_log_para_p->send_log_num_total,
|
&pInputData[UC_DATA_TABLE_BYTES_LENGTH],&pInputData[6 + UC_DATA_TABLE_BYTES_LENGTH],3);//»ñÈ¡µØÖ·
|
uc_log_para_p->send_log_index = 0;
|
}
|
else
|
uc_log_para_p->send_log_index += UC_READ_LOG_NUM_MAX;
|
|
if(uc_log_para_p->send_log_num_total > UC_READ_LOG_NUM_MAX)
|
{
|
uc_log_para_p->send_log_num_total -= UC_READ_LOG_NUM_MAX;
|
uc_log_para_p->send_log_num_now = UC_READ_LOG_NUM_MAX;
|
uc_log_para_p->send_log_continue_flag = 1;
|
}
|
else
|
{
|
uc_log_para_p->send_log_num_now = uc_log_para_p->send_log_num_total;
|
uc_log_para_p->send_log_continue_flag = 0;
|
}
|
for(uint16_t i = 0;i < uc_log_para_p->send_log_num_now; i++)
|
{
|
uc_log_para_p->send_log_start_addr = Sys_Log_E2pCyclicRead_1_Data(ptr,(uint8_t *)&temp_record_buff,uc_log_para_p->send_log_start_addr);
|
memcpy(&pOutputData[i * uc_log_format_len],&temp_record_buff,uc_log_format_len);
|
}
|
/*·µ»ØÊý¾ÝÓò³¤¶È*/
|
*pData_field_len = UC_DATA_TABLE_BYTES_LENGTH + UC_LOG_NUM_AND_FLAG_LENGTH +
|
uc_log_format_len * uc_log_para_p->send_log_num_now;
|
result_flag = SUCCESS_0;
|
return result_flag;
|
}
|
|
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 result_flag = SUCCESS_0;
|
uint16_t uc_log_format_len = 0,table_id = pInputData[0] << 8 | pInputData[1];
|
PARA_AMEND_SYSLOG_FORMAT_T temp_record_buff = {0};
|
const SYSLOG_CYCLIC_TABLE_T * ptr = NULL;
|
/*±íºÅÇø·Ö³¤¶ÈºÍptr*/
|
switch(table_id)
|
{
|
case UCLC_CUMULANT_AMEND_RO:
|
uc_log_format_len = GAS_CUMULATE_AMEND_LOG_FORMAT_SIZE - SIZEOF_OF(struct gas_cumulate_amend,reserve);
|
ptr = &sys_log_cyclic_table[CYCL_GAS_CUMULATE_AMEND];
|
break;
|
case UCLC_BALANCE_AMEND_RO:
|
uc_log_format_len = BALANCE_AMEND_LOG_FORMAT_SIZE - SIZEOF_OF(struct balance_amend,reserve);
|
ptr = &sys_log_cyclic_table[CYCL_BALANCE_AMEND];
|
break;
|
case UCLC_TEMP_AMEND_RO:
|
uc_log_format_len = TEMP_CFG_AMEND_LOG_FORMAT_SIZE;
|
ptr = &sys_log_cyclic_table[CYCL_TEMP_CFG_AMEND];
|
break;
|
case UCLC_PRESS_AMEND_RO:
|
uc_log_format_len = PRESS_CFG_AMEND_LOG_FORMAT_SIZE;
|
ptr = &sys_log_cyclic_table[CYCL_PRESS_CFG_AMEND];
|
break;
|
case UCLC_FLOW_AMEND_RO:
|
uc_log_format_len = FLOW_CFG_AMEND_LOG_FORMAT_SIZE;
|
ptr = &sys_log_cyclic_table[CYCL_FLOW_CFG_AMEND];
|
break;
|
case UCLC_PRICE_AMEND_RO:
|
uc_log_format_len = BILLING_PRICE_AMEND_LOG_FORMAT_SIZE;
|
ptr = &sys_log_cyclic_table[CYCL_BILLING_PRICE_AMEND];
|
break;
|
case UCLC_PULSE_AMEND_RO:
|
uc_log_format_len = CAL_PULSE_AMEND_LOG_FORMAT_SIZE;
|
ptr = &sys_log_cyclic_table[CYCL_CAL_PULSE_AMEND];
|
break;
|
case UCLC_FUNC_CFG_AMEND_RO:
|
uc_log_format_len = SYS_FUNC_CFG_AMEND_LOG_FORMAT_SIZE;
|
ptr = &sys_log_cyclic_table[CYCL_SYS_FUNC_CFG_AMEND];
|
break;
|
case UCLC_ALARM_CTL_SEND_AMEND_RO:
|
uc_log_format_len = ALARM_CTL_SEND_BYTES_AMEND_LOG_FORMAT_SIZE;
|
ptr = &sys_log_cyclic_table[CYCL_ALARM_CTL_SEND_BYTES_AMEND];
|
break;
|
case UCLC_VALVE_CTL_AMEND_RO:
|
uc_log_format_len = VALVE_CTL_BYTES_AMEND_LOG_FORMAT_SIZE;
|
ptr = &sys_log_cyclic_table[CYCL_VALVE_CTL_BYTES_AMEND];
|
break;
|
case UCLC_BILLING_ALARM_AMEND_RO:
|
uc_log_format_len = BILLING_ALARM_CFG_AMEND_LOG_FORMAT_SIZE;
|
ptr = &sys_log_cyclic_table[CYCL_BILLING_ALARM_CFG_AMEND];
|
break;
|
default:break;
|
}
|
if (pInputData[14 + UC_DATA_TABLE_BYTES_LENGTH] == 0) // ÊÇ·ñÊ״ζÁÈ¡±ê־λ
|
{
|
if(ptr->table_id->log_index >= ptr->data_num || ptr->table_id->log_cyclic_full_cnt)
|
uc_log_para_p->send_log_num_total = ptr->data_num;//·¢ËÍ×ÜÌõÊý
|
else
|
uc_log_para_p->send_log_num_total = ptr->table_id->log_index - 1;
|
uc_log_para_p->send_log_index = 0;
|
}
|
else
|
uc_log_para_p->send_log_index += UC_READ_LOG_NUM_MAX;
|
|
if(uc_log_para_p->send_log_num_total > UC_READ_LOG_NUM_MAX)
|
{
|
uc_log_para_p->send_log_num_total -= UC_READ_LOG_NUM_MAX;
|
uc_log_para_p->send_log_num_now = UC_READ_LOG_NUM_MAX;
|
uc_log_para_p->send_log_continue_flag = 1;
|
}
|
else
|
{
|
uc_log_para_p->send_log_num_now = uc_log_para_p->send_log_num_total;
|
uc_log_para_p->send_log_continue_flag = 0;
|
}
|
|
for(uint16_t i = 0;i < uc_log_para_p->send_log_num_now; i++)
|
{
|
Sys_Log_E2pCyclicMultiplePositiveRead(ptr,(uint8_t *)&temp_record_buff,uc_log_para_p->send_log_index + i + 1,1);
|
memcpy(&pOutputData[i * uc_log_format_len],&temp_record_buff,uc_log_format_len);
|
}
|
/*·µ»ØÊý¾ÝÓò³¤¶È*/
|
*pData_field_len = UC_DATA_TABLE_BYTES_LENGTH + UC_LOG_NUM_AND_FLAG_LENGTH +
|
uc_log_format_len * uc_log_para_p->send_log_num_now;
|
return result_flag;
|
}
|
|
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)
|
{
|
ErrorStatus_STM32 result_flag = SUCCESS_0;
|
uint16_t uc_log_format_len = TIMING_LOG_FORMAT_SIZE - SIZEOF_OF(TIMING_SYSLOG_FORMAT_T,reserve);
|
TIMING_SYSLOG_FORMAT_T temp_record_buff = {0};
|
const SYSLOG_CYCLIC_TABLE_T * ptr = &sys_log_cyclic_table[CYCL_TIMING];
|
if (pInputData[14 + UC_DATA_TABLE_BYTES_LENGTH] == 0) // ÊÇ·ñÊ״ζÁÈ¡±ê־룬Ê×´ÎÐèÒª¼ÆËã·¢ËÍÌõÊýºÍ·¢ËÍÊ×µØÖ·
|
{
|
if(ptr->table_id->log_index >= ptr->data_num || ptr->table_id->log_cyclic_full_cnt)
|
uc_log_para_p->send_log_num_total = ptr->data_num;
|
else
|
uc_log_para_p->send_log_num_total = ptr->table_id->log_index - 1;
|
uc_log_para_p->send_log_index = 0;
|
}
|
else
|
uc_log_para_p->send_log_index += UC_READ_LOG_NUM_MAX;
|
if(uc_log_para_p->send_log_num_total > UC_READ_LOG_NUM_MAX)
|
{
|
uc_log_para_p->send_log_num_total -= UC_READ_LOG_NUM_MAX;
|
uc_log_para_p->send_log_num_now = UC_READ_LOG_NUM_MAX;
|
uc_log_para_p->send_log_continue_flag = 1;
|
}
|
else
|
{
|
uc_log_para_p->send_log_num_now = uc_log_para_p->send_log_num_total;
|
uc_log_para_p->send_log_continue_flag = 0;
|
}
|
|
for(uint16_t i = 0;i < uc_log_para_p->send_log_num_now; i++)
|
{
|
Sys_Log_E2pCyclicMultiplePositiveRead(ptr,(uint8_t *)&temp_record_buff,uc_log_para_p->send_log_index + i + 1,1);
|
memcpy(&pOutputData[i * uc_log_format_len],&temp_record_buff,uc_log_format_len);
|
}
|
/*·µ»ØÊý¾ÝÓò³¤¶È*/
|
*pData_field_len = UC_DATA_TABLE_BYTES_LENGTH + UC_LOG_NUM_AND_FLAG_LENGTH +
|
uc_log_format_len * uc_log_para_p->send_log_num_now;
|
return result_flag;
|
}
|
|
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 result_flag = ERROR_1;
|
uint16_t uc_log_format_len = SEND_FLOW_DATA_LOG_FORMAT_SIZE -
|
SIZEOF_OF(SYS_SEND_FLOW_DATA_SYSLOG_FORMAT_T,reserve) -
|
SIZEOF_OF(SYS_SEND_FLOW_DATA_SYSLOG_FORMAT_T,check_sum);
|
SYS_SEND_FLOW_DATA_SYSLOG_FORMAT_T temp_record_buff = {0};
|
const SYSLOG_CYCLIC_TABLE_T * ptr = &sys_log_cyclic_table[CYCL_SEND_FLOW_DATA];
|
if (pInputData[14 + UC_DATA_TABLE_BYTES_LENGTH] == 0) // ÊÇ·ñÊ״ζÁÈ¡±ê־룬Ê×´ÎÐèÒª¼ÆËã·¢ËÍÌõÊýºÍ·¢ËÍÊ×µØÖ·
|
{
|
uc_log_para_p->send_log_start_addr = Sys_Log_E2pCyclic_StartTime_GetStartAddr(ptr,&uc_log_para_p->send_log_num_total,
|
&pInputData[UC_DATA_TABLE_BYTES_LENGTH],&pInputData[6 + UC_DATA_TABLE_BYTES_LENGTH],
|
OFFSET_OF(SYS_SEND_FLOW_DATA_SYSLOG_FORMAT_T,record_time));//»ñÈ¡µØÖ·
|
uc_log_para_p->send_log_index = 0;
|
}
|
else
|
uc_log_para_p->send_log_index += UC_READ_LOG_NUM_MAX;
|
|
if(uc_log_para_p->send_log_num_total > UC_READ_LOG_NUM_MAX)
|
{
|
uc_log_para_p->send_log_num_total -= UC_READ_LOG_NUM_MAX;
|
uc_log_para_p->send_log_num_now = UC_READ_LOG_NUM_MAX;
|
uc_log_para_p->send_log_continue_flag = 1;
|
}
|
else
|
{
|
uc_log_para_p->send_log_num_now = uc_log_para_p->send_log_num_total;
|
uc_log_para_p->send_log_continue_flag = 0;
|
}
|
for(uint16_t i = 0;i < uc_log_para_p->send_log_num_now; i++)
|
{
|
uc_log_para_p->send_log_start_addr = Sys_Log_E2pCyclicRead_1_Data(ptr,(uint8_t *)&temp_record_buff,uc_log_para_p->send_log_start_addr);
|
memcpy(&pOutputData[i * uc_log_format_len],temp_record_buff.record_time,uc_log_format_len);
|
}
|
/*·µ»ØÊý¾ÝÓò³¤¶È*/
|
*pData_field_len = UC_DATA_TABLE_BYTES_LENGTH + UC_LOG_NUM_AND_FLAG_LENGTH +
|
uc_log_format_len * uc_log_para_p->send_log_num_now;
|
result_flag = SUCCESS_0;
|
return result_flag;
|
}
|
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 result_flag = ERROR_1;
|
uint16_t uc_log_format_len = OTHER_ALARM_DATA_LOG_FORMAT_SIZE - SIZEOF_OF(struct other_alarm_data,reserve);
|
ALARM_SYSLOG_FORMAT_T temp_record_buff = {0};
|
const SYSLOG_CYCLIC_TABLE_T * ptr = &sys_log_cyclic_table[CYCL_OTHER_ALARM];
|
if (pInputData[14 + UC_DATA_TABLE_BYTES_LENGTH] == 0) // ÊÇ·ñÊ״ζÁÈ¡±ê־룬Ê×´ÎÐèÒª¼ÆËã·¢ËÍÌõÊýºÍ·¢ËÍÊ×µØÖ·
|
{
|
uc_log_para_p->send_log_start_addr = Sys_Log_E2pCyclic_StartTime_GetStartAddr(ptr,&uc_log_para_p->send_log_num_total,
|
&pInputData[UC_DATA_TABLE_BYTES_LENGTH],&pInputData[6 + UC_DATA_TABLE_BYTES_LENGTH],
|
OFFSET_OF(ALARM_SYSLOG_FORMAT_T,record_time));//»ñÈ¡µØÖ·
|
uc_log_para_p->send_log_index = 0;
|
}
|
else
|
uc_log_para_p->send_log_index += UC_READ_LOG_NUM_MAX;
|
|
if(uc_log_para_p->send_log_num_total > UC_READ_LOG_NUM_MAX)
|
{
|
uc_log_para_p->send_log_num_total -= UC_READ_LOG_NUM_MAX;
|
uc_log_para_p->send_log_num_now = UC_READ_LOG_NUM_MAX;
|
uc_log_para_p->send_log_continue_flag = 1;
|
}
|
else
|
{
|
uc_log_para_p->send_log_num_now = uc_log_para_p->send_log_num_total;
|
uc_log_para_p->send_log_continue_flag = 0;
|
}
|
for(uint16_t i = 0;i < uc_log_para_p->send_log_num_now; i++)
|
{
|
uc_log_para_p->send_log_start_addr = Sys_Log_E2pCyclicRead_1_Data(ptr,(uint8_t *)&temp_record_buff,uc_log_para_p->send_log_start_addr);
|
memcpy(&pOutputData[i * uc_log_format_len],&temp_record_buff,uc_log_format_len);
|
}
|
/*·µ»ØÊý¾ÝÓò³¤¶È*/
|
*pData_field_len = UC_DATA_TABLE_BYTES_LENGTH + UC_LOG_NUM_AND_FLAG_LENGTH +
|
uc_log_format_len * uc_log_para_p->send_log_num_now;
|
result_flag = SUCCESS_0;
|
return result_flag;
|
}
|
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 result_flag = ERROR_1;
|
uint16_t uc_log_format_len = MEASURE_ALARM_DATA_LOG_FORMAT_SIZE - SIZEOF_OF(struct measure_alarm_data,reserve);
|
ALARM_SYSLOG_FORMAT_T temp_record_buff = {0};
|
const SYSLOG_CYCLIC_TABLE_T * ptr = &sys_log_cyclic_table[CYCL_MEASURE_ALARM];
|
if (pInputData[14 + UC_DATA_TABLE_BYTES_LENGTH] == 0) // ÊÇ·ñÊ״ζÁÈ¡±ê־룬Ê×´ÎÐèÒª¼ÆËã·¢ËÍÌõÊýºÍ·¢ËÍÊ×µØÖ·
|
{
|
uc_log_para_p->send_log_start_addr = Sys_Log_E2pCyclic_StartTime_GetStartAddr(ptr,&uc_log_para_p->send_log_num_total,
|
&pInputData[UC_DATA_TABLE_BYTES_LENGTH],&pInputData[6 + UC_DATA_TABLE_BYTES_LENGTH],
|
OFFSET_OF(ALARM_SYSLOG_FORMAT_T,record_time));//»ñÈ¡µØÖ·
|
uc_log_para_p->send_log_index = 0;
|
}
|
else
|
uc_log_para_p->send_log_index += UC_READ_LOG_NUM_MAX;
|
|
if(uc_log_para_p->send_log_num_total > UC_READ_LOG_NUM_MAX)
|
{
|
uc_log_para_p->send_log_num_total -= UC_READ_LOG_NUM_MAX;
|
uc_log_para_p->send_log_num_now = UC_READ_LOG_NUM_MAX;
|
uc_log_para_p->send_log_continue_flag = 1;
|
}
|
else
|
{
|
uc_log_para_p->send_log_num_now = uc_log_para_p->send_log_num_total;
|
uc_log_para_p->send_log_continue_flag = 0;
|
}
|
for(uint16_t i = 0;i < uc_log_para_p->send_log_num_now; i++)
|
{
|
uc_log_para_p->send_log_start_addr = Sys_Log_E2pCyclicRead_1_Data(ptr,(uint8_t *)&temp_record_buff,uc_log_para_p->send_log_start_addr);
|
memcpy(&pOutputData[i * uc_log_format_len],&temp_record_buff,uc_log_format_len);
|
}
|
/*·µ»ØÊý¾ÝÓò³¤¶È*/
|
*pData_field_len = UC_DATA_TABLE_BYTES_LENGTH + UC_LOG_NUM_AND_FLAG_LENGTH +
|
uc_log_format_len * uc_log_para_p->send_log_num_now;
|
result_flag = SUCCESS_0;
|
return result_flag;
|
}
|
|
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 result_flag = ERROR_1;
|
uint16_t uc_log_format_len = VALVE_LOG_FORMAT_SIZE - SIZEOF_OF(VALVE_SYSLOG_FORMAT_T,reserve);
|
VALVE_SYSLOG_FORMAT_T temp_record_buff = {0};
|
const SYSLOG_CYCLIC_TABLE_T * ptr = &sys_log_cyclic_table[CYCL_VALVE];
|
if (pInputData[14 + UC_DATA_TABLE_BYTES_LENGTH] == 0) // ÊÇ·ñÊ״ζÁÈ¡±ê־룬Ê×´ÎÐèÒª¼ÆËã·¢ËÍÌõÊýºÍ·¢ËÍÊ×µØÖ·
|
{
|
uc_log_para_p->send_log_start_addr = Sys_Log_E2pCyclic_StartTime_GetStartAddr(ptr,&uc_log_para_p->send_log_num_total,
|
&pInputData[UC_DATA_TABLE_BYTES_LENGTH],&pInputData[6 + UC_DATA_TABLE_BYTES_LENGTH],
|
OFFSET_OF(VALVE_SYSLOG_FORMAT_T,record_time));//»ñÈ¡µØÖ·
|
uc_log_para_p->send_log_index = 0;
|
}
|
else
|
uc_log_para_p->send_log_index += UC_READ_LOG_NUM_MAX;
|
|
if(uc_log_para_p->send_log_num_total > UC_READ_LOG_NUM_MAX)
|
{
|
uc_log_para_p->send_log_num_total -= UC_READ_LOG_NUM_MAX;
|
uc_log_para_p->send_log_num_now = UC_READ_LOG_NUM_MAX;
|
uc_log_para_p->send_log_continue_flag = 1;
|
}
|
else
|
{
|
uc_log_para_p->send_log_num_now = uc_log_para_p->send_log_num_total;
|
uc_log_para_p->send_log_continue_flag = 0;
|
}
|
for(uint16_t i = 0;i < uc_log_para_p->send_log_num_now; i++)
|
{
|
uc_log_para_p->send_log_start_addr = Sys_Log_E2pCyclicRead_1_Data(ptr,(uint8_t *)&temp_record_buff,uc_log_para_p->send_log_start_addr);
|
memcpy(&pOutputData[i * uc_log_format_len],&temp_record_buff,uc_log_format_len);
|
}
|
/*·µ»ØÊý¾ÝÓò³¤¶È*/
|
*pData_field_len = UC_DATA_TABLE_BYTES_LENGTH + UC_LOG_NUM_AND_FLAG_LENGTH +
|
uc_log_format_len * uc_log_para_p->send_log_num_now;
|
result_flag = SUCCESS_0;
|
return result_flag;
|
}
|
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 result_flag = ERROR_1;
|
uint16_t uc_log_format_len = PAY_LOG_FORMAT_SIZE - SIZEOF_OF(PAY_SYSLOG_FORMAT_T,reserve);
|
PAY_SYSLOG_FORMAT_T temp_record_buff = {0};
|
const SYSLOG_CYCLIC_TABLE_T * ptr = &sys_log_cyclic_table[CYCL_PAY];
|
if (pInputData[14 + UC_DATA_TABLE_BYTES_LENGTH] == 0) // ÊÇ·ñÊ״ζÁÈ¡±ê־룬Ê×´ÎÐèÒª¼ÆËã·¢ËÍÌõÊýºÍ·¢ËÍÊ×µØÖ·
|
{
|
uc_log_para_p->send_log_start_addr = Sys_Log_E2pCyclic_StartTime_GetStartAddr(ptr,&uc_log_para_p->send_log_num_total,
|
&pInputData[UC_DATA_TABLE_BYTES_LENGTH],&pInputData[6 + UC_DATA_TABLE_BYTES_LENGTH],
|
OFFSET_OF(PAY_SYSLOG_FORMAT_T,record_time));//»ñÈ¡µØÖ·
|
uc_log_para_p->send_log_index = 0;
|
}
|
else
|
uc_log_para_p->send_log_index += UC_READ_LOG_NUM_MAX;
|
|
if(uc_log_para_p->send_log_num_total > UC_READ_LOG_NUM_MAX)
|
{
|
uc_log_para_p->send_log_num_total -= UC_READ_LOG_NUM_MAX;
|
uc_log_para_p->send_log_num_now = UC_READ_LOG_NUM_MAX;
|
uc_log_para_p->send_log_continue_flag = 1;
|
}
|
else
|
{
|
uc_log_para_p->send_log_num_now = uc_log_para_p->send_log_num_total;
|
uc_log_para_p->send_log_continue_flag = 0;
|
}
|
for(uint16_t i = 0;i < uc_log_para_p->send_log_num_now; i++)
|
{
|
uc_log_para_p->send_log_start_addr = Sys_Log_E2pCyclicRead_1_Data(ptr,(uint8_t *)&temp_record_buff,uc_log_para_p->send_log_start_addr);
|
memcpy(&pOutputData[i * uc_log_format_len],&temp_record_buff,uc_log_format_len);
|
}
|
/*·µ»ØÊý¾ÝÓò³¤¶È*/
|
*pData_field_len = UC_DATA_TABLE_BYTES_LENGTH + UC_LOG_NUM_AND_FLAG_LENGTH +
|
uc_log_format_len * uc_log_para_p->send_log_num_now;
|
result_flag = SUCCESS_0;
|
return result_flag;
|
}
|
|
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 result_flag = ERROR_1;
|
PARA_AMEND_SYSLOG_FORMAT_T temp_para = {0};
|
UC_AMEND_LOG_T * uc_amend_log_p = &uc_amend_log_g;
|
E2P_PWR_ON; // ¿ªÆôE2pµçÔ´
|
const SYSLOG_CYCLIC_TABLE_T * ptr = &sys_log_cyclic_table[CYCL_PRESS_CFG_AMEND];
|
if(pInputData[14 + UC_DATA_TABLE_BYTES_LENGTH] == 0)//Ê×´Î
|
{
|
if(ptr->table_id->log_cyclic_full_cnt) //»·Ð´Âú
|
uc_log_para_p->send_log_num_total = ptr->data_num;//·¢ËÍ×ÜÌõÊý
|
else
|
uc_log_para_p->send_log_num_total = ptr->table_id->log_index - 1;//6ÌõÀúÊ·Êý¾ÝµÄ»°index = 7 send_log_num_total = 6
|
uc_log_para_p->send_log_index = 0;
|
}
|
else
|
uc_log_para_p->send_log_index += 5;
|
|
if(uc_log_para_p->send_log_num_total > 5)
|
{
|
uc_log_para_p->send_log_num_total -= 5;
|
uc_log_para_p->send_log_num_now = 5;
|
uc_log_para_p->send_log_continue_flag = 1;
|
}
|
else
|
{
|
uc_log_para_p->send_log_num_now = uc_log_para_p->send_log_num_total;
|
uc_log_para_p->send_log_continue_flag = 0;
|
}
|
|
for(uint8_t i = 0; i < uc_log_para_p->send_log_num_now;i++)
|
{
|
/*µ¹Ðð¶Á*/
|
Sys_Log_E2pCyclicMultiplePositiveRead(&sys_log_cyclic_table[CYCL_PRESS_CFG_AMEND], (uint8_t *)&temp_para,
|
i + 1+ uc_log_para_p->send_log_index,1);
|
/*¹¹Ôì±¾µØÍ¨Ñ¶ÈÕÖ¾·¢Ë͸ñʽ*/
|
uc_amend_log_p->record_num = temp_para.record_num;
|
uc_amend_log_p->mender = temp_para.mender;
|
memcpy(uc_amend_log_p->record_time,temp_para.record_time,6);
|
uc_amend_log_p->amend_id = 0x03;
|
|
memcpy(&uc_amend_log_p->uc_amend_data.press_para_s.before,&temp_para.para_amend_union.press_cfg_amend_s.press_cfg_before,
|
sizeof(PRESS_PARA_T));
|
memcpy(&uc_amend_log_p->uc_amend_data.press_para_s.now,&temp_para.para_amend_union.press_cfg_amend_s.press_cgf_now,
|
sizeof(PRESS_PARA_T));
|
/*´óС¶Ëת»»*/
|
uc_amend_log_p->uc_amend_data.press_para_s.before.press_correction_factor =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.press_para_s.before.press_correction_factor);
|
uc_amend_log_p->uc_amend_data.press_para_s.before.press_intercept =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.press_para_s.before.press_intercept);
|
uc_amend_log_p->uc_amend_data.press_para_s.before.press_up_valve =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.press_para_s.before.press_up_valve);
|
uc_amend_log_p->uc_amend_data.press_para_s.before.press_up_up_valve =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.press_para_s.before.press_up_up_valve);
|
uc_amend_log_p->uc_amend_data.press_para_s.before.press_down_valve =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.press_para_s.before.press_down_valve);
|
uc_amend_log_p->uc_amend_data.press_para_s.before.press_down_down_valve =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.press_para_s.before.press_down_down_valve);
|
uc_amend_log_p->uc_amend_data.press_para_s.before.press_up_scope =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.press_para_s.before.press_up_scope);
|
uc_amend_log_p->uc_amend_data.press_para_s.before.press_down_scope =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.press_para_s.before.press_down_scope);
|
uc_amend_log_p->uc_amend_data.press_para_s.before.press_down_down_replace =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.press_para_s.before.press_down_down_replace);
|
|
uc_amend_log_p->uc_amend_data.press_para_s.now.press_correction_factor =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.press_para_s.now.press_correction_factor);
|
uc_amend_log_p->uc_amend_data.press_para_s.now.press_intercept =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.press_para_s.now.press_intercept);
|
uc_amend_log_p->uc_amend_data.press_para_s.now.press_up_valve =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.press_para_s.now.press_up_valve);
|
uc_amend_log_p->uc_amend_data.press_para_s.now.press_up_up_valve =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.press_para_s.now.press_up_up_valve);
|
uc_amend_log_p->uc_amend_data.press_para_s.now.press_down_valve =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.press_para_s.now.press_down_valve);
|
uc_amend_log_p->uc_amend_data.press_para_s.now.press_down_down_valve =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.press_para_s.now.press_down_down_valve);
|
uc_amend_log_p->uc_amend_data.press_para_s.now.press_up_scope =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.press_para_s.now.press_up_scope);
|
uc_amend_log_p->uc_amend_data.press_para_s.now.press_down_scope =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.press_para_s.now.press_down_scope);
|
uc_amend_log_p->uc_amend_data.press_para_s.now.press_down_down_replace =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.press_para_s.now.press_down_down_replace);
|
|
/*¸³Öµµ½·¢ËÍÊý×é*/
|
memcpy(&pOutputData[i * UC_AMEND_LOG_PRESS_PARA_PACK_LEN],uc_amend_log_p,UC_AMEND_LOG_PRESS_PARA_PACK_LEN);
|
}
|
/*·µ»ØÊý¾ÝÓò³¤¶È*/
|
*pData_field_len = UC_DATA_TABLE_BYTES_LENGTH + UC_LOG_NUM_AND_FLAG_LENGTH +
|
UC_AMEND_LOG_PRESS_PARA_PACK_LEN * uc_log_para_p->send_log_num_now;
|
|
E2P_PWR_OFF;
|
result_flag = SUCCESS_0;
|
return result_flag;
|
}
|
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 result_flag = ERROR_1;
|
PARA_AMEND_SYSLOG_FORMAT_T temp_para = {0};
|
UC_AMEND_LOG_T * uc_amend_log_p = &uc_amend_log_g;
|
E2P_PWR_ON; // ¿ªÆôE2pµçÔ´
|
const SYSLOG_CYCLIC_TABLE_T * ptr = &sys_log_cyclic_table[CYCL_TEMP_CFG_AMEND];
|
if(pInputData[14 + UC_DATA_TABLE_BYTES_LENGTH] == 0)//Ê×´Î
|
{
|
if(ptr->table_id->log_cyclic_full_cnt) //»·Ð´Âú
|
uc_log_para_p->send_log_num_total = ptr->data_num;//·¢ËÍ×ÜÌõÊý
|
else
|
uc_log_para_p->send_log_num_total = ptr->table_id->log_index - 1;//6ÌõÀúÊ·Êý¾ÝµÄ»°index = 7 send_log_num_total = 6
|
uc_log_para_p->send_log_index = 0;
|
}
|
else
|
uc_log_para_p->send_log_index += 5;
|
|
if(uc_log_para_p->send_log_num_total > 5)
|
{
|
uc_log_para_p->send_log_num_total -= 5;
|
uc_log_para_p->send_log_num_now = 5;
|
uc_log_para_p->send_log_continue_flag = 1;
|
}
|
else
|
{
|
uc_log_para_p->send_log_num_now = uc_log_para_p->send_log_num_total;
|
uc_log_para_p->send_log_continue_flag = 0;
|
}
|
|
for(uint8_t i = 0; i < uc_log_para_p->send_log_num_now;i++)
|
{
|
/*µ¹Ðð¶Á*/
|
Sys_Log_E2pCyclicMultiplePositiveRead(&sys_log_cyclic_table[CYCL_TEMP_CFG_AMEND], (uint8_t *)&temp_para,
|
i + 1+ uc_log_para_p->send_log_index,1);
|
/*¹¹Ôì±¾µØÍ¨Ñ¶ÈÕÖ¾·¢Ë͸ñʽ*/
|
uc_amend_log_p->record_num = temp_para.record_num;
|
uc_amend_log_p->mender = temp_para.mender;
|
memcpy(uc_amend_log_p->record_time,temp_para.record_time,6);
|
uc_amend_log_p->amend_id = 0x04;
|
|
memcpy(&uc_amend_log_p->uc_amend_data.temp_para_s.before,&temp_para.para_amend_union.temp_cfg_amend_s.temp_cfg_before,
|
sizeof(TEMP_PARA_T));
|
memcpy(&uc_amend_log_p->uc_amend_data.temp_para_s.now,&temp_para.para_amend_union.temp_cfg_amend_s.temp_cgf_now,
|
sizeof(TEMP_PARA_T));
|
/*´óС¶Ëת»»*/
|
uc_amend_log_p->uc_amend_data.temp_para_s.before.temp_correction_factor =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.temp_para_s.before.temp_correction_factor);
|
uc_amend_log_p->uc_amend_data.temp_para_s.before.temp_intercept =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.temp_para_s.before.temp_intercept);
|
uc_amend_log_p->uc_amend_data.temp_para_s.before.temp_up_valve =
|
BSWAP_16(uc_amend_log_p->uc_amend_data.temp_para_s.before.temp_up_valve);
|
uc_amend_log_p->uc_amend_data.temp_para_s.before.temp_up_up_valve =
|
BSWAP_16(uc_amend_log_p->uc_amend_data.temp_para_s.before.temp_up_up_valve);
|
uc_amend_log_p->uc_amend_data.temp_para_s.before.temp_down_valve =
|
BSWAP_16(uc_amend_log_p->uc_amend_data.temp_para_s.before.temp_down_valve);
|
uc_amend_log_p->uc_amend_data.temp_para_s.before.temp_down_down_valve =
|
BSWAP_16(uc_amend_log_p->uc_amend_data.temp_para_s.before.temp_down_down_valve);
|
uc_amend_log_p->uc_amend_data.temp_para_s.before.temp_up_scope =
|
BSWAP_16(uc_amend_log_p->uc_amend_data.temp_para_s.before.temp_up_scope);
|
uc_amend_log_p->uc_amend_data.temp_para_s.before.temp_down_scope =
|
BSWAP_16(uc_amend_log_p->uc_amend_data.temp_para_s.before.temp_down_scope);
|
uc_amend_log_p->uc_amend_data.temp_para_s.before.cpu_temp_up_scope =
|
BSWAP_16(uc_amend_log_p->uc_amend_data.temp_para_s.before.cpu_temp_up_scope);
|
uc_amend_log_p->uc_amend_data.temp_para_s.before.temp_down_scope =
|
BSWAP_16(uc_amend_log_p->uc_amend_data.temp_para_s.before.cpu_temp_down_scope);
|
uc_amend_log_p->uc_amend_data.temp_para_s.before.temp_down_scope =
|
BSWAP_16(uc_amend_log_p->uc_amend_data.temp_para_s.before.cpu_temp_down_scope);
|
|
uc_amend_log_p->uc_amend_data.temp_para_s.now.temp_correction_factor =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.temp_para_s.now.temp_correction_factor);
|
uc_amend_log_p->uc_amend_data.temp_para_s.now.temp_intercept =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.temp_para_s.now.temp_intercept);
|
uc_amend_log_p->uc_amend_data.temp_para_s.now.temp_up_valve =
|
BSWAP_16(uc_amend_log_p->uc_amend_data.temp_para_s.now.temp_up_valve);
|
uc_amend_log_p->uc_amend_data.temp_para_s.now.temp_up_up_valve =
|
BSWAP_16(uc_amend_log_p->uc_amend_data.temp_para_s.now.temp_up_up_valve);
|
uc_amend_log_p->uc_amend_data.temp_para_s.now.temp_down_valve =
|
BSWAP_16(uc_amend_log_p->uc_amend_data.temp_para_s.now.temp_down_valve);
|
uc_amend_log_p->uc_amend_data.temp_para_s.now.temp_down_down_valve =
|
BSWAP_16(uc_amend_log_p->uc_amend_data.temp_para_s.now.temp_down_down_valve);
|
uc_amend_log_p->uc_amend_data.temp_para_s.now.temp_up_scope =
|
BSWAP_16(uc_amend_log_p->uc_amend_data.temp_para_s.now.temp_up_scope);
|
uc_amend_log_p->uc_amend_data.temp_para_s.now.temp_down_scope =
|
BSWAP_16(uc_amend_log_p->uc_amend_data.temp_para_s.now.temp_down_scope);
|
uc_amend_log_p->uc_amend_data.temp_para_s.now.cpu_temp_up_scope =
|
BSWAP_16(uc_amend_log_p->uc_amend_data.temp_para_s.now.cpu_temp_up_scope);
|
uc_amend_log_p->uc_amend_data.temp_para_s.now.temp_down_scope =
|
BSWAP_16(uc_amend_log_p->uc_amend_data.temp_para_s.now.cpu_temp_down_scope);
|
uc_amend_log_p->uc_amend_data.temp_para_s.now.temp_down_scope =
|
BSWAP_16(uc_amend_log_p->uc_amend_data.temp_para_s.now.cpu_temp_down_scope);
|
|
/*¸³Öµµ½·¢ËÍÊý×é*/
|
memcpy(&pOutputData[i * UC_AMEND_LOG_TEMP_PARA_PACK_LEN],uc_amend_log_p,UC_AMEND_LOG_TEMP_PARA_PACK_LEN);
|
}
|
/*·µ»ØÊý¾ÝÓò³¤¶È*/
|
*pData_field_len = UC_DATA_TABLE_BYTES_LENGTH + UC_LOG_NUM_AND_FLAG_LENGTH +
|
UC_AMEND_LOG_TEMP_PARA_PACK_LEN * uc_log_para_p->send_log_num_now;
|
|
|
E2P_PWR_OFF;
|
result_flag = SUCCESS_0;
|
return result_flag;
|
}
|
|
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 result_flag = ERROR_1;
|
PARA_AMEND_SYSLOG_FORMAT_T temp_para = {0};
|
UC_AMEND_LOG_T * uc_amend_log_p = &uc_amend_log_g;
|
E2P_PWR_ON; // ¿ªÆôE2pµçÔ´
|
const SYSLOG_CYCLIC_TABLE_T * ptr = &sys_log_cyclic_table[CYCL_FLOW_CFG_AMEND];
|
if(pInputData[14 + UC_DATA_TABLE_BYTES_LENGTH] == 0)//Ê×´Î
|
{
|
if(ptr->table_id->log_cyclic_full_cnt) //»·Ð´Âú
|
uc_log_para_p->send_log_num_total = ptr->data_num;//·¢ËÍ×ÜÌõÊý
|
else
|
uc_log_para_p->send_log_num_total = ptr->table_id->log_index - 1;//6ÌõÀúÊ·Êý¾ÝµÄ»°index = 7 send_log_num_total = 6
|
uc_log_para_p->send_log_index = 0;
|
}
|
else
|
uc_log_para_p->send_log_index += 5;
|
if(uc_log_para_p->send_log_num_total > 5)
|
{
|
uc_log_para_p->send_log_num_total -= 5;
|
uc_log_para_p->send_log_num_now = 5;
|
uc_log_para_p->send_log_continue_flag = 1;
|
}
|
else
|
{
|
uc_log_para_p->send_log_num_now = uc_log_para_p->send_log_num_total;
|
uc_log_para_p->send_log_continue_flag = 0;
|
}
|
|
for(uint8_t i = 0; i < uc_log_para_p->send_log_num_now;i++)
|
{
|
/*µ¹Ðð¶Á*/
|
Sys_Log_E2pCyclicMultiplePositiveRead(&sys_log_cyclic_table[CYCL_FLOW_CFG_AMEND], (uint8_t *)&temp_para,
|
i + 1+ uc_log_para_p->send_log_index,1);
|
/*¹¹Ôì±¾µØÍ¨Ñ¶ÈÕÖ¾·¢Ë͸ñʽ*/
|
uc_amend_log_p->record_num = temp_para.record_num;
|
uc_amend_log_p->mender = temp_para.mender;
|
memcpy(uc_amend_log_p->record_time,temp_para.record_time,6);
|
uc_amend_log_p->amend_id = 0x05;
|
|
memcpy(&uc_amend_log_p->uc_amend_data.flow_para_s.before,&temp_para.para_amend_union.flow_cfg_amend_s.flow_cfg_before,
|
sizeof(FLOW_PARA_T));
|
memcpy(&uc_amend_log_p->uc_amend_data.flow_para_s.now,&temp_para.para_amend_union.flow_cfg_amend_s.flow_cfg_now,
|
sizeof(FLOW_PARA_T));
|
/*´óС¶Ëת»»*/
|
uc_amend_log_p->uc_amend_data.flow_para_s.before.flow_up =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.flow_para_s.before.flow_up);
|
uc_amend_log_p->uc_amend_data.flow_para_s.before.flow_up_up =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.flow_para_s.before.flow_up_up);
|
uc_amend_log_p->uc_amend_data.flow_para_s.before.flow_down =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.flow_para_s.before.flow_down);
|
uc_amend_log_p->uc_amend_data.flow_para_s.before.flow_up_up_replace_value =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.flow_para_s.before.flow_up_up_replace_value);
|
uc_amend_log_p->uc_amend_data.flow_para_s.before.small_flow_excision_value =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.flow_para_s.before.small_flow_excision_value);
|
|
uc_amend_log_p->uc_amend_data.flow_para_s.now.flow_up =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.flow_para_s.now.flow_up);
|
uc_amend_log_p->uc_amend_data.flow_para_s.now.flow_up_up =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.flow_para_s.now.flow_up_up);
|
uc_amend_log_p->uc_amend_data.flow_para_s.now.flow_down =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.flow_para_s.now.flow_down);
|
uc_amend_log_p->uc_amend_data.flow_para_s.now.flow_up_up_replace_value =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.flow_para_s.now.flow_up_up_replace_value);
|
uc_amend_log_p->uc_amend_data.flow_para_s.now.small_flow_excision_value =
|
BLEndianFloat(uc_amend_log_p->uc_amend_data.flow_para_s.now.small_flow_excision_value);
|
|
|
/*¸³Öµµ½·¢ËÍÊý×é*/
|
memcpy(&pOutputData[i * UC_AMEND_LOG_FLOW_PARA_PACK_LEN],uc_amend_log_p,UC_AMEND_LOG_FLOW_PARA_PACK_LEN);
|
}
|
/*·µ»ØÊý¾ÝÓò³¤¶È*/
|
*pData_field_len = UC_DATA_TABLE_BYTES_LENGTH + UC_LOG_NUM_AND_FLAG_LENGTH +
|
UC_AMEND_LOG_FLOW_PARA_PACK_LEN * uc_log_para_p->send_log_num_now;
|
|
E2P_PWR_OFF;
|
result_flag = SUCCESS_0;
|
return result_flag;
|
}
|
|
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 result_flag = ERROR_1;
|
PARA_AMEND_SYSLOG_FORMAT_T temp_para = {0};
|
UC_AMEND_LOG_T * uc_amend_log_p = &uc_amend_log_g;
|
E2P_PWR_ON; // ¿ªÆôE2pµçÔ´
|
const SYSLOG_CYCLIC_TABLE_T * ptr_pulse = &sys_log_cyclic_table[CYCL_CAL_PULSE_AMEND];
|
if(pInputData[14 + UC_DATA_TABLE_BYTES_LENGTH] == 0)//Ê×´Î
|
{
|
if(ptr_pulse->table_id->log_cyclic_full_cnt) //»·Ð´Âú
|
uc_log_para_p->send_log_num_total = ptr_pulse->data_num;//·¢ËÍ×ÜÌõÊý
|
else
|
uc_log_para_p->send_log_num_total = ptr_pulse->table_id->log_index - 1;//6ÌõÀúÊ·Êý¾ÝµÄ»°index = 7 send_log_num_total = 6
|
uc_log_para_p->send_log_index = 0;
|
}
|
else
|
uc_log_para_p->send_log_index += 5;
|
if(uc_log_para_p->send_log_num_total > 5)
|
{
|
uc_log_para_p->send_log_num_total -= 5;
|
uc_log_para_p->send_log_num_now = 5;
|
uc_log_para_p->send_log_continue_flag = 1;
|
}
|
else
|
{
|
uc_log_para_p->send_log_num_now = uc_log_para_p->send_log_num_total;
|
uc_log_para_p->send_log_continue_flag = 0;
|
}
|
|
for(uint8_t i = 0; i < uc_log_para_p->send_log_num_now;i++)
|
{
|
/*µ¹Ðð¶Á*/
|
Sys_Log_E2pCyclicMultiplePositiveRead(&sys_log_cyclic_table[CYCL_CAL_PULSE_AMEND], (uint8_t *)&temp_para,
|
i + 1+ uc_log_para_p->send_log_index,1);
|
/*¹¹Ôì±¾µØÍ¨Ñ¶ÈÕÖ¾·¢Ë͸ñʽ*/
|
uc_amend_log_p->record_num = temp_para.record_num;
|
uc_amend_log_p->mender = temp_para.mender;
|
memcpy(uc_amend_log_p->record_time,temp_para.record_time,6);
|
uc_amend_log_p->amend_id = 0x06;
|
|
uc_amend_log_p->uc_amend_data.pulse_para_s.before.cal_pulse_fator =
|
temp_para.para_amend_union.cal_pulse_amend_s.cal_pulse_cfg_before.cal_pulse_factor;
|
uc_amend_log_p->uc_amend_data.pulse_para_s.before.cal_pulse_width =
|
temp_para.para_amend_union.cal_pulse_amend_s.cal_pulse_cfg_before.cal_pulse_width;
|
|
uc_amend_log_p->uc_amend_data.pulse_para_s.now.cal_pulse_fator =
|
temp_para.para_amend_union.cal_pulse_amend_s.cal_pulse_cfg_now.cal_pulse_factor;
|
uc_amend_log_p->uc_amend_data.pulse_para_s.now.cal_pulse_width =
|
temp_para.para_amend_union.cal_pulse_amend_s.cal_pulse_cfg_now.cal_pulse_width;
|
|
/*´óС¶Ëת»»*/
|
uc_amend_log_p->uc_amend_data.pulse_para_s.before.cal_pulse_fator =
|
BSWAP_32(uc_amend_log_p->uc_amend_data.pulse_para_s.before.cal_pulse_fator);
|
uc_amend_log_p->uc_amend_data.pulse_para_s.before.cal_pulse_width =
|
BSWAP_16(uc_amend_log_p->uc_amend_data.pulse_para_s.before.cal_pulse_width);
|
|
uc_amend_log_p->uc_amend_data.pulse_para_s.now.cal_pulse_fator =
|
BSWAP_32(uc_amend_log_p->uc_amend_data.pulse_para_s.now.cal_pulse_fator);
|
uc_amend_log_p->uc_amend_data.pulse_para_s.now.cal_pulse_width =
|
BSWAP_16(uc_amend_log_p->uc_amend_data.pulse_para_s.now.cal_pulse_width);
|
|
/*¸³Öµµ½·¢ËÍÊý×é*/
|
memcpy(&pOutputData[i * UC_AMEND_LOG_PULSE_PARA_PACK_LEN],uc_amend_log_p,UC_AMEND_LOG_PULSE_PARA_PACK_LEN);
|
}
|
/*·µ»ØÊý¾ÝÓò³¤¶È*/
|
*pData_field_len = UC_DATA_TABLE_BYTES_LENGTH + UC_LOG_NUM_AND_FLAG_LENGTH +
|
UC_AMEND_LOG_PULSE_PARA_PACK_LEN * uc_log_para_p->send_log_num_now;
|
|
E2P_PWR_OFF;
|
result_flag = SUCCESS_0;
|
return result_flag;
|
}
|
|
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 result_flag = ERROR_1;
|
ALARM_SYSLOG_FORMAT_T temp_alarm_data = {0};
|
UC_ALARM_DATA_LOG_T * uc_other_alarm_log_p = &uc_other_alarm_data_log_g;
|
const SYSLOG_CYCLIC_TABLE_T * ptr = &sys_log_cyclic_table[CYCL_OTHER_ALARM];
|
if(pInputData[14 + UC_DATA_TABLE_BYTES_LENGTH] == 0)//Ê×´Î
|
{
|
if(ptr->table_id->log_index > 20)
|
uc_log_para_p->send_log_num_total = 20;//ÔÝʱ¹Ì¶¨Ö»ÄÜ·¢20Ìõ×î´ó
|
else
|
uc_log_para_p->send_log_num_total = ptr->table_id->log_index - 1;//6ÌõÀúÊ·Êý¾ÝµÄ»°index = 7 send_log_num_total = 6
|
uc_log_para_p->send_log_index = 0;
|
}
|
else
|
uc_log_para_p->send_log_index += 5;
|
if(uc_log_para_p->send_log_num_total > 5)
|
{
|
uc_log_para_p->send_log_num_total -= 5;
|
uc_log_para_p->send_log_num_now = 5;
|
uc_log_para_p->send_log_continue_flag = 1;
|
}
|
else
|
{
|
uc_log_para_p->send_log_num_now = uc_log_para_p->send_log_num_total;
|
uc_log_para_p->send_log_continue_flag = 0;
|
}
|
for(uint8_t i = 0; i < uc_log_para_p->send_log_num_now;i++)
|
{
|
/*µ¹Ðð¶Á*/
|
Sys_Log_E2pCyclicMultiplePositiveRead(&sys_log_cyclic_table[CYCL_OTHER_ALARM], (uint8_t *)&temp_alarm_data,
|
i + 1+ uc_log_para_p->send_log_index,1);
|
/*¹¹Ôì±¾µØÍ¨Ñ¶ÈÕÖ¾·¢Ë͸ñʽ*/
|
uc_other_alarm_log_p->record_num = temp_alarm_data.record_num;
|
memcpy(uc_other_alarm_log_p->record_time,temp_alarm_data.record_time,6);
|
uc_other_alarm_log_p->alarm_id = temp_alarm_data.alarm_id;
|
uc_other_alarm_log_p->forward_cumulate_sc = temp_alarm_data.forward_cumulate_sc;
|
uc_other_alarm_log_p->forward_cumulate_wc = temp_alarm_data.forward_cumulate_wc;
|
memcpy(&uc_other_alarm_log_p->instant_sc,&temp_alarm_data.instant_sc,34);
|
/*´óС¶Ëת»»*/
|
uc_other_alarm_log_p->alarm_id = HEX_2_BCD_U8(uc_other_alarm_log_p->alarm_id);
|
uc_other_alarm_log_p->alarm_id = BSWAP_16(uc_other_alarm_log_p->alarm_id);
|
|
|
uc_other_alarm_log_p->forward_cumulate_sc =
|
BLEndianDouble(uc_other_alarm_log_p->forward_cumulate_sc);
|
uc_other_alarm_log_p->forward_cumulate_sc =
|
BLEndianDouble(uc_other_alarm_log_p->forward_cumulate_wc);
|
|
uc_other_alarm_log_p->instant_sc=
|
BLEndianFloat(uc_other_alarm_log_p->instant_sc);
|
uc_other_alarm_log_p->instant_wc =
|
BLEndianFloat(uc_other_alarm_log_p->instant_wc);
|
uc_other_alarm_log_p->temperature =
|
BLEndianFloat(uc_other_alarm_log_p->temperature);
|
uc_other_alarm_log_p->pressure =
|
BLEndianFloat(uc_other_alarm_log_p->pressure);
|
uc_other_alarm_log_p->cpu_temperature =
|
BLEndianFloat(uc_other_alarm_log_p->cpu_temperature);
|
|
/*¸³Öµµ½·¢ËÍÊý×é*/
|
memcpy(&pOutputData[i * UC_ALARM_DATA_LOG_PACK_LEN],uc_other_alarm_log_p,UC_ALARM_DATA_LOG_PACK_LEN);
|
}
|
/*·µ»ØÊý¾ÝÓò³¤¶È*/
|
*pData_field_len = UC_DATA_TABLE_BYTES_LENGTH + UC_LOG_NUM_AND_FLAG_LENGTH +
|
UC_ALARM_DATA_LOG_PACK_LEN * uc_log_para_p->send_log_num_now;
|
|
E2P_PWR_OFF;
|
result_flag = SUCCESS_0;
|
return result_flag;
|
}
|
|
/*ÉÏλ»ú¶ÁÈÕÖ¾´¦Àíº¯Êý*/
|
ErrorStatus_STM32 Upper_ComputerLogProcess(uint16_t work_permissions, uint8_t *pInput, uint8_t *pOutput)
|
{
|
ErrorStatus_STM32 read_result_flag = ERROR_1;
|
uint16_t table_id = pInput[0] << 8 | pInput[1];
|
// ²é±í
|
for (uint8_t i = 0; i < UC_RECV_LOG_TABLE_NUM; i++)
|
{
|
if (uc_recv_log_tab_func[i].uc_data_table == table_id && uc_recv_log_tab_func[i].UcRecvLogFuncHandler != NULL)
|
{
|
if ((work_permissions & uc_recv_log_tab_func[i].func_admin_user) != 0) // Óû§È¨ÏÞÅжÏ
|
{
|
E2p_GPIO_Clk_Init();
|
/*ģʽȨÏÞÅжÏ*/
|
if(uc_recv_log_tab_func[i].func_admin_mode & sys_display_para_g.sys_and_display_mode)
|
read_result_flag = uc_recv_log_tab_func[i].UcRecvLogFuncHandler(pInput, pOutput,
|
&uc_recv_para_g.uc_recv_buf_union.uc_protocol_head_s.data_field_length,
|
&uc_send_log_para_g);
|
}
|
else
|
{
|
}
|
break;
|
}
|
}
|
return read_result_flag;
|
}
|