Hello all, I've recently pushed my patch implementing low power in the LoRa stack ( https://github.com/apache/mynewt-core/pull/1670). It does this by using the os_cputime functions for the non-critical timing tasks (such as scheduling a retry, or delaying for a reset), and using the normal hal_timer functions only for scheduling the RX windows (which needs to be very precise) and turning them on and off only as needed. The os_cputime should be configured in the BSP to use the low power timer.
One problem I ran into was that turning a hal_timer on requires that you pass a hardware-specific cfg struct into the hal_timer_init function. This means that the LoRa stack can't turn the timer back on on its own. To get around this, I declared two function prototypes that the user must implement that turn the timer on and off (lora_low_power_enter and lora_low_power_exit). Is there a better way of doing this? Amr