#include "adl_global.h"
/***************************************************************************/
/* Mandatory variables */
/*-------------------------------------------------------------------------*/
/* wm_apmCustomStack */
/* wm_apmCustomStackSize */
/*-------------------------------------------------------------------------*/
/***************************************************************************/
u32 wm_apmCustomStack [ 256 ];
const u16 wm_apmCustomStackSize = sizeof ( wm_apmCustomStack );
/***************************************************************************/
/* Local variables */
/***************************************************************************/
s8 FCMHandler = -1;
s8 FCMReady = 0;
/***************************************************************************/
/* Local functions */
/***************************************************************************/
bool FCM_ControlHandler(adl_fcmEvent_e Event)
{
s8 s8r;
switch (Event)
{
case ADL_FCM_RET_ERROR_GSM_GPRS_ALREADY_OPENNED :
{
TRACE((1, "Flow GSM already Opened"));
break ;
}
case ADL_RET_ERR_PARAM :
{
TRACE((1, "Open Flow GPRS Parameters Error"));
break ;
}
case ADL_RET_ERR_ALREADY_SUBSCRIBED :
{
TRACE((1, "Flow GPRS already subscribed"));
break ;
}
case ADL_FCM_EVENT_FLOW_OPENNED :
{
TRACE((1, "ADL_FCM_EVENT_FLOW_OPENNED"));
adl_atSendResponse(ADL_AT_UNS,"fcmSubscribe openned\r\n");
s8r=adl_fcmSwitchV24State(FCMHandler,ADL_FCM_V24_STATE_DATA);
TRACE(( 1, "adl_fcmSwitchV24State Ret= %d", s8r));
break ;
}
case ADL_FCM_EVENT_FLOW_CLOSED :
{
TRACE((1, "ADL_FCM_EVENT_FLOW_CLOSED"));
break ;
}
case ADL_FCM_EVENT_RESUME :
{
TRACE((1, "ADL_FCM_EVENT_RESUME"));
break ;
}
case ADL_FCM_EVENT_MEM_RELEASE :
{
TRACE((1, "ADL_FCM_EVENT_MEM_RELEASE"));
break ;
}
case ADL_FCM_EVENT_V24_DATA_MODE:
{
TRACE((1, "ADL_FCM_EVENT_V24_DATA_MODE"));
adl_atSendResponse(ADL_AT_UNS,"now be data_mode\r\n");
s8r=adl_fcmSendData(FCMHandler,"abc",3);
TRACE(( 1, "adl_fcmSendData Ret= %d", s8r));
break ;
}
case ADL_FCM_EVENT_V24_AT_MODE:
{
TRACE((1, "ADL_FCM_EVENT_V24_DATA_MODE"));
adl_atSendResponse(ADL_AT_UNS,"now be at_mode\r\n");
break ;
}
default :
{
TRACE((1, "Embedded : FCM_ControlHandler Event not processed"));
break ;
}
}
return TRUE ;
}
bool FCM_DataHandler(u16 DataLen, u8* Data)
{
TRACE(( 1, "FCM_DataHandler"));
DUMP( 1, Data, DataLen);
return TRUE ;
}
/***************************************************************************/
/* Function : adl_main */
/*-------------------------------------------------------------------------*/
/* Object : Customer application initialisation */
/* */
/*-------------------------------------------------------------------------*/
/* Variable Name |IN |OUT|GLB| Utilisation */
/*--------------------+---+---+---+----------------------------------------*/
/* InitType | | | | Application start mode reason */
/*--------------------+---+---+---+----------------------------------------*/
/***************************************************************************/
void adl_main ( adl_InitType_e InitType )
{
bool b;
TRACE (( 1, "Embedded Application : Main" ));
// TO DO : Add your initialization code here
b=adl_fcmIsAvailable(ADL_FCM_FLOW_V24_UART1);
if (b)
adl_atSendResponse(ADL_AT_UNS,"fcm available\r\n");
else
adl_atSendResponse(ADL_AT_UNS,"fcm unavailable\r\n");
FCMHandler = adl_fcmSubscribe(ADL_FCM_FLOW_V24_UART1, FCM_ControlHandler, FCM_DataHandler);
TRACE(( 1, "adl_fcmSubscribe Ret= %d", FCMHandler));
}
[b]My Settting:
at+wmfm?
+WMFM: 0,2,1,1
+WMFM: 0,2,2,0
+WMFM: 1,2,4,0
+WMFM: 1,2,4,1[/b]
Run Result:
fcm available
fcmSubscribe openned
now be data_mode
at
ok