in source/cellular_3gpp_api.c [120:275]
static CellularPktStatus_t _parseTimeZoneInCCLKResponse( char ** ppToken,
bool * pTimeZoneSignNegative,
const char * pTimeZoneResp,
CellularTime_t * pTimeInfo );
static CellularPktStatus_t _parseYearMonthDayInCCLKResponse( char ** ppToken,
char ** ppTimeZoneResp,
CellularTime_t * pTimeInfo );
static CellularPktStatus_t _parseTimeInCCLKResponse( char ** ppToken,
bool timeZoneSignNegative,
char ** ppTimeZoneResp,
CellularTime_t * pTimeInfo );
static CellularPktStatus_t _parseTimeZoneInfo( char * pTimeZoneResp,
CellularTime_t * pTimeInfo );
static CellularPktStatus_t _Cellular_RecvFuncGetNetworkTime( CellularContext_t * pContext,
const CellularATCommandResponse_t * pAtResp,
void * pData,
uint16_t dataLen );
static CellularPktStatus_t _Cellular_RecvFuncGetFirmwareVersion( CellularContext_t * pContext,
const CellularATCommandResponse_t * pAtResp,
void * pData,
uint16_t dataLen );
static CellularPktStatus_t _Cellular_RecvFuncGetImei( CellularContext_t * pContext,
const CellularATCommandResponse_t * pAtResp,
void * pData,
uint16_t dataLen );
static CellularPktStatus_t _Cellular_RecvFuncGetModelId( CellularContext_t * pContext,
const CellularATCommandResponse_t * pAtResp,
void * pData,
uint16_t dataLen );
static CellularPktStatus_t _Cellular_RecvFuncGetManufactureId( CellularContext_t * pContext,
const CellularATCommandResponse_t * pAtResp,
void * pData,
uint16_t dataLen );
static CellularPktStatus_t _Cellular_RecvFuncGetNetworkReg( CellularContext_t * pContext,
const CellularATCommandResponse_t * pAtResp,
void * pData,
uint16_t dataLen );
static CellularError_t queryNetworkStatus( CellularContext_t * pContext,
const char * pCommand,
const char * pPrefix,
CellularNetworkRegType_t regType );
static bool _parseCopsRegModeToken( char * pToken,
cellularOperatorInfo_t * pOperatorInfo );
static bool _parseCopsNetworkNameFormatToken( const char * pToken,
cellularOperatorInfo_t * pOperatorInfo );
static bool _parseCopsNetworkNameToken( const char * pToken,
cellularOperatorInfo_t * pOperatorInfo );
static bool _parseCopsRatToken( const char * pToken,
cellularOperatorInfo_t * pOperatorInfo );
static CellularATError_t _parseCops( char * pCopsResponse,
cellularOperatorInfo_t * pOperatorInfo );
static CellularPktStatus_t _Cellular_RecvFuncUpdateMccMnc( CellularContext_t * pContext,
const CellularATCommandResponse_t * pAtResp,
void * pData,
uint16_t dataLen );
static CellularPktStatus_t _Cellular_RecvFuncIpAddress( CellularContext_t * pContext,
const CellularATCommandResponse_t * pAtResp,
void * pData,
uint16_t dataLen );
static CellularATError_t parseEidrxToken( char * pToken,
uint8_t tokenIndex,
CellularEidrxSettingsList_t * pEidrxSettingsList,
uint8_t count );
static CellularATError_t parseEidrxLine( char * pInputLine,
uint8_t count,
CellularEidrxSettingsList_t * pEidrxSettingsList );
static CellularPktStatus_t _Cellular_RecvFuncGetEidrxSettings( CellularContext_t * pContext,
const CellularATCommandResponse_t * pAtResp,
void * pData,
uint16_t dataLen );
static CellularError_t atcmdUpdateMccMnc( CellularContext_t * pContext,
cellularOperatorInfo_t * pOperatorInfo );
static CellularError_t atcmdQueryRegStatus( CellularContext_t * pContext,
CellularServiceStatus_t * pServiceStatus );
static CellularATError_t parseT3412TimerValue( char * pToken,
uint32_t * pTimerValueSeconds );
static CellularATError_t parseT3324TimerValue( char * pToken,
uint32_t * pTimerValueSeconds );
static CellularSimCardLockState_t _getSimLockState( char * pToken );
static CellularPktStatus_t _Cellular_RecvFuncGetSimLockStatus( CellularContext_t * pContext,
const CellularATCommandResponse_t * pAtResp,
void * pData,
uint16_t dataLen );
static bool _checkCrsmMemoryStatus( const char * pToken );
static bool _checkCrsmReadStatus( const char * pToken );
static bool _parseHplmn( char * pToken,
void * pData );
static CellularPktStatus_t _Cellular_RecvFuncGetHplmn( CellularContext_t * pContext,
const CellularATCommandResponse_t * pAtResp,
void * pData,
uint16_t dataLen );
static CellularPktStatus_t _Cellular_RecvFuncGetIccid( CellularContext_t * pContext,
const CellularATCommandResponse_t * pAtResp,
void * pData,
uint16_t dataLen );
static CellularPktStatus_t _Cellular_RecvFuncGetImsi( CellularContext_t * pContext,
const CellularATCommandResponse_t * pAtResp,
void * pData,
uint16_t dataLen );
static uint32_t appendBinaryPattern( char * cmdBuf,
uint32_t cmdLen,
uint32_t value,
bool endOfString );
static CellularATError_t parseCpsmsMode( char * pToken,
CellularPsmSettings_t * pPsmSettings );
static CellularATError_t parseGetPsmToken( char * pToken,
uint8_t tokenIndex,
CellularPsmSettings_t * pPsmSettings );
static CellularPktStatus_t _Cellular_RecvFuncGetPsmSettings( CellularContext_t * pContext,
const CellularATCommandResponse_t * pAtResp,
void * pData,
uint16_t dataLen );
/*-----------------------------------------------------------*/
static CellularPktStatus_t _parseTimeZoneInCCLKResponse( char ** ppToken,
bool * pTimeZoneSignNegative,
const char * pTimeZoneResp,
CellularTime_t * pTimeInfo )
{
int32_t tempValue = 0;
CellularATError_t atCoreStatus = CELLULAR_AT_ERROR;
CellularPktStatus_t pktStatus = CELLULAR_PKT_STATUS_OK;
/* Get Time Zone info. */
*ppToken = strstr( pTimeZoneResp, "+" );
if( *ppToken == NULL )
{
*ppToken = strstr( pTimeZoneResp, "-" );
if( *ppToken != NULL )
{
/* Setting the timeZoneNegative value to 1 for processing seconds later. */
*pTimeZoneSignNegative = true;
}
}
if( *ppToken != NULL )
{
atCoreStatus = Cellular_ATStrtoi( *ppToken, 10, &tempValue );
if( atCoreStatus == CELLULAR_AT_SUCCESS )
{
pTimeInfo->timeZone = tempValue;
}
else
{
LogError( ( "Error in Processing TimeZone Information. Token %s", *ppToken ) );
}
}
pktStatus = _Cellular_TranslateAtCoreStatus( atCoreStatus );
return pktStatus;
}