From 57593cc56a2fad9e37036b3a3aa3e44d68de6124 Mon Sep 17 00:00:00 2001 From: Peter van der Perk Date: Wed, 4 Aug 2021 14:58:31 +0200 Subject: [PATCH] Initial attempt to make px4_add_board obsolute --- Kconfig | 159 +++++++++++++++- boards/nxp/fmuk66-v3/default.cmake | 8 - .../{default-boardconfig => default.px4board} | 8 +- cmake/kconfig.cmake | 177 ++++++++++++++++-- cmake/px4_add_board.cmake | 136 -------------- src/drivers/uavcan/Kconfig | 11 +- 6 files changed, 332 insertions(+), 167 deletions(-) rename boards/nxp/fmuk66-v3/{default-boardconfig => default.px4board} (92%) diff --git a/Kconfig b/Kconfig index fda4d890aa..e8bb6b982a 100644 --- a/Kconfig +++ b/Kconfig @@ -3,13 +3,164 @@ mainmenu "PX4 Firmware Configuration" -comment "Platform: $(PLATFORM)" comment "Vendor: $(VENDOR)" comment "Model: $(MODEL)" comment "Label: $(LABEL)" -comment "Toolchain: $(TOOLCHAIN)" -comment "Architecture: $(ARCHITECTURE)" -comment "Romfsroot: $(ROMFSROOT)" + +choice + prompt "Platform" + default PLATFORM_NUTTX + config PLATFORM_NUTTX + bool "nuttx" + config PLATFORM_POSIX + bool "posix" + config PLATFORM_QURT + bool "qurt" +endchoice + +config BOARD_PLATFORM + string + default "nuttx" if PLATFORM_NUTTX + default "posix" if PLATFORM_POSIX + default "qurt" if PLATFORM_QURT + +choice + prompt "Toolchain" + default TOOLCHAIN_ARM_NONE_EABI + config TOOLCHAIN_ARM_NONE_EABI + bool "arm-none-eabi" + config TOOLCHAIN_RISV64 + bool "riscv64-unknown-elf" + help + cmake toolchain +endchoice + +config BOARD_TOOLCHAIN + string + default "arm-none-eabi" if TOOLCHAIN_ARM_NONE_EABI + default "riscv64-unknown-elf" if TOOLCHAIN_RISV64 + +choice + prompt "Architecture" + config ARCHITECTURE_CORTEX_M3 + bool "cortex-m3" + config ARCHITECTURE_CORTEX_M4 + bool "cortex-m4" + config ARCHITECTURE_CORTEX_M7 + bool "cortex-m7" + config ARCHITECTURE_CORTEX_A8 + bool "cortex-a8" + config ARCHITECTURE_CORTEX_A53 + bool "cortex-a53" + help + name of the CPU CMake is building for (used by the toolchain) +endchoice + +config BOARD_ARCHITECTURE + string + default "cortex-m3" if ARCHITECTURE_CORTEX_M3 + default "cortex-m4" if ARCHITECTURE_CORTEX_M4 + default "cortex-m7" if ARCHITECTURE_CORTEX_M7 + default "cortex-a8" if ARCHITECTURE_CORTEX_A8 + default "cortex-a53" if ARCHITECTURE_CORTEX_A53 + +config BOARD_ROMFSROOT + string "ROMFSROOT" + default "px4fmu_common" + help + relative path to the ROMFS root directory + +config BOARD_BUILD_BOOTLOADER + bool "Enable bootloader" + help + flag to enable building and including the bootloader config + +config BOARD_IO + string "IO board name" + help + name of IO board to be built and included in the ROMFS (requires a valid ROMFSROOT) + +config BOARD_CONSTRAINED_FLASH + bool "Contrained flash" + help + flag to enable constrained flash options (eg limit init script status text) + +if BOARD_CONSTRAINED_FLASH + + config BOARD_NO_HELP + bool "No help" + help + optional condition flag to disable help text on constrained flash systems + +endif #BOARD_CONSTRAINED_FLASH + +config BOARD_CONSTRAINED_MEMORY + bool "Contrained memory" + help + flag to enable constrained memory options (eg limit maximum number of uORB publications) + +config BOARD_EXTERNAL_METADATA + bool "External metadata" + help + flag to exclude metadata to reduce flash + +config BOARD_TESTING + bool "Testing" + help + flag to enable automatic inclusion of PX4 testing modules + +config BOARD_LINKER_PREFIX + bool "PX4 board linker prefix" + help + optional to prefix on the Linker script. + +config BOARD_ETHERNET + bool "Ethernet" + help + flag to indicate that ethernet is enabled + +config BOARD_CRYPTO + string "Crypto" + help + Crypto implementation selection + +config BOARD_KEYSTORE + string "Keystore" + help + Keystore implememntation selection + +menu "Serial ports" + + config BOARD_SERIAL_GPS1 + string "GPS1 tty port" + + config BOARD_SERIAL_GPS2 + string "GPS2 tty port" + + config BOARD_SERIAL_GPS3 + string "GPS3 tty port" + + config BOARD_SERIAL_GPS4 + string "GPS4 tty port" + + config BOARD_SERIAL_GPS5 + string "GPS5 tty port" + + config BOARD_SERIAL_TEL1 + string "TEL1 tty port" + + config BOARD_SERIAL_TEL2 + string "TEL2 tty port" + + config BOARD_SERIAL_TEL3 + string "TEL3 tty port" + + config BOARD_SERIAL_TEL4 + string "TEL4 tty port" + + config BOARD_SERIAL_TEL5 + string "TEL5 tty port" +endmenu menu "drivers" source "src/drivers/Kconfig" diff --git a/boards/nxp/fmuk66-v3/default.cmake b/boards/nxp/fmuk66-v3/default.cmake index 0c54d9c283..a675a3229c 100644 --- a/boards/nxp/fmuk66-v3/default.cmake +++ b/boards/nxp/fmuk66-v3/default.cmake @@ -1,12 +1,4 @@ px4_add_board( PLATFORM nuttx - TOOLCHAIN arm-none-eabi - ARCHITECTURE cortex-m4 - CONSTRAINED_MEMORY - ROMFSROOT px4fmu_common - SERIAL_PORTS - GPS1:/dev/ttyS3 - TEL1:/dev/ttyS4 - TEL2:/dev/ttyS1 ) diff --git a/boards/nxp/fmuk66-v3/default-boardconfig b/boards/nxp/fmuk66-v3/default.px4board similarity index 92% rename from boards/nxp/fmuk66-v3/default-boardconfig rename to boards/nxp/fmuk66-v3/default.px4board index 99c332d126..81aeccbaed 100644 --- a/boards/nxp/fmuk66-v3/default-boardconfig +++ b/boards/nxp/fmuk66-v3/default.px4board @@ -1,3 +1,9 @@ +CONFIG_ARCHITECTURE_CORTEX_M4=y +CONFIG_BOARD_BUILD_BOOTLOADER=y +CONFIG_BOARD_CONSTRAINED_MEMORY=y +CONFIG_BOARD_SERIAL_GPS1="/dev/ttyS3" +CONFIG_BOARD_SERIAL_TEL1="/dev/ttyS4" +CONFIG_BOARD_SERIAL_TEL2="/dev/ttyS1" CONFIG_DRIVERS_ADC_ADS1115=y CONFIG_DRIVERS_ADC_BOARD_ADC=y CONFIG_DRIVERS_BAROMETER=y @@ -35,7 +41,7 @@ CONFIG_DRIVERS_SMART_BATTERY_BATMON=y CONFIG_DRIVERS_TELEMETRY=y CONFIG_DRIVERS_TONE_ALARM=y CONFIG_DRIVERS_UAVCAN=y -CONFIG_UAVCAN_INTERFACES=2 +CONFIG_BOARD_UAVCAN_INTERFACES=2 CONFIG_MODULES_AIRSPEED_SELECTOR=y CONFIG_MODULES_ATTITUDE_ESTIMATOR_Q=y CONFIG_MODULES_BATTERY_STATUS=y diff --git a/cmake/kconfig.cmake b/cmake/kconfig.cmake index e8e071ad2e..79a96cae5b 100644 --- a/cmake/kconfig.cmake +++ b/cmake/kconfig.cmake @@ -1,4 +1,4 @@ -set(BOARD_DEFCONFIG ${PX4_BOARD_DIR}/${PX4_BOARD_LABEL}-boardconfig CACHE FILEPATH "path to defconfig" FORCE) +set(BOARD_DEFCONFIG ${PX4_BOARD_DIR}/${PX4_BOARD_LABEL}.px4board CACHE FILEPATH "path to defconfig" FORCE) set(BOARD_CONFIG ${PX4_BINARY_DIR}/boardconfig CACHE FILEPATH "path to config" FORCE) find_program(MENUCONFIG_PATH menuconfig) @@ -78,11 +78,21 @@ if(EXISTS ${BOARD_DEFCONFIG}) string(REPLACE "\"" "" Value ${Value}) # Set the variable - #message(STATUS "${Name} ${Value}") set(${Name} ${Value} CACHE INTERNAL "BOARD DEFCONFIG: ${Name}" FORCE) endif() endif() + # Find variable name + string(REGEX MATCH "^CONFIG_BOARD_" Board ${NameAndValue}) + + if(Board) + string(REPLACE "CONFIG_BOARD_" "" ConfigKey ${Name}) + if(Value) + set(${ConfigKey} ${Value}) + message(STATUS "${ConfigKey} ${Value}") + endif() + endif() + # Find variable name string(REGEX MATCH "^CONFIG_DRIVERS[^=]+" Drivers ${NameAndValue}) @@ -91,13 +101,13 @@ if(EXISTS ${BOARD_DEFCONFIG}) string(REPLACE "${Name}=" "" Value ${NameAndValue}) string(REPLACE "CONFIG_DRIVERS_" "" driver ${Name}) string(TOLOWER ${driver} driver) - + string(REPLACE "_" "/" driver_path ${driver}) - + # Pattern 1 XXX / XXX_XXX string(REGEX REPLACE "(^[a-z]+)_([a-z]+_[a-z0-9]+).*$" "\\1" driver_p1_folder ${driver}) string(REGEX REPLACE "(^[a-z]+)_([a-z]+_[a-z0-9]+).*$" "\\2" driver_p1_subfolder ${driver}) - + # Pattern 2 XXX_XXX / XXXXXX string(REGEX REPLACE "(^[a-z]+_[a-z]+)_([a-z0-9]+).*$" "\\1" driver_p2_folder ${driver}) string(REGEX REPLACE "(^[a-z]+_[a-z]+)_([a-z0-9]+).*$" "\\2" driver_p2_subfolder ${driver}) @@ -114,7 +124,7 @@ if(EXISTS ${BOARD_DEFCONFIG}) else() message(FATAL_ERROR "Couldn't find path for ${driver}") endif() - + endif() # Find variable name @@ -125,7 +135,7 @@ if(EXISTS ${BOARD_DEFCONFIG}) string(REPLACE "${Name}=" "" Value ${NameAndValue}) string(REPLACE "CONFIG_MODULES_" "" module ${Name}) string(TOLOWER ${module} module) - + list(APPEND config_module_list modules/${module}) endif() @@ -137,7 +147,7 @@ if(EXISTS ${BOARD_DEFCONFIG}) string(REPLACE "${Name}=" "" Value ${NameAndValue}) string(REPLACE "CONFIG_SYSTEMCMDS_" "" systemcmd ${Name}) string(TOLOWER ${systemcmd} systemcmd) - + list(APPEND config_module_list systemcmds/${systemcmd}) endif() @@ -149,20 +159,153 @@ if(EXISTS ${BOARD_DEFCONFIG}) string(REPLACE "${Name}=" "" Value ${NameAndValue}) string(REPLACE "CONFIG_EXAMPLES_" "" example ${Name}) string(TOLOWER ${example} example) - + list(APPEND config_module_list examples/${example}) endif() - # Find variable name - string(REGEX MATCH "^CONFIG_UAVCAN_INTERFACES" UAVCAN_INTERFACES ${NameAndValue}) + endforeach() - # Temporary located here to maintain binary compatibility, have to be removed later - if(UAVCAN_INTERFACES) - # Find the value - string(REPLACE "${Name}=" "" Value ${NameAndValue}) + if(PLATFORM) + # set OS, and append specific platform module path + set(PX4_PLATFORM ${PLATFORM} CACHE STRING "PX4 board OS" FORCE) + list(APPEND CMAKE_MODULE_PATH ${PX4_SOURCE_DIR}/platforms/${PX4_PLATFORM}/cmake) - set(config_uavcan_num_ifaces ${Value} CACHE INTERNAL "UAVCAN interfaces" FORCE) + # platform-specific include path + include_directories(${PX4_SOURCE_DIR}/platforms/${PX4_PLATFORM}/src/px4/common/include) + endif() + + if(ARCHITECTURE) + set(CMAKE_SYSTEM_PROCESSOR ${ARCHITECTURE} CACHE INTERNAL "system processor" FORCE) + endif() + + if(TOOLCHAIN) + set(CMAKE_TOOLCHAIN_FILE Toolchain-${TOOLCHAIN} CACHE INTERNAL "toolchain file" FORCE) + endif() + + set(romfs_extra_files) + set(config_romfs_extra_dependencies) + # additional embedded metadata + if (NOT CONSTRAINED_FLASH AND NOT EXTERNAL_METADATA AND NOT ${PX4_BOARD_LABEL} STREQUAL "test") + list(APPEND romfs_extra_files + ${PX4_BINARY_DIR}/parameters.json.xz + ${PX4_BINARY_DIR}/events/all_events.json.xz) + list(APPEND romfs_extra_dependencies + parameters_xml + events_json) + endif() + list(APPEND romfs_extra_files ${PX4_BINARY_DIR}/component_general.json.xz) + list(APPEND romfs_extra_dependencies component_general_json) + set(config_romfs_extra_files ${romfs_extra_files} CACHE INTERNAL "extra ROMFS files" FORCE) + set(config_romfs_extra_dependencies ${romfs_extra_dependencies} CACHE INTERNAL "extra ROMFS deps" FORCE) + + if(SERIAL_PORTS) + set(board_serial_ports ${SERIAL_PORTS} PARENT_SCOPE) + endif() + + # Serial ports + set(board_serial_ports) + if(SERIAL_GPS1) + list(APPEND board_serial_ports GPS1:${SERIAL_GPS1}) + endif() + if(SERIAL_GPS2) + list(APPEND board_serial_ports GPS2:${SERIAL_GPS2}) + endif() + if(SERIAL_GPS3) + list(APPEND board_serial_ports GPS3:${SERIAL_GPS3}) + endif() + if(SERIAL_GPS4) + list(APPEND board_serial_ports GPS4:${SERIAL_GPS4}) + endif() + if(SERIAL_GPS5) + list(APPEND board_serial_ports GPS5:${SERIAL_GPS5}) + endif() + if(SERIAL_TEL1) + list(APPEND board_serial_ports TEL1:${SERIAL_TEL1}) + endif() + if(SERIAL_TEL2) + list(APPEND board_serial_ports TEL2:${SERIAL_TEL2}) + endif() + if(SERIAL_TEL3) + list(APPEND board_serial_ports TEL3:${SERIAL_TEL3}) + endif() + if(SERIAL_TEL4) + list(APPEND board_serial_ports TEL4:${SERIAL_TEL4}) + endif() + if(SERIAL_TEL5) + list(APPEND board_serial_ports TEL5:${SERIAL_TEL5}) + endif() + + + # ROMFS + if(ROMFSROOT) + set(config_romfs_root ${ROMFSROOT} CACHE INTERNAL "ROMFS root" FORCE) + + if(BUILD_BOOTLOADER) + set(config_build_bootloader "1" CACHE INTERNAL "build bootloader" FORCE) endif() - endforeach() + # IO board (placed in ROMFS) + if(IO) + set(config_io_board ${IO} CACHE INTERNAL "IO" FORCE) + endif() + + if(UAVCAN_PERIPHERALS) + set(config_uavcan_peripheral_firmware ${UAVCAN_PERIPHERALS} CACHE INTERNAL "UAVCAN peripheral firmware" FORCE) + endif() + endif() + + if(UAVCAN_INTERFACES) + set(config_uavcan_num_ifaces ${UAVCAN_INTERFACES} CACHE INTERNAL "UAVCAN interfaces" FORCE) + endif() + + if(UAVCAN_TIMER_OVERRIDE) + set(config_uavcan_timer_override ${UAVCAN_TIMER_OVERRIDE} CACHE INTERNAL "UAVCAN TIMER OVERRIDE" FORCE) + endif() + + # OPTIONS + + if(CONSTRAINED_FLASH) + set(px4_constrained_flash_build "1" CACHE INTERNAL "constrained flash build" FORCE) + add_definitions(-DCONSTRAINED_FLASH) + if (NO_HELP) + add_definitions(-DCONSTRAINED_FLASH_NO_HELP="https://docs.px4.io/master/en/modules/modules_main.html") + endif() + endif() + + if(CONSTRAINED_MEMORY) + set(px4_constrained_memory_build "1" CACHE INTERNAL "constrained memory build" FORCE) + add_definitions(-DCONSTRAINED_MEMORY) + endif() + + if(TESTING) + set(PX4_TESTING "1" CACHE INTERNAL "testing enabled" FORCE) + endif() + + if(ETHERNET) + set(PX4_ETHERNET "1" CACHE INTERNAL "ethernet enabled" FORCE) + endif() + + if(CRYPTO) + set(PX4_CRYPTO ${CRYPTO} CACHE STRING "PX4 crypto implementation" FORCE) + endif() + + if(KEYSTORE) + set(PX4_KEYSTORE ${KEYSTORE} CACHE STRING "PX4 keystore implementation" FORCE) + endif() + + if(LINKER_PREFIX) + set(PX4_BOARD_LINKER_PREFIX ${LINKER_PREFIX} CACHE STRING "PX4 board linker prefix" FORCE) + else() + set(PX4_BOARD_LINKER_PREFIX "" CACHE STRING "PX4 board linker prefix" FORCE) + endif() + + include(px4_impl_os) + px4_os_prebuild_targets(OUT prebuild_targets BOARD ${PX4_BOARD}) + + # add board config directory src to build modules + file(RELATIVE_PATH board_support_src_rel ${PX4_SOURCE_DIR}/src ${PX4_BOARD_DIR}) + list(APPEND config_module_list ${board_support_src_rel}/src) + + set(config_module_list ${config_module_list}) + endif() diff --git a/cmake/px4_add_board.cmake b/cmake/px4_add_board.cmake index 6b7fd16188..9fdb5dbbf4 100644 --- a/cmake/px4_add_board.cmake +++ b/cmake/px4_add_board.cmake @@ -191,141 +191,5 @@ function(px4_add_board) set(PX4_CONFIG "${PX4_BOARD_VENDOR}_${PX4_BOARD_MODEL}_${PX4_BOARD_LABEL}" CACHE STRING "PX4 config" FORCE) - # set OS, and append specific platform module path - set(PX4_PLATFORM ${PLATFORM} CACHE STRING "PX4 board OS" FORCE) - list(APPEND CMAKE_MODULE_PATH ${PX4_SOURCE_DIR}/platforms/${PX4_PLATFORM}/cmake) - - # platform-specific include path - include_directories(${PX4_SOURCE_DIR}/platforms/${PX4_PLATFORM}/src/px4/common/include) - - if(ARCHITECTURE) - set(CMAKE_SYSTEM_PROCESSOR ${ARCHITECTURE} CACHE INTERNAL "system processor" FORCE) - endif() - - if(TOOLCHAIN) - set(CMAKE_TOOLCHAIN_FILE Toolchain-${TOOLCHAIN} CACHE INTERNAL "toolchain file" FORCE) - endif() - - set(romfs_extra_files) - set(config_romfs_extra_dependencies) - # additional embedded metadata - if (NOT CONSTRAINED_FLASH AND NOT EXTERNAL_METADATA AND NOT ${PX4_BOARD_LABEL} STREQUAL "test") - list(APPEND romfs_extra_files - ${PX4_BINARY_DIR}/parameters.json.xz - ${PX4_BINARY_DIR}/events/all_events.json.xz) - list(APPEND romfs_extra_dependencies - parameters_xml - events_json) - endif() - list(APPEND romfs_extra_files ${PX4_BINARY_DIR}/component_general.json.xz) - list(APPEND romfs_extra_dependencies component_general_json) - set(config_romfs_extra_files ${romfs_extra_files} CACHE INTERNAL "extra ROMFS files" FORCE) - set(config_romfs_extra_dependencies ${romfs_extra_dependencies} CACHE INTERNAL "extra ROMFS deps" FORCE) - - if(SERIAL_PORTS) - set(board_serial_ports ${SERIAL_PORTS} PARENT_SCOPE) - endif() - - # ROMFS - if(ROMFSROOT) - set(config_romfs_root ${ROMFSROOT} CACHE INTERNAL "ROMFS root" FORCE) - - if(BUILD_BOOTLOADER) - set(config_build_bootloader "1" CACHE INTERNAL "build bootloader" FORCE) - endif() - - # IO board (placed in ROMFS) - if(IO) - set(config_io_board ${IO} CACHE INTERNAL "IO" FORCE) - endif() - - if(UAVCAN_PERIPHERALS) - set(config_uavcan_peripheral_firmware ${UAVCAN_PERIPHERALS} CACHE INTERNAL "UAVCAN peripheral firmware" FORCE) - endif() - endif() - - if(UAVCAN_INTERFACES) - set(config_uavcan_num_ifaces ${UAVCAN_INTERFACES} CACHE INTERNAL "UAVCAN interfaces" FORCE) - endif() - - if(UAVCAN_TIMER_OVERRIDE) - set(config_uavcan_timer_override ${UAVCAN_TIMER_OVERRIDE} CACHE INTERNAL "UAVCAN TIMER OVERRIDE" FORCE) - endif() - - # OPTIONS - - if(CONSTRAINED_FLASH) - set(px4_constrained_flash_build "1" CACHE INTERNAL "constrained flash build" FORCE) - add_definitions(-DCONSTRAINED_FLASH) - if (NO_HELP) - add_definitions(-DCONSTRAINED_FLASH_NO_HELP="https://docs.px4.io/master/en/modules/modules_main.html") - endif() - endif() - - if(CONSTRAINED_MEMORY) - set(px4_constrained_memory_build "1" CACHE INTERNAL "constrained memory build" FORCE) - add_definitions(-DCONSTRAINED_MEMORY) - endif() - - if(TESTING) - set(PX4_TESTING "1" CACHE INTERNAL "testing enabled" FORCE) - endif() - - if(ETHERNET) - set(PX4_ETHERNET "1" CACHE INTERNAL "ethernet enabled" FORCE) - endif() - - if(CRYPTO) - set(PX4_CRYPTO ${CRYPTO} CACHE STRING "PX4 crypto implementation" FORCE) - add_definitions(-DPX4_CRYPTO) - endif() - - if(KEYSTORE) - set(PX4_KEYSTORE ${KEYSTORE} CACHE STRING "PX4 keystore implementation" FORCE) - endif() - - if(LINKER_PREFIX) - set(PX4_BOARD_LINKER_PREFIX ${LINKER_PREFIX} CACHE STRING "PX4 board linker prefix" FORCE) - else() - set(PX4_BOARD_LINKER_PREFIX "" CACHE STRING "PX4 board linker prefix" FORCE) - endif() - - include(px4_impl_os) - px4_os_prebuild_targets(OUT prebuild_targets BOARD ${PX4_BOARD}) - - - ########################################################################### - # Modules (includes drivers, examples, modules, systemcmds) - set(config_module_list) - - if(DRIVERS) - foreach(driver ${DRIVERS}) - list(APPEND config_module_list drivers/${driver}) - endforeach() - endif() - - if(MODULES) - foreach(module ${MODULES}) - list(APPEND config_module_list modules/${module}) - endforeach() - endif() - - if(SYSTEMCMDS) - foreach(systemcmd ${SYSTEMCMDS}) - list(APPEND config_module_list systemcmds/${systemcmd}) - endforeach() - endif() - - if(EXAMPLES) - foreach(example ${EXAMPLES}) - list(APPEND config_module_list examples/${example}) - endforeach() - endif() - - # add board config directory src to build modules - file(RELATIVE_PATH board_support_src_rel ${PX4_SOURCE_DIR}/src ${PX4_BOARD_DIR}) - list(APPEND config_module_list ${board_support_src_rel}/src) - - set(config_module_list ${config_module_list} PARENT_SCOPE) endfunction() diff --git a/src/drivers/uavcan/Kconfig b/src/drivers/uavcan/Kconfig index f46c16451e..f813c82efe 100644 --- a/src/drivers/uavcan/Kconfig +++ b/src/drivers/uavcan/Kconfig @@ -5,9 +5,18 @@ menuconfig DRIVERS_UAVCAN Enable support for uavcan if DRIVERS_UAVCAN - menuconfig UAVCAN_INTERFACES + menuconfig BOARD_UAVCAN_INTERFACES int "UAVCANv0 interface count" default 0 ---help--- Interface count for UAVCANv0 + + menuconfig BOARD_UAVCAN_PERIPHERALS + string "UAVCAN peripheral firmware" + help + list of UAVCAN peripheral firmware to build and embed + + menuconfig BOARD_UAVCAN_TIMER_OVERRIDE + bool "UAVCAN timer override" + endif #DRIVERS_UAVCAN