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: Can't receive message in other task then task 0 - #8 by awneil

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: