-
Notifications
You must be signed in to change notification settings - Fork 317
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: ZigBee on Host #1308
base: master
Are you sure you want to change the base?
feat: ZigBee on Host #1308
Conversation
860a505
to
fb1fa9b
Compare
Wow, interesting! |
This comment was marked as duplicate.
This comment was marked as duplicate.
fb1fa9b
to
2267d73
Compare
@Nerivec I have parsed quickly through the code, just to have a high level idea about the scope.
That's so far what I have understood for now (correct me if I misunderstood something). This is a big aim and I see in future it may bring extensive advantages like simplify the radio side releasing Zigbee stack resources that can be used to improve stability on the device MCU firmware, improve the stability of the Zigbee stack that runs on a less resource constrained host cpu, make debugging easier on both Zigbee level and spinel/hdlc level, and more (for example I have seen that in the spinel protocol there's provision for offloading of buffers from RCP to the host). |
The Spinel protocol was defined here: https://datatracker.ietf.org/doc/html/draft-rquattle-spinel-unified Silabs has a graph for NCP vs RCP here: https://www.silabs.com/documents/public/user-guides/ug103-03-fundamentals-design-choices.pdf#unique_5 The implementation aims to provide the following layers:
Most of those layers are already implemented (as far as encoding/decoding/encrypting/decrypting is concerned, and some logic for stuff like forming networks and joining & interacting with child devices). It's enough to test out various firmware, from various manufacturers, and confirm current capabilities, and shortcomings that will require fixes from manufacturers. The remaining aspects to be implemented are centered around specific algorithms of the ZigBee layers (like routing) and a few items that require slightly different requirements than regular ZigBee (Touchlink, GP). The main advantage of the OT RCP base is that any manufacturer implementing it should be supported (Silabs, TI, Nordic, and more...), allowing the same ZigBee stack to run with all kinds of chips/adapters (and all the benefits that come from that!). The ZigBee stack on the host offers a... host of new possibilities 😬
|
Firmwares for Texas instruments MCUs are now available (https://github.com/Koenkk/OpenThread-TexasInstruments-firmware) (CC: @Hedda) |
Adapter implementation for https://github.com/Nerivec/zigbee-on-host
Overview of current status: https://github.com/Nerivec/zigbee-on-host?tab=readme-ov-file#current-status
Important
This is obviously NOT production ready. There is quite a bit of road ahead before it can be. But in the meantime, feel free to experiment with it, and provide feedback & support! More details to come!
CC: @kirovilya @puddly @darkxst @tube0013 @antst @chris-1243 @Ricc68 @mundschenk-at @fir3drag0n @lawrencedudley