예제 #1
0
static bool cbPollCreg ( adl_atResponse_t *Rsp )	{
    ascii *rsp;
    ascii regStateString [ 3 ];
    s32 regStateInt;

    TRACE ( ( NORMAL_TRACE_LEVEL, "(cbPollCreg) Enter." ) ) ;

    rsp = ( ascii * ) adl_memGet ( Rsp->StrLength );
    wm_strRemoveCRLF ( rsp, Rsp->StrData, Rsp->StrLength );


    TRACE ( ( NORMAL_TRACE_LEVEL, rsp ) ) ;

    wm_strGetParameterString ( regStateString, Rsp->StrData, 2 );
    regStateInt = wm_atoi ( regStateString );

    TRACE ( ( NORMAL_TRACE_LEVEL, regStateString ) ) ;

    if ( REG_STATE_REG == regStateInt || REG_STATE_ROAM == regStateInt )    {
        TRACE( ( NORMAL_TRACE_LEVEL, "(cbPollCreg) Registered on GPRS network." ) ) ;
        /* Registration is complete so open and start bearer */
        OpenAndStartBearer ( ) ;
    }
    else    {
        /* Not ready yet, we'll check again later. Set a one-off timer. */
        adl_tmrSubscribe ( FALSE, CREG_POLLING_PERIOD, ADL_TMR_TYPE_100MS, (adl_tmrHandler_t ) PollCreg );
    }
    adl_memRelease(rsp);
    return FALSE;
}
예제 #2
0
파일: init.c 프로젝트: Ryugoron/university
bool poll_creg_handler (adl_atResponse_t *Rsp) {
    ascii *rsp;
    ascii regStateString[3];
    s32 regStateInt;

	info("Warten auf GPRS Verbindung...");

    rsp = (ascii *)adl_memGet(Rsp->StrLength);
    wm_strRemoveCRLF(rsp, Rsp->StrData, Rsp->StrLength);

    wm_strGetParameterString(regStateString, Rsp->StrData, 2);
    regStateInt = wm_atoi(regStateString);

    if ( 1 == regStateInt || 5 ==regStateInt) {
		initGprs();
    } else {
      /* Not ready yet, we'll check again later. Set a one-off timer. */
      adl_tmrSubscribe( FALSE, 10, ADL_TMR_TYPE_100MS,
                        poll_creg);
    }
    return FALSE;
}
예제 #3
0
static bool poll_creg_callback(adl_atResponse_t *Rsp) {
    ascii *rsp;
    ascii regStateString[3];
    s32 regStateInt;
    
    TRACE (( 1, "(poll_creg_callback) Enter." ));

    rsp = (ascii *)adl_memGet(Rsp->StrLength);
    wm_strRemoveCRLF(rsp, Rsp->StrData, Rsp->StrLength);
    
    wm_strGetParameterString(regStateString, Rsp->StrData, 2);
    regStateInt = wm_atoi(regStateString);
    
    if ( 1 == regStateInt || 5 ==regStateInt) {           
        TRACE (( 1, "(poll_creg_callback) Registered on GPRS network." ));
        open_and_start_bearer();
    } else { 
      /* Not ready yet, we'll check again later. Set a one-off timer. */
      adl_tmrSubscribe( FALSE, CREG_POLLING_PERIOD, ADL_TMR_TYPE_100MS,
                        poll_creg);
    }                
    return FALSE;
}