diff --git a/source/cellular_pkthandler.c b/source/cellular_pkthandler.c index d819b656..839f692b 100644 --- a/source/cellular_pkthandler.c +++ b/source/cellular_pkthandler.c @@ -68,8 +68,7 @@ static CellularPktStatus_t _Cellular_AtcmdRequestTimeoutWithCallbackRaw( Cellula uint32_t timeoutMS ); static CellularPktStatus_t _Cellular_DataSendWithTimeoutDelayRaw( CellularContext_t * pContext, CellularAtDataReq_t dataReq, - uint32_t timeoutMs, - uint32_t interDelayMS ); + uint32_t timeoutMs ); static void _Cellular_PktHandlerAcquirePktRequestMutex( CellularContext_t * pContext ); static void _Cellular_PktHandlerReleasePktRequestMutex( CellularContext_t * pContext ); static int _searchCompareFunc( const void * pInputToken, @@ -267,8 +266,7 @@ static CellularPktStatus_t _Cellular_AtcmdRequestTimeoutWithCallbackRaw( Cellula static CellularPktStatus_t _Cellular_DataSendWithTimeoutDelayRaw( CellularContext_t * pContext, CellularAtDataReq_t dataReq, - uint32_t timeoutMs, - uint32_t interDelayMS ) + uint32_t timeoutMs ) { CellularPktStatus_t respCode = CELLULAR_PKT_STATUS_OK; CellularPktStatus_t pktStatus = CELLULAR_PKT_STATUS_OK; @@ -299,9 +297,6 @@ static CellularPktStatus_t _Cellular_DataSendWithTimeoutDelayRaw( CellularContex } } - /* Some driver required wait for a minimum of delay before sending data. */ - Platform_Delay( interDelayMS ); - /* End pattern for specific modem. */ if( ( pktStatus == CELLULAR_PKT_STATUS_OK ) && ( dataReq.pEndPattern != NULL ) ) { @@ -706,7 +701,13 @@ CellularPktStatus_t _Cellular_AtcmdDataSend( CellularContext_t * pContext, if( pktStatus == CELLULAR_PKT_STATUS_OK ) { - pktStatus = _Cellular_DataSendWithTimeoutDelayRaw( pContext, dataReq, dataTimeoutMS, interDelayMS ); + if( interDelayMS > 0U ) + { + /* Cellular modem may require a minimum delay before sending data. */ + Platform_Delay( interDelayMS ); + } + + pktStatus = _Cellular_DataSendWithTimeoutDelayRaw( pContext, dataReq, dataTimeoutMS ); } _Cellular_PktHandlerReleasePktRequestMutex( pContext ); @@ -763,7 +764,7 @@ CellularPktStatus_t _Cellular_TimeoutAtcmdDataSendSuccessToken( CellularContext_ if( pktStatus == CELLULAR_PKT_STATUS_OK ) { - pktStatus = _Cellular_DataSendWithTimeoutDelayRaw( pContext, dataReq, dataTimeoutMS, 0U ); + pktStatus = _Cellular_DataSendWithTimeoutDelayRaw( pContext, dataReq, dataTimeoutMS ); } _Cellular_PktHandlerReleasePktRequestMutex( pContext );