forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-05-30 a1810b89e66f184c62a0588ae7d57c91d0c376e8
Function/WirelessRemoteComm/wireless_remote_comm.c
@@ -4,8 +4,9 @@
#include "system_mem_para.h"
#include "wrc_sizhu_v4.h"
#include "system_general_para.h"
#include "linked_list.h"
WRC_CTRL_PARA_T wrc_ctrl_para_g={.wrc_state=WRC_IDLE,.link_status = LINK_NONE,.wrc_err_code = WRC_ERR_NONE};
WRC_CTRL_PARA_T wrc_ctrl_para_g={.wrc_state=WRC_IDLE,.link_status = LINK_NONE,.wrc_err_code = WRC_ERR_NONE,.report_result_flag = FAIL};
WRC_UART_PARA_T   wrc_uart_para_g = {.recv_flag = RESET};
LINK_INFO_T   link_info_g;
@@ -229,7 +230,7 @@
{
   WRC_STATUS   return_status;
   uint8_t send_buf[3+1024] = {0};
   uint16_t   send_length;
   uint16_t   send_length = 0;
   
   //½ÓÊÕbuf´¦Àí
   WRC_RX_DMA_check(&wrc_uart_para_g);
@@ -281,6 +282,8 @@
   
   //»ñÈ¡²»Í¬Ð­ÒéµÄͨѶ½á¹û
   wrc_ctrl_para_g.wrc_result_flag = wrc_sizhuV4_result_flag;
   wrc_ctrl_para_g.report_result_flag = (report_sizhuV4_result_flag == PASS)? PASS: wrc_ctrl_para_g.wrc_result_flag;//Ö»Óгɹ¦²Å¸Ä±ä״̬£¬·ñÔò±£³ÖÔ­Öµ
   report_sizhuV4_result_flag = FAIL;
   
   wrc_ctrl_para_g.wrc_OFF_cnt ++; 
   
@@ -318,6 +321,27 @@
}
//¶àÌìδÉϱ¨³É¹¦Åжϣ¬Åжϱê×¼¿ÉÒÔ±ÈͨѶÊÇ·ñ³É¹¦¿íËÉÒ»µã£¬Ö»ÒªÊý¾ÝÓÐÉϱ¨ÏìÓ¦¼´¿ÉÅжϳɹ¦£¬µ¥Ö¡Êý¾ÝÎÞÏìÓ¦µÄÓýáÊøÖ¡»òÕ߯äËûÖ¡´ú±í³É¹¦
void LongTimeReportFailed(BILLING_VALVE_CTRL_PATA_T   billing_valve_ctrl_para_in)
{
   static uint8_t report_failed_days_cnt = 0;
   //ÒòΪ´ó²¿·Ö±í0µãÖ®ºó»áÓÐÒ»´ÎͨѶ£¬ÄÇôÅжÏʱ¼äµã¿ÉÒÔÑÓºóµ½ÔçÉÏ6µã55ÅжÏ
   if((&sys_clockBCD_g)->hour == 6 && (&sys_clockBCD_g)->min == 55 && (&sys_clockBCD_g)->sec == 0 ){
      if(billing_valve_ctrl_para_in.no_wrc_days > 0){  //´óÓÚ0´ú±í¹¦ÄÜ¿ªÆô
         if(wrc_ctrl_para_g.report_result_flag == PASS){
            report_failed_days_cnt = 0;
            __SYS_STATUS_BYTES_STATUS(no_gprs_date_up_to, RESET, ALARM_ID_N_DAYS_NO_REPORT_ARRIVE);
         }else{
            if((report_failed_days_cnt++) >= billing_valve_ctrl_para_in.no_wrc_days){ //ºó++ÊÇÒòΪµÚÒ»´ÎÅжÏʱ²»Âú1Ìì
               __SYS_STATUS_ALARM_BYTES_SET(no_gprs_date_up_to,ALARM_ID_N_DAYS_NO_REPORT_ARRIVE);
            }
         }
      }
   }
}
void WirelessRemoteCommPro(FUN_START_CTRL_PARA_T * sys_fun_run_ctrl_p)
{
@@ -348,5 +372,10 @@
   else
      sys_fun_run_ctrl_p->wrc_ctrl_flag.running_flag = SET;
   
   //¶àÌìδÉϱ¨³É¹¦Åжϣ¬²»Í¬Ð­ÒéÅжϵıê×¼²»Í¬
   LongTimeReportFailed(billing_valve_ctrl_para_g);
}