Hello,
To better present my problem, please have a look at the picture:
[attachment=0]wavecom_uart1+uart2+gsm.PNG[/attachment]
I power up wavecom demo board with application running on Q2686. Application enables communication between sensor connected to UART2 and PC over GSM network:
void adl_main ( adl_InitType_e InitType ) {
returned_value = adl_atCmdCreate ("AT+WMFM=0,1,2\r", FALSE,(adl_atRspHandler_t) HandleWmfmUART2,"*",NULL);
}
bool HandleWmfmUART2(adl_atResponse_t *response)
{
HelloWorld_TimerHandler2(0); return(FALSE);
}
void HelloWorld_TimerHandler2 ( u8 ID )
{
adl_atCmdCreate ("AT+IPR=9600\r", ADL_AT_PORT_TYPE(ADL_PORT_UART2,FALSE), (adl_atRspHandler_t) NULL,NULL);
adl_atSendResponse ( ADL_AT_UNS, "UART2 set to 9600\32\r\n" );
adl_callSubscribe (Call_Handler);
}
In call event handler (ADL_CALL_EVENT_ANSWER_OK) I subscribe for GSM flow & UART2 flow
My GSM & UART2 handlers are following:
bool GSM_DATA_DataHandler (u16 DataLen, u8 * Data) {
adl_fcmSendData(FCMHandler,Data, DataLen);
return TRUE;
}
bool FcmDataHandler (u16 DataLen, u8 * Data) {
adl_fcmSendData (GSM_DATA_Handle,Data,DataLen);
return TRUE;
}
I am making data call from Hypertrm, PC A to Wavecom demo board. Once the connection has been established, on Hypertrm UART2 pop up:
And at the same time I receive on Hypertrm UART1:
Which shouldn’t appear. I subscribe only to UART2. Can someone explain why I got data on UART1?
What’s more, when I type in Hypertrm UART2, characters doesn’t show up in Hypertrm, PC A terminal. But when typed on PC A, they show up on Hypertrm UART2. When I type in Hypertrm UART1, then chatracters appear in HyperTrm on PC A. Why GSM is linked to UART1? I am not using UART1! I don’t understand this. Is there any bug in OpenAT or am I missing somthing?
Best regards,
Tom