The guys on GitHub asked me to make a router firmware for СС2531 too. I’ve spent some time and prepared 3 variants:
- CC2531-router.hex – just a router, without diagnostics and a USB serial port.
- CC2531-router-diag.hex – a router with diagnostic reports and without a USB serial port.
- CC2531-router-diag-usb.hex – a router with diagnostic reports and a USB serial port. The firmware dumps diagnostic reports to the serial port too.
Note: This firmware is for simple CC2531 boards without an additional RF front-ends.
SW1 – Changes a virtual state of the router (the router sends it in a diagnostic report) and a state of the green light.
- Short single press – to re-send a binding request to a coordinator (it allows you to test a connection).
- Long single press (about 5 seconds) – to reset the router and initiate a joining process.
Green light – a short blink when the router connected to a network.
- short fast blinks (one per second) – the router is connecting to a network.
- long blinks (one short flash per 4 seconds) – normal operations.
- three short blinks – the router cannot send a report to a coordinator.
How to use
- Download and flash the firmware.
- Power off/on (restart) the router.
- Permit joining to a network on your coordinator.
Added the “Aging” mode. The router forgets child devices that didn’t send any data for four hours. It helps when an end-device selects a new path to a coordinator.
1. Allows a router to use all possible channels (the old firmware was used the channel #11). But now, the router will take more time to connect to a coordinator.
2. A router may report link quality for all connected neighbors.
1. The previous version allowed to join for deleted devices.
2. СС2530 can be re-paired if you power on/power off it three times (power on, wait 2 seconds, power off, repeat this cycle three times).