Hi all,
Here i have pasted FCM code, while i am running this code i am getting the “ADL_FCM_EVENT_MEM_RELEASE” event. I am not able to collect the i/p data from COM . please give the solution for this. What is the wrong with this
void FCM_Function()
{
TRACE( ( 4, "FLOW CONTROL MANAGEMER" ) );
s8_FCMHandler = adl_fcmSubscribe( ADL_PORT_UART1,
(adl_fcmCtrlHdlr_f) fcmCtrlHandler,
(adl_fcmDataHdlr_f) fcmDataHandler );
/* Subscribing FCM with UART1*/
}
/**************************************************************************************************
Function : fcmCtrlHandler() *
Description : FCM control events handles described here *
Inputs : s8_FCMHandler *
*
Output : Returns value is not relevant, except for ADL_FCM_EVENT_V24_AT_MODE_EXT. *
Note : *
*
**************************************************************************************************/
bool fcmCtrlHandler( adl_fcmEvent_e Event ) /*Function for com port events */
{
TRACE( ( 4, “FCM CONTROL HANDLER” ) );
if( Event == ADL_FCM_EVENT_FLOW_OPENNED ) /*If Event is opened switch to data mode*/
{
TRACE( (4,"ADL_FCM_EVENT_FLOW_OPENNED") );
adl_fcmSwitchV24State( s8_FCMHandler, ADL_FCM_V24_STATE_DATA ); /*Switch to DATA mode */
}
if( Event == ADL_FCM_EVENT_V24_DATA_MODE ) /* Event flow is opened enters in to data mode */
{
TRACE((4,"ADL_FCM_EVENT_V24_DATA_MODE"));
}
if(Event == ADL_FCM_EVENT_FLOW_CLOSED) /* */
{
TRACE((4,"ADL_FCM_EVENT_FLOW_CLOSED"));
}
if(Event == ADL_FCM_EVENT_V24_DATA_MODE_EXT)/* */
{
TRACE((4,"ADL_FCM_EVENT_FLOW_CLOSED"));
}
if(Event == ADL_FCM_EVENT_V24_DATA_MODE_EXT)/* */
{
TRACE((4,"ADL_FCM_EVENT_V24_DATA_MODE_EXT"));
}
if(Event == ADL_FCM_EVENT_V24_AT_MODE)/* */
{
TRACE((4,"ADL_FCM_EVENT_V24_AT_MODE"));
}
if(Event == ADL_FCM_EVENT_RESUME)/* */
{
TRACE((4,"ADL_FCM_EVENT_RESUME"));
}
if(Event == ADL_FCM_EVENT_MEM_RELEASE)/* */
{
TRACE((4,"ADL_FCM_EVENT_MEM_RELEASE"));
}
return FALSE;
}
/**************************************************************************************************
Function : fcmDataHandler *
Description : FCM data events handler *
Inputs : DataLen, Data *
*
Output : returns a positive or null handle on success *
Note : Data handler subscribed are notified with a data event, and the credir will be *
released only handler returns TRUE *
*
**************************************************************************************************/
bool fcmDataHandler( u16 DataLen, u8 * Data ) /Function to perform the read and write via COM port/
{
int icnt, j=0;
TRACE( (1,“DataLen %d”,DataLen) );
for ( icnt = 0 ; icnt < DataLen ; icnt++ ) /* for continuos receiving */
{
if ( Data[ icnt ] == '~' ) /* if received data is ~ change into AT mode */
{
adl_fcmSwitchV24State(s8_FCMHandler, ADL_FCM_V24_STATE_AT );
/*Switching into AT mode*/
adl_atSendResponse(ADL_AT_UNS, "ADL_FCM_V24_STATE_AT" );
/* Send response to TE */
}
else
{
TRACE((4," Copy i/p data in Char_Fcm_Buf"));
Char_Fcm_Buf[j++] = Data[icnt]; /*received data willl be stored into Char_Fcm_Buf */
}
TRACE( (1,Char_Gprsbuf) );
/* Clear the Data buffer */
}
TRACE( (1,Char_Gprsbuf) );
Int_Size = wm_strlen(Char_Fcm_Buf);
wm_memset(Char_Fcm_Buf,'\0',wm_strlen(Char_Fcm_Buf) );
wm_strcpy (Char_Gprsbuf, Char_Fcm_Buf);
wm_memset(Char_Gprsbuf,'\0',wm_strlen(Char_Gprsbuf) );
TRACE( (1,Char_Gprsbuf) );
adl_fcmSendData( s8_FCMHandler, Data, DataLen );
adl_atSendResponse( ADL_AT_UNS, Char_Fcm_Buf ); /*Send the received data to TE */
Signal_Strnth_Function();
return TRUE; /* returns TRUE on successful transmission or reception */
}
/**************************************************************************************************/
TRACES:
Trace 1 Embedded Application : Main
Trace 1 SIM Subscribe:
Trace 1 PIN code OK
Trace 1 SIM Event:5
Trace 1 SIM Fully Initialsed
Trace 2 APN_Function
Trace 2 APN
Trace 1 PIN code OK
Trace 1 SIM Event:3
Trace 2 40445
Trace 2 IMEI_Function
Trace 2 IMEI
Trace 3 ARISE
Trace 3 355211010016776
Trace 3 TCPIP_Function
Trace 3 TCP-IP Starts here
Trace 1 [GPRS]: initialized.
Trace 1 [GSM]: initialized.
Trace 1 [UART1]: initialized.
Trace 1 [UART2]: initialized.
Trace 1 []: initialized.
Trace 3 wip_bearerOpen Function
Trace 1 [GPRS]: open: -> DISCONNECTED
Trace 2 Set_Apn Function
Trace 3 40445
Trace 2 APN: AIRTEL
Trace 1 APN is set to GPRS
Trace 1 [GPRS]: start: -> CONNECTING
Trace 1 [GPRS]: GPRS EVENT SETUP OK (cid=1): GPRS activate
Trace 1 [GPRS]: GPRS EVENT: 27 (cid=1)
Trace 1 Unable to find the string of the remote trace in the file (ID = 528)
Trace 1 [GPRS]: GPRS EVENT ACTIVATE OK (cid=1): FCM open
Trace 1 [GPRS]: FCM subscribe: 0
Trace 1 [GPRS]: FCM EVENT FLOW OPENNED: -> CONNECTED
Trace 1 WIP_BEV_IP_CONNECTED
Trace 3 IP address: -2127208075
Trace 3 wip_TCPClientCreate
Trace 3 WIP_CEV_OPEN
Trace 3 WIP_CEV_WRITE
Trace 3 Send your Data:
Trace 4 FCM_Function
Trace 4 FLOW CONTROL MANAGEMER
Trace 4 FCM CONTROL HANDLER
Trace 4 ADL_FCM_EVENT_FLOW_OPENNED
Trace 4 FCM CONTROL HANDLER
Trace 4 ADL_FCM_EVENT_V24_DATA_MODE
Trace 3 WIP_CEV_READ
Trace 3 Bytes receved: 17
Trace 4
Trace 1 DataLen 1
Trace 4 Copy i/p data in Char_Fcm_Buf
Trace 1
Trace 1
Trace 1 H
Trace 4 FCM CONTROL HANDLER
Trace 4 ADL_FCM_EVENT_MEM_RELEASE
Trace 1 DataLen 1
Trace 4 Copy i/p data in Char_Fcm_Buf
Trace 1 H
Trace 1 H
Trace 1 e
Trace 1 DataLen 1
Trace 4 Copy i/p data in Char_Fcm_Buf
Trace 1 e
Trace 1 e
Trace 1 l
Trace 1 DataLen 1
Trace 4 Copy i/p data in Char_Fcm_Buf
Trace 1 l
Trace 1 l
Trace 1 l
Trace 1 DataLen 1
Trace 4 Copy i/p data in Char_Fcm_Buf
Trace 1 l
Trace 1 l
Trace 1 o
Trace 4 FCM CONTROL HANDLER
Trace 4 ADL_FCM_EVENT_MEM_RELEASE
Trace 1 DataLen 1
Trace 4 Copy i/p data in Char_Fcm_Buf
Trace 1 o
Trace 1 o
Trace 1 f
Trace 4 FCM CONTROL HANDLER
Trace 4 ADL_FCM_EVENT_MEM_RELEASE
Trace 1 DataLen 1
Trace 4 Copy i/p data in Char_Fcm_Buf
Trace 1 f
Trace 1 f
Trace 1 e
Trace 1 DataLen 1
Trace 4 Copy i/p data in Char_Fcm_Buf
Trace 1 e
Trace 1 e
Trace 1 r
Trace 4 FCM CONTROL HANDLER
Trace 4 ADL_FCM_EVENT_MEM_RELEASE
Trace 1 Unable to find the string of the remote trace in the file (ID = 4867)
Trace 1 [GPRS]: GPRS EVENT: 27 (cid=1)
Trace 1 Unable to find the string of the remote trace in the file (ID = 14820)
Trace 1 Unable to find the string of the remote trace in the file (ID = 528)
Trace 1 Unable to find the string of the remote trace in the file (ID = 8842)
Trace 1 Unable to find the string of the remote trace in the file (ID = 4867)
Trace 1 Unable to find the string of the remote trace in the file (ID = 8842)
Trace 1 Unable to find the string of the remote trace in the file (ID = 4867)
Trace 1 Unable to find the string of the remote trace in the file (ID = 12654)
Trace 1 Unable to find the string of the remote trace in the file (ID = 12654)
Trace 1 Unable to find the string of the remote trace in the file (ID = 12654)
Trace 1 Unable to find the string of the remote trace in the file (ID = 12654)
Trace 1 Unable to find the string of the remote trace in the file (ID = 12654)
Trace 1 Embedded Application : Main
Trace 1 SIM Subscribe:
Trace 1 PIN code OK
Trace 1 SIM Event:5
Trace 1 SIM Fully Initialsed
Trace 2 APN_Function
Trace 2 APN
Trace 1 PIN code OK
Trace 1 SIM Event:3
Trace 2 40445
Trace 2 IMEI_Function
Trace 2 IMEI
Trace 3 ARISE
Trace 3 355211010016776
Trace 3 TCPIP_Function
Trace 3 TCP-IP Starts here
Trace 1 [GPRS]: initialized.
Trace 1 [GSM]: initialized.
Trace 1 [UART1]: initialized.
Trace 1 [UART2]: initialized.
Trace 1 []: initialized.
Trace 3 wip_bearerOpen Function
Trace 1 [GPRS]: open: -> DISCONNECTED
Trace 2 Set_Apn Function
Trace 3 40445
Trace 2 APN: AIRTEL
Trace 1 APN is set to GPRS
Trace 1 [GPRS]: start: -> CONNECTING
Trace 1 [GPRS]: GPRS EVENT SETUP OK (cid=1): GPRS activate
Trace 1 [GPRS]: GPRS EVENT: 27 (cid=1)
Trace 1 Unable to find the string of the remote trace in the file (ID = 528)
Trace 1 [GPRS]: GPRS EVENT ACTIVATE OK (cid=1): FCM open
Trace 1 [GPRS]: FCM subscribe: 0
Trace 1 [GPRS]: FCM EVENT FLOW OPENNED: -> CONNECTED
Trace 1 WIP_BEV_IP_CONNECTED
Trace 3 IP address: 252797301
Trace 3 wip_TCPClientCreate
Trace 1 Unable to find the string of the remote trace in the file (ID = 528)
Trace 3 WIP_CEV_OPEN
Trace 3 WIP_CEV_WRITE
Trace 3 Send your Data:
Trace 4 FCM_Function
Trace 4 FLOW CONTROL MANAGEMER
Trace 4 FCM CONTROL HANDLER
Trace 4 ADL_FCM_EVENT_FLOW_OPENNED
Trace 4 FCM CONTROL HANDLER
Trace 4 ADL_FCM_EVENT_V24_DATA_MODE
Trace 3 WIP_CEV_READ
Trace 3 Bytes receved: 17
Trace 4
Trace 1 DataLen 1
Trace 4 Copy i/p data in Char_Fcm_Buf
Trace 1
Trace 1
Trace 1
Trace 4 FCM CONTROL HANDLER
Trace 4 ADL_FCM_EVENT_MEM_RELEASE
Trace 1 DataLen 1
Trace 4 Copy i/p data in Char_Fcm_Buf
Trace 1
Trace 1
Trace 1
Trace 1 DataLen 1
Trace 4 Copy i/p data in Char_Fcm_Buf
Trace 1
Trace 1
Trace 1
Trace 1 DataLen 1
Trace 4 Copy i/p data in Char_Fcm_Buf
Trace 1
Trace 1
Trace 1
Trace 1 DataLen 1
Trace 4 Copy i/p data in Char_Fcm_Buf
Trace 1
Trace 1
Trace 1
Trace 1 DataLen 1
Trace 4 Copy i/p data in Char_Fcm_Buf
Trace 1
Trace 1
Trace 1
Trace 1 DataLen 1
Trace 4 Copy i/p data in Char_Fcm_Buf
Trace 1
Trace 1
Trace 1
Trace 1 DataLen 1
Trace 4 Copy i/p data in Char_Fcm_Buf
Trace 1
Trace 1
Trace 1
Trace 1 DataLen 1
Trace 4 Copy i/p data in Char_Fcm_Buf
Trace 1
Trace 1
Trace 1
Trace 1 DataLen 1
Trace 4 Copy i/p data in Char_Fcm_Buf
Trace 1
Trace 1
Trace 1
Trace 1 DataLen 1
Trace 4 Copy i/p data in Char_Fcm_Buf
Trace 1
Trace 1
Trace 1
Trace 1 DataLen 1
Trace 4 Copy i/p data in Char_Fcm_Buf
Trace 1
Trace 1
Trace 1
Trace 1 DataLen 1
Trace 4 Copy i/p data in Char_Fcm_Buf
Trace 1
Trace 1
Trace 1
Trace 4 FCM CONTROL HANDLER
Trace 4 ADL_FCM_EVENT_MEM_RELEASE
Trace 1 [GPRS]: GPRS EVENT: 27 (cid=1)
Trace 1 Unable to find the string of the remote trace in the file (ID = 4867)
Trace 1 [GPRS]: GPRS EVENT: 27 (cid=1)