Hi ListenGuy`s,
I did some additional tests (also with Joes code) and spend some more time thinking about bursts....
Now I come back with a question which were not be answered by the datasheet
What is the trigger of the RFM module to send a new package and therefore the module adds the preamble, syncwords and does the calculations for the CRC and does datawhitening?
* when I set the mode to RF69_MODE_TX coming from a other mode?
* when the FIFO is empty and new data will be written to the empty FIFO?
* when the SPI CS pin changes? (select, unselect)
I additionally found an issue in correlation with setting a small as possible REG_RSSITHRESH value to reduce phantom wake ups in ListenMode.
(I think that was the problem why my client did just run 2 month on 2xAA batteries)
I reduced the threshold till -80 and still get a good detection but the canSend function stops working well.
With low rssi thresholds the module can not longer detect when a burst is over.
--> Workaround: I do set the RSSIThreshold to his maximum when ever the CanSend function is running.
I would be thankful for further hints or your feedback.
PS.: With Joe`s code and the workaround it looks like I can transmit nearly 100% of packages to the client which is in ListenMode and get a ACK in <10ms after a burst.