Re: LWM2M: Call for proposals
Matt Vinall <Matt.Vinall@...>
I am a contributor to https://github.com/FlowM2M/AwaLWM2M. We've been working recently on integrating this into a number of different platforms and would love for Awa to be a part of the Zephyr ecosystem. We'd agree that the first two options are not ideal since duplicating/forking the codebase is not an easily maintainable approach. However, I don't think the remaining options are mutually exclusive; probably all 3 could be supported in a single codebase.
We think that creating an abstraction layer to isolate Zephyr from the specifics of the LWM2M implementation would provide the most flexible solution. Our likely approach would be to break this work down into a few phases. Awa already has abstraction layers dealing with COAP, DTLS and network API, so the first thing for us to do would be implementing a version of our network/COAP abstraction which targets the Zephyr network/ZOAP APIs. From there, we can work to provide the necessary makefiles to make Awa available as a Zephyr module. I guess any Zephyr LWM2M API might take a little while to define, so a layer above Awa which implements that API that would probably come last.
We'd like for the Zephyr codebase to have makefiles which grab a specific version of Awa and provide the necessary makefile API to support building as a module. As above, the module would initially provide the same API that Awa uses, but we'd be happy to add support for a generic Zephyr-defined LWM2M API.
Look forward to your thoughts on this :)