LTE init/ deinit freezes the entire board for some seconds
I have 2 threads running on my FiPy. 1st thread samples a sensor at 1 sec interval. 2nd thread (which handles LTE init / deinit functions too) publishes the data to server every 10 minutes.
When the 2nd thread calls LTE init / deinit, other thread also freezes for a few seconds! The other thread (which should run continuously) does not run during the LTE init / deinit process!
This is really a big issue for low power applications which need to run time critical periodic tasks like sensor sampling. I hoped that it will get fixed in the new firmware but the LTE init 'freeze' time is now longer in the latest firmware (1.18.1.r4).
Is there any way to increase the priority of my time critical thread? (coz, i can't find a solution from the documentation.)
Or is there any way to make the LTE init and deinit happen in the background so that my 'sensor sampling thread' runs without pausing?
@paul-thornton Thanks for the response and information to this important thread. Just to let you know, the blocking and unstable lte.init()/deinit() behavior is forcing me to consider totally switching platforms, and abandoning Pycom. I am running the newest modem firmware.
I spoke to the firmware team about this recently and this is currently intended behaviour.
There are plans to add non blocking versions of init/deinit in the future however I dont have any roadmap for this atm.