@@ -29,46 +29,62 @@ set_property(CACHE RADIO PROPERTY STRINGS ${RADIO_LIST})
2929set_property (CACHE RADIO PROPERTY ADVANCED )
3030
3131#---------------------------------------------------------------------------------------
32- # Target
32+ # Radio drivers
3333#---------------------------------------------------------------------------------------
3434
35- foreach ( R ${RADIO_LIST} )
36- if (${R} MATCHES ${RADIO} )
37- list (APPEND ${PROJECT_NAME} _SOURCES
38- ${CMAKE_CURRENT_SOURCE_DIR} /${RADIO} /radio.c
39- )
40- list (APPEND ${PROJECT_NAME} _SOURCES
41- ${CMAKE_CURRENT_SOURCE_DIR} /${RADIO} /${RADIO} _driver/src/lr1110_bootloader.c
42- ${CMAKE_CURRENT_SOURCE_DIR} /${RADIO} /${RADIO} _driver/src/lr1110_crypto_engine.c
43- ${CMAKE_CURRENT_SOURCE_DIR} /${RADIO} /${RADIO} _driver/src/lr1110_gnss.c
44- ${CMAKE_CURRENT_SOURCE_DIR} /${RADIO} /${RADIO} _driver/src/lr1110_radio.c
45- ${CMAKE_CURRENT_SOURCE_DIR} /${RADIO} /${RADIO} _driver/src/lr1110_regmem.c
46- ${CMAKE_CURRENT_SOURCE_DIR} /${RADIO} /${RADIO} _driver/src/lr1110_system.c
47- ${CMAKE_CURRENT_SOURCE_DIR} /${RADIO} /${RADIO} _driver/src/lr1110_wifi.c
48- )
49- else ()
50- file (GLOB ${PROJECT_NAME} _SOURCES
51- ${CMAKE_CURRENT_SOURCE_DIR} /${RADIO} /*.c
52- )
53- endif ()
54- endforeach ()
35+ if (${RADIO} STREQUAL lr1110)
36+ list (APPEND ${PROJECT_NAME} _SOURCES
37+ ${CMAKE_CURRENT_SOURCE_DIR} /lr1110/radio.c
38+ ${CMAKE_CURRENT_SOURCE_DIR} /lr1110/lr1110_driver/src/lr1110_bootloader.c
39+ ${CMAKE_CURRENT_SOURCE_DIR} /lr1110/lr1110_driver/src/lr1110_crypto_engine.c
40+ ${CMAKE_CURRENT_SOURCE_DIR} /lr1110/lr1110_driver/src/lr1110_driver_version.c
41+ ${CMAKE_CURRENT_SOURCE_DIR} /lr1110/lr1110_driver/src/lr1110_gnss.c
42+ ${CMAKE_CURRENT_SOURCE_DIR} /lr1110/lr1110_driver/src/lr1110_radio.c
43+ ${CMAKE_CURRENT_SOURCE_DIR} /lr1110/lr1110_driver/src/lr1110_regmem.c
44+ ${CMAKE_CURRENT_SOURCE_DIR} /lr1110/lr1110_driver/src/lr1110_system.c
45+ ${CMAKE_CURRENT_SOURCE_DIR} /lr1110/lr1110_driver/src/lr1110_wifi.c
46+ )
47+ elseif (${RADIO} STREQUAL sx126x)
48+ list (APPEND ${PROJECT_NAME} _SOURCES
49+ ${CMAKE_CURRENT_SOURCE_DIR} /sx126x/radio.c
50+ ${CMAKE_CURRENT_SOURCE_DIR} /sx126x/sx126x.c
51+ )
52+ elseif (${RADIO} STREQUAL sx1272)
53+ list (APPEND ${PROJECT_NAME} _SOURCES
54+ ${CMAKE_CURRENT_SOURCE_DIR} /sx1272/sx1272.c
55+ )
56+ elseif (${RADIO} STREQUAL sx1276)
57+ list (APPEND ${PROJECT_NAME} _SOURCES
58+ ${CMAKE_CURRENT_SOURCE_DIR} /sx1276/sx1276.c
59+ )
60+ else ()
61+ message (FATAL_ERROR "Unsupported radio driver selected..." )
62+ endif ()
5563
5664add_library (${PROJECT_NAME} OBJECT EXCLUDE_FROM_ALL ${${PROJECT_NAME} _SOURCES})
5765
5866add_dependencies (${PROJECT_NAME} board)
5967
60- foreach ( R ${RADIO_LIST} )
61- if (${R} MATCHES lr1110 )
62- list (APPEND ${PROJECT_NAME} _INCLUDES
63- ${CMAKE_CURRENT_SOURCE_DIR} /${RADIO} )
64- list (APPEND ${PROJECT_NAME} _INCLUDES
65- ${CMAKE_CURRENT_SOURCE_DIR} /${RADIO} /${RADIO} _driver/src)
66- else ()
67- list (APPEND ${PROJECT_NAME} _INCLUDES
68- ${CMAKE_CURRENT_SOURCE_DIR} /${RADIO}
69- )
70- endif ()
71- endforeach ()
68+ if (${RADIO} STREQUAL lr1110 )
69+ list (APPEND ${PROJECT_NAME} _INCLUDES
70+ ${CMAKE_CURRENT_SOURCE_DIR} /lr1110
71+ ${CMAKE_CURRENT_SOURCE_DIR} /lr1110/lr1110_driver/src
72+ )
73+ elseif (${RADIO} STREQUAL sx126x)
74+ list (APPEND ${PROJECT_NAME} _INCLUDES
75+ ${CMAKE_CURRENT_SOURCE_DIR} /sx126x
76+ )
77+ elseif (${RADIO} STREQUAL sx1272)
78+ list (APPEND ${PROJECT_NAME} _INCLUDES
79+ ${CMAKE_CURRENT_SOURCE_DIR} /sx1272
80+ )
81+ elseif (${RADIO} STREQUAL sx1276)
82+ list (APPEND ${PROJECT_NAME} _INCLUDES
83+ ${CMAKE_CURRENT_SOURCE_DIR} /sx1276
84+ )
85+ else ()
86+ message (FATAL_ERROR "Unsupported radio driver selected..." )
87+ endif ()
7288
7389target_include_directories (${PROJECT_NAME} PUBLIC
7490 ${CMAKE_CURRENT_SOURCE_DIR}
@@ -77,11 +93,8 @@ target_include_directories(${PROJECT_NAME} PUBLIC
7793 $<TARGET_PROPERTY:system ,INTERFACE_INCLUDE_DIRECTORIES >
7894)
7995
80- ## TEMPORALLY WORKAROUND to allow radio debugging.
81- ## It will be removed with the introduction of a debug-board interface.
8296option (USE_RADIO_DEBUG "Enable Radio Debug GPIO's" OFF )
8397target_compile_definitions (${PROJECT_NAME} PUBLIC $<$<BOOL :${USE_RADIO_DEBUG} >:USE_RADIO_DEBUG>)
8498target_include_directories (${PROJECT_NAME} PUBLIC $<TARGET_PROPERTY:${BOARD} ,INTERFACE_INCLUDE_DIRECTORIES >)
85- ##
8699
87100set_property (TARGET ${PROJECT_NAME} PROPERTY C_STANDARD 11)
0 commit comments