diff --git a/Src/AtGsmTelitLe910_SocketSendData.c b/Src/AtGsmTelitLe910_SocketSendData.c index a71bc44..e8bb735 100755 --- a/Src/AtGsmTelitLe910_SocketSendData.c +++ b/Src/AtGsmTelitLe910_SocketSendData.c @@ -9,7 +9,14 @@ AtCommandResult AtGsmTelitLe910_SocketSendData( tAtCmd *env, uint8_t linkNum, uint8_t *data, uint16_t dataLen, uint32_t timeout ) { - return AtGsmTelitLe910_SocketSendDataUdp(env, linkNum, data, dataLen, 0, 0, 0, timeout); + + AtCommandResult result = AtGsmTelitLe910_SocketSendDataUdp(env, linkNum, data, dataLen, 0, 0, 0, timeout); + + if (result == AT_ERROR) { + result = AtGsmTelitLe910_SocketSendDataUdp(env, linkNum, data, dataLen, 0, 0, 0, timeout); + } + + return result; } AtCommandResult AtGsmTelitLe910_SocketSendDataUdp( @@ -50,6 +57,11 @@ AtCommandResult AtGsmTelitLe910_SocketSendDataUdp( } else if (AtCmdRxBeginWithStatic(env, "ERROR")) { AtCmdRxClear(env); return AT_ERROR; + + } else if (AtCmdRxBeginWithStatic(env, "+CME ERROR: tx error")) { + AtCmdRxClear(env); + return AT_ERROR; + } else if (AtCmdRxBeginWithStatic(env, "OK")) { AtCmdRxClear(env); return AT_OK;