From 1bea7f150eb33c03e58b7630f32dc55dc504f514 Mon Sep 17 00:00:00 2001 From: zhangsan Date: Sun, 20 Dec 2020 20:15:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=950k?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../soft_gsm_main.sip_sym | Bin 509732 -> 509912 bytes .../soft_gsm_main.siwork | Bin 121913 -> 123179 bytes source/app/app_common.c | 4 +- source/app/app_common.h | 2 +- source/app/app_task_gm35.c | 11 +++ source/app/app_task_tcp.c | 69 ++++++++++-------- source/app/app_task_tcp.h | 1 + source/app/app_task_tcp_control.c | 27 +++---- 8 files changed, 63 insertions(+), 51 deletions(-) diff --git a/si4/soft_gsm_main.si4project/soft_gsm_main.sip_sym b/si4/soft_gsm_main.si4project/soft_gsm_main.sip_sym index 5e17e23f60fb65d9b42fcce4264b21e881090250..606fe542fc49f64ba4669d002919b121e0eae1c3 100644 GIT binary patch delta 486 zcmXYtJxC)_5Xawa-fq#-{o04MQpSiyJ{oIYiB)Ti`Z6g<&hVtYiPV62`&@SuTDz zhcML+4XQz_8yA&yUp3nfWi7YN@nKid19EKnn2&X>C0!sC!bfmICA4bN^?y1D=-<<` zKPDEw%`Z%1{Er&l?rp;TJk-~6LoMWbZVNes!tn3uhxVP`Qi>|`V+<;Ud6*-Rm0 zHx@j48w)nVLStt+mdZl$2RLtVx}Q#c@AsT@&wbr%E$y~yAs@gLfYkf|+J%5*6&(Cyj8 z*rtC)0Pq1n?Ap#lQcx};q^7X4<;om87n+`|&9?8cMUnReUh)nro4x zH$z0QxYACU4pHwc8Df=3Zb&MJg^maJIu!znq?WMQrfPxL32|SlByMNjEYUJAMYAX zvYJJma>y+w@M6BpDKv|cN`+fR_b0f6J4%I)d@3#&594JdqcEzIiu>Bm0(v%`8J}6q ePR^y5@#Ja*t%Nk(UwdKxbBGp_!laLTU(XMo1$0gT diff --git a/si4/soft_gsm_main.si4project/soft_gsm_main.siwork b/si4/soft_gsm_main.si4project/soft_gsm_main.siwork index f5f944d6737ad611cb44d640818314158395679d..16ad2822cfe46da115f8e04f63d1dc0b612ffdad 100644 GIT binary patch literal 123179 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 Kf2{sR;Qs>+o*sGt literal 121913 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 i<*Z_cEv4op)4R4+-SIB*NOfgLs+=@$Fh`wF_= 60) //20 + { + L0_uart0_uc('D'); + L0_uart4_sendstr(AT_INS_CLOSED); + g_at_send_status.conn_ok = 0; //等待收到close 自动关闭 + } + } + if(0 == g_at_send_status.conn_ok) { //L0_uart4_uc(0x1a); //关闭send diff --git a/source/app/app_task_tcp.c b/source/app/app_task_tcp.c index e84e4fb..5dd4efb 100644 --- a/source/app/app_task_tcp.c +++ b/source/app/app_task_tcp.c @@ -30,7 +30,7 @@ void L3_task_tcp_handle(TS_tcp *s) TTSS_Task_init(); L2_task_go(D_task_tcp_constructor_modbus_pkg); - TTSS_Task_step(D_task_tcp_constructor_modbus_pkg) + TTSS_Task_step(D_task_tcp_constructor_modbus_pkg) //构造包 if(G.ccmd_slaver_info[s->slaverIndex].mask > 0) { s->pkglen = L3_pack_ccmodbus(&s->loopPkg,G.ccmd_slaver_info + s->slaverIndex); @@ -43,53 +43,60 @@ void L3_task_tcp_handle(TS_tcp *s) L2_task_go(D_task_tcp_switch_next_slaver); } - TTSS_Task_step(D_task_tcp_send_modbus_pkg) + TTSS_Task_step(D_task_tcp_send_modbus_pkg) //发送包 L0_uart0_sendArray((U8*)&s->loopPkg,s->pkglen); L3_gm35_send((U8*)&s->loopPkg,s->pkglen); - s->sendStamp = s_nos_tick.t_5ms; + s->sendStamp = s_nos_tick.t_1s; if(G.ccmd_slaver_info[s->slaverIndex].mask == 1) { G.ccmd_slaver_info[s->slaverIndex].mask = 0; } L2_task_go(D_task_tcp_wait_modbus_ack); - TTSS_Task_step(D_task_tcp_wait_modbus_ack) - if(s_nos_tick.t_5ms - s->sendStamp >= 300) + TTSS_Task_step(D_task_tcp_wait_modbus_ack) //等待ack + if(s_uart4_tcp_rec.ok) { - if(s_uart4_tcp_rec.ok) + s_uart4_tcp_rec.ok = 0; + g_at_send_status.tcp_last_recv_stmp = s_nos_tick.t_1s; + + s->pAckPkg = (TS_PH3_ccmodbus*)(s_uart4_tcp_rec.sp); + L0_uart0_sendArray((U8*)s->pAckPkg,s->pAckPkg->num + 3); + if(s->pAckPkg->slaver == G.ccmd_slaver_info[s->slaverIndex].slaver) { - s_uart4_tcp_rec.ok = 0; - s->pAckPkg = (TS_PH3_ccmodbus*)(s_uart4_tcp_rec.sp); - L0_uart0_sendArray((U8*)s->pAckPkg,s->pAckPkg->num + 3); - if(s->pAckPkg->slaver == G.ccmd_slaver_info[s->slaverIndex].slaver) + s->ackFlag = 1; + switch(s->slaverIndex) + { + case 0: + G.authed = 1; + break; + case 2: + G.flowStarted = 1; + break; + default: + break; + } + #if 0 + if(s->pAckPkg->oper == MODBUS_OPER_WRITE_M) { - s->ackFlag = 1; - G.tcpLastRecvStamp = s_nos_tick.t_1s; - if(s->pAckPkg->oper == MODBUS_OPER_WRITE_M) + s->treg = (U16)(s->pAckPkg->buf[0]) << 8 | (U16)(s->pAckPkg->buf[1]); + if(s->treg == G.ccmd_slaver_info[0].reg) { - U16 reg = (U16)(s->pAckPkg->buf[0]) << 8 | (U16)(s->pAckPkg->buf[1]); - if(reg == G.ccmd_slaver_info[0].reg) - { - G.authed = 1; - } - else if(reg == G.md_slaver_info[2].reg) - { - G.flowStarted = 1; - } + G.authed = 1; + } + else if(s->treg == G.ccmd_slaver_info[2].reg) + { + G.flowStarted = 1; } } + #endif } - if(s->ackFlag || ++s->retryTimes >= MODBUS_SLAVER_RETRY_MAX_TIME) - { - L2_task_go(D_task_tcp_switch_next_slaver); - } - else - { - L2_task_go(D_task_tcp_send_modbus_pkg); - } + } + if(s->ackFlag == 1 || s_nos_tick.t_1s - s->sendStamp >= 5) //收到ack或者超时 + { + L2_task_go(D_task_tcp_switch_next_slaver); } - TTSS_Task_step(D_task_tcp_switch_next_slaver) + TTSS_Task_step(D_task_tcp_switch_next_slaver) //切换下一个 if(++ s->slaverIndex >= CCMD_SLAVER_INFO_MAX) { s->slaverIndex = 0; diff --git a/source/app/app_task_tcp.h b/source/app/app_task_tcp.h index 74e050d..4ced5f7 100644 --- a/source/app/app_task_tcp.h +++ b/source/app/app_task_tcp.h @@ -15,6 +15,7 @@ typedef struct U32 sendStamp; U8 retryTimes; U8 ackFlag; + U16 treg; }TS_tcp; #define U485_TIMEOUT 3 //3 x 100ms = 300ms diff --git a/source/app/app_task_tcp_control.c b/source/app/app_task_tcp_control.c index c62030c..98481eb 100644 --- a/source/app/app_task_tcp_control.c +++ b/source/app/app_task_tcp_control.c @@ -17,23 +17,26 @@ void L3_task_tcp_control_init(void) #define D_task_tcp_control_01 0x51 #define D_task_tcp_control_02 0x52 + void L3_task_tcp_control_handle(TS_tcp_control *s) { - TTSS_Task_init(); + TTSS_Task_init(); L2_task_go(D_task_tcp_control_01); - + TTSS_Task_step(D_task_tcp_control_01) if(s->conn_ok_pool != g_at_send_status.conn_ok) { G.authed = 0; s->conn_ok_pool = g_at_send_status.conn_ok; } - - if(s->conn_ok_pool) + L2_task_go(D_task_tcp_control_02); + + TTSS_Task_step(D_task_tcp_control_02) + if(g_at_send_status.conn_ok) { //3s一次发送数据包 if(s_nos_tick.t_1s - ts_tcp_control.tcp_send_stmp >= 2) - { + { if(!G.authed) { //发送认证包 @@ -48,21 +51,11 @@ void L3_task_tcp_control_handle(TS_tcp_control *s) { G.ccmd_slaver_info[3].mask = 1; } - } - ts_tcp_control.tcp_send_stmp = s_nos_tick.t_1s; - } - - L2_task_go(D_task_tcp_control_02); - - TTSS_Task_step(D_task_tcp_control_02) - if(g_at_send_status.conn_ok) - { - if(s_nos_tick.t_1s - G.tcpLastRecvStamp >= 20) - { - g_at_send_status.conn_ok = 0; + ts_tcp_control.tcp_send_stmp = s_nos_tick.t_1s; } } L2_task_go(D_task_tcp_control_01); + TTSS_Task_end(); }