Grabbed a Pi Pico W from the devboard box on the shelf and ported my platform layer for the KNX stack to it.
-
Grabbed a Pi Pico W from the devboard box on the shelf and ported my platform layer for the KNX stack to it. I am already using embassy for everything as an async framework and that very effortlessly gave me a wrapper around smoltcp with embassy-net, a cyw43 wifi driver and countless examples to steal init code from.
After fixing a few no_std-related issues in my code, the stack runs! I can now connect to it using KNX/IP via WiFi and read/write properties and memory over the KNX/IP linklayer. Heh!
For an actual TP1 link, I need to build some breakout boards for a TPUART or an NCN5120. I have all the parts and untested PCBs sitting in a box somewhere, I just didn't solder them yet.
I also haven't implemented a real device for the Pico yet, just some dummy definitions for communication objects and the address/association/group-object tables.
All in all a release build for the whole stack, WiFi driver, UDP stack and companion stuff that's needed for everything to work gets us to a firmware size of 380KiB. That's not tiny, but also not overly huge. If I see this right, the WiFi firmware alone is 226KiB! That's gives us a bit more than 150KiB for all the rest. That is very good actually.
I have a few more Picos, some buttons, sensors and toys to control for later and even a Wiznet W5500 on order. We'll see how big things will get without the need for WiFi firmware or even a network stack.
-
Grabbed a Pi Pico W from the devboard box on the shelf and ported my platform layer for the KNX stack to it. I am already using embassy for everything as an async framework and that very effortlessly gave me a wrapper around smoltcp with embassy-net, a cyw43 wifi driver and countless examples to steal init code from.
After fixing a few no_std-related issues in my code, the stack runs! I can now connect to it using KNX/IP via WiFi and read/write properties and memory over the KNX/IP linklayer. Heh!
For an actual TP1 link, I need to build some breakout boards for a TPUART or an NCN5120. I have all the parts and untested PCBs sitting in a box somewhere, I just didn't solder them yet.
I also haven't implemented a real device for the Pico yet, just some dummy definitions for communication objects and the address/association/group-object tables.
All in all a release build for the whole stack, WiFi driver, UDP stack and companion stuff that's needed for everything to work gets us to a firmware size of 380KiB. That's not tiny, but also not overly huge. If I see this right, the WiFi firmware alone is 226KiB! That's gives us a bit more than 150KiB for all the rest. That is very good actually.
I have a few more Picos, some buttons, sensors and toys to control for later and even a Wiznet W5500 on order. We'll see how big things will get without the need for WiFi firmware or even a network stack.
@G33KatWork I have a spare Pico w lying around, would be curious to try this …
-
@G33KatWork I have a spare Pico w lying around, would be curious to try this …
@RoganDawes I hate that when other people say this about their projects, but: I need to finish a few things, do some cleanup, get the licensing straight etc. before I can publish this. It WILL be open source under a non-permissive license though - most likely GPLv3, haven't done a lot of research on that yet. And optionally under a commercial license as well to prevent companies from freeloading - at least that's the idea. Maybe nobody is interested in the stack anyway as long as it's not officially conformance tested.
But especially because of the whole licensing stuff I just cannot push everything into a public repo and continue hacking.
-
@RoganDawes I hate that when other people say this about their projects, but: I need to finish a few things, do some cleanup, get the licensing straight etc. before I can publish this. It WILL be open source under a non-permissive license though - most likely GPLv3, haven't done a lot of research on that yet. And optionally under a commercial license as well to prevent companies from freeloading - at least that's the idea. Maybe nobody is interested in the stack anyway as long as it's not officially conformance tested.
But especially because of the whole licensing stuff I just cannot push everything into a public repo and continue hacking.
@G33KatWork completely fair. You don’t owe anybody anything, least of all an explanation, but I appreciate it nonetheless. Truth is I have zero knx gear, and am unlikely to acquire any legitimate kit here in South Africa. But I do like the idea of it, and would be keen to try some home brew version if/when available.
-
R relay@relay.infosec.exchange shared this topic