You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I integrated the current state of this repository in my firmware. I took a look at the porting guide, but the guide requires that the project is based on this repository as root so to say.
If this is the case, it is rather easy to add a new board and one should be fine.
In my case, however, I have an own cmake root project and just want to integrate this stack into my existing project. I achieved this by avoiding including the main CMakeLists.txt of this project and just picking what I need.
Here is the relevant snipped of my CMakeLists.txt:
# I want to use some of the common components. So I made a library to which I can link to
add_library(loramac-handler STATIC "")
target_include_directories(
loramac-handler
PUBLIC LoRaMac-node/src/apps/LoRaMac/common
LoRaMac-node/src/apps/LoRaMac/common/LmHandler
LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages
LoRaMac-node/src/system)
target_sources(
loramac-handler
PRIVATE
LoRaMac-node/src/apps/LoRaMac/common/NvmDataMgmt.c
LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/FragDecoder.c
LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/FragDecoder.h
LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/LmhPackage.h
LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/LmhpClockSync.c
LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/LmhpClockSync.h
LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/LmhpCompliance.c
LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/LmhpCompliance.h
LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/LmhpFragmentation.c
LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/LmhpFragmentation.h
LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/LmhpRemoteMcastSetup.c
LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/LmhpRemoteMcastSetup.h
LoRaMac-node/src/apps/LoRaMac/common/LmHandler/LmHandler.c
LoRaMac-node/src/apps/LoRaMac/common/LmHandler/LmHandler.h
LoRaMac-node/src/apps/LoRaMac/common/LmHandler/LmHandlerTypes.h
LoRaMac-node/src/boards/mcu/utilities.c
LoRaMac-node/src/radio/sx126x/sx126x.c
LoRaMac-node/src/radio/sx126x/radio.c)
# Gather all the other libraries
target_link_libraries(loramac-handler PUBLIC board)
target_link_libraries(loramac-handler PUBLIC system)
target_link_libraries(loramac-handler PUBLIC peripherals)
target_link_libraries(loramac-handler PUBLIC radio)
target_link_libraries(loramac-handler PUBLIC mac)
# "loramac-board" is my own static library which includes the board support for my custom hardware
set(BOARD "loramac-board")
# Include the subdirs
add_subdirectory(LoRaMac-node/src/boards)
add_subdirectory(LoRaMac-node/src/system)
set(SECURE_ELEMENT "SOFT_SE")
add_subdirectory(LoRaMac-node/src/peripherals)
set(RADIO "sx126x")
add_subdirectory(LoRaMac-node/src/radio)
set(REGION_EU868
ON
CACHE BOOL "Enable REGION_EU868")
add_subdirectory(LoRaMac-node/src/mac)
Maybe the procedure can be improved or this snipped can be added to the porting guide. :-)
Greetings,
Christian
The text was updated successfully, but these errors were encountered:
LoRa Basics Modem is Semtech's new reference stack that they're currently putting all their development effort into. Of course, you run the risk of Semtech stopping development and forcing users to port their code to another stack if they want updates like what happened with LoRaMac-node. If you're developing a commercial product that requires ongoing support, that's a problem. Your microcontroller vendor may also maintain their own LoRaWAN stack. We looked into ST's when we were starting development (it's a fork of LoRaMac-node), but when we evaluated it around a year and a half ago it didn't pass the LCTT compliance test suite.
Hi!
I integrated the current state of this repository in my firmware. I took a look at the porting guide, but the guide requires that the project is based on this repository as root so to say.
If this is the case, it is rather easy to add a new board and one should be fine.
In my case, however, I have an own cmake root project and just want to integrate this stack into my existing project. I achieved this by avoiding including the main CMakeLists.txt of this project and just picking what I need.
Here is the relevant snipped of my
CMakeLists.txt
:Maybe the procedure can be improved or this snipped can be added to the porting guide. :-)
Greetings,
Christian
The text was updated successfully, but these errors were encountered: