Just an idea, since LORA requires so strict microsec precise timing (starting RX_SINGLE during the half of preamble),
we could simply use continuous OPMODE_RX with a wider RX window, say
define THRESH 100ms // reduce if you can afford
start RX: at RX1_DELAY - THRESH
stop RX: at RX1_DELAY + THRESH
read out last message (new overrides old)
check if it was addressed for us (MIC matches)
So it doesn't really matter if user makes +10ms calculation, we won't miss the deadline.
Downside it could cost more power (rxing longer), but threshold can be reduces even to current level.
Another more complicated option would be using internal Timer1 of sx12xx.
Just an idea, since LORA requires so strict microsec precise timing (starting RX_SINGLE during the half of preamble), we could simply use continuous OPMODE_RX with a wider RX window, say
define THRESH 100ms // reduce if you can afford
So it doesn't really matter if user makes +10ms calculation, we won't miss the deadline. Downside it could cost more power (rxing longer), but threshold can be reduces even to current level.
Another more complicated option would be using internal Timer1 of sx12xx.