Fcm uart1

Hi all,

Im trying send and receive data with Fastrack Supreme UART1 in RTU mode.
firmware 7.3 open AT 6.20.

code

#include "adl_global.h"
#include "adl_fcm.h"

const u16 wm_apmCustomStackSize = 1024;

s8 FcmHdl;

bool FcmCtrlHandler (adl_fcmEvent_e Event)
{
    
    TRACE (( 1, "Ctrl Event %d", Event));
    
    switch (Event)
    {
        case ADL_FCM_EVENT_FLOW_OPENNED:
        {
            adl_atSendResponse ( ADL_AT_UNS, "ADL_FCM_EVENT_FLOW_OPENNED\n\r");
            adl_fcmSwitchV24State(FcmHdl,ADL_FCM_V24_STATE_DATA);
        }
    }

return TRUE;

}

bool FcmDataHandler (u16 DataLen, u8 * Data)
{
   
    TRACE (( 1, "Data Event %d", DataLen));
   
    char Buffer[150];

    sprintf(Buffer," %u : ",DataLen);
    adl_fcmSendData (FcmHdl,(u8*)&Buffer,(u16)strlen(Buffer));
    adl_fcmSendData (FcmHdl,Data,DataLen);
   
return TRUE;
}

/*main function */ 

void adl_main ( adl_InitType_e InitType )
{
    
  FcmHdl = adl_fcmSubscribe(ADL_FCM_FLOW_V24_UART1,FcmCtrlHandler,FcmDataHandler);
  
}

Traces:

77693.471 Trace IOB 1 Unable to find the string of the remote trace in the file (ID = 35826)
77693.471 Trace IOB 1 Unable to find the string of the remote trace in the file (ID = 35826)
77693.472 Trace IOB 1 Unable to find the string of the remote trace in the file (ID = 35826)
77693.472 Trace IOB 1 Unable to find the string of the remote trace in the file (ID = 35826)
77693.472 Trace IOB 1 Unable to find the string of the remote trace in the file (ID = 35826)
77693.472 Trace IOB 1 Unable to find the string of the remote trace in the file (ID = 35826)
77693.472 Trace IOB 1 Unable to find the string of the remote trace in the file (ID = 35826)
77693.472 Trace IOB 1 Unable to find the string of the remote trace in the file (ID = 35826)
77693.472 Trace DEV 1 Unable to find the string of the remote trace in the file (ID = 29270)
77693.472 Trace IOB 1 Unable to find the string of the remote trace in the file (ID = 35826)
77693.472 Trace IOB 1 Unable to find the string of the remote trace in the file (ID = 35826)
77693.472 Trace IOB 1 Unable to find the string of the remote trace in the file (ID = 35826)
77693.472 Trace IOB 1 Unable to find the string of the remote trace in the file (ID = 35826)
77693.472 Trace IOB 1 Unable to find the string of the remote trace in the file (ID = 35826)
77693.472 Trace ATI 1 Unable to find the string of the remote trace in the file (ID = 8842)
77693.472 Trace IOB 1 Unable to find the string of the remote trace in the file (ID = 35826)
77693.472 Trace IOB 1 Unable to find the string of the remote trace in the file (ID = 35826)
77693.472 Trace IOB 1 Unable to find the string of the remote trace in the file (ID = 35826)
77693.472 Trace IOB 1 Unable to find the string of the remote trace in the file (ID = 35826)
77693.472 Trace IOB 1 Unable to find the string of the remote trace in the file (ID = 35826)
77693.927 Trace ADL 1 Binary header at 6E616050
77694.815 Trace SIM 1 Unable to find the string of the remote trace in the file (ID = 32563)
77695.315 Trace L3RR 1 Unable to find the string of the remote trace in the file (ID = 4867)
77696.114 Trace ADL 1 Ctrl Event 0
77696.239 Trace ADL 1 Ctrl Event 2

Terminal:

+WIND: 13

+WIND: 1

+CREG: 2

+WIND: 16

+CGREG: 0

+WIND: 4

+WIND: 10,“SM”,1,“FD”,0,“ON”,0,“EN”,0

+WIND: 11,“44DB3FCAB19D399361A166C9B0595C9A”,“DC8F8F47E9DB7D5BCD339D21262B52E4”,
ADL_FCM_EVENT_FLOW_OPENNED

+WIND: 7

+CREG: 1,“6028”,“0CF9”

at

OK
at

OK
ati3

R73_00gg.FSU001 2087432 121208 15:34

OK

Im very confused, because

77696.239 Trace ADL 1 Ctrl Event 2

mean, then UART1 should be in DATA mode.

but when i send comand AT over terminal, modem return OK(is in AT mode)

and no trace from FcmDataHandler appear.

Please help me. i’m new in Open AT.

Hi Otomeran,

The unable to find string is due to mis match of Workspace you selected in TMT.
For FCM data,
In Event handler
After the event ADL_FCM_EVENT_FLOW_OPENNED
just change the flow to DATA mode by using adl_fcmSwitchV24State
Whenever the data comes the data handler function executes so in data handler
Store the data in buffer ;
If you want to print that data switch to ATmode and do printing and came back to DATA mode for reciving next coming DATA.

That sounds very cumbersome - why not just use adl_fcmSendData :question:

Which “terminal” are you using?

The Wavecom Terminal Emulator has separate windows for AT Commands and FCM data - so that you can still use AT commands while the UART is in Data mode:

[attachment=0]Wavecom_TE_Windows.gif[/attachment]

See also “Debug Mode” in the TE online help…