Transfering data from CSD call to UART1


#1

Hi, All!

Maybe someone will help me… I’m using Q2686H OpenAT 4.10. Im my program I subscribed FCM Flow to UART1 and it works fine. Now I need to recive incoming CSD call and make a direct channel to UART1. Is it correct to use something like (I tryed this code but didn’t recive V24DataHandler):

(skip)
 adl_callSubscribe (Call_Handler);
  (skip)

s8 Call_Handler(u16 Event, u32 Call_ID)
{
switch (Event)
{
case ADL_CALL_EVENT_RING_DATA: 
			adl_callAnswer();
      break;
case ADL_CALL_EVENT_ANSWER_OK:  
	V24Handle = adl_fcmSubscribe ( USED_FLOW, V24CtrlHandler, V24DataHandler );
      break;
}

bool V24CtrlHandler ( u8 Event )
{
    switch ( Event )
    {	
		case ADL_FCM_EVENT_FLOW_OPENNED :    	
        	adl_fcmSwitchV24State ( V24Handle, ADL_FCM_V24_STATE_DATA );
        break;
        
        case ADL_FCM_EVENT_RESUME :
        break;
        
		case ADL_FCM_EVENT_MEM_RELEASE :
        break;        	
        case ADL_FCM_EVENT_FLOW_CLOSED:
        break;

    }
    
    return TRUE;	
}

bool V24DataHandler ( u16 Length, u8 * Data )
{

	adl_fcmSendData(UART1_Handle,Data, Length);
}

Best regards!


#2

Hi,

V24DataHandler is called when data “arrive” to UART1 to the RX pin , not when you have data from a data call.


#3

Hi, sefer!

Why do you think that V24DataHandler is called from UART1?
Is this string wrong?

V24Handle = adl_fcmSubscribe ( USED_FLOW, V24CtrlHandler, V24DataHandler );

Best regards!


#4

It is impossible to say which Flow is subscribed here as you haven’t shown your definition for USED_FLOW :unamused:

So, which Flow do you subscribe for V24Handle ?


#5

Hi, awneil!

My definition of USED FLOW is:

#define     USED_FLOW   ADL_FCM_FLOW_GSM_DATA

#6

I think you have the same problem that I had.

Use at+wmfm=1,1,0,0 while in (wopen=0) save and then open application(see also documentation)

See also this

wavecom.com/modules/movie/sc … php?t=1078


#7

Are you deliberately trying to confuse everyone?! :open_mouth:

When you sunscribe to the GSM_DATA Flow, why do you name the Handle “V24Handle” and the handlers “V24CtrlHandler” and “V24DataHandler”

Would it not be a whole lot clearer to write:

GSM_DATA_Handle = adl_fcmSubscribe ( ADL_FCM_FLOW_GSM_DATA, GSM_DATA_CtrlHandler, GSM_DATA_DataHandler );

#8

Sorry, I used identificators form Wavecom Remote_Terminal example.