I just spent a few days experimenting with the RM186 module.
I kind of have mixed feelings about it especially the strange SmartBasic although I have managed to get my C mind around it now.
I have tried the deep sleep low power mode and it seems that if you use a Timer or GPIO pin to wake the module it starts up as if it has been reset, I am wondering how one is supposed to know what event woke the module from deep sleep if this is the case.
May as well just use the reset pin to bring it out of deep sleep.
Hopefully I am missing something as I would like to take advantage of the 750nA sleep but be able to have an external event that wakes the module, does something then puts it back to sleep without resetting everything.
Also dont want to put it into a standby or doze power mode as the consumption is much higher.
I emailed the Laird guys about this question, hope to get an answer.
Ok, just confirmed from Laird support that if the RM1xx is put into deep sleep
( 750nA ) it will vector to reset upon any event that wakes it , whether a timer or an external GPIO pin or the reset pin.
Only Standby Doze mode can be made to vector to a specific handler which is what I need for my application. Problem is that Standby current is 4.2uA.
With other LORA boars that I make using STM32L151 and RN2483 I manage to get 1uA sleep. So this is a bit of a deal breaker for me and I probably wont use the RM1xx in a final product. I should have read up a bit more before spending a few days getting around the smart Basic which I will not ever use again
Yes, RM1xx needs to be reset via GPIO to wake up from deep sleep but it has autorun mode so that application runs upon reset. So, I think most scenarios can be handled in application.