Gladly. The top level features include:
- Low overhead: 1 byte header and 2 bytes CRC. I even replaced the hardware CRC from the radio IC with my software MAC/CRC.
- Packet collision avoidance, based on a synced clock a half-duplexing a 10ms period.
- Full cryptography, using a 20 byte ElypticCurve for public key exchange, and Ascon 16 byte encryption. Also implemented is a TOTP token update, but that's so overkill
- Link service that searches for partner, exchanges public keys and does some one time setup (measuring latency, syncing clock, etc).
- OOP extendable base service that behaves like a modern library do deal with remote call (like OkHttp).
And finally, running on top of all of this, is the real motivation for this project: SyncSurface. It's combination of RF service and data structure, where if you change the data on any other context (let's say, a joystick input), the structure fires an event, that wakes up the service, that starts syncing that data with the partner corresponding service. This data is then synced in differential fashion, with validation and resend (if needed). The partner then receives an update that the data has changed. Great for my RC/Robotics projects!
Not fair, I'm still waiting for my launchpad to arrive.
Next level, is to make Xilinx a slave.
A slave doesn't need much brain. Plus, no cheap boards on eBay.
But the energy measurement thingy seems interesting, though I'm not a big fan of granular energy savings, I like "hurry up and go back to sleep" more.
Exactly what I'm gonna do.
Thank you so much for your insight!