Browse Source

Added common options for sensor drivers

uavcan_board_identity check for existance
Added kconfig for compiler definitions
master
Peter van der Perk 4 years ago committed by Daniel Agar
parent
commit
815617e670
  1. 210
      Kconfig
  2. 56
      Tools/kconfig/diffconfig.py
  3. 2
      Tools/setup/macos.sh
  4. 3
      boards/cuav/can-gps-v1/default.cmake
  5. 1
      boards/cuav/can-gps-v1/default.px4board
  6. 5
      boards/nxp/fmuk66-v3/default.px4board
  7. 2
      boards/nxp/fmuk66-v3/test.px4board
  8. 4
      cmake/kconfig.cmake
  9. 6
      cmake/px4_config.cmake
  10. 23
      src/drivers/barometer/Kconfig
  11. 29
      src/drivers/imu/Kconfig
  12. 29
      src/drivers/magnetometer/Kconfig
  13. 8
      src/drivers/magnetometer/akm/Kconfig
  14. 5
      src/drivers/magnetometer/akm/ak09916/Kconfig
  15. 5
      src/drivers/magnetometer/akm/ak8963/Kconfig
  16. 8
      src/drivers/magnetometer/bosch/Kconfig
  17. 5
      src/drivers/magnetometer/bosch/bmm150/Kconfig
  18. 8
      src/drivers/magnetometer/isentek/Kconfig
  19. 5
      src/drivers/magnetometer/isentek/ist8308/Kconfig
  20. 5
      src/drivers/magnetometer/isentek/ist8310/Kconfig
  21. 3
      src/drivers/magnetometer/vtrantech/Kconfig
  22. 5
      src/drivers/magnetometer/vtrantech/vcm1193l/Kconfig

210
Kconfig

@ -7,112 +7,122 @@ comment "Vendor: $(VENDOR)" @@ -7,112 +7,122 @@ comment "Vendor: $(VENDOR)"
comment "Model: $(MODEL)"
comment "Label: $(LABEL)"
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
menu "Toolchain"
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_LINKER_PREFIX
string "linker prefix"
help
optional to prefix on the Linker script.
config BOARD_COMPILE_DEFINITIONS
string "add custom compile definitions"
help
add custom compile defitions to this specific target
endmenu #Toolchain
config BOARD_TESTING
bool "Testing"
select SYSTEMCMDS_MICROBENCH
select SYSTEMCMDS_TESTS
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"

56
Tools/kconfig/diffconfig.py

@ -74,33 +74,10 @@ def print_config(op, config, value, new_value): @@ -74,33 +74,10 @@ def print_config(op, config, value, new_value):
else:
print(" %s %s -> %s" % (config, value, new_value))
def main():
def main(merge, configa_filename, configb_filename):
global merge_style
# parse command line args
if ("-h" in sys.argv or "--help" in sys.argv):
usage()
merge_style = 0
if "-m" in sys.argv:
merge_style = 1
sys.argv.remove("-m")
argc = len(sys.argv)
if not (argc==1 or argc == 3):
print("Error: incorrect number of arguments or unrecognized option")
usage()
if argc == 1:
# if no filenames given, assume .config and .config.old
build_dir=""
if "KBUILD_OUTPUT" in os.environ:
build_dir = os.environ["KBUILD_OUTPUT"]+"/"
configa_filename = build_dir + ".config.old"
configb_filename = build_dir + ".config"
else:
configa_filename = sys.argv[1]
configb_filename = sys.argv[2]
merge_style = merge
try:
a = readconfig(open(configa_filename))
@ -138,4 +115,31 @@ def main(): @@ -138,4 +115,31 @@ def main():
for config in new:
print_config("+", config, None, b[config])
main()
if __name__ == '__main__':
# parse command line args
if ("-h" in sys.argv or "--help" in sys.argv):
usage()
merge_style = 0
if "-m" in sys.argv:
merge_style = 1
sys.argv.remove("-m")
argc = len(sys.argv)
if not (argc==1 or argc == 3):
print("Error: incorrect number of arguments or unrecognized option")
usage()
if argc == 1:
# if no filenames given, assume .config and .config.old
build_dir=""
if "KBUILD_OUTPUT" in os.environ:
build_dir = os.environ["KBUILD_OUTPUT"]+"/"
configa_filename = build_dir + ".config.old"
configb_filename = build_dir + ".config"
else:
configa_filename = sys.argv[1]
configb_filename = sys.argv[2]
main(merge_style, configa_filename, configb_filename)

2
Tools/setup/macos.sh

@ -33,6 +33,7 @@ if [[ $REINSTALL_FORMULAS == "--reinstall" ]]; then @@ -33,6 +33,7 @@ if [[ $REINSTALL_FORMULAS == "--reinstall" ]]; then
brew tap PX4/px4
brew reinstall px4-dev
brew install ncurses
else
if brew ls --versions px4-dev > /dev/null; then
echo "px4-dev already installed"
@ -40,6 +41,7 @@ else @@ -40,6 +41,7 @@ else
echo "Installing PX4 general dependencies (homebrew px4-dev)"
brew tap PX4/px4
brew install px4-dev
brew install ncurses
fi
fi

3
boards/cuav/can-gps-v1/default.cmake

@ -1,3 +0,0 @@ @@ -1,3 +0,0 @@
include (${CMAKE_CURRENT_LIST_DIR}/uavcan_board_identity)
add_definitions(-DUSE_S_RGB_LED_DMA)

1
boards/cuav/can-gps-v1/default.px4board

@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
CONFIG_ARCHITECTURE_CORTEX_M4=y
CONFIG_BOARD_ROMFSROOT="cannode"
CONFIG_BOARD_CONSTRAINED_MEMORY=y
CONFIG_BOARD_COMPILE_DEFINITIONS="-DUSE_S_RGB_LED_DMA"
CONFIG_DRIVERS_BAROMETER_MS5611=y
CONFIG_DRIVERS_BOOTLOADERS=y
CONFIG_DRIVERS_GPS=y

5
boards/nxp/fmuk66-v3/default.px4board

@ -6,7 +6,7 @@ CONFIG_BOARD_SERIAL_TEL1="/dev/ttyS4" @@ -6,7 +6,7 @@ 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
CONFIG_COMMON_BAROMETERS=y
CONFIG_DRIVERS_BAROMETER_MPL3115A2=y
CONFIG_DRIVERS_BATT_SMBUS=y
CONFIG_DRIVERS_CAMERA_CAPTURE=y
@ -22,7 +22,7 @@ CONFIG_DRIVERS_IRLOCK=y @@ -22,7 +22,7 @@ CONFIG_DRIVERS_IRLOCK=y
CONFIG_DRIVERS_LIGHTS_RGBLED=y
CONFIG_DRIVERS_LIGHTS_RGBLED_NCP5623C=y
CONFIG_DRIVERS_LIGHTS_RGBLED_PWM=y
CONFIG_DRIVERS_MAGNETOMETER=y
CONFIG_COMMON_MAGNETOMETER=y
CONFIG_DRIVERS_OPTICAL_FLOW_PAW3902=y
CONFIG_DRIVERS_OPTICAL_FLOW_PMW3901=y
CONFIG_DRIVERS_OPTICAL_FLOW_PX4FLOW=y
@ -41,7 +41,6 @@ CONFIG_DRIVERS_SMART_BATTERY_BATMON=y @@ -41,7 +41,6 @@ CONFIG_DRIVERS_SMART_BATTERY_BATMON=y
CONFIG_DRIVERS_TELEMETRY=y
CONFIG_DRIVERS_TONE_ALARM=y
CONFIG_DRIVERS_UAVCAN=y
CONFIG_BOARD_UAVCAN_INTERFACES=2
CONFIG_MODULES_AIRSPEED_SELECTOR=y
CONFIG_MODULES_ATTITUDE_ESTIMATOR_Q=y
CONFIG_MODULES_BATTERY_STATUS=y

2
boards/nxp/fmuk66-v3/test.px4board

@ -9,5 +9,3 @@ CONFIG_EXAMPLES_PX4_SIMPLE_APP=y @@ -9,5 +9,3 @@ CONFIG_EXAMPLES_PX4_SIMPLE_APP=y
CONFIG_EXAMPLES_ROVER_STEERING_CONTROL=y
CONFIG_EXAMPLES_UUV_EXAMPLE_APP=y
CONFIG_EXAMPLES_WORK_ITEM=y
CONFIG_SYSTEMCMDS_MICROBENCH=y
CONFIG_SYSTEMCMDS_TESTS=y

4
cmake/kconfig.cmake

@ -291,6 +291,10 @@ if(EXISTS ${BOARD_DEFCONFIG}) @@ -291,6 +291,10 @@ if(EXISTS ${BOARD_DEFCONFIG})
set(PX4_BOARD_LINKER_PREFIX "" CACHE STRING "PX4 board linker prefix" FORCE)
endif()
if(COMPILE_DEFINITIONS)
add_definitions( ${COMPILE_DEFINITIONS})
endif()
include(px4_impl_os)
px4_os_prebuild_targets(OUT prebuild_targets BOARD ${PX4_BOARD})

6
cmake/px4_config.cmake

@ -63,7 +63,6 @@ if(NOT PX4_CONFIG_FILE) @@ -63,7 +63,6 @@ if(NOT PX4_CONFIG_FILE)
)
set(PX4_CONFIG_FILE "${PX4_SOURCE_DIR}/boards/${filename}" CACHE FILEPATH "path to PX4 CONFIG file" FORCE)
set(PX4_BOARD_DIR "${PX4_SOURCE_DIR}/boards/${vendor}/${model}" CACHE STRING "PX4 board directory" FORCE)
set(PX4_BOARD_CMAKE "${PX4_SOURCE_DIR}/boards/${vendor}/${model}/default.cmake" CACHE FILEPATH "path to PX4 CONFIG file" FORCE)
set(MODEL "${model}" CACHE STRING "PX4 board model" FORCE)
set(VENDOR "${vendor}" CACHE STRING "PX4 board vendor" FORCE)
set(LABEL "${label}" CACHE STRING "PX4 board vendor" FORCE)
@ -76,7 +75,6 @@ if(NOT PX4_CONFIG_FILE) @@ -76,7 +75,6 @@ if(NOT PX4_CONFIG_FILE)
((${label} STREQUAL "default") AND (${CONFIG} STREQUAL "${board}")) # default label can be omitted
)
set(PX4_CONFIG_FILE "${PX4_SOURCE_DIR}/boards/${filename}" CACHE FILEPATH "path to PX4 CONFIG file" FORCE)
set(PX4_BOARD_CMAKE "${PX4_SOURCE_DIR}/boards/${vendor}/${model}/default.cmake" CACHE FILEPATH "path to PX4 CONFIG file" FORCE)
set(PX4_BOARD_DIR "${PX4_SOURCE_DIR}/boards/${vendor}/${model}" CACHE STRING "PX4 board directory" FORCE)
set(MODEL "${model}" CACHE STRING "PX4 board model" FORCE)
set(VENDOR "${vendor}" CACHE STRING "PX4 board vendor" FORCE)
@ -110,6 +108,6 @@ set(PX4_BOARD_LABEL ${LABEL} CACHE STRING "PX4 board label" FORCE) @@ -110,6 +108,6 @@ set(PX4_BOARD_LABEL ${LABEL} CACHE STRING "PX4 board label" FORCE)
set(PX4_CONFIG "${PX4_BOARD_VENDOR}_${PX4_BOARD_MODEL}_${PX4_BOARD_LABEL}" CACHE STRING "PX4 config" FORCE)
if(EXISTS ${PX4_BOARD_CMAKE})
include (${PX4_BOARD_CMAKE})
if(EXISTS "${PX4_BOARD_DIR}/uavcan_board_identity")
include ("${PX4_BOARD_DIR}/uavcan_board_identity")
endif()

23
src/drivers/barometer/Kconfig

@ -1,9 +1,14 @@ @@ -1,9 +1,14 @@
menuconfig DRIVERS_BAROMETER
bool "barometer"
default n
---help---
Enable support for barometer
if DRIVERS_BAROMETER
rsource "*/Kconfig"
endif #DRIVERS_BAROMETER
menu "barometer"
menuconfig COMMON_BAROMETERS
bool "Common barometers"
default n
select DRIVERS_BAROMETER_BMP280
select DRIVERS_BAROMETER_BMP388
select DRIVERS_BAROMETER_DPS310
select DRIVERS_BAROMETER_LPC22HB
select DRIVERS_BAROMETER_LPS33HW
select DRIVERS_BAROMETER_MS5611
---help---
Enable default set of barometer drivers
rsource "*/Kconfig"
endmenu #barometer

29
src/drivers/imu/Kconfig

@ -1,3 +1,30 @@ @@ -1,3 +1,30 @@
menu "IMU"
rsource "*/Kconfig"
menuconfig COMMON_IMU
bool "Common IMU's"
default n
select DRIVERS_IMU_ADIS16477
select DRIVERS_IMU_ADIS16497
select DRIVERS_IMU_ANALOG_DEVICES_ADIS16448
select DRIVERS_IMU_ANALOG_DEVICES_ADIS16470
select DRIVERS_IMU_BOSCH_BMI055
select DRIVERS_IMU_BOSCH_BMI088
select DRIVERS_IMU_FXAS21002C
select DRIVERS_IMU_FXOS8701CQ
select DRIVERS_IMU_INVENSENSE_ICM20602
select DRIVERS_IMU_INVENSENSE_ICM20608G
select DRIVERS_IMU_INVENSENSE_ICM20649
select DRIVERS_IMU_INVENSENSE_ICM20689
#select DRIVERS_IMU_INVENSENSE_ICM20948
select DRIVERS_IMU_INVENSENSE_ICM40609D
select DRIVERS_IMU_INVENSENSE_ICM42605
select DRIVERS_IMU_INVENSENSE_ICM42688P
select DRIVERS_IMU_INVENSENSE_MPU6000
select DRIVERS_IMU_INVENSENSE_MPU6500
select DRIVERS_IMU_INVENSENSE_MPU9250
select DRIVERS_IMU_L3GD20
select DRIVERS_IMU_LSM303D
select DRIVERS_IMU_ST
---help---
Enable default set of IMU drivers
rsource "*/Kconfig"
endmenu

29
src/drivers/magnetometer/Kconfig

@ -1,9 +1,20 @@ @@ -1,9 +1,20 @@
menuconfig DRIVERS_MAGNETOMETER
bool "Magnetometer"
default n
---help---
Enable support for all available magnetometer drivers
if DRIVERS_MAGNETOMETER
rsource "*/Kconfig"
endif #DRIVERS_MAGNETOMETER
menu "Magnetometer"
menuconfig COMMON_MAGNETOMETER
bool "Common Magnetometer's"
default n
select DRIVERS_MAGNETOMETER_AKM_AK8963
select DRIVERS_MAGNETOMETER_AKM_AK09916
select DRIVERS_MAGNETOMETER_BOSCH_BMM150
select DRIVERS_MAGNETOMETER_HMC5883
select DRIVERS_MAGNETOMETER_QMC5883L
select DRIVERS_MAGNETOMETER_ISENTEK_IST8308
select DRIVERS_MAGNETOMETER_ISENTEK_IST8310
select DRIVERS_MAGNETOMETER_LIS2MDL
select DRIVERS_MAGNETOMETER_LIS3MDL
select DRIVERS_MAGNETOMETER_LSM303AGR
select DRIVERS_MAGNETOMETER_RM3100
select DRIVERS_MAGNETOMETER_VTRANTECH_VCM1193L
---help---
Enable default set of magnetometer drivers
rsource "*/Kconfig"
endmenu

8
src/drivers/magnetometer/akm/Kconfig

@ -1,5 +1,3 @@ @@ -1,5 +1,3 @@
menuconfig DRIVERS_MAGNETOMETER_AKM
bool "akm"
default n
---help---
Enable support for akm
menu "AKM"
rsource "*/Kconfig"
endmenu

5
src/drivers/magnetometer/akm/ak09916/Kconfig

@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
menuconfig DRIVERS_MAGNETOMETER_AKM_AK09916
bool "ak09916"
default n
---help---
Enable support for ak09916

5
src/drivers/magnetometer/akm/ak8963/Kconfig

@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
menuconfig DRIVERS_MAGNETOMETER_AKM_AK8963
bool "ak8963"
default n
---help---
Enable support for ak8963

8
src/drivers/magnetometer/bosch/Kconfig

@ -1,5 +1,3 @@ @@ -1,5 +1,3 @@
menuconfig DRIVERS_MAGNETOMETER_BOSCH
bool "bosch"
default n
---help---
Enable support for bosch
menu "Bosch"
rsource "*/Kconfig"
endmenu

5
src/drivers/magnetometer/bosch/bmm150/Kconfig

@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
menuconfig DRIVERS_MAGNETOMETER_BOSCH_BMM150
bool "bmm150"
default n
---help---
Enable support for bosch bmm150

8
src/drivers/magnetometer/isentek/Kconfig

@ -1,5 +1,3 @@ @@ -1,5 +1,3 @@
menuconfig DRIVERS_MAGNETOMETER_ISENTEK
bool "isentek"
default n
---help---
Enable support for isentek
menu "Isentek"
rsource "*/Kconfig"
endmenu #Isentek

5
src/drivers/magnetometer/isentek/ist8308/Kconfig

@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
menuconfig DRIVERS_MAGNETOMETER_ISENTEK_IST8308
bool "IST8308"
default n
---help---
Enable support for isentek IST8308

5
src/drivers/magnetometer/isentek/ist8310/Kconfig

@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
menuconfig DRIVERS_MAGNETOMETER_ISENTEK_IST8310
bool "IST8310"
default n
---help---
Enable support for isentek IST8310

3
src/drivers/magnetometer/vtrantech/Kconfig

@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
menu "Vtrantech"
rsource "*/Kconfig"
endmenu #Vtrantech

5
src/drivers/magnetometer/vtrantech/vcm1193l/Kconfig

@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
menuconfig DRIVERS_MAGNETOMETER_VTRANTECH_VCM1193L
bool "VCM1193L"
default n
---help---
Enable support for Vtrantech VCM1193L
Loading…
Cancel
Save