[UAVCANv1] Initial uavcanconfig menuconfig example

This commit is contained in:
Peter van der Perk
2021-03-08 12:01:19 +01:00
committed by Daniel Agar
parent 0cae3c129d
commit 37271d334b
2 changed files with 63 additions and 0 deletions
+35
View File
@@ -31,6 +31,8 @@
#
############################################################################
set(UAVCAN_DEFCONFIG ${PX4_BOARD_DIR}/uavcanconfig CACHE FILEPATH "path to defconfig" FORCE)
set(LIBCANARD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libcanard)
set(DSDL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/public_regulated_data_types)
set(LEGACY_DSDL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/legacy_data_types)
@@ -98,3 +100,36 @@ px4_add_module(
git_legacy_data_types
version
)
# Use uavcanconfig file for compile definitions
file(STRINGS ${UAVCAN_DEFCONFIG} lines)
FOREACH(i IN LISTS lines)
if(i MATCHES "#")
else()
string(REPLACE "\n" "" i ${i})
SET(uavcan_config "${uavcan_config}${i};")
endif()
ENDFOREACH()
target_compile_definitions(drivers__uavcan_v1 PRIVATE ${uavcan_config})
# UAVCANv1 menuconfig
add_custom_target(menuconfig_uavcan
COMMAND kconfig-mconf Kconfig
#DEPENDS nuttx_config_target ${CMAKE_CURRENT_SOURCE_DIR}/.config
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
USES_TERMINAL
)
# UAVCANv1 menuconfig + savedefconfig back to PX4
add_custom_target(uavcanconfig
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMAND ${CMAKE_COMMAND} -E copy ${UAVCAN_DEFCONFIG} ${CMAKE_CURRENT_SOURCE_DIR}/.config
COMMAND kconfig-mconf Kconfig
COMMENT "Running UAVCAN make menuconfig for ${UAVCAN_DEFCONFIG}"
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/.config ${UAVCAN_DEFCONFIG}
COMMENT "Saved config to ${UAVCAN_DEFCONFIG}"
USES_TERMINAL
)
+28
View File
@@ -0,0 +1,28 @@
#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
choice
prompt "UAVCANv1 Mode"
default none
config UAVCAN_V1_FMU
bool "Server (FMU)"
config UAVCAN_V1_CLIENT
bool "Client (Peripheral)"
endchoice
config UAVCAN_V1_GETINFO_RESPONDER
bool "GetInfo1.0 responder"
default n
config UAVCAN_V1_EXECUTECOMMAND_RESPONDER
bool "ExecuteCommand1.0 responder"
default n
config UAVCAN_V1_GNSS_PUBLISHER
bool "GNSS Publisher"
default n