From 45920622b5da51cad1b2d8519d5a1f21529b8da4 Mon Sep 17 00:00:00 2001 From: mecparts <2958269+mecparts@users.noreply.github.com> Date: Mon, 17 Oct 2022 11:23:15 -0600 Subject: [PATCH] Fixed a "been there forever" bug in ATH. Not fatal, but annoying. --- RetroWiFiModem/RetroWiFiModem.ino | 5 ++++- RetroWiFiModem/at_basic.h | 3 --- RetroWiFiModem/support.h | 8 ++++---- bin/RetroWiFiModem.d1r2_or_d1mini.bin | Bin 335184 -> 335216 bytes 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/RetroWiFiModem/RetroWiFiModem.ino b/RetroWiFiModem/RetroWiFiModem.ino index b3b23ef..d4aaa47 100644 --- a/RetroWiFiModem/RetroWiFiModem.ino +++ b/RetroWiFiModem/RetroWiFiModem.ino @@ -204,7 +204,10 @@ void doAtCmds(char *atCmd) { } else if( !strncasecmp(atCmd, "DS", 2) && len == 3 ) { // speed dial a number atCmd = speedDialNumber(atCmd + 2); - } else if( !strncasecmp(atCmd, "H", 1) || !strncasecmp(atCmd, "H0", 2) ) { + } else if( !strncasecmp(atCmd, "H0", 2) ) { + // hang up call + atCmd = hangup(atCmd + 2); + } else if( !strncasecmp(atCmd, "H", 1) && !isDigit(atCmd[1]) ) { // hang up call atCmd = hangup(atCmd + 1); } else if( !strncasecmp(atCmd, "&Z", 2) && isDigit(atCmd[2]) ) { diff --git a/RetroWiFiModem/at_basic.h b/RetroWiFiModem/at_basic.h index f53a0ad..dc99a5a 100644 --- a/RetroWiFiModem/at_basic.h +++ b/RetroWiFiModem/at_basic.h @@ -289,9 +289,6 @@ char *httpGet(char *atCmd) { // ATH go offline (if connected to a host) // char *hangup(char *atCmd) { - if( atCmd[0] ) { - ++atCmd; - } if( tcpClient.connected() ) { endCall(); } else { diff --git a/RetroWiFiModem/support.h b/RetroWiFiModem/support.h index 3744f2b..d4dc1be 100644 --- a/RetroWiFiModem/support.h +++ b/RetroWiFiModem/support.h @@ -504,17 +504,17 @@ SerialConfig getSerialConfig(void) { uint8_t serialConfig = 0; switch( settings.dataBits ) { case 5: - serialConfig = serialConfig = UART_NB_BIT_5 | (~UART_NB_BIT_MASK & serialConfig); + serialConfig = UART_NB_BIT_5 | (~UART_NB_BIT_MASK & serialConfig); break; case 6: - serialConfig = serialConfig = UART_NB_BIT_6 | (~UART_NB_BIT_MASK & serialConfig); + serialConfig = UART_NB_BIT_6 | (~UART_NB_BIT_MASK & serialConfig); break; case 7: - serialConfig = serialConfig = UART_NB_BIT_7 | (~UART_NB_BIT_MASK & serialConfig); + serialConfig = UART_NB_BIT_7 | (~UART_NB_BIT_MASK & serialConfig); break; case 8: default: - serialConfig = serialConfig = UART_NB_BIT_8 | (~UART_NB_BIT_MASK & serialConfig); + serialConfig = UART_NB_BIT_8 | (~UART_NB_BIT_MASK & serialConfig); break; } switch( settings.parity ) { diff --git a/bin/RetroWiFiModem.d1r2_or_d1mini.bin b/bin/RetroWiFiModem.d1r2_or_d1mini.bin index 9f9e95591513852503732f585dd668f6b2226d2a..14cf681d1581550a60e4b4aed80d3ba23b15d36e 100644 GIT binary patch delta 13727 zcmZvD30xD`_WztanLuC?0wRi_CIb~vq9nNBf()sHs8|s#ZdgHmR;yOrZM6?vLbalz zV;$RSMWrsSZE0g2YqbJ3)>dqBN9%&PFDL?TElK`o0>0<_eg64;zTA7yx$C*-o_prZ zP;nrz_CR1UtA|`stDhNGb130%%*T&&**ux%WbT72b9)o%#2#xs&CO& zj~pzQWs%ZKx4F?>5^W$^v_P{a*0xzZskiuz&_=OpLgA0&C}yxY&_7Zy41bkq8-T

YOl5l{Me?_A|uVKO-Ke1pcjBgZ;= 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 z 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 delta 13716 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�kW)F#r{Ds!oIVbeE}6_S;Kxr zxSae5u~`0fExQl!P+GPgrLN7x;9>NAPr?AiDmnCR7LSkp@;j7GV$txb-erw|r;SHq z>mgWN9Vx!KEke|<#p^O6bG4-2#tv+)UxV8fQG@(qL?I$i9y#_)*DI65vd5he9+0RCtLyMi=@P_*?nqeBhGb$boXoa4Ml4*J4F+V zBoUD*pO$f%p#_-FLu^G9BDN!TBeuxzeT%wAEnfVNJqxIj&yKRAxH@E2%G~#C6yfx5 zE1Shq%(jH^RLm<Z%ej2tc?>3l=-f`!>;tlPPC6v7F^kr2yvr4 z_X&G}*NX4p+!4iya(Sd$HI~IK^07wss1^3Lql2nrSg+KF=svP=ol~&xc$8Kh%C|m3 zJQ<2Vx@w0T711~jUrioG;AJ*athnw;XfHqLtNJY%H};tnRTx2+cxQyFhYDS#ag=Hz zXo}yB6z}7&JW^%HXjPvUT#bZ6kV_`2@L|#*FP^08L(m)!PEp+m&eh<5H#~eJQmjRs zM#u;Wu>vsxk%X`!!VoPG^{=C#5haKN2nn$gF%K~g(E|~V@I%xrh!lT7>_<2dQxWlq zP6#cc?zPAc;`!Gi#V-(B5U(J{A;uzlAlk~kUQ-3ALZ{&*m4DAr{uM*{7Y*g#GX^MS zdHh1vdJQ+{yr3Lud8!+v@0<^f;!S+opLM+{tzz-;|C3>Qx{YE3{#NC&$0$x?7-pOx z_|mpo!B>AfZgG{|Dm?C@AeJGpDx-P^Oqk=B1kq2f-l}R506nE^yHs5z$|(C zSE@%E*e*}{L4}vZV);R_s(VZFc(L61oa!=%;Rkm~H8U8u+1%TzeQ1oW@2Fm6IR^%|~S<5kvL{?!hy zKfz$9nsE5)x>TOTaZ6Y(=UpWVsrKUra~YHHNmP!}a2R?t&XPCd4{%$ACRYpM^GLz6 z57LHKTv+S5_y(g|iF+JB|9JzEkGA5bfF*V%zIHwL8N<{Cq