After adding the CRC16 checking, I added a button on the master and a test LED on each slave. The master’s main loop detects the button press and sends one message (to both slaves) if it is not pressed, another if it is pressed (there is no debounce or state management to reduce messages…). The slaves are watching for a specific command with an on / off parameter and turning that pin on or off based on the parameter. The LEDs are VERY responsive to the switch as you can see in the video.
I let the system run overnight and have logged 3.4M messages with ZERO failures at 84.62 messages per second. 🙂
June 7th Update: Just crossed 10M messages with ZERO failures at 84.63 messages per second. I’m just letting it run at this point until I start coding again…
June 8th Update: 17M messages, still ZERO failures at 84.50 messages per second (interesting that the rate trended downward just slightly in the last 24 hours.) I doubt I will be coding on the system until next week, so I might just leave it running until then 🙂