Hello Everyone,
So I have been working hard on this solution. I have become stuck on the the check for RSSI. I have been trying to use the RXtimeout1 to trigger a pin interrupt on DIO4 for my micro to signal it that it should shutdown the receiver etc because the RSSI threshold was not exceeded. The problem I am finding after a lot of scoping is that regardless of the RSSI treshold I get a very short pulse from the DIO4 pin which my micro of course interprets as a IRQ. This is seems to happen everytime the receiver is woken up. On the other hand I scope DIO0 which I have configured to be the RSSIthreshold IRQ. There I see the same little spike. However when the RSSI threshold is exceeded I see a much longer signal appear (Interestingly enough it is around 100us after the short spike which is still there).
This leads me to two conclusions, first off the IRQ pulses from the SX1231H are a bit dodgy they still spike slightly when not triggered (presumably when the condition is checked internally?) This could be solved by something like a small decoupling cap with a pulldown resistor to remove those little spikes. But I don't want to adjust my circuit board further... Secondly, perhaps the Timeouts do not work unless in listen mode?
Of course using the built in time outs is really great in terms of my program flow, because I can turn on the receiver and a timer at the same time, then go on doing the other things that need to happen. At some point the SX will let the micro know that the RSSI has timed out and it can be shutdown. Otherwise I finish all my other stuff and then sit in a loop until my desired radio on time is met as per the timer. If the timeout outs don't work it is a bit more complicated because I would need to start a much shorter timer to handle the RSSI timeout and then if the IRQ is triggered I can stop the timer and leave the radio on. But if the timer triggers first then I shutdown the radio. It just means two IRQs rather than one as well as some additional annoying logic and micro resources.
Does anyone have any ideas?