| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #include "nettimer.h"
- #include "../network_mgr/net_ctrl.h"
- #include "../network_mgr/sx1268/lora.h"
- OS_TMR netsend_timer; // 5分钟的定时器
- OS_TMR netsend_hour_timer; // 24小时的定时器
- timeout_t g_timeOut;
- timeout_t g_usmTimeOut; // 4G模块的连接超时状态
- timeout_t g_uart4Time; // 串口4的接收中断计时
- timeout_t g_uart5Time; // 串口5的接收中断计时
- timeout_t g_uart2Time; // 串口2的接收中断计时
- /*-----------------------------------------------------
- * 一分钟一次
- * ----------------------------------------------------*/
- void netsend_msg_timer(void *p_tmr, void *p_arg)
- {
- uint8_t i=0,j=0,k=0;
- static uint8_t _tick = 0;
- uint8_t sendbuff[160] = {0};
- uint8_t len = 0;
- if(g_runData.bUpdate!=0) return;
- if(sys_net.net_hdl && downlink_config.config_flag == CONFIG_WRITE){
- _tick++;
- g_runData.timeSendStatus = 1;
- printf("netsend hour start %d \r\n",TickCounter);
- if(!g_data4G.bconnect4G) { // 判断4G模块 mqtt是否连接
- g_data4G.errorTime++;
- if(g_data4G.errorTime>=60){ // mqtt 一个小时没有连接上,则芯片复位
- NVIC_SystemReset();//复位
- }
- }
- else g_data4G.errorTime = 0;
- g_runData.bsendOilData++;
- g_runData.bAutoReadOilData++;
- g_runData.bsendGatewaySttus++;
- g_runData.bsendGatewayVersion++;
- if(g_runData.loraConnectTime>=1) g_runData.loraConnectTime++;
- }
-
- // uplink_tax_statusmcmd_0x2002(sendbuff,&len,DEVICE_OILL,0);
- // tax_net_send(sendbuff,len,FIRST_TYPE_STATUS,COLL_UP_STATUS_CMD2002);
- // if(_tick>=3){
- // memset(sendbuff,0,sizeof(sendbuff));
- // uplink_tax_statusmcmd_0x2001(sendbuff,&len,DEVICE_OILL,0);
- // tax_net_send(sendbuff,len,0x02,0x2001);
- // _tick = 0;
- // }
- }
- void nettimer_init(void)
- {
- OS_ERR err;
- OSTmrCreate(&netsend_timer, "netsend_tmr", NETSEND_MSG_PERIOD, NETSEND_MSG_PERIOD, OS_OPT_TMR_PERIODIC, netsend_msg_timer, NULL, &err);
- OSTmrStart(&netsend_timer, &err);
- // OSTmrCreate(&netsend_timer, "netsend_tmr", NETSEND_MSG_PERIOD, NETSEND_MSG_PERIOD, OS_OPT_TMR_PERIODIC, netsend_msg_timer, NULL, &err);
- // OSTmrStart(&netsend_timer, &err);
- }
|