in modules/bg96/cellular_bg96.c [183:291]
CellularError_t Cellular_ModuleEnableUE( CellularContext_t * pContext )
{
CellularError_t cellularStatus = CELLULAR_SUCCESS;
CellularAtReq_t atReqGetNoResult =
{
NULL,
CELLULAR_AT_NO_RESULT,
NULL,
NULL,
NULL,
0
};
CellularAtReq_t atReqGetWithResult =
{
NULL,
CELLULAR_AT_MULTI_WO_PREFIX,
NULL,
NULL,
NULL,
0
};
if( pContext != NULL )
{
/* Disable echo. */
atReqGetWithResult.pAtCmd = "ATE0";
cellularStatus = sendAtCommandWithRetryTimeout( pContext, &atReqGetWithResult );
if( cellularStatus == CELLULAR_SUCCESS )
{
/* Disable DTR function. */
atReqGetNoResult.pAtCmd = "AT&D0";
cellularStatus = sendAtCommandWithRetryTimeout( pContext, &atReqGetNoResult );
}
if( cellularStatus == CELLULAR_SUCCESS )
{
/* Enable RTS/CTS hardware flow control. */
atReqGetNoResult.pAtCmd = "AT+IFC=2,2";
cellularStatus = sendAtCommandWithRetryTimeout( pContext, &atReqGetNoResult );
}
if( cellularStatus == CELLULAR_SUCCESS )
{
/* Setting URC output port. */
#if defined( CELLULAR_BG96_URC_PORT_USBAT ) || defined( BG96_URC_PORT_USBAT )
atReqGetNoResult.pAtCmd = "AT+QURCCFG=\"urcport\",\"usbat\"";
#else
atReqGetNoResult.pAtCmd = "AT+QURCCFG=\"urcport\",\"uart1\"";
#endif
cellularStatus = sendAtCommandWithRetryTimeout( pContext, &atReqGetNoResult );
}
if( cellularStatus == CELLULAR_SUCCESS )
{
/* Configure Band configuration to all bands. */
atReqGetNoResult.pAtCmd = "AT+QCFG=\"band\",f,400a0e189f,a0e189f";
cellularStatus = sendAtCommandWithRetryTimeout( pContext, &atReqGetNoResult );
}
if( cellularStatus == CELLULAR_SUCCESS )
{
/* Configure RAT(s) to be Searched to Automatic. */
atReqGetNoResult.pAtCmd = "AT+QCFG=\"nwscanmode\",0,1";
cellularStatus = sendAtCommandWithRetryTimeout( pContext, &atReqGetNoResult );
}
if( cellularStatus == CELLULAR_SUCCESS )
{
/* Configure Network Category to be Searched under LTE RAT to LTE Cat M1 and Cat NB1. */
atReqGetNoResult.pAtCmd = "AT+QCFG=\"iotopmode\",2,1";
cellularStatus = sendAtCommandWithRetryTimeout( pContext, &atReqGetNoResult );
}
if( cellularStatus == CELLULAR_SUCCESS )
{
/* Configure RAT Searching Sequence to default radio access technology. */
switch( CELLULAR_CONFIG_DEFAULT_RAT )
{
case CELLULAR_RAT_CATM1:
atReqGetNoResult.pAtCmd = "AT+QCFG=\"nwscanseq\",02,1";
break;
case CELLULAR_RAT_NBIOT:
atReqGetNoResult.pAtCmd = "AT+QCFG=\"nwscanseq\",03,1";
break;
case CELLULAR_RAT_GSM:
atReqGetNoResult.pAtCmd = "AT+QCFG=\"nwscanseq\",01,1";
break;
default:
/* Configure RAT Searching Sequence to automatic. */
atReqGetNoResult.pAtCmd = "AT+QCFG=\"nwscanseq\",00,1";
break;
}
cellularStatus = sendAtCommandWithRetryTimeout( pContext, &atReqGetNoResult );
}
if( cellularStatus == CELLULAR_SUCCESS )
{
atReqGetNoResult.pAtCmd = "AT+CFUN=1";
cellularStatus = sendAtCommandWithRetryTimeout( pContext, &atReqGetNoResult );
}
}
return cellularStatus;
}