With quite a few RFM2Pi boards out there, some issues started to pop up. When using the board to send time packets to emonGLCD, the board would interpret random serial gibberish as valid command and would switch its nodeID to some random number. This behavior is not observed when using the bard in ‘receive-only’ mode. To prevent this, I introduced a new command: Issuing a ‘123 x’ will toggle the configuration lock state. The current lock state is shown in the end of the ‘help’ command:
The second issue is that the when the remote nodes required ACKs, the board took too long to send it, thus the remote node didn’t receive it within the expected time-frame and kept re-sending. That issue was fixed too, now the RFM2Pi board can reliably send acknowledgement packets. Just keep in mind that when the ACK bit is set, the node ID will change too as the RFM2Pi board reports the full header, not just the nodeID. ACKed packets will also be further modified with the acknowledge bit. You can extract the nodeID by doing a logical AND with 0x1F.