@ mhectorgato - The module has two modes, mode 2 and 3. There are many others, but they are not applicable to this module.
If a module is in mode 2, it receives from all modules it hears. In mode 3, you can train it to only hears from modules it has ālearnedā.
When data is received, it does not contain any identification of who sent it. Each module has a unique serial number, but it is not sent in modes 2 and 3.
What makes this module āfunā to control is data is sent in packets, which contains error correction information and checksums. This is transparent to the user. If a packet can be verified as correct, is is sent to the serial port. If not, the packet is discarded. The user only sees clean data.
The fun part is when you send data, via the serial port, the data is stored in the chip until a 12 byte packet is built, or 15ms from last data byte has passed. That means, if multiple devices are sending, you have to be able to separate and identify each packet. I decided to send packets with a fixed size of 12. Read 12 bytes, and you have a packet.
As I said earlier, I am building a mesh network protocol with these devices. The 12 byte packets are causing a high overhead. In a normal protocol, three bytes would be a low overhead, but when the packet is 12 bytes long, it is high.
I have some ideas for increasing the logical packet size, but that is for a later version of the protocol.
For transmission between two nodes, these modules are great. For Multipoint topologies, they are a bit more or a challenge.