FCM Services just running in task 0?



on UART2 we’ve connected an GPS device. Now, we tried to switch this job from task 0 to a lower priorized task (task 2) - without success.

Calling the initialization functions (related AT commands and adl_fcmSubscribe()) within task 2 doesn’t help - the callback functions do always run in task 0. One workaround: Putting the data pointer recevied by FCM data handler into a message in order to sent it to the wanted task context.

Is there an easier way?



I don’t think that’ll work - the pointer may not be valid by the time the other task receives it…

Either I’ve totally missed it, or Open-AT’s multitasking is a bit lame: https://forum.sierrawireless.com/t/cant-receive-message-in-other-task-then-task-0/4952/8


I hope this works. The API says:

So I’ll return FALSE and send the data pointer to the other task.

The other task uses adl_fcmReleaseCredits(handle, 1) to release it. 1, because I just want to release one credit (the oldest credit).

I’ll give it a try.


Yes, it works. :slight_smile:


Important note from ADL user guide regarding multitasking limitations: