adl_fcmUnsubscribe returns OK but UART1 isn't unsubscribed?

I’m merging an app based on the sample xmodem code which subscribes to UART1, with an app that also does an adl_fcmSubscribe to UART1. (Fortunately the 2 parts do not run at the same time.) The non-xmodem task is the main task, and the xmodem task only runs when a custom AT command is received.

When the custom command is received, I have the main task do an adl_fcmUnsubscribe, which returns OK. (I’ve confirmed that it is in AT_MODE at the time.) However, the control handler never receives the ADL_FCM_EVENT_FLOW_CLOSED event. And tests on adl_fcmIsAvailable(ADL_PORT_UART1) always return FALSE. Out of desperation I have tried closing the UART with AT+WMFM=0,0,1 before unsubscribing and then reopening it after unsubscribing, but that didn’t work.

I’m running R7.44.0.201008311212.FXT009 2146096 083110 12:12 on a Fastrack FXT009.



I had tried performing some tests ,similar to what you have mentioned .In my app I
opened the UART by sending AT+WMFM command and then opened the FCM flow. And
after unsubscribing from the FCM flow, issued AT+WMFM command to close the UART.

But in the beginning I did not receive ADL_FCM_EVENT_FLOW_CLOSED event.
I realized that I was trying to close the UART even before unsubscribing from FCM on that UART.
can you elaborate what is the “sample xmodem code” you are referring to ?


Do you switch the flow back to AT Command Mode before unsubscribing?