Fcm uart1

#1

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.

0 Likes

#2

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.

0 Likes

#3

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

0 Likes

#4

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…

0 Likes