Why is LoRaMac-Node not presented as a library? #1358
Replies: 1 comment 3 replies
-
Due to project history since 2013. Since quite some time our goal is to transform the "mac" directory into a stand alone library. Potentially creating a stand alone repository for it and keep this repository as examples on how to use the library. However we did not had the time or resources to do it.
In our backlog there are other changes/improvements that we would like to apply such:
One of the concerns that we have with all these changes is that if we apply them we will make a lot of people unhappy when they will try to upgrade their projects. As a conclusion, in the background we are trying to move towards what I explained before. However it will take a lot of time to get there. |
Beta Was this translation helpful? Give feedback.
-
It seems a little perplexing to me that the repository is not presented as a CMake package that provides a library. I appreciate that region support needs to be defined at compile time (which isn't ideal but how the code is currently structured), but the current structure of presenting sample applications makes sense as a starting point, but complicates things once an application is underway.
I'm currently working on converting an application started using 4.4.5 to 4.6.0 and there are sufficient API differences to make this a complex process, added to the need to create my own CMakeLists as the once included are unusable outside of the example applications.
I've currently created a CMake function that uses FetchContent to download the LoRaMac-node repo and then create its own targets for board (generic HAL layer), system, radio, peripheral and mac/region support, as static libraries. The application only then need supply implementations for the actual board (a custom board design in my case) via the
<Perph>Mcu<Function>
API provided by the LoRaMac-node HAL.Beta Was this translation helpful? Give feedback.
All reactions