Arduino library for NRF24L01+ clones: RFM73, RFM75, LCX24G, XN297
This library is an attempt to make the NRF24L01+ and its clones understand each other.
3 different radio modules connected to 3 Arduinos. You press a button on any of them, and the pin13 LED of the other 2 will light up. You release the button, and the LEDs will turn off.
https://github.com/roboremo/ChiNRF/tree/master/ChiNRF%20v1.0/Examples
LCX24G and XN297/KSL297 seem to be identical
It seems that RFM73 is not produced anymore, and was replaced by RFM75
I have a RFM73 that works if initialized with register values from the RFM75 datasheet, but not with those from RFM73 datasheet.
In order to be able to communicate with each other, the radio modules are set to fixed payload size, no CRC, no ACK.
Some chips use preamble [0x55], others use [0x71 0x0F 0x55]. In order to understand each other, the chips that use [0x55] have set the TX address to [0x00 0x00 0x00 0x00 0x00] and are emulating the 3-Byte preamble by writing it (and the actual TX address) at the beginning of the data message, so the maximum message length gets smaller.
Tested only with 5-Byte address.
There are still many things to test.
Big thanks to the guys from www.deviationtx.com/forum for revealing the scrambling algorithm of the XN297.
https://www.deviationtx.com/forum/protocol-development/3368-jd-395-cx-10?screenMode=none&start=180
https://github.com/roboremo/NRF24-total-control
https://github.com/roboremo/NRF24-demodulator