From f692ad04d0ea22b8874926e9dc0cac23263bbeae Mon Sep 17 00:00:00 2001 From: Daniel Agar <daniel@agar.ca> Date: Fri, 16 Nov 2018 12:52:37 -0500 Subject: [PATCH] boards organization --- .ci/Jenkinsfile-SITL_tests | 26 +- .ci/Jenkinsfile-compile | 28 +- .ci/Jenkinsfile-hardware | 12 +- .gitmodules | 4 +- .travis.yml | 2 +- CMakeLists.txt | 188 +- Jenkinsfile | 34 +- Makefile | 61 +- ROMFS/CMakeLists.txt | 10 +- ROMFS/px4fmu_common/init.d/rcS | 4 +- Tools/astyle/files_to_check_code_style.sh | 1 - Tools/docker_run.sh | 4 +- Tools/sitl_multiple_run.sh | 4 +- .../aerotenna/ocpoc/src}/CMakeLists.txt | 4 +- .../aerotenna/ocpoc/src}/board_config.h | 2 +- boards/aerotenna/ocpoc/ubuntu.cmake | 86 + boards/airmind/mindpx-v2/default.cmake | 116 ++ .../airmind/mindpx-v2/firmware.prototype | 0 .../mindpx-v2/nuttx-config}/include/board.h | 0 .../mindpx-v2/nuttx-config}/nsh/defconfig | 2 +- .../mindpx-v2/nuttx-config/scripts/ld.script | 2 +- .../airmind/mindpx-v2/src}/CMakeLists.txt | 0 .../airmind/mindpx-v2/src}/board_config.h | 2 +- .../airmind/mindpx-v2/src}/can.c | 0 .../airmind/mindpx-v2/src}/init.c | 0 .../airmind/mindpx-v2/src}/led.c | 0 .../airmind/mindpx-v2/src}/spi.c | 0 .../airmind/mindpx-v2/src}/timer_config.c | 0 .../airmind/mindpx-v2/src}/usb.c | 0 {cmake => boards/atlflight}/cmake_hexagon | 0 boards/atlflight/eagle/default.cmake | 115 ++ boards/atlflight/eagle/qurt-default.cmake | 83 + .../atlflight/eagle/src}/CMakeLists.txt | 4 +- .../atlflight/eagle/src}/board_config.h | 2 +- .../atlflight/eagle/src}/sitl_led.c | 0 boards/atlflight/excelsior/default.cmake | 115 ++ boards/atlflight/excelsior/qurt-default.cmake | 82 + .../atlflight/excelsior/src}/board_config.h | 0 boards/atmel/same70xplained/default.cmake | 116 ++ .../atmel/same70xplained/firmware.prototype | 2 +- .../nuttx-config}/include/board.h | 0 .../nuttx-config}/nsh/defconfig | 4 +- .../nuttx-config}/scripts/ld.script | 0 .../atmel/same70xplained/src}/CMakeLists.txt | 0 .../atmel/same70xplained/src}/README.md | 4 +- .../atmel/same70xplained/src}/board_config.h | 2 +- .../atmel/same70xplained/src}/can.c | 0 .../atmel/same70xplained/src}/init.c | 0 .../atmel/same70xplained/src}/led.c | 0 .../atmel/same70xplained/src}/sdram.c | 0 .../atmel/same70xplained/src}/spi.c | 0 .../atmel/same70xplained/src}/timer_config.c | 0 .../atmel/same70xplained/src}/usb.c | 0 .../auav/esc35-v1/default.cmake | 64 +- .../auav/esc35-v1/firmware.prototype | 0 .../auav/esc35-v1/nuttx-config}/Kconfig | 0 .../esc35-v1/nuttx-config}/include/README.txt | 0 .../esc35-v1/nuttx-config}/include/board.h | 0 .../auav/esc35-v1/nuttx-config}/nsh/defconfig | 4 +- .../esc35-v1/nuttx-config}/scripts/ld.script | 0 .../auav/esc35-v1/src}/CMakeLists.txt | 0 .../auav/esc35-v1/src}/board_config.h | 2 +- .../auav/esc35-v1/src}/init.c | 0 .../auav/esc35-v1/src}/led.c | 0 .../auav/esc35-v1/src}/usb.c | 0 boards/auav/x21/default.cmake | 122 ++ .../auav/x21/firmware.prototype | 0 .../auav/x21/nuttx-config}/include/board.h | 0 .../auav/x21/nuttx-config}/nsh/defconfig | 2 +- .../auav/x21/nuttx-config}/scripts/ld.script | 16 +- .../auav/x21/src}/CMakeLists.txt | 0 .../auav/x21/src}/board_config.h | 2 +- .../auav-x21 => boards/auav/x21/src}/can.c | 0 .../auav-x21 => boards/auav/x21/src}/init.c | 0 .../auav-x21 => boards/auav/x21/src}/led.c | 0 .../auav-x21 => boards/auav/x21/src}/spi.c | 0 .../auav/x21/src}/timer_config.c | 2 +- .../auav-x21 => boards/auav/x21/src}/usb.c | 2 +- boards/av/x-v1/default.cmake | 121 ++ .../av/x-v1/firmware.prototype | 0 .../av/x-v1/nuttx-config}/include/board.h | 0 .../av/x-v1/nuttx-config}/nsh/defconfig | 4 +- .../av/x-v1/nuttx-config}/scripts/ld.script | 2 +- .../av/x-v1/src}/CMakeLists.txt | 0 .../av/x-v1/src}/board_config.h | 2 +- .../av-x-v1 => boards/av/x-v1/src}/init.c | 0 .../av-x-v1 => boards/av/x-v1/src}/manifest.c | 0 .../av-x-v1 => boards/av/x-v1/src}/sdio.c | 0 .../av-x-v1 => boards/av/x-v1/src}/spi.c | 0 .../av/x-v1/src}/timer_config.c | 0 boards/beaglebone/blue/cross.cmake | 84 + boards/beaglebone/blue/native.cmake | 83 + .../beaglebone/blue/src}/CMakeLists.txt | 2 +- .../beaglebone/blue/src}/board_config.h | 2 +- .../beaglebone/blue/src}/init.c | 0 boards/bitcraze/crazyflie/default.cmake | 73 + .../bitcraze/crazyflie/firmware.prototype | 0 .../crazyflie/nuttx-config}/include/board.h | 0 .../crazyflie/nuttx-config}/nsh/defconfig | 2 +- .../crazyflie/nuttx-config}/scripts/ld.script | 0 .../bitcraze/crazyflie/src}/CMakeLists.txt | 0 .../bitcraze/crazyflie/src}/board_config.h | 2 +- .../bitcraze/crazyflie/src}/init.c | 0 .../bitcraze/crazyflie/src}/led.c | 0 .../bitcraze/crazyflie/src}/spi.c | 0 .../bitcraze/crazyflie/src}/timer_config.c | 0 .../bitcraze/crazyflie/src}/usb.c | 0 boards/emlid/navio2/cross.cmake | 94 + boards/emlid/navio2/native.cmake | 93 + .../emlid/navio2/src}/CMakeLists.txt | 3 +- .../emlid/navio2/src}/board_config.h | 6 +- boards/gumstix/aerocore2/default.cmake | 119 ++ .../gumstix/aerocore2/firmware.prototype | 0 .../gumstix/aerocore2/nuttx-config}/Kconfig | 0 .../aerocore2/nuttx-config}/include/board.h | 0 .../aerocore2/nuttx-config}/nsh/defconfig | 2 +- .../aerocore2/nuttx-config}/scripts/ld.script | 0 .../gumstix/aerocore2/src}/CMakeLists.txt | 0 .../gumstix/aerocore2/src}/board_config.h | 2 +- .../gumstix/aerocore2/src}/can.c | 0 .../gumstix/aerocore2/src}/init.c | 0 .../gumstix/aerocore2/src}/led.c | 0 .../gumstix/aerocore2/src}/spi.c | 0 .../gumstix/aerocore2/src}/timer_config.c | 0 .../gumstix/aerocore2/src}/usb.c | 0 boards/intel/aerofc-v1/default.cmake | 101 + .../intel/aerofc-v1/firmware.prototype | 0 .../intel/aerofc-v1/nuttx-config}/Kconfig | 0 .../aerofc-v1/nuttx-config}/include/board.h | 0 .../aerofc-v1/nuttx-config}/nsh/defconfig | 2 +- .../aerofc-v1/nuttx-config}/scripts/ld.script | 0 boards/intel/aerofc-v1/rtps.cmake | 104 + .../intel/aerofc-v1/src}/CMakeLists.txt | 0 .../intel/aerofc-v1/src}/board_config.h | 2 +- .../intel/aerofc-v1/src}/init.c | 0 .../intel/aerofc-v1/src}/led.c | 0 .../intel/aerofc-v1/src}/spi.c | 0 .../intel/aerofc-v1/src}/timer_config.c | 0 boards/nxp/hlite-v3/default.cmake | 118 ++ .../nxp/hlite-v3/firmware.prototype | 0 .../nxp/hlite-v3/nuttx-config}/Kconfig | 0 .../hlite-v3/nuttx-config}/include/board.h | 0 .../nxp/hlite-v3/nuttx-config}/nsh/defconfig | 0 .../hlite-v3/nuttx-config}/scripts/ld.script | 0 .../nxp/hlite-v3/src}/CMakeLists.txt | 0 .../nxp/hlite-v3/src}/autoleds.c | 0 .../nxp/hlite-v3/src}/automount.c | 0 .../nxp/hlite-v3/src}/board_config.h | 2 +- .../nxp/hlite-v3/src}/can.c | 0 .../nxp/hlite-v3/src}/init.c | 0 .../nxp/hlite-v3/src}/led.c | 0 .../nxp/hlite-v3/src}/sdhc.c | 0 .../nxp/hlite-v3/src}/spi.c | 0 .../nxp/hlite-v3/src}/timer_config.c | 0 .../nxp/hlite-v3/src}/usb.c | 0 boards/omnibus/f4sd/default.cmake | 113 ++ .../omnibus/f4sd/firmware.prototype | 0 .../f4sd/nuttx-config}/include/board.h | 0 .../omnibus/f4sd/nuttx-config}/nsh/defconfig | 4 +- .../f4sd/nuttx-config}/scripts/ld.script | 0 .../omnibus/f4sd/src}/CMakeLists.txt | 0 .../omnibus/f4sd/src}/board_config.h | 2 +- .../omnibus/f4sd/src}/init.c | 0 .../omnibus/f4sd/src}/led.c | 0 .../omnibus/f4sd/src}/spi.c | 0 .../omnibus/f4sd/src}/timer_config.c | 0 .../omnibus/f4sd/src}/usb.c | 0 boards/parrot/bebop/default.cmake | 64 + .../parrot/bebop/src}/CMakeLists.txt | 3 +- .../parrot/bebop/src}/board_config.h | 2 +- .../px4/cannode-v1/default.cmake | 50 +- .../px4/cannode-v1/firmware.prototype | 0 .../px4/cannode-v1/nuttx-config}/Kconfig | 0 .../nuttx-config}/include/README.txt | 0 .../cannode-v1/nuttx-config}/include/board.h | 0 .../cannode-v1/nuttx-config}/nsh/defconfig | 0 .../nuttx-config}/nsh/defconfig.nonsh | 0 .../nuttx-config}/nsh/defconfig.nsh | 0 .../nuttx-config}/scripts/ld.script | 0 .../px4/cannode-v1/src}/CMakeLists.txt | 0 .../px4/cannode-v1/src}/board_config.h | 2 +- .../px4/cannode-v1/src}/buttons.c | 0 .../px4/cannode-v1/src}/can.c | 0 .../px4/cannode-v1/src}/init.c | 0 .../px4/cannode-v1/src}/led.c | 0 .../px4/cannode-v1/src}/spi.c | 0 .../px4/esc-v1/default.cmake | 58 +- .../px4/esc-v1/firmware.prototype | 0 .../px4/esc-v1/nuttx-config}/Kconfig | 0 .../esc-v1/nuttx-config}/include/README.txt | 0 .../px4/esc-v1/nuttx-config}/include/board.h | 0 .../px4/esc-v1/nuttx-config}/nsh/defconfig | 0 .../esc-v1/nuttx-config}/scripts/ld.script | 0 .../px4/esc-v1/src}/CMakeLists.txt | 0 .../px4/esc-v1/src}/board_config.h | 2 +- .../px4/esc-v1/src}/init.c | 0 .../px4esc-v1 => boards/px4/esc-v1/src}/led.c | 0 .../px4esc-v1 => boards/px4/esc-v1/src}/usb.c | 0 boards/px4/fmu-v2/default.cmake | 121 ++ .../px4/fmu-v2/firmware.prototype | 10 +- boards/px4/fmu-v2/lpe.cmake | 118 ++ .../px4/fmu-v2/nuttx-config}/Kconfig | 0 .../px4/fmu-v2/nuttx-config}/include/board.h | 0 .../px4/fmu-v2/nuttx-config}/nsh/defconfig | 0 .../fmu-v2/nuttx-config}/scripts/ld.script | 0 .../px4/fmu-v2/src}/CMakeLists.txt | 0 .../px4/fmu-v2/src}/board_config.h | 2 +- .../px4fmu-v2 => boards/px4/fmu-v2/src}/can.c | 0 .../px4fmu-v2 => boards/px4/fmu-v2/src}/i2c.c | 0 .../px4/fmu-v2/src}/init.c | 0 .../px4fmu-v2 => boards/px4/fmu-v2/src}/led.c | 0 .../px4/fmu-v2/src}/manifest.c | 0 .../px4fmu-v2 => boards/px4/fmu-v2/src}/spi.c | 0 .../px4/fmu-v2/src}/timer_config.c | 0 .../px4fmu-v2 => boards/px4/fmu-v2/src}/usb.c | 0 boards/px4/fmu-v2/test.cmake | 119 ++ boards/px4/fmu-v3/default.cmake | 129 ++ .../px4/fmu-v3/firmware.prototype | 0 .../px4/fmu-v3/nuttx-config}/Kconfig | 2 +- .../px4/fmu-v3/nuttx-config}/include/board.h | 222 ++- boards/px4/fmu-v3/nuttx-config/nsh/defconfig | 1688 +++++++++++++++++ .../fmu-v3/nuttx-config}/scripts/ld.script | 18 +- .../fmu-v3/nuttx-config}/stackcheck/defconfig | 4 +- boards/px4/fmu-v3/rtps.cmake | 130 ++ .../px4/fmu-v3/src}/CMakeLists.txt | 17 +- boards/px4/fmu-v3/src/board_config.h | 569 ++++++ .../px4fmu-v4 => boards/px4/fmu-v3/src}/can.c | 0 .../px4/fmu-v3/src/i2c.c | 25 +- boards/px4/fmu-v3/src/init.c | 570 ++++++ boards/px4/fmu-v3/src/led.c | 96 + boards/px4/fmu-v3/src/manifest.c | 149 ++ boards/px4/fmu-v3/src/spi.c | 462 +++++ boards/px4/fmu-v3/src/timer_config.c | 126 ++ .../px4/fmu-v3/src}/usb.c | 0 boards/px4/fmu-v3/stackcheck.cmake | 129 ++ boards/px4/fmu-v4/default.cmake | 114 ++ .../px4/fmu-v4/firmware.prototype | 0 .../px4/fmu-v4/nuttx-config}/include/board.h | 0 .../px4/fmu-v4/nuttx-config}/nsh/defconfig | 0 .../fmu-v4/nuttx-config}/scripts/ld.script | 24 +- .../fmu-v4/nuttx-config}/stackcheck/defconfig | 0 boards/px4/fmu-v4/rtps.cmake | 116 ++ .../px4/fmu-v4/src}/CMakeLists.txt | 0 .../px4/fmu-v4/src}/board_config.h | 2 +- .../px4/fmu-v4/src}/can.c | 0 .../px4/fmu-v4/src}/init.c | 0 .../px4fmu-v4 => boards/px4/fmu-v4/src}/led.c | 0 .../px4fmu-v4 => boards/px4/fmu-v4/src}/spi.c | 0 .../px4/fmu-v4/src}/timer_config.c | 0 .../px4fmu-v4 => boards/px4/fmu-v4/src}/usb.c | 0 boards/px4/fmu-v4/stackcheck.cmake | 114 ++ boards/px4/fmu-v4pro/default.cmake | 128 ++ .../px4/fmu-v4pro/firmware.prototype | 0 .../px4/fmu-v4pro/nuttx-config}/Kconfig | 0 .../fmu-v4pro/nuttx-config}/include/board.h | 0 .../px4/fmu-v4pro/nuttx-config}/nsh/defconfig | 0 .../fmu-v4pro/nuttx-config}/scripts/ld.script | 16 +- boards/px4/fmu-v4pro/rtps.cmake | 129 ++ .../px4/fmu-v4pro/src}/CMakeLists.txt | 0 .../px4/fmu-v4pro/src}/board_config.h | 2 +- .../px4/fmu-v4pro/src}/can.c | 11 +- .../px4/fmu-v4pro/src}/init.c | 0 .../px4/fmu-v4pro/src}/led.c | 0 .../px4/fmu-v4pro/src}/spi.c | 0 .../px4/fmu-v4pro/src}/timer_config.c | 0 boards/px4/fmu-v4pro/src/usb.c | 107 ++ boards/px4/fmu-v5/default.cmake | 129 ++ .../px4/fmu-v5/firmware.prototype | 0 .../px4/fmu-v5/nuttx-config}/Kconfig | 0 .../px4/fmu-v5/nuttx-config}/include/board.h | 0 .../px4/fmu-v5/nuttx-config}/nsh/defconfig | 0 .../fmu-v5/nuttx-config}/scripts/ld.script | 2 +- .../fmu-v5/nuttx-config}/stackcheck/defconfig | 0 boards/px4/fmu-v5/rtps.cmake | 127 ++ .../px4/fmu-v5/src}/CMakeLists.txt | 0 .../px4/fmu-v5/src}/board_config.h | 2 +- .../px4fmu-v5 => boards/px4/fmu-v5/src}/can.c | 0 .../px4/fmu-v5/src}/init.c | 0 .../px4fmu-v5 => boards/px4/fmu-v5/src}/led.c | 0 .../px4/fmu-v5/src}/manifest.c | 0 .../px4/fmu-v5/src}/sdio.c | 0 .../px4fmu-v5 => boards/px4/fmu-v5/src}/spi.c | 0 .../px4/fmu-v5/src}/timer_config.c | 0 .../px4fmu-v5 => boards/px4/fmu-v5/src}/usb.c | 0 boards/px4/fmu-v5/stackcheck.cmake | 126 ++ boards/px4/io-v2/default.cmake | 11 + .../px4/io-v2/firmware.prototype | 0 .../px4/io-v2/nuttx-config}/include/board.h | 0 .../px4/io-v2/nuttx-config}/nsh/defconfig | 0 .../px4/io-v2/nuttx-config}/scripts/ld.script | 0 .../px4/io-v2/src}/CMakeLists.txt | 0 .../px4/io-v2/src}/board_config.h | 2 +- .../px4io-v2 => boards/px4/io-v2/src}/init.c | 0 .../px4/io-v2/src}/timer_config.c | 0 boards/px4/raspberrypi/cross.cmake | 81 + boards/px4/raspberrypi/native.cmake | 80 + .../px4/raspberrypi/src}/CMakeLists.txt | 3 +- boards/px4/raspberrypi/src/board_config.h | 57 + boards/px4/sitl/default.cmake | 96 + boards/px4/sitl/rtps.cmake | 98 + .../px4/sitl/src}/CMakeLists.txt | 4 +- .../px4/sitl/src}/board_config.h | 2 +- .../eagle => boards/px4/sitl/src}/sitl_led.c | 0 boards/px4/sitl/test.cmake | 96 + boards/stm/32f4discovery/default.cmake | 106 ++ .../stm/32f4discovery/firmware.prototype | 2 +- .../nuttx-config}/include/board.h | 0 .../32f4discovery/nuttx-config}/nsh/defconfig | 4 +- .../nuttx-config}/scripts/ld.script | 0 .../stm/32f4discovery/src}/CMakeLists.txt | 1 + .../stm/32f4discovery/src}/board_config.h | 2 +- .../stm/32f4discovery/src}/init.c | 0 .../stm/32f4discovery/src}/led.c | 0 boards/stm/32f4discovery/src/timer_config.c | 76 + .../stm/32f4discovery/src}/usb.c | 0 boards/stm/nucleo-F767ZI/default.cmake | 115 ++ .../stm/nucleo-F767ZI/firmware.prototype | 4 +- .../nuttx-config}/include/board.h | 2 +- .../nucleo-F767ZI/nuttx-config}/nsh/defconfig | 4 +- .../nuttx-config}/scripts/ld.script | 0 .../stm/nucleo-F767ZI/src}/CMakeLists.txt | 0 .../stm/nucleo-F767ZI/src}/board_config.h | 2 +- .../stm/nucleo-F767ZI/src}/can.c | 0 .../stm/nucleo-F767ZI/src}/init.c | 0 .../stm/nucleo-F767ZI/src}/led.c | 0 .../stm/nucleo-F767ZI/src}/sdio.c | 0 .../stm/nucleo-F767ZI/src}/spi.c | 0 .../stm/nucleo-F767ZI/src}/timer_config.c | 0 .../stm/nucleo-F767ZI/src}/usb.c | 0 .../thiemar/s2740vc-v1/default.cmake | 44 +- .../thiemar/s2740vc-v1/firmware.prototype | 0 .../thiemar/s2740vc-v1/nuttx-config}/Kconfig | 0 .../nuttx-config}/include/README.txt | 0 .../s2740vc-v1/nuttx-config}/include/board.h | 0 .../nuttx-config}/nsh/IMPORTANT_README.txt | 0 .../s2740vc-v1/nuttx-config}/nsh/defconfig | 2 +- .../nuttx-config}/scripts/ld.script | 0 .../thiemar/s2740vc-v1/src}/CMakeLists.txt | 0 .../thiemar/s2740vc-v1/src}/board_config.h | 2 +- .../thiemar/s2740vc-v1/src}/can.c | 0 .../thiemar/s2740vc-v1/src}/init.c | 0 cmake/configs/nuttx_aerocore2_default.cmake | 135 -- cmake/configs/nuttx_aerofc-v1_default.cmake | 75 - cmake/configs/nuttx_aerofc-v1_rtps.cmake | 7 - cmake/configs/nuttx_auav-x21_default.cmake | 158 -- cmake/configs/nuttx_av-x-v1_default.cmake | 154 -- cmake/configs/nuttx_crazyflie_default.cmake | 104 - cmake/configs/nuttx_mindpx-v2_default.cmake | 150 -- cmake/configs/nuttx_nxphlite-v3_default.cmake | 163 -- .../configs/nuttx_omnibus-f4sd_default.cmake | 143 -- .../nuttx_px4-same70xplained-v1_default.cmake | 122 -- .../nuttx_px4-stm32f4discovery_default.cmake | 41 - cmake/configs/nuttx_px4fmu-v2_default.cmake | 187 -- cmake/configs/nuttx_px4fmu-v2_lpe.cmake | 16 - cmake/configs/nuttx_px4fmu-v2_test.cmake | 163 -- cmake/configs/nuttx_px4fmu-v3_default.cmake | 170 -- cmake/configs/nuttx_px4fmu-v3_rtps.cmake | 7 - .../configs/nuttx_px4fmu-v3_stackcheck.cmake | 128 -- cmake/configs/nuttx_px4fmu-v4_default.cmake | 158 -- cmake/configs/nuttx_px4fmu-v4_rtps.cmake | 5 - .../configs/nuttx_px4fmu-v4_stackcheck.cmake | 116 -- .../configs/nuttx_px4fmu-v4pro_default.cmake | 162 -- cmake/configs/nuttx_px4fmu-v4pro_rtps.cmake | 5 - cmake/configs/nuttx_px4fmu-v5_default.cmake | 164 -- cmake/configs/nuttx_px4fmu-v5_rtps.cmake | 5 - .../configs/nuttx_px4fmu-v5_stackcheck.cmake | 121 -- cmake/configs/nuttx_px4io-v2_default.cmake | 7 - .../nuttx_px4nucleoF767ZI-v1_default.cmake | 128 -- cmake/configs/posix_bbblue_common.cmake | 104 - cmake/configs/posix_bbblue_cross.cmake | 3 - cmake/configs/posix_bbblue_native.cmake | 7 - cmake/configs/posix_bebop_default.cmake | 75 - cmake/configs/posix_eagle_default.cmake | 17 - cmake/configs/posix_eagle_hil.cmake | 38 - cmake/configs/posix_eagle_legacy.cmake | 15 - cmake/configs/posix_eagle_muorb.cmake | 19 - cmake/configs/posix_excelsior_default.cmake | 11 - cmake/configs/posix_excelsior_legacy.cmake | 14 - cmake/configs/posix_ocpoc_cross.cmake | 85 - cmake/configs/posix_ocpoc_ubuntu.cmake | 84 - cmake/configs/posix_rpi_common.cmake | 103 - cmake/configs/posix_rpi_cross.cmake | 3 - cmake/configs/posix_rpi_cross_no_shield.cmake | 19 - cmake/configs/posix_rpi_native.cmake | 7 - cmake/configs/posix_sdflight_default.cmake | 66 - cmake/configs/posix_sdflight_legacy.cmake | 56 - cmake/configs/posix_sdflight_rtps.cmake | 5 - cmake/configs/posix_sitl_broadcast.cmake | 3 - cmake/configs/posix_sitl_default.cmake | 164 -- cmake/configs/posix_sitl_rtps.cmake | 5 - cmake/configs/posix_sitl_test.cmake | 2 - cmake/configs/qurt_eagle_default.cmake | 12 - cmake/configs/qurt_eagle_hello.cmake | 33 - cmake/configs/qurt_eagle_hil.cmake | 59 - cmake/configs/qurt_eagle_legacy.cmake | 12 - cmake/configs/qurt_eagle_muorb.cmake | 38 - cmake/configs/qurt_eagle_test.cmake | 33 - cmake/configs/qurt_eagle_travis.cmake | 65 - cmake/configs/qurt_excelsior_default.cmake | 12 - cmake/configs/qurt_excelsior_legacy.cmake | 14 - cmake/configs/qurt_sdflight_default.cmake | 93 - cmake/configs/qurt_sdflight_legacy.cmake | 88 - cmake/{common => }/coverage.cmake | 0 cmake/px4_add_board.cmake | 200 ++ cmake/{common => }/px4_base.cmake | 95 +- cmake/{common => }/px4_git.cmake | 2 +- cmake/px4_make_uavcan_bootloader.cmake | 99 + cmake/{common => }/px4_metadata.cmake | 2 +- cmake/{common => }/sanitizers.cmake | 0 .../Toolchain-arm-linux-gnueabihf.cmake | 30 - .../toolchains/Toolchain-arm-none-eabi.cmake | 82 - .../Toolchain-arm-xilinx-linux-gnueabi.cmake | 88 - .../Toolchain-gcc-arm-linux-gnueabihf.cmake | 74 - eclipse.cproject | 16 +- eclipse.project | 4 +- platforms/nuttx/CMakeLists.txt | 30 +- platforms/nuttx/Debug/poor-mans-profiler.sh | 2 +- platforms/nuttx/Images/px4flow-v2.prototype | 13 - platforms/nuttx/Images/zubaxgnss-v1.prototype | 13 - platforms/nuttx/NuttX/CMakeLists.txt | 84 +- .../{nuttx-configs => NuttX}/Make.defs.in | 53 +- .../include => NuttX}/nsh_romfsimg.h | 0 .../nuttx/NuttX/tools/new_nuttx_px_config.sh | 173 -- .../Generic-arm-none-eabi-gcc-cortex-m3.cmake | 6 + .../Generic-arm-none-eabi-gcc-cortex-m4.cmake | 6 + .../Generic-arm-none-eabi-gcc-cortex-m7.cmake | 6 + .../nuttx/cmake/Toolchain-arm-none-eabi.cmake | 48 + platforms/nuttx/cmake/px4_add_board_os.cmake | 130 ++ platforms/nuttx/cmake/px4_impl_os.cmake | 160 +- .../auav-x21/include/nsh_romfsimg.h | 42 - .../av-x-v1/include/nsh_romfsimg.h | 42 - .../crazyflie/include/nsh_romfsimg.h | 42 - .../mindpx-v2/include/nsh_romfsimg.h | 42 - .../nxphlite-v3/include/nsh_romfsimg.h | 42 - .../omnibus-f4sd/include/nsh_romfsimg.h | 42 - .../px4-same70xplained-v1/Kconfig | 22 - .../include/nsh_romfsimg.h | 42 - .../px4-same70xplained-v1/nsh/setenv.sh | 80 - .../scripts/flash-dtcm.ld | 123 -- .../scripts/flash-sram.ld | 120 -- .../px4-same70xplained-v1/scripts/gnu-elf.ld | 129 -- .../scripts/kernel-space.ld | 111 -- .../px4-same70xplained-v1/scripts/memory.ld | 84 - .../scripts/user-space.ld | 126 -- .../include/nsh_romfsimg.h | 42 - .../nuttx/nuttx-configs/px4flow-v2/Kconfig | 22 - .../px4flow-v2/include/README.txt | 2 - .../nuttx-configs/px4flow-v2/nsh/defconfig | 1004 ---------- .../px4flow-v2/scripts/ld.script | 158 -- .../px4fmu-v2/include/nsh_romfsimg.h | 42 - .../px4fmu-v4/include/nsh_romfsimg.h | 42 - .../px4fmu-v4pro/include/nsh_romfsimg.h | 42 - .../px4fmu-v5/include/nsh_romfsimg.h | 42 - .../px4nucleoF767ZI-v1/include/nsh_romfsimg.h | 42 - .../nuttx/nuttx-configs/zubaxgnss-v1/Kconfig | 22 - .../zubaxgnss-v1/include/README.txt | 4 - .../zubaxgnss-v1/include/board.h | 251 --- .../nuttx-configs/zubaxgnss-v1/nsh/defconfig | 1070 ----------- .../zubaxgnss-v1/scripts/ld.script | 153 -- platforms/nuttx/src/px4_layer/CMakeLists.txt | 2 +- platforms/posix/CMakeLists.txt | 26 +- ...Linux-arm-linux-gnueabihf-cortex-a53.cmake | 6 + .../Linux-arm-linux-gnueabihf-cortex-a8.cmake | 6 + .../Linux-arm-linux-gnueabihf-cortex-a9.cmake | 6 + .../cmake/Toolchain-arm-linux-gnueabihf.cmake | 45 + .../posix/cmake}/Toolchain-native.cmake | 0 platforms/posix/cmake/px4_add_board_os.cmake | 106 ++ platforms/posix/cmake/px4_impl_os.cmake | 73 +- platforms/posix/src/px4_layer/CMakeLists.txt | 2 +- platforms/qurt/CMakeLists.txt | 3 +- platforms/qurt/cmake/px4_add_board_os.cmake | 101 + platforms/qurt/cmake/px4_impl_os.cmake | 15 +- platforms/qurt/include/board_config.h | 2 +- platforms/qurt/src/px4_layer/CMakeLists.txt | 2 +- src/drivers/bbblue_adc/CMakeLists.txt | 2 +- src/drivers/boards/CMakeLists.txt | 9 +- src/drivers/boards/common/CMakeLists.txt | 2 +- src/drivers/boards/common/board_common.h | 2 +- .../boards/common/stm32/CMakeLists.txt | 15 +- src/drivers/boards/px4flow-v2/board_config.h | 385 ---- src/drivers/boards/px4flow-v2/init.c | 190 -- src/drivers/boards/px4flow-v2/led.c | 192 -- .../boards/zubaxgnss-v1/board_config.h | 247 --- src/drivers/boards/zubaxgnss-v1/gnss_init.c | 186 -- src/drivers/boards/zubaxgnss-v1/gnss_led.c | 191 -- .../distance_sensor/sf0x/CMakeLists.txt | 5 +- src/drivers/px4io/CMakeLists.txt | 28 +- src/lib/cdev/CMakeLists.txt | 2 +- src/lib/controllib/CMakeLists.txt | 6 +- src/lib/drivers/device/CMakeLists.txt | 4 +- src/lib/parameters/CMakeLists.txt | 22 +- src/lib/rc/CMakeLists.txt | 4 + src/lib/rc/rc_tests/RCTest.cpp | 1 + src/modules/commander/CMakeLists.txt | 9 +- .../failure_detector}/CMakeLists.txt | 8 +- src/modules/mavlink/CMakeLists.txt | 4 + src/modules/micrortps_bridge/CMakeLists.txt | 2 +- src/modules/simulator/CMakeLists.txt | 2 +- src/modules/systemlib/CMakeLists.txt | 4 +- src/modules/uORB/CMakeLists.txt | 4 + src/modules/uavcan/CMakeLists.txt | 17 +- src/modules/uavcanesc/CMakeLists.txt | 2 +- src/modules/uavcannode/CMakeLists.txt | 2 +- src/platforms/common/CMakeLists.txt | 2 +- .../common/work_queue/CMakeLists.txt | 2 +- src/systemcmds/tests/CMakeLists.txt | 2 +- test/rostest_px4_run.sh | 2 +- 507 files changed, 9975 insertions(+), 10989 deletions(-) rename {src/drivers/boards/rpi => boards/aerotenna/ocpoc/src}/CMakeLists.txt (94%) rename {src/drivers/boards/ocpoc => boards/aerotenna/ocpoc/src}/board_config.h (98%) create mode 100644 boards/aerotenna/ocpoc/ubuntu.cmake create mode 100644 boards/airmind/mindpx-v2/default.cmake rename platforms/nuttx/Images/mindpx-v2.prototype => boards/airmind/mindpx-v2/firmware.prototype (100%) rename {platforms/nuttx/nuttx-configs/mindpx-v2 => boards/airmind/mindpx-v2/nuttx-config}/include/board.h (100%) rename {platforms/nuttx/nuttx-configs/mindpx-v2 => boards/airmind/mindpx-v2/nuttx-config}/nsh/defconfig (99%) rename platforms/nuttx/nuttx-configs/px4fmu-v2/scripts/ld_full.script => boards/airmind/mindpx-v2/nuttx-config/scripts/ld.script (99%) rename {src/drivers/boards/mindpx-v2 => boards/airmind/mindpx-v2/src}/CMakeLists.txt (100%) rename {src/drivers/boards/mindpx-v2 => boards/airmind/mindpx-v2/src}/board_config.h (99%) rename {src/drivers/boards/mindpx-v2 => boards/airmind/mindpx-v2/src}/can.c (100%) rename {src/drivers/boards/mindpx-v2 => boards/airmind/mindpx-v2/src}/init.c (100%) rename {src/drivers/boards/mindpx-v2 => boards/airmind/mindpx-v2/src}/led.c (100%) rename {src/drivers/boards/mindpx-v2 => boards/airmind/mindpx-v2/src}/spi.c (100%) rename {src/drivers/boards/mindpx-v2 => boards/airmind/mindpx-v2/src}/timer_config.c (100%) rename {src/drivers/boards/mindpx-v2 => boards/airmind/mindpx-v2/src}/usb.c (100%) rename {cmake => boards/atlflight}/cmake_hexagon (100%) create mode 100644 boards/atlflight/eagle/default.cmake create mode 100644 boards/atlflight/eagle/qurt-default.cmake rename {src/drivers/boards/sitl => boards/atlflight/eagle/src}/CMakeLists.txt (94%) rename {src/drivers/boards/eagle => boards/atlflight/eagle/src}/board_config.h (97%) rename {src/drivers/boards/sitl => boards/atlflight/eagle/src}/sitl_led.c (100%) create mode 100644 boards/atlflight/excelsior/default.cmake create mode 100644 boards/atlflight/excelsior/qurt-default.cmake rename {src/drivers/boards/excelsior => boards/atlflight/excelsior/src}/board_config.h (100%) create mode 100644 boards/atmel/same70xplained/default.cmake rename platforms/nuttx/Images/px4-same70xplained-v1.prototype => boards/atmel/same70xplained/firmware.prototype (87%) rename {platforms/nuttx/nuttx-configs/px4-same70xplained-v1 => boards/atmel/same70xplained/nuttx-config}/include/board.h (100%) rename {platforms/nuttx/nuttx-configs/px4-same70xplained-v1 => boards/atmel/same70xplained/nuttx-config}/nsh/defconfig (99%) rename {platforms/nuttx/nuttx-configs/px4-same70xplained-v1 => boards/atmel/same70xplained/nuttx-config}/scripts/ld.script (100%) rename {src/drivers/boards/px4-same70xplained-v1 => boards/atmel/same70xplained/src}/CMakeLists.txt (100%) rename {src/drivers/boards/px4-same70xplained-v1 => boards/atmel/same70xplained/src}/README.md (88%) rename {src/drivers/boards/px4-same70xplained-v1 => boards/atmel/same70xplained/src}/board_config.h (99%) rename {src/drivers/boards/px4-same70xplained-v1 => boards/atmel/same70xplained/src}/can.c (100%) rename {src/drivers/boards/px4-same70xplained-v1 => boards/atmel/same70xplained/src}/init.c (100%) rename {src/drivers/boards/px4-same70xplained-v1 => boards/atmel/same70xplained/src}/led.c (100%) rename {src/drivers/boards/px4-same70xplained-v1 => boards/atmel/same70xplained/src}/sdram.c (100%) rename {src/drivers/boards/px4-same70xplained-v1 => boards/atmel/same70xplained/src}/spi.c (100%) rename {src/drivers/boards/px4-same70xplained-v1 => boards/atmel/same70xplained/src}/timer_config.c (100%) rename {src/drivers/boards/px4-same70xplained-v1 => boards/atmel/same70xplained/src}/usb.c (100%) rename cmake/configs/nuttx_esc35-v1_default.cmake => boards/auav/esc35-v1/default.cmake (60%) rename platforms/nuttx/Images/esc35-v1.prototype => boards/auav/esc35-v1/firmware.prototype (100%) rename {platforms/nuttx/nuttx-configs/esc35-v1 => boards/auav/esc35-v1/nuttx-config}/Kconfig (100%) rename {platforms/nuttx/nuttx-configs/esc35-v1 => boards/auav/esc35-v1/nuttx-config}/include/README.txt (100%) mode change 100755 => 100644 rename {platforms/nuttx/nuttx-configs/esc35-v1 => boards/auav/esc35-v1/nuttx-config}/include/board.h (100%) mode change 100755 => 100644 rename {platforms/nuttx/nuttx-configs/esc35-v1 => boards/auav/esc35-v1/nuttx-config}/nsh/defconfig (99%) rename {platforms/nuttx/nuttx-configs/esc35-v1 => boards/auav/esc35-v1/nuttx-config}/scripts/ld.script (100%) rename {src/drivers/boards/esc35-v1 => boards/auav/esc35-v1/src}/CMakeLists.txt (100%) rename {src/drivers/boards/esc35-v1 => boards/auav/esc35-v1/src}/board_config.h (99%) rename {src/drivers/boards/esc35-v1 => boards/auav/esc35-v1/src}/init.c (100%) rename {src/drivers/boards/esc35-v1 => boards/auav/esc35-v1/src}/led.c (100%) rename {src/drivers/boards/esc35-v1 => boards/auav/esc35-v1/src}/usb.c (100%) create mode 100644 boards/auav/x21/default.cmake rename platforms/nuttx/Images/auav-x21.prototype => boards/auav/x21/firmware.prototype (100%) rename {platforms/nuttx/nuttx-configs/auav-x21 => boards/auav/x21/nuttx-config}/include/board.h (100%) mode change 100755 => 100644 rename {platforms/nuttx/nuttx-configs/auav-x21 => boards/auav/x21/nuttx-config}/nsh/defconfig (99%) rename {platforms/nuttx/nuttx-configs/auav-x21 => boards/auav/x21/nuttx-config}/scripts/ld.script (93%) rename {src/drivers/boards/aerocore2 => boards/auav/x21/src}/CMakeLists.txt (100%) rename {src/drivers/boards/auav-x21 => boards/auav/x21/src}/board_config.h (99%) rename {src/drivers/boards/auav-x21 => boards/auav/x21/src}/can.c (100%) rename {src/drivers/boards/auav-x21 => boards/auav/x21/src}/init.c (100%) rename {src/drivers/boards/auav-x21 => boards/auav/x21/src}/led.c (100%) rename {src/drivers/boards/auav-x21 => boards/auav/x21/src}/spi.c (100%) rename {src/drivers/boards/auav-x21 => boards/auav/x21/src}/timer_config.c (99%) rename {src/drivers/boards/auav-x21 => boards/auav/x21/src}/usb.c (99%) create mode 100644 boards/av/x-v1/default.cmake rename platforms/nuttx/Images/av-x-v1.prototype => boards/av/x-v1/firmware.prototype (100%) rename {platforms/nuttx/nuttx-configs/av-x-v1 => boards/av/x-v1/nuttx-config}/include/board.h (100%) mode change 100755 => 100644 rename {platforms/nuttx/nuttx-configs/av-x-v1 => boards/av/x-v1/nuttx-config}/nsh/defconfig (99%) rename {platforms/nuttx/nuttx-configs/av-x-v1 => boards/av/x-v1/nuttx-config}/scripts/ld.script (99%) rename {src/drivers/boards/av-x-v1 => boards/av/x-v1/src}/CMakeLists.txt (100%) rename {src/drivers/boards/av-x-v1 => boards/av/x-v1/src}/board_config.h (99%) rename {src/drivers/boards/av-x-v1 => boards/av/x-v1/src}/init.c (100%) rename {src/drivers/boards/av-x-v1 => boards/av/x-v1/src}/manifest.c (100%) rename {src/drivers/boards/av-x-v1 => boards/av/x-v1/src}/sdio.c (100%) rename {src/drivers/boards/av-x-v1 => boards/av/x-v1/src}/spi.c (100%) rename {src/drivers/boards/av-x-v1 => boards/av/x-v1/src}/timer_config.c (100%) create mode 100644 boards/beaglebone/blue/cross.cmake create mode 100644 boards/beaglebone/blue/native.cmake rename {src/drivers/boards/bbblue => boards/beaglebone/blue/src}/CMakeLists.txt (94%) rename {src/drivers/boards/bbblue => boards/beaglebone/blue/src}/board_config.h (98%) rename {src/drivers/boards/bbblue => boards/beaglebone/blue/src}/init.c (100%) create mode 100644 boards/bitcraze/crazyflie/default.cmake rename platforms/nuttx/Images/crazyflie.prototype => boards/bitcraze/crazyflie/firmware.prototype (100%) rename {platforms/nuttx/nuttx-configs/crazyflie => boards/bitcraze/crazyflie/nuttx-config}/include/board.h (100%) rename {platforms/nuttx/nuttx-configs/crazyflie => boards/bitcraze/crazyflie/nuttx-config}/nsh/defconfig (99%) rename {platforms/nuttx/nuttx-configs/crazyflie => boards/bitcraze/crazyflie/nuttx-config}/scripts/ld.script (100%) rename {src/drivers/boards/crazyflie => boards/bitcraze/crazyflie/src}/CMakeLists.txt (100%) rename {src/drivers/boards/crazyflie => boards/bitcraze/crazyflie/src}/board_config.h (99%) rename {src/drivers/boards/crazyflie => boards/bitcraze/crazyflie/src}/init.c (100%) rename {src/drivers/boards/crazyflie => boards/bitcraze/crazyflie/src}/led.c (100%) rename {src/drivers/boards/crazyflie => boards/bitcraze/crazyflie/src}/spi.c (100%) rename {src/drivers/boards/crazyflie => boards/bitcraze/crazyflie/src}/timer_config.c (100%) rename {src/drivers/boards/crazyflie => boards/bitcraze/crazyflie/src}/usb.c (100%) create mode 100644 boards/emlid/navio2/cross.cmake create mode 100644 boards/emlid/navio2/native.cmake rename {src/drivers/boards/ocpoc => boards/emlid/navio2/src}/CMakeLists.txt (94%) rename {src/drivers/boards/rpi => boards/emlid/navio2/src}/board_config.h (94%) create mode 100644 boards/gumstix/aerocore2/default.cmake rename platforms/nuttx/Images/aerocore2.prototype => boards/gumstix/aerocore2/firmware.prototype (100%) rename {platforms/nuttx/nuttx-configs/aerocore2 => boards/gumstix/aerocore2/nuttx-config}/Kconfig (100%) rename {platforms/nuttx/nuttx-configs/aerocore2 => boards/gumstix/aerocore2/nuttx-config}/include/board.h (100%) mode change 100755 => 100644 rename {platforms/nuttx/nuttx-configs/aerocore2 => boards/gumstix/aerocore2/nuttx-config}/nsh/defconfig (99%) rename {platforms/nuttx/nuttx-configs/aerocore2 => boards/gumstix/aerocore2/nuttx-config}/scripts/ld.script (100%) rename {src/drivers/boards/auav-x21 => boards/gumstix/aerocore2/src}/CMakeLists.txt (100%) rename {src/drivers/boards/aerocore2 => boards/gumstix/aerocore2/src}/board_config.h (99%) rename {src/drivers/boards/aerocore2 => boards/gumstix/aerocore2/src}/can.c (100%) rename {src/drivers/boards/aerocore2 => boards/gumstix/aerocore2/src}/init.c (100%) rename {src/drivers/boards/aerocore2 => boards/gumstix/aerocore2/src}/led.c (100%) rename {src/drivers/boards/aerocore2 => boards/gumstix/aerocore2/src}/spi.c (100%) rename {src/drivers/boards/aerocore2 => boards/gumstix/aerocore2/src}/timer_config.c (100%) rename {src/drivers/boards/aerocore2 => boards/gumstix/aerocore2/src}/usb.c (100%) create mode 100644 boards/intel/aerofc-v1/default.cmake rename platforms/nuttx/Images/aerofc-v1.prototype => boards/intel/aerofc-v1/firmware.prototype (100%) rename {platforms/nuttx/nuttx-configs/aerofc-v1 => boards/intel/aerofc-v1/nuttx-config}/Kconfig (100%) rename {platforms/nuttx/nuttx-configs/aerofc-v1 => boards/intel/aerofc-v1/nuttx-config}/include/board.h (100%) rename {platforms/nuttx/nuttx-configs/aerofc-v1 => boards/intel/aerofc-v1/nuttx-config}/nsh/defconfig (99%) rename {platforms/nuttx/nuttx-configs/aerofc-v1 => boards/intel/aerofc-v1/nuttx-config}/scripts/ld.script (100%) create mode 100644 boards/intel/aerofc-v1/rtps.cmake rename {src/drivers/boards/aerofc-v1 => boards/intel/aerofc-v1/src}/CMakeLists.txt (100%) rename {src/drivers/boards/aerofc-v1 => boards/intel/aerofc-v1/src}/board_config.h (99%) rename {src/drivers/boards/aerofc-v1 => boards/intel/aerofc-v1/src}/init.c (100%) rename {src/drivers/boards/aerofc-v1 => boards/intel/aerofc-v1/src}/led.c (100%) rename {src/drivers/boards/aerofc-v1 => boards/intel/aerofc-v1/src}/spi.c (100%) rename {src/drivers/boards/aerofc-v1 => boards/intel/aerofc-v1/src}/timer_config.c (100%) create mode 100644 boards/nxp/hlite-v3/default.cmake rename platforms/nuttx/Images/nxphlite-v3.prototype => boards/nxp/hlite-v3/firmware.prototype (100%) rename {platforms/nuttx/nuttx-configs/nxphlite-v3 => boards/nxp/hlite-v3/nuttx-config}/Kconfig (100%) rename {platforms/nuttx/nuttx-configs/nxphlite-v3 => boards/nxp/hlite-v3/nuttx-config}/include/board.h (100%) rename {platforms/nuttx/nuttx-configs/nxphlite-v3 => boards/nxp/hlite-v3/nuttx-config}/nsh/defconfig (100%) rename {platforms/nuttx/nuttx-configs/nxphlite-v3 => boards/nxp/hlite-v3/nuttx-config}/scripts/ld.script (100%) rename {src/drivers/boards/nxphlite-v3 => boards/nxp/hlite-v3/src}/CMakeLists.txt (100%) rename {src/drivers/boards/nxphlite-v3 => boards/nxp/hlite-v3/src}/autoleds.c (100%) rename {src/drivers/boards/nxphlite-v3 => boards/nxp/hlite-v3/src}/automount.c (100%) rename {src/drivers/boards/nxphlite-v3 => boards/nxp/hlite-v3/src}/board_config.h (99%) rename {src/drivers/boards/nxphlite-v3 => boards/nxp/hlite-v3/src}/can.c (100%) rename {src/drivers/boards/nxphlite-v3 => boards/nxp/hlite-v3/src}/init.c (100%) rename {src/drivers/boards/nxphlite-v3 => boards/nxp/hlite-v3/src}/led.c (100%) rename {src/drivers/boards/nxphlite-v3 => boards/nxp/hlite-v3/src}/sdhc.c (100%) rename {src/drivers/boards/nxphlite-v3 => boards/nxp/hlite-v3/src}/spi.c (100%) rename {src/drivers/boards/nxphlite-v3 => boards/nxp/hlite-v3/src}/timer_config.c (100%) rename {src/drivers/boards/nxphlite-v3 => boards/nxp/hlite-v3/src}/usb.c (100%) create mode 100644 boards/omnibus/f4sd/default.cmake rename platforms/nuttx/Images/omnibus-f4sd.prototype => boards/omnibus/f4sd/firmware.prototype (100%) rename {platforms/nuttx/nuttx-configs/omnibus-f4sd => boards/omnibus/f4sd/nuttx-config}/include/board.h (100%) rename {platforms/nuttx/nuttx-configs/omnibus-f4sd => boards/omnibus/f4sd/nuttx-config}/nsh/defconfig (99%) rename {platforms/nuttx/nuttx-configs/omnibus-f4sd => boards/omnibus/f4sd/nuttx-config}/scripts/ld.script (100%) rename {src/drivers/boards/omnibus-f4sd => boards/omnibus/f4sd/src}/CMakeLists.txt (100%) rename {src/drivers/boards/omnibus-f4sd => boards/omnibus/f4sd/src}/board_config.h (99%) rename {src/drivers/boards/omnibus-f4sd => boards/omnibus/f4sd/src}/init.c (100%) rename {src/drivers/boards/omnibus-f4sd => boards/omnibus/f4sd/src}/led.c (100%) rename {src/drivers/boards/omnibus-f4sd => boards/omnibus/f4sd/src}/spi.c (100%) rename {src/drivers/boards/omnibus-f4sd => boards/omnibus/f4sd/src}/timer_config.c (100%) rename {src/drivers/boards/omnibus-f4sd => boards/omnibus/f4sd/src}/usb.c (100%) create mode 100644 boards/parrot/bebop/default.cmake rename {src/drivers/boards/sim => boards/parrot/bebop/src}/CMakeLists.txt (94%) rename {src/drivers/boards/bebop => boards/parrot/bebop/src}/board_config.h (97%) rename cmake/configs/nuttx_px4cannode-v1_default.cmake => boards/px4/cannode-v1/default.cmake (71%) rename platforms/nuttx/Images/px4cannode-v1.prototype => boards/px4/cannode-v1/firmware.prototype (100%) rename {platforms/nuttx/nuttx-configs/px4cannode-v1 => boards/px4/cannode-v1/nuttx-config}/Kconfig (100%) rename {platforms/nuttx/nuttx-configs/px4cannode-v1 => boards/px4/cannode-v1/nuttx-config}/include/README.txt (100%) mode change 100755 => 100644 rename {platforms/nuttx/nuttx-configs/px4cannode-v1 => boards/px4/cannode-v1/nuttx-config}/include/board.h (100%) mode change 100755 => 100644 rename {platforms/nuttx/nuttx-configs/px4cannode-v1 => boards/px4/cannode-v1/nuttx-config}/nsh/defconfig (100%) rename {platforms/nuttx/nuttx-configs/px4cannode-v1 => boards/px4/cannode-v1/nuttx-config}/nsh/defconfig.nonsh (100%) rename {platforms/nuttx/nuttx-configs/px4cannode-v1 => boards/px4/cannode-v1/nuttx-config}/nsh/defconfig.nsh (100%) rename {platforms/nuttx/nuttx-configs/px4cannode-v1 => boards/px4/cannode-v1/nuttx-config}/scripts/ld.script (100%) rename {src/drivers/boards/px4cannode-v1 => boards/px4/cannode-v1/src}/CMakeLists.txt (100%) rename {src/drivers/boards/px4cannode-v1 => boards/px4/cannode-v1/src}/board_config.h (99%) rename {src/drivers/boards/px4cannode-v1 => boards/px4/cannode-v1/src}/buttons.c (100%) rename {src/drivers/boards/px4cannode-v1 => boards/px4/cannode-v1/src}/can.c (100%) rename {src/drivers/boards/px4cannode-v1 => boards/px4/cannode-v1/src}/init.c (100%) rename {src/drivers/boards/px4cannode-v1 => boards/px4/cannode-v1/src}/led.c (100%) rename {src/drivers/boards/px4cannode-v1 => boards/px4/cannode-v1/src}/spi.c (100%) rename cmake/configs/nuttx_px4esc-v1_default.cmake => boards/px4/esc-v1/default.cmake (62%) rename platforms/nuttx/Images/px4esc-v1.prototype => boards/px4/esc-v1/firmware.prototype (100%) rename {platforms/nuttx/nuttx-configs/px4esc-v1 => boards/px4/esc-v1/nuttx-config}/Kconfig (100%) rename {platforms/nuttx/nuttx-configs/px4esc-v1 => boards/px4/esc-v1/nuttx-config}/include/README.txt (100%) mode change 100755 => 100644 rename {platforms/nuttx/nuttx-configs/px4esc-v1 => boards/px4/esc-v1/nuttx-config}/include/board.h (100%) mode change 100755 => 100644 rename {platforms/nuttx/nuttx-configs/px4esc-v1 => boards/px4/esc-v1/nuttx-config}/nsh/defconfig (100%) rename {platforms/nuttx/nuttx-configs/px4esc-v1 => boards/px4/esc-v1/nuttx-config}/scripts/ld.script (100%) rename {src/drivers/boards/px4esc-v1 => boards/px4/esc-v1/src}/CMakeLists.txt (100%) rename {src/drivers/boards/px4esc-v1 => boards/px4/esc-v1/src}/board_config.h (99%) rename {src/drivers/boards/px4esc-v1 => boards/px4/esc-v1/src}/init.c (100%) rename {src/drivers/boards/px4esc-v1 => boards/px4/esc-v1/src}/led.c (100%) rename {src/drivers/boards/px4esc-v1 => boards/px4/esc-v1/src}/usb.c (100%) create mode 100644 boards/px4/fmu-v2/default.cmake rename platforms/nuttx/Images/px4fmu-v2.prototype => boards/px4/fmu-v2/firmware.prototype (52%) create mode 100644 boards/px4/fmu-v2/lpe.cmake rename {platforms/nuttx/nuttx-configs/px4fmu-v2 => boards/px4/fmu-v2/nuttx-config}/Kconfig (100%) rename {platforms/nuttx/nuttx-configs/px4fmu-v2 => boards/px4/fmu-v2/nuttx-config}/include/board.h (100%) mode change 100755 => 100644 rename {platforms/nuttx/nuttx-configs/px4fmu-v2 => boards/px4/fmu-v2/nuttx-config}/nsh/defconfig (100%) rename {platforms/nuttx/nuttx-configs/px4fmu-v2 => boards/px4/fmu-v2/nuttx-config}/scripts/ld.script (100%) rename {src/drivers/boards/px4fmu-v2 => boards/px4/fmu-v2/src}/CMakeLists.txt (100%) rename {src/drivers/boards/px4fmu-v2 => boards/px4/fmu-v2/src}/board_config.h (99%) rename {src/drivers/boards/px4fmu-v2 => boards/px4/fmu-v2/src}/can.c (100%) rename {src/drivers/boards/px4fmu-v2 => boards/px4/fmu-v2/src}/i2c.c (100%) rename {src/drivers/boards/px4fmu-v2 => boards/px4/fmu-v2/src}/init.c (100%) rename {src/drivers/boards/px4fmu-v2 => boards/px4/fmu-v2/src}/led.c (100%) rename {src/drivers/boards/px4fmu-v2 => boards/px4/fmu-v2/src}/manifest.c (100%) rename {src/drivers/boards/px4fmu-v2 => boards/px4/fmu-v2/src}/spi.c (100%) rename {src/drivers/boards/px4fmu-v2 => boards/px4/fmu-v2/src}/timer_config.c (100%) rename {src/drivers/boards/px4fmu-v2 => boards/px4/fmu-v2/src}/usb.c (100%) create mode 100644 boards/px4/fmu-v2/test.cmake create mode 100644 boards/px4/fmu-v3/default.cmake rename platforms/nuttx/Images/px4fmu-v3.prototype => boards/px4/fmu-v3/firmware.prototype (100%) rename {platforms/nuttx/nuttx-configs/px4nucleoF767ZI-v1 => boards/px4/fmu-v3/nuttx-config}/Kconfig (94%) rename {platforms/nuttx/nuttx-configs/px4flow-v2 => boards/px4/fmu-v3/nuttx-config}/include/board.h (62%) mode change 100755 => 100644 create mode 100644 boards/px4/fmu-v3/nuttx-config/nsh/defconfig rename {platforms/nuttx/nuttx-configs/px4fmu-v4 => boards/px4/fmu-v3/nuttx-config}/scripts/ld.script (93%) rename {platforms/nuttx/nuttx-configs/px4fmu-v2 => boards/px4/fmu-v3/nuttx-config}/stackcheck/defconfig (99%) create mode 100644 boards/px4/fmu-v3/rtps.cmake rename {src/drivers/boards/zubaxgnss-v1 => boards/px4/fmu-v3/src}/CMakeLists.txt (88%) create mode 100644 boards/px4/fmu-v3/src/board_config.h rename {src/drivers/boards/px4fmu-v4 => boards/px4/fmu-v3/src}/can.c (100%) rename platforms/nuttx/nuttx-configs/aerofc-v1/include/nsh_romfsimg.h => boards/px4/fmu-v3/src/i2c.c (81%) create mode 100644 boards/px4/fmu-v3/src/init.c create mode 100644 boards/px4/fmu-v3/src/led.c create mode 100644 boards/px4/fmu-v3/src/manifest.c create mode 100644 boards/px4/fmu-v3/src/spi.c create mode 100644 boards/px4/fmu-v3/src/timer_config.c rename {src/drivers/boards/px4fmu-v4pro => boards/px4/fmu-v3/src}/usb.c (100%) create mode 100644 boards/px4/fmu-v3/stackcheck.cmake create mode 100644 boards/px4/fmu-v4/default.cmake rename platforms/nuttx/Images/px4fmu-v4.prototype => boards/px4/fmu-v4/firmware.prototype (100%) rename {platforms/nuttx/nuttx-configs/px4fmu-v4 => boards/px4/fmu-v4/nuttx-config}/include/board.h (100%) mode change 100755 => 100644 rename {platforms/nuttx/nuttx-configs/px4fmu-v4 => boards/px4/fmu-v4/nuttx-config}/nsh/defconfig (100%) rename {platforms/nuttx/nuttx-configs/mindpx-v2 => boards/px4/fmu-v4/nuttx-config}/scripts/ld.script (92%) rename {platforms/nuttx/nuttx-configs/px4fmu-v4 => boards/px4/fmu-v4/nuttx-config}/stackcheck/defconfig (100%) create mode 100644 boards/px4/fmu-v4/rtps.cmake rename {src/drivers/boards/px4fmu-v4 => boards/px4/fmu-v4/src}/CMakeLists.txt (100%) rename {src/drivers/boards/px4fmu-v4 => boards/px4/fmu-v4/src}/board_config.h (99%) rename {src/drivers/boards/px4fmu-v4pro => boards/px4/fmu-v4/src}/can.c (100%) rename {src/drivers/boards/px4fmu-v4 => boards/px4/fmu-v4/src}/init.c (100%) rename {src/drivers/boards/px4fmu-v4 => boards/px4/fmu-v4/src}/led.c (100%) rename {src/drivers/boards/px4fmu-v4 => boards/px4/fmu-v4/src}/spi.c (100%) rename {src/drivers/boards/px4fmu-v4 => boards/px4/fmu-v4/src}/timer_config.c (100%) rename {src/drivers/boards/px4fmu-v4 => boards/px4/fmu-v4/src}/usb.c (100%) create mode 100644 boards/px4/fmu-v4/stackcheck.cmake create mode 100644 boards/px4/fmu-v4pro/default.cmake rename platforms/nuttx/Images/px4fmu-v4pro.prototype => boards/px4/fmu-v4pro/firmware.prototype (100%) rename {platforms/nuttx/nuttx-configs/px4fmu-v4pro => boards/px4/fmu-v4pro/nuttx-config}/Kconfig (100%) rename {platforms/nuttx/nuttx-configs/px4fmu-v4pro => boards/px4/fmu-v4pro/nuttx-config}/include/board.h (100%) rename {platforms/nuttx/nuttx-configs/px4fmu-v4pro => boards/px4/fmu-v4pro/nuttx-config}/nsh/defconfig (100%) rename {platforms/nuttx/nuttx-configs/px4fmu-v4pro => boards/px4/fmu-v4pro/nuttx-config}/scripts/ld.script (93%) create mode 100644 boards/px4/fmu-v4pro/rtps.cmake rename {src/drivers/boards/px4fmu-v4pro => boards/px4/fmu-v4pro/src}/CMakeLists.txt (100%) rename {src/drivers/boards/px4fmu-v4pro => boards/px4/fmu-v4pro/src}/board_config.h (99%) rename {src/drivers/boards/s2740vc-v1 => boards/px4/fmu-v4pro/src}/can.c (94%) rename {src/drivers/boards/px4fmu-v4pro => boards/px4/fmu-v4pro/src}/init.c (100%) rename {src/drivers/boards/px4fmu-v4pro => boards/px4/fmu-v4pro/src}/led.c (100%) rename {src/drivers/boards/px4fmu-v4pro => boards/px4/fmu-v4pro/src}/spi.c (100%) rename {src/drivers/boards/px4fmu-v4pro => boards/px4/fmu-v4pro/src}/timer_config.c (100%) create mode 100644 boards/px4/fmu-v4pro/src/usb.c create mode 100644 boards/px4/fmu-v5/default.cmake rename platforms/nuttx/Images/px4fmu-v5.prototype => boards/px4/fmu-v5/firmware.prototype (100%) rename {platforms/nuttx/nuttx-configs/px4fmu-v5 => boards/px4/fmu-v5/nuttx-config}/Kconfig (100%) rename {platforms/nuttx/nuttx-configs/px4fmu-v5 => boards/px4/fmu-v5/nuttx-config}/include/board.h (100%) mode change 100755 => 100644 rename {platforms/nuttx/nuttx-configs/px4fmu-v5 => boards/px4/fmu-v5/nuttx-config}/nsh/defconfig (100%) rename {platforms/nuttx/nuttx-configs/px4fmu-v5 => boards/px4/fmu-v5/nuttx-config}/scripts/ld.script (99%) rename {platforms/nuttx/nuttx-configs/px4fmu-v5 => boards/px4/fmu-v5/nuttx-config}/stackcheck/defconfig (100%) create mode 100644 boards/px4/fmu-v5/rtps.cmake rename {src/drivers/boards/px4fmu-v5 => boards/px4/fmu-v5/src}/CMakeLists.txt (100%) rename {src/drivers/boards/px4fmu-v5 => boards/px4/fmu-v5/src}/board_config.h (99%) rename {src/drivers/boards/px4fmu-v5 => boards/px4/fmu-v5/src}/can.c (100%) rename {src/drivers/boards/px4fmu-v5 => boards/px4/fmu-v5/src}/init.c (100%) rename {src/drivers/boards/px4fmu-v5 => boards/px4/fmu-v5/src}/led.c (100%) rename {src/drivers/boards/px4fmu-v5 => boards/px4/fmu-v5/src}/manifest.c (100%) rename {src/drivers/boards/px4fmu-v5 => boards/px4/fmu-v5/src}/sdio.c (100%) rename {src/drivers/boards/px4fmu-v5 => boards/px4/fmu-v5/src}/spi.c (100%) rename {src/drivers/boards/px4fmu-v5 => boards/px4/fmu-v5/src}/timer_config.c (100%) rename {src/drivers/boards/px4fmu-v5 => boards/px4/fmu-v5/src}/usb.c (100%) create mode 100644 boards/px4/fmu-v5/stackcheck.cmake create mode 100644 boards/px4/io-v2/default.cmake rename platforms/nuttx/Images/px4io-v2.prototype => boards/px4/io-v2/firmware.prototype (100%) rename {platforms/nuttx/nuttx-configs/px4io-v2 => boards/px4/io-v2/nuttx-config}/include/board.h (100%) mode change 100755 => 100644 rename {platforms/nuttx/nuttx-configs/px4io-v2 => boards/px4/io-v2/nuttx-config}/nsh/defconfig (100%) mode change 100755 => 100644 rename {platforms/nuttx/nuttx-configs/px4io-v2 => boards/px4/io-v2/nuttx-config}/scripts/ld.script (100%) mode change 100755 => 100644 rename {src/drivers/boards/px4io-v2 => boards/px4/io-v2/src}/CMakeLists.txt (100%) rename {src/drivers/boards/px4io-v2 => boards/px4/io-v2/src}/board_config.h (99%) rename {src/drivers/boards/px4io-v2 => boards/px4/io-v2/src}/init.c (100%) rename {src/drivers/boards/px4io-v2 => boards/px4/io-v2/src}/timer_config.c (100%) create mode 100644 boards/px4/raspberrypi/cross.cmake create mode 100644 boards/px4/raspberrypi/native.cmake rename {src/drivers/boards/bebop => boards/px4/raspberrypi/src}/CMakeLists.txt (94%) create mode 100644 boards/px4/raspberrypi/src/board_config.h create mode 100644 boards/px4/sitl/default.cmake create mode 100644 boards/px4/sitl/rtps.cmake rename {src/drivers/boards/eagle => boards/px4/sitl/src}/CMakeLists.txt (94%) rename {src/drivers/boards/sitl => boards/px4/sitl/src}/board_config.h (98%) rename {src/drivers/boards/eagle => boards/px4/sitl/src}/sitl_led.c (100%) create mode 100644 boards/px4/sitl/test.cmake create mode 100644 boards/stm/32f4discovery/default.cmake rename platforms/nuttx/Images/px4-stm32f4discovery.prototype => boards/stm/32f4discovery/firmware.prototype (87%) rename {platforms/nuttx/nuttx-configs/px4-stm32f4discovery => boards/stm/32f4discovery/nuttx-config}/include/board.h (100%) rename {platforms/nuttx/nuttx-configs/px4-stm32f4discovery => boards/stm/32f4discovery/nuttx-config}/nsh/defconfig (99%) rename {platforms/nuttx/nuttx-configs/px4-stm32f4discovery => boards/stm/32f4discovery/nuttx-config}/scripts/ld.script (100%) rename {src/drivers/boards/px4-stm32f4discovery => boards/stm/32f4discovery/src}/CMakeLists.txt (99%) rename {src/drivers/boards/px4-stm32f4discovery => boards/stm/32f4discovery/src}/board_config.h (99%) rename {src/drivers/boards/px4-stm32f4discovery => boards/stm/32f4discovery/src}/init.c (100%) rename {src/drivers/boards/px4-stm32f4discovery => boards/stm/32f4discovery/src}/led.c (100%) create mode 100644 boards/stm/32f4discovery/src/timer_config.c rename {src/drivers/boards/px4-stm32f4discovery => boards/stm/32f4discovery/src}/usb.c (100%) create mode 100644 boards/stm/nucleo-F767ZI/default.cmake rename platforms/nuttx/Images/px4nucleoF767ZI-v1.prototype => boards/stm/nucleo-F767ZI/firmware.prototype (64%) rename {platforms/nuttx/nuttx-configs/px4nucleoF767ZI-v1 => boards/stm/nucleo-F767ZI/nuttx-config}/include/board.h (99%) mode change 100755 => 100644 rename {platforms/nuttx/nuttx-configs/px4nucleoF767ZI-v1 => boards/stm/nucleo-F767ZI/nuttx-config}/nsh/defconfig (99%) rename {platforms/nuttx/nuttx-configs/px4nucleoF767ZI-v1 => boards/stm/nucleo-F767ZI/nuttx-config}/scripts/ld.script (100%) rename {src/drivers/boards/px4nucleoF767ZI-v1 => boards/stm/nucleo-F767ZI/src}/CMakeLists.txt (100%) rename {src/drivers/boards/px4nucleoF767ZI-v1 => boards/stm/nucleo-F767ZI/src}/board_config.h (99%) rename {src/drivers/boards/px4nucleoF767ZI-v1 => boards/stm/nucleo-F767ZI/src}/can.c (100%) rename {src/drivers/boards/px4nucleoF767ZI-v1 => boards/stm/nucleo-F767ZI/src}/init.c (100%) rename {src/drivers/boards/px4nucleoF767ZI-v1 => boards/stm/nucleo-F767ZI/src}/led.c (100%) rename {src/drivers/boards/px4nucleoF767ZI-v1 => boards/stm/nucleo-F767ZI/src}/sdio.c (100%) rename {src/drivers/boards/px4nucleoF767ZI-v1 => boards/stm/nucleo-F767ZI/src}/spi.c (100%) rename {src/drivers/boards/px4nucleoF767ZI-v1 => boards/stm/nucleo-F767ZI/src}/timer_config.c (100%) rename {src/drivers/boards/px4nucleoF767ZI-v1 => boards/stm/nucleo-F767ZI/src}/usb.c (100%) rename cmake/configs/nuttx_s2740vc-v1_default.cmake => boards/thiemar/s2740vc-v1/default.cmake (68%) rename platforms/nuttx/Images/s2740vc-v1.prototype => boards/thiemar/s2740vc-v1/firmware.prototype (100%) rename {platforms/nuttx/nuttx-configs/s2740vc-v1 => boards/thiemar/s2740vc-v1/nuttx-config}/Kconfig (100%) rename {platforms/nuttx/nuttx-configs/s2740vc-v1 => boards/thiemar/s2740vc-v1/nuttx-config}/include/README.txt (100%) mode change 100755 => 100644 rename {platforms/nuttx/nuttx-configs/s2740vc-v1 => boards/thiemar/s2740vc-v1/nuttx-config}/include/board.h (100%) mode change 100755 => 100644 rename {platforms/nuttx/nuttx-configs/s2740vc-v1 => boards/thiemar/s2740vc-v1/nuttx-config}/nsh/IMPORTANT_README.txt (100%) mode change 100755 => 100644 rename {platforms/nuttx/nuttx-configs/s2740vc-v1 => boards/thiemar/s2740vc-v1/nuttx-config}/nsh/defconfig (99%) rename {platforms/nuttx/nuttx-configs/s2740vc-v1 => boards/thiemar/s2740vc-v1/nuttx-config}/scripts/ld.script (100%) rename {src/drivers/boards/s2740vc-v1 => boards/thiemar/s2740vc-v1/src}/CMakeLists.txt (100%) rename {src/drivers/boards/s2740vc-v1 => boards/thiemar/s2740vc-v1/src}/board_config.h (99%) rename {src/drivers/boards/px4flow-v2 => boards/thiemar/s2740vc-v1/src}/can.c (100%) rename {src/drivers/boards/s2740vc-v1 => boards/thiemar/s2740vc-v1/src}/init.c (100%) delete mode 100644 cmake/configs/nuttx_aerocore2_default.cmake delete mode 100644 cmake/configs/nuttx_aerofc-v1_default.cmake delete mode 100644 cmake/configs/nuttx_aerofc-v1_rtps.cmake delete mode 100644 cmake/configs/nuttx_auav-x21_default.cmake delete mode 100644 cmake/configs/nuttx_av-x-v1_default.cmake delete mode 100644 cmake/configs/nuttx_crazyflie_default.cmake delete mode 100644 cmake/configs/nuttx_mindpx-v2_default.cmake delete mode 100644 cmake/configs/nuttx_nxphlite-v3_default.cmake delete mode 100644 cmake/configs/nuttx_omnibus-f4sd_default.cmake delete mode 100644 cmake/configs/nuttx_px4-same70xplained-v1_default.cmake delete mode 100644 cmake/configs/nuttx_px4-stm32f4discovery_default.cmake delete mode 100644 cmake/configs/nuttx_px4fmu-v2_default.cmake delete mode 100644 cmake/configs/nuttx_px4fmu-v2_lpe.cmake delete mode 100644 cmake/configs/nuttx_px4fmu-v2_test.cmake delete mode 100644 cmake/configs/nuttx_px4fmu-v3_default.cmake delete mode 100644 cmake/configs/nuttx_px4fmu-v3_rtps.cmake delete mode 100644 cmake/configs/nuttx_px4fmu-v3_stackcheck.cmake delete mode 100644 cmake/configs/nuttx_px4fmu-v4_default.cmake delete mode 100644 cmake/configs/nuttx_px4fmu-v4_rtps.cmake delete mode 100644 cmake/configs/nuttx_px4fmu-v4_stackcheck.cmake delete mode 100644 cmake/configs/nuttx_px4fmu-v4pro_default.cmake delete mode 100644 cmake/configs/nuttx_px4fmu-v4pro_rtps.cmake delete mode 100644 cmake/configs/nuttx_px4fmu-v5_default.cmake delete mode 100644 cmake/configs/nuttx_px4fmu-v5_rtps.cmake delete mode 100644 cmake/configs/nuttx_px4fmu-v5_stackcheck.cmake delete mode 100644 cmake/configs/nuttx_px4io-v2_default.cmake delete mode 100644 cmake/configs/nuttx_px4nucleoF767ZI-v1_default.cmake delete mode 100644 cmake/configs/posix_bbblue_common.cmake delete mode 100644 cmake/configs/posix_bbblue_cross.cmake delete mode 100644 cmake/configs/posix_bbblue_native.cmake delete mode 100644 cmake/configs/posix_bebop_default.cmake delete mode 100644 cmake/configs/posix_eagle_default.cmake delete mode 100644 cmake/configs/posix_eagle_hil.cmake delete mode 100644 cmake/configs/posix_eagle_legacy.cmake delete mode 100644 cmake/configs/posix_eagle_muorb.cmake delete mode 100644 cmake/configs/posix_excelsior_default.cmake delete mode 100644 cmake/configs/posix_excelsior_legacy.cmake delete mode 100644 cmake/configs/posix_ocpoc_cross.cmake delete mode 100644 cmake/configs/posix_ocpoc_ubuntu.cmake delete mode 100644 cmake/configs/posix_rpi_common.cmake delete mode 100644 cmake/configs/posix_rpi_cross.cmake delete mode 100644 cmake/configs/posix_rpi_cross_no_shield.cmake delete mode 100644 cmake/configs/posix_rpi_native.cmake delete mode 100644 cmake/configs/posix_sdflight_default.cmake delete mode 100644 cmake/configs/posix_sdflight_legacy.cmake delete mode 100644 cmake/configs/posix_sdflight_rtps.cmake delete mode 100644 cmake/configs/posix_sitl_broadcast.cmake delete mode 100644 cmake/configs/posix_sitl_default.cmake delete mode 100644 cmake/configs/posix_sitl_rtps.cmake delete mode 100644 cmake/configs/posix_sitl_test.cmake delete mode 100644 cmake/configs/qurt_eagle_default.cmake delete mode 100644 cmake/configs/qurt_eagle_hello.cmake delete mode 100644 cmake/configs/qurt_eagle_hil.cmake delete mode 100644 cmake/configs/qurt_eagle_legacy.cmake delete mode 100644 cmake/configs/qurt_eagle_muorb.cmake delete mode 100644 cmake/configs/qurt_eagle_test.cmake delete mode 100644 cmake/configs/qurt_eagle_travis.cmake delete mode 100644 cmake/configs/qurt_excelsior_default.cmake delete mode 100644 cmake/configs/qurt_excelsior_legacy.cmake delete mode 100644 cmake/configs/qurt_sdflight_default.cmake delete mode 100644 cmake/configs/qurt_sdflight_legacy.cmake rename cmake/{common => }/coverage.cmake (100%) create mode 100644 cmake/px4_add_board.cmake rename cmake/{common => }/px4_base.cmake (85%) rename cmake/{common => }/px4_git.cmake (99%) create mode 100644 cmake/px4_make_uavcan_bootloader.cmake rename cmake/{common => }/px4_metadata.cmake (98%) rename cmake/{common => }/sanitizers.cmake (100%) delete mode 100644 cmake/toolchains/Toolchain-arm-linux-gnueabihf.cmake delete mode 100644 cmake/toolchains/Toolchain-arm-none-eabi.cmake delete mode 100644 cmake/toolchains/Toolchain-arm-xilinx-linux-gnueabi.cmake delete mode 100644 cmake/toolchains/Toolchain-gcc-arm-linux-gnueabihf.cmake delete mode 100644 platforms/nuttx/Images/px4flow-v2.prototype delete mode 100644 platforms/nuttx/Images/zubaxgnss-v1.prototype rename platforms/nuttx/{nuttx-configs => NuttX}/Make.defs.in (79%) rename platforms/nuttx/{nuttx-configs/aerocore2/include => NuttX}/nsh_romfsimg.h (100%) delete mode 100755 platforms/nuttx/NuttX/tools/new_nuttx_px_config.sh create mode 100644 platforms/nuttx/cmake/Platform/Generic-arm-none-eabi-gcc-cortex-m3.cmake create mode 100644 platforms/nuttx/cmake/Platform/Generic-arm-none-eabi-gcc-cortex-m4.cmake create mode 100644 platforms/nuttx/cmake/Platform/Generic-arm-none-eabi-gcc-cortex-m7.cmake create mode 100644 platforms/nuttx/cmake/Toolchain-arm-none-eabi.cmake create mode 100644 platforms/nuttx/cmake/px4_add_board_os.cmake delete mode 100644 platforms/nuttx/nuttx-configs/auav-x21/include/nsh_romfsimg.h delete mode 100644 platforms/nuttx/nuttx-configs/av-x-v1/include/nsh_romfsimg.h delete mode 100644 platforms/nuttx/nuttx-configs/crazyflie/include/nsh_romfsimg.h delete mode 100644 platforms/nuttx/nuttx-configs/mindpx-v2/include/nsh_romfsimg.h delete mode 100644 platforms/nuttx/nuttx-configs/nxphlite-v3/include/nsh_romfsimg.h delete mode 100644 platforms/nuttx/nuttx-configs/omnibus-f4sd/include/nsh_romfsimg.h delete mode 100644 platforms/nuttx/nuttx-configs/px4-same70xplained-v1/Kconfig delete mode 100644 platforms/nuttx/nuttx-configs/px4-same70xplained-v1/include/nsh_romfsimg.h delete mode 100755 platforms/nuttx/nuttx-configs/px4-same70xplained-v1/nsh/setenv.sh delete mode 100644 platforms/nuttx/nuttx-configs/px4-same70xplained-v1/scripts/flash-dtcm.ld delete mode 100644 platforms/nuttx/nuttx-configs/px4-same70xplained-v1/scripts/flash-sram.ld delete mode 100644 platforms/nuttx/nuttx-configs/px4-same70xplained-v1/scripts/gnu-elf.ld delete mode 100644 platforms/nuttx/nuttx-configs/px4-same70xplained-v1/scripts/kernel-space.ld delete mode 100644 platforms/nuttx/nuttx-configs/px4-same70xplained-v1/scripts/memory.ld delete mode 100644 platforms/nuttx/nuttx-configs/px4-same70xplained-v1/scripts/user-space.ld delete mode 100644 platforms/nuttx/nuttx-configs/px4-stm32f4discovery/include/nsh_romfsimg.h delete mode 100644 platforms/nuttx/nuttx-configs/px4flow-v2/Kconfig delete mode 100755 platforms/nuttx/nuttx-configs/px4flow-v2/include/README.txt delete mode 100644 platforms/nuttx/nuttx-configs/px4flow-v2/nsh/defconfig delete mode 100644 platforms/nuttx/nuttx-configs/px4flow-v2/scripts/ld.script delete mode 100644 platforms/nuttx/nuttx-configs/px4fmu-v2/include/nsh_romfsimg.h delete mode 100644 platforms/nuttx/nuttx-configs/px4fmu-v4/include/nsh_romfsimg.h delete mode 100644 platforms/nuttx/nuttx-configs/px4fmu-v4pro/include/nsh_romfsimg.h delete mode 100644 platforms/nuttx/nuttx-configs/px4fmu-v5/include/nsh_romfsimg.h delete mode 100644 platforms/nuttx/nuttx-configs/px4nucleoF767ZI-v1/include/nsh_romfsimg.h delete mode 100644 platforms/nuttx/nuttx-configs/zubaxgnss-v1/Kconfig delete mode 100755 platforms/nuttx/nuttx-configs/zubaxgnss-v1/include/README.txt delete mode 100755 platforms/nuttx/nuttx-configs/zubaxgnss-v1/include/board.h delete mode 100644 platforms/nuttx/nuttx-configs/zubaxgnss-v1/nsh/defconfig delete mode 100644 platforms/nuttx/nuttx-configs/zubaxgnss-v1/scripts/ld.script create mode 100644 platforms/posix/cmake/Platform/Linux-arm-linux-gnueabihf-cortex-a53.cmake create mode 100644 platforms/posix/cmake/Platform/Linux-arm-linux-gnueabihf-cortex-a8.cmake create mode 100644 platforms/posix/cmake/Platform/Linux-arm-linux-gnueabihf-cortex-a9.cmake create mode 100644 platforms/posix/cmake/Toolchain-arm-linux-gnueabihf.cmake rename {cmake/toolchains => platforms/posix/cmake}/Toolchain-native.cmake (100%) create mode 100644 platforms/posix/cmake/px4_add_board_os.cmake create mode 100644 platforms/qurt/cmake/px4_add_board_os.cmake delete mode 100644 src/drivers/boards/px4flow-v2/board_config.h delete mode 100644 src/drivers/boards/px4flow-v2/init.c delete mode 100644 src/drivers/boards/px4flow-v2/led.c delete mode 100644 src/drivers/boards/zubaxgnss-v1/board_config.h delete mode 100644 src/drivers/boards/zubaxgnss-v1/gnss_init.c delete mode 100644 src/drivers/boards/zubaxgnss-v1/gnss_led.c rename src/{drivers/boards/px4flow-v2 => modules/commander/failure_detector}/CMakeLists.txt (93%) diff --git a/.ci/Jenkinsfile-SITL_tests b/.ci/Jenkinsfile-SITL_tests index 25a3aafb9c..2d092fec86 100644 --- a/.ci/Jenkinsfile-SITL_tests +++ b/.ci/Jenkinsfile-SITL_tests @@ -30,7 +30,7 @@ pipeline { sh('make distclean') sh "ccache -z" sh "git fetch --tags" - sh('make posix_sitl_default') + sh('make px4sitl_default') sh "ccache -s" } } @@ -47,8 +47,8 @@ pipeline { stage('unit tests') { steps { sh 'export' - sh 'make posix_sitl_default test_results_junit' - junit 'build/posix_sitl_default/JUnitTestResults.xml' + sh 'make px4sitl_default test_results_junit' + junit 'build/px4sitl_default/JUnitTestResults.xml' } } @@ -56,7 +56,7 @@ pipeline { steps { sh 'export' sh "ccache -z" - sh('make posix_sitl_default sitl_gazebo') + sh('make px4sitl_default sitl_gazebo') sh "ccache -s" } } @@ -64,8 +64,8 @@ pipeline { stage('package') { steps { sh 'export' - sh('make posix_sitl_default package') - stash(name: "px4_sitl_package", includes: "build/posix_sitl_default/*.bz2") + sh('make px4sitl_default package') + stash(name: "px4_sitl_package", includes: "build/px4sitl_default/*.bz2") } } @@ -176,7 +176,7 @@ pipeline { steps { sh 'export' sh 'make distclean' - sh 'make posix_sitl_default test_results_junit' + sh 'make px4sitl_default test_results_junit' withCredentials([string(credentialsId: 'FIRMWARE_CODECOV_TOKEN', variable: 'CODECOV_TOKEN')]) { sh 'curl -s https://codecov.io/bash | bash -s - -F unittest' } @@ -221,11 +221,11 @@ def createTestNode(Map test_def) { } unstash('px4_sitl_package') - sh('tar -xjpvf build/posix_sitl_default/px4-posix_sitl_default*.bz2') + sh('tar -xjpvf build/px4sitl_default/px4-px4sitl_default*.bz2') // run test try { - sh('px4-posix_sitl_default*/px4/test/rostest_px4_run.sh ' + test_def.test + ' mission:=' + test_def.mission + ' vehicle:=' + test_def.vehicle) + sh('px4-px4sitl_default*/px4/test/rostest_px4_run.sh ' + test_def.test + ' mission:=' + test_def.mission + ' vehicle:=' + test_def.vehicle) } catch (exc) { // save all test artifacts for debugging @@ -240,7 +240,7 @@ def createTestNode(Map test_def) { // process log data (with python code coverage) try { - sh('coverage run -p px4-posix_sitl_default*/px4/Tools/ecl_ekf/process_logdata_ekf.py .ros/log/*/*.ulg') + sh('coverage run -p px4-px4sitl_default*/px4/Tools/ecl_ekf/process_logdata_ekf.py .ros/log/*/*.ulg') } catch (exc) { // save log analysis artifacts for debugging archiveArtifacts(allowEmptyArchive: false, artifacts: '.ros/**/*.pdf, .ros/**/*.csv') @@ -249,7 +249,7 @@ def createTestNode(Map test_def) { } // upload log to flight review (https://logs.px4.io/) with python code coverage - sh('coverage run -p px4-posix_sitl_default*/px4/Tools/upload_log.py -q --description "${JOB_NAME}: ${STAGE_NAME}" --feedback "${JOB_NAME} ${CHANGE_TITLE} ${CHANGE_URL}" --source CI .ros/log/*/*.ulg') + sh('coverage run -p px4-px4sitl_default*/px4/Tools/upload_log.py -q --description "${JOB_NAME}: ${STAGE_NAME}" --feedback "${JOB_NAME} ${CHANGE_TITLE} ${CHANGE_URL}" --source CI .ros/log/*/*.ulg') // upload python code coverage to codecov.io sh 'curl -s https://codecov.io/bash | bash -s - -X gcov -F sitl_python_${STAGE_NAME}' @@ -257,7 +257,7 @@ def createTestNode(Map test_def) { } else { // non code coverage // process ekf log data try { - sh('px4-posix_sitl_default*/px4/Tools/ecl_ekf/process_logdata_ekf.py .ros/log/*/*.ulg') + sh('px4-px4sitl_default*/px4/Tools/ecl_ekf/process_logdata_ekf.py .ros/log/*/*.ulg') } catch (exc) { // save log analysis artifacts for debugging archiveArtifacts(allowEmptyArchive: false, artifacts: '.ros/**/*.pdf, .ros/**/*.csv') @@ -266,7 +266,7 @@ def createTestNode(Map test_def) { } // upload log to flight review (https://logs.px4.io/) - sh('px4-posix_sitl_default*/px4/Tools/upload_log.py -q --description "${JOB_NAME}: ${STAGE_NAME}" --feedback "${JOB_NAME} ${CHANGE_TITLE} ${CHANGE_URL}" --source CI .ros/log/*/*.ulg') + sh('px4-px4sitl_default*/px4/Tools/upload_log.py -q --description "${JOB_NAME}: ${STAGE_NAME}" --feedback "${JOB_NAME} ${CHANGE_TITLE} ${CHANGE_URL}" --source CI .ros/log/*/*.ulg') } if (!test_ok) { diff --git a/.ci/Jenkinsfile-compile b/.ci/Jenkinsfile-compile index a0c90fdc89..63d86451a3 100644 --- a/.ci/Jenkinsfile-compile +++ b/.ci/Jenkinsfile-compile @@ -18,8 +18,8 @@ pipeline { snapdragon: "lorenzmeier/px4-dev-snapdragon:2018-09-12" ] - // MAC OSX posix_sitl_default - build_nodes["posix_sitl_default (OSX)"] = { + // MAC OSX px4sitl_default + build_nodes["px4sitl_default (OSX)"] = { node("mac") { withEnv(["CCACHE_BASEDIR=${pwd()}"]) { stage("sitl (OSX)") { @@ -28,7 +28,7 @@ pipeline { sh('export') sh('make distclean') sh('ccache -z') - sh('make posix_sitl_default') + sh('make px4sitl_default') sh('ccache -s') sh('make tests') } @@ -43,7 +43,7 @@ pipeline { } } - // MAC OSX nuttx_px4fmu-v4pro_default + // MAC OSX px4fmu-v4pro_default build_nodes["px4fmu-v4pro_default (OSX)"] = { node("mac") { withEnv(["CCACHE_BASEDIR=${pwd()}"]) { @@ -53,7 +53,7 @@ pipeline { sh('export') sh('make distclean') sh('ccache -z') - sh('make nuttx_px4fmu-v4pro_default') + sh('make px4fmu-v4pro_default') sh('ccache -s') } catch (exc) { @@ -69,46 +69,46 @@ pipeline { // docker builds: def arch_builds = [ - target: ["posix_sitl_default"], + target: ["px4sitl_default"], image: docker_images.arch, archive: false ] def armhf_builds = [ - target: ["posix_ocpoc_ubuntu"], + target: ["aerotennaocpoc_ubuntu"], image: docker_images.armhf, archive: false ] def base_builds = [ - target: ["posix_sitl_rtps"], + target: ["px4sitl_rtps"], image: docker_images.base, archive: false ] def nuttx_builds_archive = [ target: ["px4fmu-v2_default", "px4fmu-v3_default", "px4fmu-v4_default", "px4fmu-v4pro_default", "px4fmu-v5_default", "px4fmu-v5_rtps", "px4fmu-v5_stackcheck", - "aerofc-v1_default", "aerocore2_default", "auav-x21_default", "av-x-v1_default", "crazyflie_default", "mindpx-v2_default", - "nxphlite-v3_default", "omnibus-f4sd_default"], + "intelaerofc-v1_default", "gumstixaerocore2_default", "auavx21_default", "avx-v1_default", "bitcrazecrazyflie_default", "airmindmindpx-v2_default", + "nxphlite-v3_default", "omnibusf4sd_default"], image: docker_images.nuttx, archive: true ] def nuttx_builds_other = [ - target: ["px4-same70xplained-v1_default", "px4-stm32f4discovery_default", "px4cannode-v1_default", - "px4esc-v1_default", "px4nucleoF767ZI-v1_default", "s2740vc-v1_default"], + target: ["atmelsame70xplained_default", "stm32f4discovery_default", "px4cannode-v1_default", + "px4esc-v1_default", "stmnucleo-F767ZI_default", "thiemars2740vc-v1_default"], image: docker_images.nuttx, archive: false ] def rpi_builds = [ - target: ["posix_rpi_cross", "posix_bebop_default"], + target: ["emlidnavio2_cross", "parrotbebop_default"], image: docker_images.rpi, archive: false ] def snapdragon_builds = [ - target: ["qurt_eagle_default", "posix_eagle_default"], + target: ["atlflighteagle_qurt-default", "atlflighteagle_default"], image: docker_images.snapdragon, archive: false ] diff --git a/.ci/Jenkinsfile-hardware b/.ci/Jenkinsfile-hardware index 5825efe7c7..e95c743d4b 100644 --- a/.ci/Jenkinsfile-hardware +++ b/.ci/Jenkinsfile-hardware @@ -18,10 +18,10 @@ pipeline { sh 'make distclean' sh 'ccache -z' sh 'git fetch --tags' - sh 'make nuttx_px4fmu-v2_test' + sh 'make px4fmu-v2_test' sh 'make sizes' sh 'ccache -s' - stash includes: 'build/nuttx_px4fmu-v2_test/nuttx_px4fmu-v2_test.elf', name: 'px4fmu-v2_test' + stash includes: 'build/px4fmu-v2_test/px4fmu-v2_test.elf', name: 'px4fmu-v2_test' stash includes: 'Tools/HIL/monitor_firmware_upload.py, Tools/HIL/run_tests.py', name: 'scripts-px4fmu-v2' } post { @@ -43,10 +43,10 @@ pipeline { sh 'make distclean' sh 'ccache -z' sh 'git fetch --tags' - sh 'make nuttx_px4fmu-v4_stackcheck' + sh 'make px4fmu-v4_stackcheck' sh 'make sizes' sh 'ccache -s' - stash includes: 'build/nuttx_px4fmu-v4_stackcheck/nuttx_px4fmu-v4_stackcheck.elf', name: 'px4fmu-v4_stackcheck' + stash includes: 'build/px4fmu-v4_stackcheck/px4fmu-v4_stackcheck.elf', name: 'px4fmu-v4_stackcheck' stash includes: 'Tools/HIL/monitor_firmware_upload.py, Tools/HIL/run_tests.py', name: 'scripts-px4fmu-v4' } post { @@ -82,7 +82,7 @@ pipeline { -ex "attach 1" \ -ex "load" \ -ex "kill" \ - build/nuttx_px4fmu-v2_test/nuttx_px4fmu-v2_test.elf + build/px4fmu-v2_test/px4fmu-v2_test.elf ''' sh './Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *Black_Magic_Probe_*-if02` --baudrate 57600' sh './Tools/HIL/run_tests.py --device `find /dev/serial -name *Black_Magic_Probe_*-if02`' @@ -116,7 +116,7 @@ pipeline { -ex "attach 1" \ -ex "load" \ -ex "kill" \ - build/nuttx_px4fmu-v4_stackcheck/nuttx_px4fmu-v4_stackcheck.elf + build/px4fmu-v4_stackcheck/px4fmu-v4_stackcheck.elf ''' sh './Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *Black_Magic_Probe_*-if02` --baudrate 57600' sh './Tools/HIL/run_tests.py --device `find /dev/serial -name *Black_Magic_Probe_*-if02`' diff --git a/.gitmodules b/.gitmodules index 20028c8155..112c186ef5 100644 --- a/.gitmodules +++ b/.gitmodules @@ -34,8 +34,8 @@ path = src/lib/ecl url = https://github.com/PX4/ecl.git branch = master -[submodule "cmake/cmake_hexagon"] - path = cmake/cmake_hexagon +[submodule "boards/atlflight/cmake_hexagon"] + path = boards/atlflight/cmake_hexagon url = https://github.com/ATLFlight/cmake_hexagon.git branch = master [submodule "src/drivers/gps/devices"] diff --git a/.travis.yml b/.travis.yml index fcc1e11f63..53399ae06e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -28,5 +28,5 @@ addons: description: "Build submitted via Travis CI" notification_email: ci@px4.io build_command_prepend: "make distclean" - build_command: "make posix_sitl_default" + build_command: "make px4sitl_default" branch_pattern: coverity_scan diff --git a/CMakeLists.txt b/CMakeLists.txt index b1e00ca630..fce4003d0d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,7 +40,7 @@ # * Common functions should be included in px_base.cmake. # # * OS/ board specific fucntions should be include in -# px_impl_${OS}.cmake or px4_impl_${OS}_${BOARD}.cmake. +# px_impl_${PX4_PLATFORM}.cmake or px4_impl_${PX4_PLATFORM}_${PX4_BOARD}.cmake. # # Formatting # --------------------------------------------------------------------------- @@ -92,9 +92,9 @@ # --------------------------------------------------------------------------- # # * If referencing a string variable, don't put it in quotes. -# Don't do "${OS}" STREQUAL "posix", -# instead type ${OS} STREQUAL "posix". This will throw an -# error when ${OS} is not defined instead of silently +# Don't do "${PX4_PLATFORM}" STREQUAL "posix", +# instead type ${PX4_PLATFORM} STREQUAL "posix". This will throw an +# error when ${PX4_PLATFORM} is not defined instead of silently # evaluating to false. # #============================================================================= @@ -104,12 +104,12 @@ cmake_minimum_required(VERSION 3.2 FATAL_ERROR) set(PX4_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}") set(PX4_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}") -list(APPEND CMAKE_MODULE_PATH "${PX4_SOURCE_DIR}/cmake") +list(APPEND CMAKE_MODULE_PATH ${PX4_SOURCE_DIR}/cmake) #============================================================================= # git # -include(common/px4_git) +include(px4_git) execute_process( COMMAND git describe --always --tags @@ -132,13 +132,90 @@ define_property(GLOBAL PROPERTY PX4_MODULE_PATHS # configuration # -set(CONFIG "posix_sitl_default" CACHE STRING "desired configuration") +set(CONFIG "px4sitl_default" CACHE STRING "desired configuration") -string(REPLACE "_" ";" config_args ${CONFIG}) -list(GET config_args 0 OS) -list(GET config_args 1 BOARD) -list(GET config_args 2 LABEL) +set(config_module_list) +set(config_df_driver_list) +# find PX4 config +# look for in tree board config that matches CONFIG input +if(NOT PX4_CONFIG_FILE) + + file(GLOB_RECURSE board_configs + RELATIVE "${PX4_SOURCE_DIR}/boards" + "boards/*.cmake" + ) + + set(PX4_CONFIGS ${board_configs} CACHE STRINGS "PX4 board configs" FORCE) + + foreach(filename ${board_configs}) + # parse input CONFIG into components to match with existing in tree configs + # the platform prefix (eg nuttx_) is historical, and removed if present + string(REPLACE ".cmake" "" filename_stripped ${filename}) + string(REPLACE "/" ";" config ${filename_stripped}) + list(LENGTH config config_len) + + if(${config_len} EQUAL 3) + + + list(GET config 0 vendor) + list(GET config 1 model) + list(GET config 2 label) + + set(board "${vendor}${model}") + + # <VENDOR>_<MODEL>_<LABEL> (eg px4_fmu-v2_default) + # <VENDOR>_<MODEL>_default (eg px4_fmu-v2) # allow skipping label if "default" + if ((${CONFIG} MATCHES "${vendor}_${model}_${label}") OR # match full vendor, model, label + ((${label} STREQUAL "default") AND (${CONFIG} STREQUAL "${vendor}_${model}")) # default label can be omitted + ) + set(PX4_CONFIG_FILE "${PX4_SOURCE_DIR}/boards/${filename}" CACHE FILEPATH "path to PX4 CONFIG file" FORCE) + break() + endif() + + # <BOARD>_<LABEL> (eg px4fmu-v2_default) + # <BOARD>_default (eg px4fmu-v2) # allow skipping label if "default" + if ((${CONFIG} MATCHES "${board}_${label}") OR # match full board, label + ((${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) + break() + endif() + + + # LEGACY form + # <OS>_<BOARD>_<LABEL> (eg nuttx_px4fmu-v2_default) + string(REGEX REPLACE "^nuttx_|^posix_|^qurt_" "" config_no_os ${CONFIG}) # ignore OS prefix + + if ((${config_no_os} MATCHES "${board}_${label}")) + set(PX4_CONFIG_FILE "${PX4_SOURCE_DIR}/boards/${filename}" CACHE FILEPATH "path to PX4 CONFIG file" FORCE) + break() + endif() + + + # LEGACY form special case to ease board layout transition (2018-11-18) + # match board with model and label only: eg sitl_default -> px4_sitl_default + if ((${config_no_os} MATCHES "${model}_${label}")) + set(PX4_CONFIG_FILE "${PX4_SOURCE_DIR}/boards/${filename}" CACHE FILEPATH "path to PX4 CONFIG file" FORCE) + break() + endif() + + endif() + + endforeach() +endif() + +if(NOT PX4_CONFIG_FILE) + message(FATAL_ERROR "PX4 config file not set, try one of ${PX4_CONFIGS}") +endif() + +message(STATUS "PX4 config file: ${PX4_CONFIG_FILE}") +include(px4_add_board) +include(${PX4_CONFIG_FILE}) +message(STATUS "PX4 config: ${PX4_BOARD_VENDOR} ${PX4_BOARD_MODEL} ${PX4_BOARD_LABEL}") +message(STATUS "PX4 platform: ${PX4_PLATFORM}") + +# external modules set(EXTERNAL_MODULES_LOCATION "" CACHE STRING "External modules source location") if (NOT EXTERNAL_MODULES_LOCATION STREQUAL "") @@ -147,13 +224,12 @@ endif() set_property(GLOBAL PROPERTY PX4_MODULE_CONFIG_FILES) -include(platforms/${OS}/cmake/px4_impl_os.cmake) -include(configs/${CONFIG}) -list(APPEND CMAKE_MODULE_PATH ${PX4_SOURCE_DIR}/platforms/${OS}/cmake) +include(platforms/${PX4_PLATFORM}/cmake/px4_impl_os.cmake) +list(APPEND CMAKE_MODULE_PATH ${PX4_SOURCE_DIR}/platforms/${PX4_PLATFORM}/cmake) # CMake build type (Debug Release RelWithDebInfo MinSizeRel Coverage) if (NOT CMAKE_BUILD_TYPE) - if (${OS} STREQUAL "nuttx") + if (${PX4_PLATFORM} STREQUAL "nuttx") set(PX4_BUILD_TYPE "MinSizeRel") else() set(PX4_BUILD_TYPE "RelWithDebInfo") @@ -166,9 +242,8 @@ set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug;Release;RelWithDebIn #============================================================================= -message(STATUS "PX4 VERSION: ${PX4_GIT_TAG}") -message(STATUS "CONFIG: ${CONFIG}") -message(STATUS "Build Type: ${CMAKE_BUILD_TYPE}") +message(STATUS "PX4 version: ${PX4_GIT_TAG}") +message(STATUS "cmake build type: ${CMAKE_BUILD_TYPE}") #============================================================================= # project definition @@ -194,10 +269,10 @@ endif() #============================================================================= # Setup install paths -if (${OS} STREQUAL "posix") +if (${PX4_PLATFORM} STREQUAL "posix") - include(common/coverage) - include(common/sanitizers) + include(coverage) + include(sanitizers) # Define GNU standard installation directories include(GNUInstallDirs) @@ -216,6 +291,7 @@ endif() set(px4_required_interface px4_os_prebuild_targets px4_os_add_flags + px4_add_board ) foreach(cmd ${px4_required_interface}) if (NOT COMMAND ${cmd}) @@ -223,13 +299,6 @@ foreach(cmd ${px4_required_interface}) endif() endforeach() -set(px4_required_config config_module_list) -foreach(conf ${px4_required_config}) - if (NOT DEFINED ${conf}) - message(FATAL_ERROR "cmake/${CONFIG} must define ${conf}") - endif() -endforeach() - #============================================================================= # ccache # @@ -276,43 +345,11 @@ else() px4_find_python_module(jinja2 REQUIRED) endif() -#============================================================================= -# check required toolchain variables -# - -set(required_variables CMAKE_C_COMPILER_ID CMAKE_CXX_COMPILER_ID) -foreach(var ${required_variables}) - if (NOT ${var}) - message(FATAL_ERROR "Toolchain/config must define ${var}") - endif() -endforeach() - -# print full c compiler version -execute_process(COMMAND ${CMAKE_C_COMPILER} --version - OUTPUT_VARIABLE c_compiler_version - OUTPUT_STRIP_TRAILING_WHITESPACE - ) -STRING(REGEX MATCH "[^\n]*" c_compiler_version_short ${c_compiler_version}) -message(STATUS "C compiler: ${c_compiler_version_short}") - -# print full c++ compiler version -execute_process(COMMAND ${CMAKE_CXX_COMPILER} --version - OUTPUT_VARIABLE cxx_compiler_version - OUTPUT_STRIP_TRAILING_WHITESPACE - ) -STRING(REGEX MATCH "[^\n]*" cxx_compiler_version_short ${cxx_compiler_version}) -message(STATUS "C++ compiler: ${cxx_compiler_version_short}") - -#============================================================================= -# external libraries -# -px4_os_prebuild_targets(OUT prebuild_targets BOARD ${BOARD}) - #============================================================================= # build flags # px4_os_add_flags( - BOARD ${BOARD} + BOARD ${PX4_BOARD} C_FLAGS c_flags CXX_FLAGS cxx_flags OPTIMIZATION_FLAGS optimization_flags @@ -328,16 +365,17 @@ px4_join(OUT CMAKE_CXX_FLAGS LIST "${CMAKE_CXX_FLAGS};${cxx_flags};${optimizatio #============================================================================= # message, and airframe generation # -include(common/px4_metadata) +include(px4_metadata) add_subdirectory(msg EXCLUDE_FROM_ALL) -px4_generate_airframes_xml(BOARD ${BOARD}) +px4_generate_airframes_xml(BOARD ${PX4_BOARD}) #============================================================================= # DriverFramework # px4_add_git_submodule(TARGET git_driverframework PATH "src/lib/DriverFramework") +set(OS ${PX4_PLATFORM}) add_subdirectory(src/lib/DriverFramework/framework) # List the DriverFramework drivers @@ -398,26 +436,12 @@ add_subdirectory(src/lib/parameters EXCLUDE_FROM_ALL) target_link_libraries(parameters_interface INTERFACE parameters) # firmware added last to generate the builtin for included modules -add_subdirectory(platforms/${OS}) - -#============================================================================= -# generate custom target to print for all executable and module cmake targets -# -if (all_posix_cmake_targets) - list(SORT all_posix_cmake_targets) - px4_join(OUT posix_cmake_target_list LIST ${all_posix_cmake_targets} GLUE "\\n") - add_custom_target(list_cmake_targets - COMMAND sh -c "printf \"${posix_cmake_target_list}\\n\"" - COMMENT "List of cmake targets that can be matched by PX4_NO_OPTIMIZATION:" - VERBATIM - ) -endif() - +add_subdirectory(platforms/${PX4_PLATFORM}) #============================================================================= # uORB graph generation: add a custom target 'uorb_graph' # -set(uorb_graph_config ${BOARD}) +set(uorb_graph_config ${PX4_BOARD}) set(graph_module_list "") foreach(module ${config_module_list}) @@ -471,10 +495,10 @@ endif() add_custom_target(metadata_airframes COMMAND ${CMAKE_COMMAND} -E make_directory ${PX4_BINARY_DIR}/docs COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_process_airframes.py - -v -a ${PX4_SOURCE_DIR}//ROMFS/px4fmu_common/init.d + -v -a ${PX4_SOURCE_DIR}/ROMFS/px4fmu_common/init.d --markdown ${PX4_BINARY_DIR}/docs/airframes.md COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_process_airframes.py - -v -a ${PX4_SOURCE_DIR}//ROMFS/px4fmu_common/init.d + -v -a ${PX4_SOURCE_DIR}/ROMFS/px4fmu_common/init.d --xml ${PX4_BINARY_DIR}/docs/airframes.xml COMMENT "Generating full airframe metadata (markdown and xml)" USES_TERMINAL @@ -521,7 +545,7 @@ add_custom_target(all_metadata set(CPACK_PACKAGE_NAME ${PROJECT_NAME}-${CONFIG}) set(CPACK_PACKAGE_VERSION ${PX4_GIT_TAG}) set(CPACK_PACKAGE_CONTACT ${package-contact}) -set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS OFF) +set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS OFF) # TODO: review packaging for linux boards set(CPACK_DEBIAN_PACKAGE_SECTION "devel") set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional") set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "The PX4 Pro autopilot.") diff --git a/Jenkinsfile b/Jenkinsfile index c676a55c3d..ca6342f4ec 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -62,12 +62,12 @@ pipeline { sh 'make distclean' sh 'ccache -z' sh 'git fetch --tags' - sh 'make nuttx_px4fmu-v2_default' - sh 'make nuttx_px4fmu-v2_default bloaty_symbols' - sh 'make nuttx_px4fmu-v2_default bloaty_compileunits' - sh 'make nuttx_px4fmu-v2_default bloaty_inlines' - sh 'make nuttx_px4fmu-v2_default bloaty_templates' - sh 'make nuttx_px4fmu-v2_default bloaty_compare_master' + sh 'make px4fmu-v2_default' + sh 'make px4fmu-v2_default bloaty_symbols' + sh 'make px4fmu-v2_default bloaty_compileunits' + sh 'make px4fmu-v2_default bloaty_inlines' + sh 'make px4fmu-v2_default bloaty_templates' + sh 'make px4fmu-v2_default bloaty_compare_master' sh 'make sizes' sh 'ccache -s' } @@ -90,12 +90,12 @@ pipeline { sh 'make distclean' sh 'ccache -z' sh 'git fetch --tags' - sh 'make nuttx_px4fmu-v5_default' - sh 'make nuttx_px4fmu-v5_default bloaty_symbols' - sh 'make nuttx_px4fmu-v5_default bloaty_compileunits' - sh 'make nuttx_px4fmu-v5_default bloaty_inlines' - sh 'make nuttx_px4fmu-v5_default bloaty_templates' - sh 'make nuttx_px4fmu-v5_default bloaty_compare_master' + sh 'make px4fmu-v5_default' + sh 'make px4fmu-v5_default bloaty_symbols' + sh 'make px4fmu-v5_default bloaty_compileunits' + sh 'make px4fmu-v5_default bloaty_inlines' + sh 'make px4fmu-v5_default bloaty_templates' + sh 'make px4fmu-v5_default bloaty_compare_master' sh 'make sizes' sh 'ccache -s' } @@ -272,7 +272,7 @@ pipeline { steps { sh 'make distclean' sh 'make airframe_metadata' - dir('build/posix_sitl_default/docs') { + dir('build/px4sitl_default/docs') { archiveArtifacts(artifacts: 'airframes.md, airframes.xml') stash includes: 'airframes.md, airframes.xml', name: 'metadata_airframes' } @@ -291,7 +291,7 @@ pipeline { steps { sh 'make distclean' sh 'make parameters_metadata' - dir('build/posix_sitl_default/docs') { + dir('build/px4sitl_default/docs') { archiveArtifacts(artifacts: 'parameters.md, parameters.xml') stash includes: 'parameters.md, parameters.xml', name: 'metadata_parameters' } @@ -310,7 +310,7 @@ pipeline { steps { sh 'make distclean' sh 'make module_documentation' - dir('build/posix_sitl_default/docs') { + dir('build/px4sitl_default/docs') { archiveArtifacts(artifacts: 'modules/*.md') stash includes: 'modules/*.md', name: 'metadata_module_documentation' } @@ -334,8 +334,8 @@ pipeline { sh 'make distclean' sh 'make uorb_graphs' dir('Tools/uorb_graph') { - archiveArtifacts(artifacts: 'graph_sitl.json') - stash includes: 'graph_sitl.json', name: 'uorb_graph' + archiveArtifacts(artifacts: 'graph_px4sitl.json') + stash includes: 'graph_px4sitl.json', name: 'uorb_graph' } } post { diff --git a/Makefile b/Makefile index 2be3424dc5..437d952abb 100644 --- a/Makefile +++ b/Makefile @@ -53,11 +53,11 @@ endif # make px4fmu-v2_default test (builds and tests) # # This tells cmake to build the nuttx px4fmu-v2 default config in the -# directory build/nuttx_px4fmu-v2_default and then call make +# directory build/px4fmu-v2_default and then call make # in that directory with the target upload. # explicity set default build target -all: posix_sitl_default +all: px4sitl_default # Parsing # -------------------------------------------------------------------- @@ -156,10 +156,11 @@ define colorecho +@echo -e '${COLOR_BLUE}${1} ${NO_COLOR}' endef -# Get a list of all config targets cmake/configs/*.cmake -ALL_CONFIG_TARGETS := $(basename $(shell find "$(SRC_DIR)"/cmake/configs -maxdepth 1 ! -name '*_common*' ! -name '*_sdflight_*' -name '*.cmake' -print | sed -e 's:^.*/::' | sort)) -# Strip off leading nuttx_ -NUTTX_CONFIG_TARGETS := $(patsubst nuttx_%,%,$(filter nuttx_%,$(ALL_CONFIG_TARGETS))) +# Get a list of all config targets boards/*/*.cmake +ALL_CONFIG_TARGETS := $(shell find boards -maxdepth 3 -mindepth 3 ! -name '*common*' ! -name '*sdflight*' -name '*.cmake' -print | sed -e 's/boards\///' | sed -e 's/\.cmake//' | sed -e 's/\///' | sed -e 's/\//_/g' | sort) + +# Strip off default +CONFIG_TARGETS_DEFAULT := $(patsubst %_default,%,$(filter %_default,$(ALL_CONFIG_TARGETS))) # ADD CONFIGS HERE # -------------------------------------------------------------------- @@ -177,22 +178,26 @@ $(NUTTX_CONFIG_TARGETS): all_nuttx_targets: $(NUTTX_CONFIG_TARGETS) -posix: posix_sitl_default -broadcast: posix_sitl_broadcast +$(CONFIG_TARGETS_DEFAULT): + $(call cmake-build,$@_default) + +all_default_targets: $(CONFIG_TARGETS_DEFAULT) + +posix: px4sitl_default +posix_sitl_default: px4sitl_default # All targets with just dependencies but no recipe must either be marked as phony (or have the special @: as recipe). -.PHONY: all posix broadcast all_nuttx_targets +.PHONY: all posix posix_sitl_default all_nuttx_targets all_default_targets # Multi- config targets. -eagle_default: posix_eagle_default qurt_eagle_default -eagle_rtps: posix_eagle_rtps qurt_eagle_default -eagle_legacy_default: posix_eagle_legacy qurt_eagle_legacy -excelsior_default: posix_excelsior_default qurt_excelsior_default -excelsior_rtps: posix_excelsior_rtps qurt_excelsior_default -excelsior_legacy_default: posix_excelsior_legacy qurt_excelsior_legacy +eagle_default: atlflighteagle_default atlflighteagle_qurt-default +eagle_rtps: atlflighteagle_rtps atlflighteagle_qurt-rtps + +excelsior_default: atlflightexcelsior_default atlflightexcelsior_qurt-default +excelsior_rtps: atlflightexcelsior_rtps atlflightexcelsior_qurt-rtps -.PHONY: eagle_default eagle_rtps eagle_legacy_default -.PHONY: excelsior_default excelsior_rtps excelsior_legacy_default +.PHONY: eagle_default eagle_rtps +.PHONY: excelsior_default excelsior_rtps # Other targets # -------------------------------------------------------------------- @@ -213,23 +218,23 @@ px4fmu_firmware: \ sizes misc_qgc_extra_firmware: \ - check_aerocore2_default \ - check_aerofc-v1_default \ - check_auav-x21_default \ - check_crazyflie_default \ - check_mindpx-v2_default \ + check_gumstixaerocore2_default \ + check_intelaerofc-v1_default \ + check_auavx21_default \ + check_bitcrazecrazyflie_default \ + check_airmindmindpx-v2_default \ check_px4fmu-v2_lpe \ sizes # Other NuttX firmware alt_firmware: \ check_nxphlite-v3_default \ - check_px4-same70xplained-v1_default \ - check_px4-stm32f4discovery_default \ + check_atmelsame70xplained_default \ + check_stm32f4discovery_default \ check_px4cannode-v1_default \ check_px4esc-v1_default \ - check_px4nucleoF767ZI-v1_default \ - check_s2740vc-v1_default \ + check_stmnucleo-F767ZI_default \ + check_thiemars2740vc-v1_default \ sizes # builds with RTPS @@ -237,7 +242,7 @@ check_rtps: \ check_px4fmu-v3_rtps \ check_px4fmu-v4_rtps \ check_px4fmu-v4pro_rtps \ - check_posix_sitl_rtps \ + check_px4sitl_rtps \ sizes .PHONY: sizes check quick_check check_rtps uorb_graphs @@ -443,4 +448,4 @@ help: # Print a list of all config targets. list_config_targets: - @for targ in $(patsubst nuttx_%,[nuttx_]%,$(ALL_CONFIG_TARGETS)); do echo $$targ; done + @for targ in $(patsubst %_default,%[_default],$(ALL_CONFIG_TARGETS)); do echo $$targ; done diff --git a/ROMFS/CMakeLists.txt b/ROMFS/CMakeLists.txt index 1abd3505eb..0b690e804a 100644 --- a/ROMFS/CMakeLists.txt +++ b/ROMFS/CMakeLists.txt @@ -87,13 +87,13 @@ add_custom_command(OUTPUT ${romfs_gen_root_dir}/init.d/rcS ${romfs_gen_root_dir} COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_process_airframes.py --airframes-path ${romfs_gen_root_dir}/init.d --start-script ${romfs_gen_root_dir}/init.d/rc.autostart - --board ${BOARD} + --board ${PX4_BOARD} COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/serial/generate_config.py --rc-dir ${romfs_gen_root_dir}/init.d --serial-ports ${board_serial_ports} ${added_arguments} --config-files ${module_config_files} #--verbose COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_romfs_pruner.py - --folder ${romfs_gen_root_dir} --board ${BOARD} + --folder ${romfs_gen_root_dir} --board ${PX4_BOARD} DEPENDS ${jinja_templates} ${module_config_files} @@ -107,15 +107,17 @@ add_custom_command(OUTPUT ${romfs_gen_root_dir}/init.d/rcS ${romfs_gen_root_dir} # copy extras into ROMFS set(extras_dependencies) + # copy px4io binary if configured -if (config_io_board) +if(config_io_board) list(APPEND extras_dependencies copy_px4io_bin ${fw_io_bin} ) endif() -if (config_bl_file) + +if(config_bl_file) file(MAKE_DIRECTORY ${PX4_BINARY_DIR}/romfs_extras) configure_file(${config_bl_file} ${PX4_BINARY_DIR}/romfs_extras COPYONLY) diff --git a/ROMFS/px4fmu_common/init.d/rcS b/ROMFS/px4fmu_common/init.d/rcS index 02595c3ee3..f5fd17848f 100644 --- a/ROMFS/px4fmu_common/init.d/rcS +++ b/ROMFS/px4fmu_common/init.d/rcS @@ -71,7 +71,7 @@ set FEXTRAS /fs/microsd/etc/extras.txt set FRC /fs/microsd/etc/rc.txt set FMU_ARGS "" set FMU_MODE pwm -set IOFW "/etc/extras/px4io-v2.bin" +set IOFW "/etc/extras/px4io-v2_default.bin" set IO_PRESENT no set LOG_FILE /fs/microsd/bootlog.txt set MAV_TYPE none @@ -367,7 +367,7 @@ else # # Check if PX4IO present and update firmware if needed. - # Assumption IOFW set to firware file and IO_PRESENT = no + # Assumption IOFW set to firmware file and IO_PRESENT = no # if [ -f $IOFW ] diff --git a/Tools/astyle/files_to_check_code_style.sh b/Tools/astyle/files_to_check_code_style.sh index cc3226b4d7..c5bc2169ec 100755 --- a/Tools/astyle/files_to_check_code_style.sh +++ b/Tools/astyle/files_to_check_code_style.sh @@ -10,7 +10,6 @@ fi exec find src platforms \ -path platforms/nuttx/NuttX -prune -o \ - -path platforms/nuttx/nuttx-configs -prune -o \ -path src/lib/DriverFramework -prune -o \ -path src/lib/ecl -prune -o \ -path src/lib/matrix -prune -o \ diff --git a/Tools/docker_run.sh b/Tools/docker_run.sh index f69da86e1d..8b09932ae5 100755 --- a/Tools/docker_run.sh +++ b/Tools/docker_run.sh @@ -5,14 +5,14 @@ if [ -z ${PX4_DOCKER_REPO+x} ]; then if [[ $@ =~ .*px4fmu.* ]]; then # nuttx-px4fmu-v{1,2,3,4,5} PX4_DOCKER_REPO="px4io/px4-dev-nuttx:2018-11-22" - elif [[ $@ =~ .*rpi.* ]] || [[ $@ =~ .*bebop.* ]]; then + elif [[ $@ =~ .*navio2.* ]] || [[ $@ =~ .*raspberry.* ]] || [[ $@ =~ .*bebop.* ]]; then # posix_rpi_cross, posix_bebop_default PX4_DOCKER_REPO="px4io/px4-dev-raspi:2018-11-22" elif [[ $@ =~ .*eagle.* ]] || [[ $@ =~ .*excelsior.* ]]; then # eagle, excelsior PX4_DOCKER_REPO="lorenzmeier/px4-dev-snapdragon:2018-09-12" elif [[ $@ =~ .*ocpoc.* ]]; then - # posix_ocpoc_ubuntu + # aerotennaocpoc_ubuntu PX4_DOCKER_REPO="px4io/px4-dev-armhf:2018-11-22" elif [[ $@ =~ .*clang.* ]] || [[ $@ =~ .*scan-build.* ]]; then # clang tools diff --git a/Tools/sitl_multiple_run.sh b/Tools/sitl_multiple_run.sh index 55d58a00a7..317b8f87d7 100755 --- a/Tools/sitl_multiple_run.sh +++ b/Tools/sitl_multiple_run.sh @@ -1,6 +1,6 @@ #!/bin/bash # run multiple instances of the 'px4' binary, but w/o starting the simulator. -# It assumes px4 is already built, with 'make posix_sitl_default' +# It assumes px4 is already built, with 'make px4sitl_default' # The simulator is expected to send to UDP port 14560+i for i in [0, N-1] # For example jmavsim can be run like this: @@ -12,7 +12,7 @@ sitl_num=2 SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" src_path="$SCRIPT_DIR/.." -build_path=${src_path}/build/posix_sitl_default +build_path=${src_path}/build/px4sitl_default echo "killing running instances" pkill -x px4 || true diff --git a/src/drivers/boards/rpi/CMakeLists.txt b/boards/aerotenna/ocpoc/src/CMakeLists.txt similarity index 94% rename from src/drivers/boards/rpi/CMakeLists.txt rename to boards/aerotenna/ocpoc/src/CMakeLists.txt index 01c98806a1..0b4ba0d6ac 100644 --- a/src/drivers/boards/rpi/CMakeLists.txt +++ b/boards/aerotenna/ocpoc/src/CMakeLists.txt @@ -30,7 +30,7 @@ # POSSIBILITY OF SUCH DAMAGE. # ############################################################################ + px4_add_library(drivers_board - ../common/board_identity.c + ${PX4_SOURCE_DIR}/src/drivers/boards/common/board_identity.c # TODO: this is horrible and should be fixed ) - diff --git a/src/drivers/boards/ocpoc/board_config.h b/boards/aerotenna/ocpoc/src/board_config.h similarity index 98% rename from src/drivers/boards/ocpoc/board_config.h rename to boards/aerotenna/ocpoc/src/board_config.h index d2a5b1005f..573aaa9c63 100644 --- a/src/drivers/boards/ocpoc/board_config.h +++ b/boards/aerotenna/ocpoc/src/board_config.h @@ -58,4 +58,4 @@ #define ADC_AIRSPEED_VOLTAGE_CHANNEL 11 #include <system_config.h> -#include "../common/board_common.h" +#include <drivers/boards/common/board_common.h> diff --git a/boards/aerotenna/ocpoc/ubuntu.cmake b/boards/aerotenna/ocpoc/ubuntu.cmake new file mode 100644 index 0000000000..72cbaf19bc --- /dev/null +++ b/boards/aerotenna/ocpoc/ubuntu.cmake @@ -0,0 +1,86 @@ + +px4_add_board( + VENDOR aerotenna + MODEL ocpoc + LABEL ubuntu + PLATFORM posix + ARCH cortex-a9 + TOOLCHAIN Toolchain-arm-linux-gnueabihf + TESTING + + DRIVERS + #barometer # all available barometer drivers + batt_smbus + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + linux_pwm_out + linux_sbus + #imu # all available imu drivers + #magnetometer # all available magnetometer drivers + ocpoc_adc + rgbled + pwm_out_sim + #telemetry # all available telemetry drivers + vmount + + DF_DRIVERS # NOTE: DriverFramework is migrating to intree PX4 drivers + mpu9250 + ms5611 + hmc5883 + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + #gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + position_estimator_inav + sensors + #simulator + #uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + esc_calib + led_control + mixer + motor_ramp + param + perf + pwm + reboot + sd_bench + shutdown + tests # tests and test runner + top + topic_listener + tune_control + ver + + EXAMPLES + bottle_drop # OBC challenge + fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + #hwtest # Hardware test + px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + rover_steering_control # Rover example app + segway + ) diff --git a/boards/airmind/mindpx-v2/default.cmake b/boards/airmind/mindpx-v2/default.cmake new file mode 100644 index 0000000000..5efb53b359 --- /dev/null +++ b/boards/airmind/mindpx-v2/default.cmake @@ -0,0 +1,116 @@ + +px4_add_board( + PLATFORM nuttx + VENDOR airmind + MODEL mindpx-v2 + ARCH cortex-m4 + ROMFS + ROMFSROOT px4fmu_common + TESTING + UAVCAN_INTERFACES 1 + + SERIAL_PORTS + GPS1:/dev/ttyS3 + TEL1:/dev/ttyS1 + TEL2:/dev/ttyS2 + + DRIVERS + barometer # all available barometer drivers + batt_smbus + blinkm + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + #heater + #imu # all available imu drivers + imu/l3gd20 + imu/lsm303d + imu/mpu6000 + imu/mpu9250 + irlock + magnetometer # all available magnetometer drivers + mkblctrl + oreoled + pca9685 + pwm_input + pwm_out_sim + px4flow + px4fmu + rc_input + rgbled + stm32 + stm32/adc + stm32/tone_alarm + tap_esc + telemetry # all available telemetry drivers + test_ppm + vmount + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + position_estimator_inav + sensors + uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + bl_update + config + dumpfile + esc_calib + hardfault_log + led_control + mixer + motor_ramp + motor_test + mtd + nshterm + param + perf + pwm + reboot + reflect + sd_bench + shutdown + tests # tests and test runner + top + topic_listener + tune_control + usb_connected + ver + + EXAMPLES + bottle_drop # OBC challenge + fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + hwtest # Hardware test + #matlab_csv_serial + #publisher + px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + rover_steering_control # Rover example app + segway + #subscriber + uuv_example_app + + ) diff --git a/platforms/nuttx/Images/mindpx-v2.prototype b/boards/airmind/mindpx-v2/firmware.prototype similarity index 100% rename from platforms/nuttx/Images/mindpx-v2.prototype rename to boards/airmind/mindpx-v2/firmware.prototype diff --git a/platforms/nuttx/nuttx-configs/mindpx-v2/include/board.h b/boards/airmind/mindpx-v2/nuttx-config/include/board.h similarity index 100% rename from platforms/nuttx/nuttx-configs/mindpx-v2/include/board.h rename to boards/airmind/mindpx-v2/nuttx-config/include/board.h diff --git a/platforms/nuttx/nuttx-configs/mindpx-v2/nsh/defconfig b/boards/airmind/mindpx-v2/nuttx-config/nsh/defconfig similarity index 99% rename from platforms/nuttx/nuttx-configs/mindpx-v2/nsh/defconfig rename to boards/airmind/mindpx-v2/nuttx-config/nsh/defconfig index 1df40c9596..6fd95f2263 100644 --- a/platforms/nuttx/nuttx-configs/mindpx-v2/nsh/defconfig +++ b/boards/airmind/mindpx-v2/nuttx-config/nsh/defconfig @@ -688,7 +688,7 @@ CONFIG_RAM_SIZE=262144 # Board Selection # CONFIG_ARCH_BOARD_MINDPX_V2=y -CONFIG_ARCH_BOARD="mindpx-v2" +CONFIG_ARCH_BOARD="airmindmindpx-v2" # # Custom Board Configuration diff --git a/platforms/nuttx/nuttx-configs/px4fmu-v2/scripts/ld_full.script b/boards/airmind/mindpx-v2/nuttx-config/scripts/ld.script similarity index 99% rename from platforms/nuttx/nuttx-configs/px4fmu-v2/scripts/ld_full.script rename to boards/airmind/mindpx-v2/nuttx-config/scripts/ld.script index 1a96d0a738..0d19229c01 100644 --- a/platforms/nuttx/nuttx-configs/px4fmu-v2/scripts/ld_full.script +++ b/boards/airmind/mindpx-v2/nuttx-config/scripts/ld.script @@ -1,5 +1,5 @@ /**************************************************************************** - * nuttx-configs/px4fmu-v3/scripts/ld.script + * scripts/ld.script * * Copyright (C) 2011 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <gnutt@nuttx.org> diff --git a/src/drivers/boards/mindpx-v2/CMakeLists.txt b/boards/airmind/mindpx-v2/src/CMakeLists.txt similarity index 100% rename from src/drivers/boards/mindpx-v2/CMakeLists.txt rename to boards/airmind/mindpx-v2/src/CMakeLists.txt diff --git a/src/drivers/boards/mindpx-v2/board_config.h b/boards/airmind/mindpx-v2/src/board_config.h similarity index 99% rename from src/drivers/boards/mindpx-v2/board_config.h rename to boards/airmind/mindpx-v2/src/board_config.h index 62bb6e8a54..a046456a90 100644 --- a/src/drivers/boards/mindpx-v2/board_config.h +++ b/boards/airmind/mindpx-v2/src/board_config.h @@ -372,7 +372,7 @@ extern void stm32_usbinitialize(void); #define board_peripheral_reset(ms) -#include "../common/board_common.h" +#include <drivers/boards/common/board_common.h> #endif /* __ASSEMBLY__ */ diff --git a/src/drivers/boards/mindpx-v2/can.c b/boards/airmind/mindpx-v2/src/can.c similarity index 100% rename from src/drivers/boards/mindpx-v2/can.c rename to boards/airmind/mindpx-v2/src/can.c diff --git a/src/drivers/boards/mindpx-v2/init.c b/boards/airmind/mindpx-v2/src/init.c similarity index 100% rename from src/drivers/boards/mindpx-v2/init.c rename to boards/airmind/mindpx-v2/src/init.c diff --git a/src/drivers/boards/mindpx-v2/led.c b/boards/airmind/mindpx-v2/src/led.c similarity index 100% rename from src/drivers/boards/mindpx-v2/led.c rename to boards/airmind/mindpx-v2/src/led.c diff --git a/src/drivers/boards/mindpx-v2/spi.c b/boards/airmind/mindpx-v2/src/spi.c similarity index 100% rename from src/drivers/boards/mindpx-v2/spi.c rename to boards/airmind/mindpx-v2/src/spi.c diff --git a/src/drivers/boards/mindpx-v2/timer_config.c b/boards/airmind/mindpx-v2/src/timer_config.c similarity index 100% rename from src/drivers/boards/mindpx-v2/timer_config.c rename to boards/airmind/mindpx-v2/src/timer_config.c diff --git a/src/drivers/boards/mindpx-v2/usb.c b/boards/airmind/mindpx-v2/src/usb.c similarity index 100% rename from src/drivers/boards/mindpx-v2/usb.c rename to boards/airmind/mindpx-v2/src/usb.c diff --git a/cmake/cmake_hexagon b/boards/atlflight/cmake_hexagon similarity index 100% rename from cmake/cmake_hexagon rename to boards/atlflight/cmake_hexagon diff --git a/boards/atlflight/eagle/default.cmake b/boards/atlflight/eagle/default.cmake new file mode 100644 index 0000000000..7a6fa1573c --- /dev/null +++ b/boards/atlflight/eagle/default.cmake @@ -0,0 +1,115 @@ + +# The Eagle board is the first generation Snapdragon Flight board by Qualcomm. + +include(px4_git) +px4_add_git_submodule(TARGET git_cmake_hexagon PATH "${PX4_SOURCE_DIR}/boards/atlflight/cmake_hexagon") +list(APPEND CMAKE_MODULE_PATH "${PX4_SOURCE_DIR}/boards/atlflight/cmake_hexagon") + +# Get $QC_SOC_TARGET from environment if existing. +if (DEFINED ENV{QC_SOC_TARGET}) + set(QC_SOC_TARGET $ENV{QC_SOC_TARGET}) +else() + set(QC_SOC_TARGET "APQ8074") +endif() + +# Disable the creation of the parameters.xml file by scanning individual +# source files, and scan all source files. This will create a parameters.xml +# file that contains all possible parameters, even if the associated module +# is not used. This is necessary for parameter synchronization between the +# ARM and DSP processors. +set(DISABLE_PARAMS_MODULE_SCOPING TRUE) + +set(CONFIG_SHMEM "1") +add_definitions(-DORB_COMMUNICATOR) + +# This definition allows to differentiate if this just the usual POSIX build +# or if it is for the Snapdragon. +add_definitions(-D__PX4_POSIX_EAGLE) + +px4_add_board( + PLATFORM posix + VENDOR atlflight + MODEL eagle + LABEL default + TESTING + TOOLCHAIN + toolchain/Toolchain-arm-linux-gnueabihf + + DRIVERS + #barometer # all available barometer drivers + batt_smbus + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + linux_sbus + #imu # all available imu drivers + #magnetometer # all available magnetometer drivers + rgbled + pwm_out_sim + qshell/posix + #telemetry # all available telemetry drivers + vmount + + MODULES + muorb/krait + + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + #gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + position_estimator_inav + sensors + simulator + #uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + #bl_update + #config + #dumpfile + esc_calib + #hardfault_log + led_control + mixer + motor_ramp + #mtd + #nshterm + param + perf + pwm + reboot + sd_bench + shutdown + tests # tests and test runner + top + topic_listener + tune_control + ver + + EXAMPLES + bottle_drop # OBC challenge + fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + #hwtest # Hardware test + px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + rover_steering_control # Rover example app + segway + ) diff --git a/boards/atlflight/eagle/qurt-default.cmake b/boards/atlflight/eagle/qurt-default.cmake new file mode 100644 index 0000000000..8efdc34ee5 --- /dev/null +++ b/boards/atlflight/eagle/qurt-default.cmake @@ -0,0 +1,83 @@ + +# The Eagle board is the first generation Snapdragon Flight board by Qualcomm. +# +# This cmake config builds for QURT which is the operating system running on +# the DSP side. + +# Get $QC_SOC_TARGET from environment if existing. +if (DEFINED ENV{QC_SOC_TARGET}) + set(QC_SOC_TARGET $ENV{QC_SOC_TARGET}) +else() + set(QC_SOC_TARGET "APQ8074") +endif() + +include(px4_git) +px4_add_git_submodule(TARGET git_cmake_hexagon PATH "${PX4_SOURCE_DIR}/boards/atlflight/cmake_hexagon") +list(APPEND CMAKE_MODULE_PATH "${PX4_SOURCE_DIR}/boards/atlflight/cmake_hexagon") + +if ("$ENV{HEXAGON_SDK_ROOT}" STREQUAL "") + message(FATAL_ERROR "Enviroment variable HEXAGON_SDK_ROOT must be set") +else() + set(HEXAGON_SDK_ROOT $ENV{HEXAGON_SDK_ROOT}) +endif() + +include(toolchain/Toolchain-qurt) +include(qurt_flags) +include_directories(${HEXAGON_SDK_INCLUDES}) + +set(CONFIG_SHMEM "1") +add_definitions(-DORB_COMMUNICATOR) + +# Disable the creation of the parameters.xml file by scanning individual +# source files, and scan all source files. This will create a parameters.xml +# file that contains all possible parameters, even if the associated module +# is not used. This is necessary for parameter synchronization between the +# ARM and DSP processors. +set(DISABLE_PARAMS_MODULE_SCOPING TRUE) + +# This definition allows to differentiate the specific board. +add_definitions(-D__PX4_QURT_EAGLE) + +px4_add_board( + PLATFORM qurt + VENDOR atlflight + MODEL eagle + LABEL qurt-default + + DRIVERS + gps + spektrum_rc + qshell/qurt + snapdragon_pwm_out + + DF_DRIVERS + mpu9250 + bmp280 + hmc5883 + trone + isl29501 + ltc2946 + + MODULES + muorb/adsp + + attitude_estimator_q + commander + ekf2 + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + land_detector + landing_target_estimator + local_position_estimator + mc_att_control + mc_pos_control + position_estimator_inav + sensors + vtol_att_control + wind_estimator + + SYSTEMCMDS + param + ) diff --git a/src/drivers/boards/sitl/CMakeLists.txt b/boards/atlflight/eagle/src/CMakeLists.txt similarity index 94% rename from src/drivers/boards/sitl/CMakeLists.txt rename to boards/atlflight/eagle/src/CMakeLists.txt index 0e1bba3e59..03d93f29ec 100644 --- a/src/drivers/boards/sitl/CMakeLists.txt +++ b/boards/atlflight/eagle/src/CMakeLists.txt @@ -32,6 +32,6 @@ ############################################################################ px4_add_library(drivers_board + ${PX4_SOURCE_DIR}/src/drivers/boards/common/board_identity.c # TODO: this is horrible and should be fixed sitl_led.c - ../common/board_identity.c - ) +) diff --git a/src/drivers/boards/eagle/board_config.h b/boards/atlflight/eagle/src/board_config.h similarity index 97% rename from src/drivers/boards/eagle/board_config.h rename to boards/atlflight/eagle/src/board_config.h index 14149e6657..c52a8a473e 100644 --- a/src/drivers/boards/eagle/board_config.h +++ b/boards/atlflight/eagle/src/board_config.h @@ -61,4 +61,4 @@ #define PX4_NUMBER_I2C_BUSES 3 #include <system_config.h> -#include "../common/board_common.h" +#include <drivers/boards/common/board_common.h> diff --git a/src/drivers/boards/sitl/sitl_led.c b/boards/atlflight/eagle/src/sitl_led.c similarity index 100% rename from src/drivers/boards/sitl/sitl_led.c rename to boards/atlflight/eagle/src/sitl_led.c diff --git a/boards/atlflight/excelsior/default.cmake b/boards/atlflight/excelsior/default.cmake new file mode 100644 index 0000000000..10b66aa1cf --- /dev/null +++ b/boards/atlflight/excelsior/default.cmake @@ -0,0 +1,115 @@ + +# Excelsior is the code name of a board currently in development. + +include(px4_git) +px4_add_git_submodule(TARGET git_cmake_hexagon PATH "${PX4_SOURCE_DIR}/boards/atlflight/cmake_hexagon") +list(APPEND CMAKE_MODULE_PATH "${PX4_SOURCE_DIR}/boards/atlflight/cmake_hexagon") + +# Get $QC_SOC_TARGET from environment if existing. +if (DEFINED ENV{QC_SOC_TARGET}) + set(QC_SOC_TARGET $ENV{QC_SOC_TARGET}) +else() + set(QC_SOC_TARGET "APQ8074") +endif() + +# Disable the creation of the parameters.xml file by scanning individual +# source files, and scan all source files. This will create a parameters.xml +# file that contains all possible parameters, even if the associated module +# is not used. This is necessary for parameter synchronization between the +# ARM and DSP processors. +set(DISABLE_PARAMS_MODULE_SCOPING TRUE) + +set(CONFIG_SHMEM "1") +add_definitions(-DORB_COMMUNICATOR) + +# This definition allows to differentiate if this just the usual POSIX build +# or if it is for the Snapdragon. +add_definitions(-D__PX4_POSIX_EXCELSIOR) + +px4_add_board( + PLATFORM posix + VENDOR atlflight + MODEL excelsior + LABEL default + TESTING + TOOLCHAIN + toolchain/Toolchain-arm-oemllib32-linux-gnueabi + + DRIVERS + #barometer # all available barometer drivers + batt_smbus + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + linux_sbus + #imu # all available imu drivers + #magnetometer # all available magnetometer drivers + rgbled + pwm_out_sim + qshell/posix + #telemetry # all available telemetry drivers + vmount + + MODULES + muorb/krait + + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + #gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + position_estimator_inav + sensors + simulator + #uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + #bl_update + #config + #dumpfile + esc_calib + #hardfault_log + led_control + mixer + motor_ramp + #mtd + #nshterm + param + perf + pwm + reboot + sd_bench + shutdown + tests # tests and test runner + top + topic_listener + tune_control + ver + + EXAMPLES + bottle_drop # OBC challenge + fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + #hwtest # Hardware test + px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + rover_steering_control # Rover example app + segway + ) diff --git a/boards/atlflight/excelsior/qurt-default.cmake b/boards/atlflight/excelsior/qurt-default.cmake new file mode 100644 index 0000000000..7840eae554 --- /dev/null +++ b/boards/atlflight/excelsior/qurt-default.cmake @@ -0,0 +1,82 @@ +# Excelsior is the code name of a board currently in development. +# +# This cmake config builds for QURT which is the operating system running on +# the DSP side. + +# Get $QC_SOC_TARGET from environment if existing. +if (DEFINED ENV{QC_SOC_TARGET}) + set(QC_SOC_TARGET $ENV{QC_SOC_TARGET}) +else() + set(QC_SOC_TARGET "APQ8074") +endif() + +include(px4_git) +px4_add_git_submodule(TARGET git_cmake_hexagon PATH "${PX4_SOURCE_DIR}/boards/atlflight/cmake_hexagon") +list(APPEND CMAKE_MODULE_PATH "${PX4_SOURCE_DIR}/boards/atlflight/cmake_hexagon") + +if ("$ENV{HEXAGON_SDK_ROOT}" STREQUAL "") + message(FATAL_ERROR "Enviroment variable HEXAGON_SDK_ROOT must be set") +else() + set(HEXAGON_SDK_ROOT $ENV{HEXAGON_SDK_ROOT}) +endif() + +include(toolchain/Toolchain-qurt) +include(qurt_flags) +include_directories(${HEXAGON_SDK_INCLUDES}) + +set(CONFIG_SHMEM "1") +add_definitions(-DORB_COMMUNICATOR) + +# Disable the creation of the parameters.xml file by scanning individual +# source files, and scan all source files. This will create a parameters.xml +# file that contains all possible parameters, even if the associated module +# is not used. This is necessary for parameter synchronization between the +# ARM and DSP processors. +set(DISABLE_PARAMS_MODULE_SCOPING TRUE) + +# This definition allows to differentiate the specific board. +add_definitions(-D__PX4_QURT_EXCELSIOR) + +px4_add_board( + PLATFORM qurt + VENDOR atlflight + MODEL excelsior + LABEL qurt-default + + DRIVERS + gps + spektrum_rc + qshell/qurt + snapdragon_pwm_out + + DF_DRIVERS + mpu9250 + bmp280 + hmc5883 + trone + isl29501 + ltc2946 + + MODULES + muorb/adsp + + attitude_estimator_q + commander + ekf2 + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + land_detector + landing_target_estimator + local_position_estimator + mc_att_control + mc_pos_control + position_estimator_inav + sensors + vtol_att_control + wind_estimator + + SYSTEMCMDS + param + ) diff --git a/src/drivers/boards/excelsior/board_config.h b/boards/atlflight/excelsior/src/board_config.h similarity index 100% rename from src/drivers/boards/excelsior/board_config.h rename to boards/atlflight/excelsior/src/board_config.h diff --git a/boards/atmel/same70xplained/default.cmake b/boards/atmel/same70xplained/default.cmake new file mode 100644 index 0000000000..78015e0d5a --- /dev/null +++ b/boards/atmel/same70xplained/default.cmake @@ -0,0 +1,116 @@ + +px4_add_board( + PLATFORM nuttx + VENDOR atmel + MODEL same70xplained + ARCH cortex-m7 + ROMFS + ROMFSROOT px4fmu_common + TESTING + #UAVCAN_INTERFACES 1 + + SERIAL_PORTS + GPS1:/dev/ttyS3 + TEL1:/dev/ttyS1 + TEL2:/dev/ttyS2 + + DRIVERS + barometer # all available barometer drivers + batt_smbus + blinkm + #camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + #heater + #imu # all available imu drivers + imu/mpu6000 + imu/mpu9250 + imu/lsm303d + imu/l3gd20 + irlock + magnetometer # all available magnetometer drivers + mkblctrl + oreoled + pca9685 + #pwm_input + pwm_out_sim + px4flow + px4fmu + #rc_input + rgbled + samv7 + #WIP samv7/adc + samv7/tone_alarm + tap_esc + telemetry # all available telemetry drivers + #test_ppm + vmount + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + position_estimator_inav + sensors + #WIP uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + bl_update + config + dumpfile + esc_calib + #WIP hardfault_log + led_control + mixer + motor_ramp + motor_test + #mtd + nshterm + param + perf + pwm + reboot + reflect + sd_bench + shutdown + tests # tests and test runner + top + topic_listener + tune_control + #usb_connected + ver + + EXAMPLES + bottle_drop # OBC challenge + fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + hwtest # Hardware test + #matlab_csv_serial + #publisher + px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + rover_steering_control # Rover example app + segway + #subscriber + uuv_example_app + + ) diff --git a/platforms/nuttx/Images/px4-same70xplained-v1.prototype b/boards/atmel/same70xplained/firmware.prototype similarity index 87% rename from platforms/nuttx/Images/px4-same70xplained-v1.prototype rename to boards/atmel/same70xplained/firmware.prototype index 6c809b4a3b..f5596f2ca2 100644 --- a/platforms/nuttx/Images/px4-same70xplained-v1.prototype +++ b/boards/atmel/same70xplained/firmware.prototype @@ -4,7 +4,7 @@ "description": "Firmware for the SAME70xplained board", "image": "", "build_time": 0, - "summary": "PX4/SAME70xplained", + "summary": "Atmel/SAME70xplained", "version": "0.1", "image_size": 0, "image_maxsize": 2097152, diff --git a/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/include/board.h b/boards/atmel/same70xplained/nuttx-config/include/board.h similarity index 100% rename from platforms/nuttx/nuttx-configs/px4-same70xplained-v1/include/board.h rename to boards/atmel/same70xplained/nuttx-config/include/board.h diff --git a/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/nsh/defconfig b/boards/atmel/same70xplained/nuttx-config/nsh/defconfig similarity index 99% rename from platforms/nuttx/nuttx-configs/px4-same70xplained-v1/nsh/defconfig rename to boards/atmel/same70xplained/nuttx-config/nsh/defconfig index faabb2d5e2..b080131854 100644 --- a/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/nsh/defconfig +++ b/boards/atmel/same70xplained/nuttx-config/nsh/defconfig @@ -427,9 +427,9 @@ CONFIG_RAM_SIZE=393216 # Board Selection # # CONFIG_ARCH_BOARD_SAME70_XPLAINED is not set -CONFIG_ARCH_BOARD_PX4_SAME70XPLAINED_V1=y +CONFIG_ARCH_BOARD_ATMELSAME70XPLAINED=y # CONFIG_ARCH_BOARD_CUSTOM is not set -CONFIG_ARCH_BOARD="px4-same70xplained-v1" +CONFIG_ARCH_BOARD="atmelsame70xplained" # # Common Board Options diff --git a/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/scripts/ld.script b/boards/atmel/same70xplained/nuttx-config/scripts/ld.script similarity index 100% rename from platforms/nuttx/nuttx-configs/px4-same70xplained-v1/scripts/ld.script rename to boards/atmel/same70xplained/nuttx-config/scripts/ld.script diff --git a/src/drivers/boards/px4-same70xplained-v1/CMakeLists.txt b/boards/atmel/same70xplained/src/CMakeLists.txt similarity index 100% rename from src/drivers/boards/px4-same70xplained-v1/CMakeLists.txt rename to boards/atmel/same70xplained/src/CMakeLists.txt diff --git a/src/drivers/boards/px4-same70xplained-v1/README.md b/boards/atmel/same70xplained/src/README.md similarity index 88% rename from src/drivers/boards/px4-same70xplained-v1/README.md rename to boards/atmel/same70xplained/src/README.md index e382599ca7..cfef569764 100644 --- a/src/drivers/boards/px4-same70xplained-v1/README.md +++ b/boards/atmel/same70xplained/src/README.md @@ -8,9 +8,9 @@ http://www.atmel.com/tools/ATSAME70-XPLD.aspx 2. git checkout same70xplained 3. make clean 4. git submudule update --init --recursive -5. make px4-same70xplained-v1_default +5. make px4same70xplained-v1_default -The ELF file Firmare will be in `build_px4-same70xplained-v1_default/src/firmware/nuttx/` +The ELF file Firmare will be in `build/px4same70xplained-v1_default/` The EFL file name is `firmware_nuttx` diff --git a/src/drivers/boards/px4-same70xplained-v1/board_config.h b/boards/atmel/same70xplained/src/board_config.h similarity index 99% rename from src/drivers/boards/px4-same70xplained-v1/board_config.h rename to boards/atmel/same70xplained/src/board_config.h index 45dfcc8022..46dc3b8967 100644 --- a/src/drivers/boards/px4-same70xplained-v1/board_config.h +++ b/boards/atmel/same70xplained/src/board_config.h @@ -549,7 +549,7 @@ bool sam_writeprotected(int slotno); int sam_at24config(void); #endif -#include "../common/board_common.h" +#include <drivers/boards/common/board_common.h> #endif /* __ASSEMBLY__ */ diff --git a/src/drivers/boards/px4-same70xplained-v1/can.c b/boards/atmel/same70xplained/src/can.c similarity index 100% rename from src/drivers/boards/px4-same70xplained-v1/can.c rename to boards/atmel/same70xplained/src/can.c diff --git a/src/drivers/boards/px4-same70xplained-v1/init.c b/boards/atmel/same70xplained/src/init.c similarity index 100% rename from src/drivers/boards/px4-same70xplained-v1/init.c rename to boards/atmel/same70xplained/src/init.c diff --git a/src/drivers/boards/px4-same70xplained-v1/led.c b/boards/atmel/same70xplained/src/led.c similarity index 100% rename from src/drivers/boards/px4-same70xplained-v1/led.c rename to boards/atmel/same70xplained/src/led.c diff --git a/src/drivers/boards/px4-same70xplained-v1/sdram.c b/boards/atmel/same70xplained/src/sdram.c similarity index 100% rename from src/drivers/boards/px4-same70xplained-v1/sdram.c rename to boards/atmel/same70xplained/src/sdram.c diff --git a/src/drivers/boards/px4-same70xplained-v1/spi.c b/boards/atmel/same70xplained/src/spi.c similarity index 100% rename from src/drivers/boards/px4-same70xplained-v1/spi.c rename to boards/atmel/same70xplained/src/spi.c diff --git a/src/drivers/boards/px4-same70xplained-v1/timer_config.c b/boards/atmel/same70xplained/src/timer_config.c similarity index 100% rename from src/drivers/boards/px4-same70xplained-v1/timer_config.c rename to boards/atmel/same70xplained/src/timer_config.c diff --git a/src/drivers/boards/px4-same70xplained-v1/usb.c b/boards/atmel/same70xplained/src/usb.c similarity index 100% rename from src/drivers/boards/px4-same70xplained-v1/usb.c rename to boards/atmel/same70xplained/src/usb.c diff --git a/cmake/configs/nuttx_esc35-v1_default.cmake b/boards/auav/esc35-v1/default.cmake similarity index 60% rename from cmake/configs/nuttx_esc35-v1_default.cmake rename to boards/auav/esc35-v1/default.cmake index 316814eab2..f99e4bd815 100644 --- a/cmake/configs/nuttx_esc35-v1_default.cmake +++ b/boards/auav/esc35-v1/default.cmake @@ -6,8 +6,6 @@ add_definitions( -DPARAMETER_BUFFER_SIZE=1024 ) -px4_nuttx_configure(HWCLASS m4 CONFIG nsh) - # UAVCAN boot loadable Module ID set(uavcanblid_sw_version_major 0) set(uavcanblid_sw_version_minor 1) @@ -17,17 +15,20 @@ add_definitions( ) # Bring in common uavcan hardware identity definitions -include(common/px4_git) +include(px4_git) px4_add_git_submodule(TARGET git_uavcan_board_ident PATH "cmake/configs/uavcan_board_ident") include(configs/uavcan_board_ident/esc35-v1) + add_definitions( -DHW_UAVCAN_NAME=${uavcanblid_name} -DHW_VERSION_MAJOR=${uavcanblid_hw_version_major} -DHW_VERSION_MINOR=${uavcanblid_hw_version_minor} ) -px4_nuttx_make_uavcan_bootloadable(BOARD ${BOARD} - BIN ${PX4_BINARY_DIR}/esc35-v1.bin +include(px4_make_uavcan_bootloader) +px4_make_uavcan_bootloadable( + BOARD auavesc35 + BIN ${PX4_BINARY_DIR}/auavesc35-v1.bin HWNAME ${uavcanblid_name} HW_MAJOR ${uavcanblid_hw_version_major} HW_MINOR ${uavcanblid_hw_version_minor} @@ -35,29 +36,30 @@ px4_nuttx_make_uavcan_bootloadable(BOARD ${BOARD} SW_MINOR ${uavcanblid_sw_version_minor} ) -set(config_module_list - # - # Board support modules - # - drivers/stm32 - - # - # System commands - # - systemcmds/config - systemcmds/reboot - systemcmds/top - systemcmds/param - systemcmds/ver - - # - # General system control - # - modules/uavcanesc - modules/uavcanesc/nshterm - modules/uavcanesc/commands/cfg - modules/uavcanesc/commands/selftest - modules/uavcanesc/commands/dc - modules/uavcanesc/commands/rpm - modules/uavcanesc/commands/stat -) +px4_add_board( + PLATFORM nuttx + VENDOR auav + MODEL esc35-v1 + ARCH cortex-m4 + + DRIVERS + bootloaders + stm32 + + MODULES + uavcanesc + uavcanesc/nshterm + uavcanesc/commands/cfg + uavcanesc/commands/selftest + uavcanesc/commands/dc + uavcanesc/commands/rpm + uavcanesc/commands/stat + + SYSTEMCMDS + config + reboot + param + top + ver + + ) diff --git a/platforms/nuttx/Images/esc35-v1.prototype b/boards/auav/esc35-v1/firmware.prototype similarity index 100% rename from platforms/nuttx/Images/esc35-v1.prototype rename to boards/auav/esc35-v1/firmware.prototype diff --git a/platforms/nuttx/nuttx-configs/esc35-v1/Kconfig b/boards/auav/esc35-v1/nuttx-config/Kconfig similarity index 100% rename from platforms/nuttx/nuttx-configs/esc35-v1/Kconfig rename to boards/auav/esc35-v1/nuttx-config/Kconfig diff --git a/platforms/nuttx/nuttx-configs/esc35-v1/include/README.txt b/boards/auav/esc35-v1/nuttx-config/include/README.txt old mode 100755 new mode 100644 similarity index 100% rename from platforms/nuttx/nuttx-configs/esc35-v1/include/README.txt rename to boards/auav/esc35-v1/nuttx-config/include/README.txt diff --git a/platforms/nuttx/nuttx-configs/esc35-v1/include/board.h b/boards/auav/esc35-v1/nuttx-config/include/board.h old mode 100755 new mode 100644 similarity index 100% rename from platforms/nuttx/nuttx-configs/esc35-v1/include/board.h rename to boards/auav/esc35-v1/nuttx-config/include/board.h diff --git a/platforms/nuttx/nuttx-configs/esc35-v1/nsh/defconfig b/boards/auav/esc35-v1/nuttx-config/nsh/defconfig similarity index 99% rename from platforms/nuttx/nuttx-configs/esc35-v1/nsh/defconfig rename to boards/auav/esc35-v1/nuttx-config/nsh/defconfig index e344fbe3f7..f9b2beffe9 100644 --- a/platforms/nuttx/nuttx-configs/esc35-v1/nsh/defconfig +++ b/boards/auav/esc35-v1/nuttx-config/nsh/defconfig @@ -559,8 +559,8 @@ CONFIG_RAM_SIZE=131072 # # Board Selection # -CONFIG_ARCH_BOARD_ESC35_V1=y -CONFIG_ARCH_BOARD="esc35-v1" +CONFIG_ARCH_BOARD_AUAVESC35_V1=y +CONFIG_ARCH_BOARD="auavesc35-v1" # # Custom Board Configuration diff --git a/platforms/nuttx/nuttx-configs/esc35-v1/scripts/ld.script b/boards/auav/esc35-v1/nuttx-config/scripts/ld.script similarity index 100% rename from platforms/nuttx/nuttx-configs/esc35-v1/scripts/ld.script rename to boards/auav/esc35-v1/nuttx-config/scripts/ld.script diff --git a/src/drivers/boards/esc35-v1/CMakeLists.txt b/boards/auav/esc35-v1/src/CMakeLists.txt similarity index 100% rename from src/drivers/boards/esc35-v1/CMakeLists.txt rename to boards/auav/esc35-v1/src/CMakeLists.txt diff --git a/src/drivers/boards/esc35-v1/board_config.h b/boards/auav/esc35-v1/src/board_config.h similarity index 99% rename from src/drivers/boards/esc35-v1/board_config.h rename to boards/auav/esc35-v1/src/board_config.h index 63dedcc7a2..5776c41f59 100644 --- a/src/drivers/boards/esc35-v1/board_config.h +++ b/boards/auav/esc35-v1/src/board_config.h @@ -275,7 +275,7 @@ int usbmsc_archinitialize(void); extern int composite_archinitialize(void); #endif -#include "../common/board_common.h" +#include <drivers/boards/common/board_common.h> #endif /* __ASSEMBLY__ */ diff --git a/src/drivers/boards/esc35-v1/init.c b/boards/auav/esc35-v1/src/init.c similarity index 100% rename from src/drivers/boards/esc35-v1/init.c rename to boards/auav/esc35-v1/src/init.c diff --git a/src/drivers/boards/esc35-v1/led.c b/boards/auav/esc35-v1/src/led.c similarity index 100% rename from src/drivers/boards/esc35-v1/led.c rename to boards/auav/esc35-v1/src/led.c diff --git a/src/drivers/boards/esc35-v1/usb.c b/boards/auav/esc35-v1/src/usb.c similarity index 100% rename from src/drivers/boards/esc35-v1/usb.c rename to boards/auav/esc35-v1/src/usb.c diff --git a/boards/auav/x21/default.cmake b/boards/auav/x21/default.cmake new file mode 100644 index 0000000000..01d545775e --- /dev/null +++ b/boards/auav/x21/default.cmake @@ -0,0 +1,122 @@ + +px4_add_board( + PLATFORM nuttx + VENDOR auav + MODEL x21 + LABEL default + ARCH cortex-m4 + ROMFS + ROMFSROOT px4fmu_common + IO px4io-v2_default + TESTING + UAVCAN_INTERFACES 1 + + SERIAL_PORTS + GPS1:/dev/ttyS3 + TEL1:/dev/ttyS1 + TEL2:/dev/ttyS2 + + DRIVERS + barometer # all available barometer drivers + batt_smbus + blinkm + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + #heater + #imu # all available imu drivers + imu/mpu6000 + imu/mpu9250 + irlock + magnetometer # all available magnetometer drivers + #md25 + mkblctrl + oreoled + pca8574 + pca9685 + #pmw3901 + protocol_splitter + pwm_input + pwm_out_sim + px4flow + px4fmu + px4io + rgbled + #rgbled_pwm + roboclaw + stm32 + stm32/adc + stm32/tone_alarm + tap_esc + telemetry # all available telemetry drivers + test_ppm + vmount + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + position_estimator_inav + sensors + uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + bl_update + config + dumpfile + esc_calib + hardfault_log + led_control + mixer + motor_ramp + motor_test + mtd + nshterm + param + perf + pwm + reboot + reflect + sd_bench + shutdown + tests # tests and test runner + top + topic_listener + tune_control + usb_connected + ver + + EXAMPLES + bottle_drop # OBC challenge + fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + hwtest # Hardware test + #matlab_csv_serial + #publisher + px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + rover_steering_control # Rover example app + segway + #subscriber + uuv_example_app + + ) diff --git a/platforms/nuttx/Images/auav-x21.prototype b/boards/auav/x21/firmware.prototype similarity index 100% rename from platforms/nuttx/Images/auav-x21.prototype rename to boards/auav/x21/firmware.prototype diff --git a/platforms/nuttx/nuttx-configs/auav-x21/include/board.h b/boards/auav/x21/nuttx-config/include/board.h old mode 100755 new mode 100644 similarity index 100% rename from platforms/nuttx/nuttx-configs/auav-x21/include/board.h rename to boards/auav/x21/nuttx-config/include/board.h diff --git a/platforms/nuttx/nuttx-configs/auav-x21/nsh/defconfig b/boards/auav/x21/nuttx-config/nsh/defconfig similarity index 99% rename from platforms/nuttx/nuttx-configs/auav-x21/nsh/defconfig rename to boards/auav/x21/nuttx-config/nsh/defconfig index 04be1628ce..b25df9dc59 100644 --- a/platforms/nuttx/nuttx-configs/auav-x21/nsh/defconfig +++ b/boards/auav/x21/nuttx-config/nsh/defconfig @@ -688,7 +688,7 @@ CONFIG_RAM_SIZE=262144 # Board Selection # CONFIG_ARCH_BOARD_AUAV_X21=y -CONFIG_ARCH_BOARD="auav-x21" +CONFIG_ARCH_BOARD="auavx21" # # Custom Board Configuration diff --git a/platforms/nuttx/nuttx-configs/auav-x21/scripts/ld.script b/boards/auav/x21/nuttx-config/scripts/ld.script similarity index 93% rename from platforms/nuttx/nuttx-configs/auav-x21/scripts/ld.script rename to boards/auav/x21/nuttx-config/scripts/ld.script index c981791f1f..0d19229c01 100644 --- a/platforms/nuttx/nuttx-configs/auav-x21/scripts/ld.script +++ b/boards/auav/x21/nuttx-config/scripts/ld.script @@ -1,5 +1,5 @@ /**************************************************************************** - * configs/auav_x21/common/ld.script + * scripts/ld.script * * Copyright (C) 2011 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <gnutt@nuttx.org> @@ -72,13 +72,13 @@ SECTIONS .text : { _stext = ABSOLUTE(.); *(.vectors) - . = ALIGN(32); - /* - This signature provides the bootloader with a way to delay booting - */ - _bootdelay_signature = ABSOLUTE(.); - FILL(0xffecc2925d7d05c5) - . += 8; + . = ALIGN(32); + /* + This signature provides the bootloader with a way to delay booting + */ + _bootdelay_signature = ABSOLUTE(.); + FILL(0xffecc2925d7d05c5) + . += 8; *(.text .text.*) *(.fixup) *(.gnu.warning) diff --git a/src/drivers/boards/aerocore2/CMakeLists.txt b/boards/auav/x21/src/CMakeLists.txt similarity index 100% rename from src/drivers/boards/aerocore2/CMakeLists.txt rename to boards/auav/x21/src/CMakeLists.txt diff --git a/src/drivers/boards/auav-x21/board_config.h b/boards/auav/x21/src/board_config.h similarity index 99% rename from src/drivers/boards/auav-x21/board_config.h rename to boards/auav/x21/src/board_config.h index 5ebeedba96..0751728e84 100644 --- a/src/drivers/boards/auav-x21/board_config.h +++ b/boards/auav/x21/src/board_config.h @@ -300,7 +300,7 @@ extern void stm32_usbinitialize(void); extern void stm32_spiinitialize(void); -#include "../common/board_common.h" +#include <drivers/boards/common/board_common.h> #endif /* __ASSEMBLY__ */ __END_DECLS diff --git a/src/drivers/boards/auav-x21/can.c b/boards/auav/x21/src/can.c similarity index 100% rename from src/drivers/boards/auav-x21/can.c rename to boards/auav/x21/src/can.c diff --git a/src/drivers/boards/auav-x21/init.c b/boards/auav/x21/src/init.c similarity index 100% rename from src/drivers/boards/auav-x21/init.c rename to boards/auav/x21/src/init.c diff --git a/src/drivers/boards/auav-x21/led.c b/boards/auav/x21/src/led.c similarity index 100% rename from src/drivers/boards/auav-x21/led.c rename to boards/auav/x21/src/led.c diff --git a/src/drivers/boards/auav-x21/spi.c b/boards/auav/x21/src/spi.c similarity index 100% rename from src/drivers/boards/auav-x21/spi.c rename to boards/auav/x21/src/spi.c diff --git a/src/drivers/boards/auav-x21/timer_config.c b/boards/auav/x21/src/timer_config.c similarity index 99% rename from src/drivers/boards/auav-x21/timer_config.c rename to boards/auav/x21/src/timer_config.c index b5197dd46d..66f375b0a6 100644 --- a/src/drivers/boards/auav-x21/timer_config.c +++ b/boards/auav/x21/src/timer_config.c @@ -48,7 +48,7 @@ #include <drivers/drv_pwm_output.h> #include <drivers/stm32/drv_io_timer.h> -#include "../auav-x21/board_config.h" +#include "board_config.h" __EXPORT const io_timers_t io_timers[MAX_IO_TIMERS] = { { diff --git a/src/drivers/boards/auav-x21/usb.c b/boards/auav/x21/src/usb.c similarity index 99% rename from src/drivers/boards/auav-x21/usb.c rename to boards/auav/x21/src/usb.c index 0e4d8ed279..4d43e8bea2 100644 --- a/src/drivers/boards/auav-x21/usb.c +++ b/boards/auav/x21/src/usb.c @@ -54,7 +54,7 @@ #include <up_arch.h> #include <stm32.h> -#include "../auav-x21/board_config.h" +#include "board_config.h" /************************************************************************************ * Definitions diff --git a/boards/av/x-v1/default.cmake b/boards/av/x-v1/default.cmake new file mode 100644 index 0000000000..5f35ca58eb --- /dev/null +++ b/boards/av/x-v1/default.cmake @@ -0,0 +1,121 @@ + +px4_add_board( + PLATFORM nuttx + VENDOR av + MODEL x-v1 + ARCH cortex-m7 + ROMFS + ROMFSROOT px4fmu_common + TESTING + UAVCAN_INTERFACES 2 + + SERIAL_PORTS + GPS1:/dev/ttyS6 + TEL1:/dev/ttyS0 + TEL2:/dev/ttyS1 + TEL3:/dev/ttyS2 + TEL4:/dev/ttyS3 + + DRIVERS + barometer # all available barometer drivers + batt_smbus + blinkm + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + #heater + #imu # all available imu drivers + imu/adis16477 + irlock + magnetometer # all available magnetometer drivers + #md25 + mkblctrl + #oreoled + #pca8574 + pca9685 + #pmw3901 + protocol_splitter + #pwm_input + pwm_out_sim + px4flow + px4fmu + rc_input + #rgbled + #rgbled_pwm + roboclaw + stm32 + stm32/adc + #stm32/tone_alarm + tap_esc + telemetry # all available telemetry drivers + test_ppm + vmount + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + position_estimator_inav + sensors + uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + bl_update + config + dumpfile + esc_calib + hardfault_log + led_control + mixer + motor_ramp + motor_test + mtd + nshterm + param + perf + pwm + reboot + reflect + sd_bench + shutdown + tests # tests and test runner + top + topic_listener + tune_control + #usb_connected + ver + + EXAMPLES + bottle_drop # OBC challenge + fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + hwtest # Hardware test + #matlab_csv_serial + #publisher + px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + rover_steering_control # Rover example app + segway + #subscriber + uuv_example_app + + ) diff --git a/platforms/nuttx/Images/av-x-v1.prototype b/boards/av/x-v1/firmware.prototype similarity index 100% rename from platforms/nuttx/Images/av-x-v1.prototype rename to boards/av/x-v1/firmware.prototype diff --git a/platforms/nuttx/nuttx-configs/av-x-v1/include/board.h b/boards/av/x-v1/nuttx-config/include/board.h old mode 100755 new mode 100644 similarity index 100% rename from platforms/nuttx/nuttx-configs/av-x-v1/include/board.h rename to boards/av/x-v1/nuttx-config/include/board.h diff --git a/platforms/nuttx/nuttx-configs/av-x-v1/nsh/defconfig b/boards/av/x-v1/nuttx-config/nsh/defconfig similarity index 99% rename from platforms/nuttx/nuttx-configs/av-x-v1/nsh/defconfig rename to boards/av/x-v1/nuttx-config/nsh/defconfig index 480d450895..9f8ce9c53e 100644 --- a/platforms/nuttx/nuttx-configs/av-x-v1/nsh/defconfig +++ b/boards/av/x-v1/nuttx-config/nsh/defconfig @@ -533,8 +533,8 @@ CONFIG_RAM_SIZE=376832 # # Board Selection # -CONFIG_ARCH_BOARD_AV_X_V1=y -CONFIG_ARCH_BOARD="av-x-v1" +CONFIG_ARCH_BOARD_AVX_V1=y +CONFIG_ARCH_BOARD="avx-v1" # # Common Board Options diff --git a/platforms/nuttx/nuttx-configs/av-x-v1/scripts/ld.script b/boards/av/x-v1/nuttx-config/scripts/ld.script similarity index 99% rename from platforms/nuttx/nuttx-configs/av-x-v1/scripts/ld.script rename to boards/av/x-v1/nuttx-config/scripts/ld.script index 098afbafd9..fae1d95de0 100644 --- a/platforms/nuttx/nuttx-configs/av-x-v1/scripts/ld.script +++ b/boards/av/x-v1/nuttx-config/scripts/ld.script @@ -1,5 +1,5 @@ /**************************************************************************** - * nuttx-configs/av-x/scripts/script.ld + * scripts/script.ld * * Copyright (C) 2016 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <gnutt@nuttx.org> diff --git a/src/drivers/boards/av-x-v1/CMakeLists.txt b/boards/av/x-v1/src/CMakeLists.txt similarity index 100% rename from src/drivers/boards/av-x-v1/CMakeLists.txt rename to boards/av/x-v1/src/CMakeLists.txt diff --git a/src/drivers/boards/av-x-v1/board_config.h b/boards/av/x-v1/src/board_config.h similarity index 99% rename from src/drivers/boards/av-x-v1/board_config.h rename to boards/av/x-v1/src/board_config.h index 75ad3c569c..6c55b92ac7 100644 --- a/src/drivers/boards/av-x-v1/board_config.h +++ b/boards/av/x-v1/src/board_config.h @@ -471,7 +471,7 @@ void board_spi_reset(int ms); int nsh_archinitialize(void); #endif -#include "../common/board_common.h" +#include <drivers/boards/common/board_common.h> #endif /* __ASSEMBLY__ */ diff --git a/src/drivers/boards/av-x-v1/init.c b/boards/av/x-v1/src/init.c similarity index 100% rename from src/drivers/boards/av-x-v1/init.c rename to boards/av/x-v1/src/init.c diff --git a/src/drivers/boards/av-x-v1/manifest.c b/boards/av/x-v1/src/manifest.c similarity index 100% rename from src/drivers/boards/av-x-v1/manifest.c rename to boards/av/x-v1/src/manifest.c diff --git a/src/drivers/boards/av-x-v1/sdio.c b/boards/av/x-v1/src/sdio.c similarity index 100% rename from src/drivers/boards/av-x-v1/sdio.c rename to boards/av/x-v1/src/sdio.c diff --git a/src/drivers/boards/av-x-v1/spi.c b/boards/av/x-v1/src/spi.c similarity index 100% rename from src/drivers/boards/av-x-v1/spi.c rename to boards/av/x-v1/src/spi.c diff --git a/src/drivers/boards/av-x-v1/timer_config.c b/boards/av/x-v1/src/timer_config.c similarity index 100% rename from src/drivers/boards/av-x-v1/timer_config.c rename to boards/av/x-v1/src/timer_config.c diff --git a/boards/beaglebone/blue/cross.cmake b/boards/beaglebone/blue/cross.cmake new file mode 100644 index 0000000000..b94d2670d8 --- /dev/null +++ b/boards/beaglebone/blue/cross.cmake @@ -0,0 +1,84 @@ + +px4_add_board( + VENDOR beaglebone + MODEL blue + LABEL cross + PLATFORM posix + ARCH cortex-a8 + TOOLCHAIN Toolchain-arm-linux-gnueabihf + TESTING + + DRIVERS + #barometer # all available barometer drivers + batt_smbus + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + #imu # all available imu drivers + #magnetometer # all available magnetometer drivers + pwm_out_sim + #telemetry # all available telemetry drivers + vmount + + linux_gpio + linux_pwm_out + linux_sbus + bbblue_adc + + DF_DRIVERS # NOTE: DriverFramework is migrating to intree PX4 drivers + mpu9250 + bmp280 + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + #gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + position_estimator_inav + sensors + #uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + esc_calib + led_control + mixer + motor_ramp + param + perf + pwm + reboot + sd_bench + tests # tests and test runner + top + topic_listener + tune_control + ver + + EXAMPLES + bottle_drop # OBC challenge + fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + #hwtest # Hardware test + px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + rover_steering_control # Rover example app + segway + ) diff --git a/boards/beaglebone/blue/native.cmake b/boards/beaglebone/blue/native.cmake new file mode 100644 index 0000000000..8cf471663e --- /dev/null +++ b/boards/beaglebone/blue/native.cmake @@ -0,0 +1,83 @@ + +px4_add_board( + VENDOR beaglebone + MODEL blue + LABEL native + PLATFORM posix + TOOLCHAIN Toolchain-native + TESTING + + DRIVERS + #barometer # all available barometer drivers + batt_smbus + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + #imu # all available imu drivers + #magnetometer # all available magnetometer drivers + pwm_out_sim + #telemetry # all available telemetry drivers + vmount + + linux_gpio + linux_pwm_out + linux_sbus + bbblue_adc + + DF_DRIVERS # NOTE: DriverFramework is migrating to intree PX4 drivers + mpu9250 + bmp280 + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + #gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + position_estimator_inav + sensors + #uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + esc_calib + led_control + mixer + motor_ramp + param + perf + pwm + reboot + sd_bench + tests # tests and test runner + top + topic_listener + tune_control + ver + + EXAMPLES + bottle_drop # OBC challenge + fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + #hwtest # Hardware test + px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + rover_steering_control # Rover example app + segway + ) diff --git a/src/drivers/boards/bbblue/CMakeLists.txt b/boards/beaglebone/blue/src/CMakeLists.txt similarity index 94% rename from src/drivers/boards/bbblue/CMakeLists.txt rename to boards/beaglebone/blue/src/CMakeLists.txt index d8ae2238c3..5ee92a9916 100644 --- a/src/drivers/boards/bbblue/CMakeLists.txt +++ b/boards/beaglebone/blue/src/CMakeLists.txt @@ -35,6 +35,6 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error") px4_add_library(drivers_board init.c - ../common/board_identity.c + ${PX4_SOURCE_DIR}/src/drivers/boards/common/board_identity.c # TODO: this is horrible and should be fixed ) diff --git a/src/drivers/boards/bbblue/board_config.h b/boards/beaglebone/blue/src/board_config.h similarity index 98% rename from src/drivers/boards/bbblue/board_config.h rename to boards/beaglebone/blue/src/board_config.h index e34202172d..efa670c83a 100644 --- a/src/drivers/boards/bbblue/board_config.h +++ b/boards/beaglebone/blue/src/board_config.h @@ -66,7 +66,7 @@ #define PX4_NUMBER_I2C_BUSES 1 #include <system_config.h> -#include "../common/board_common.h" +#include <drivers/boards/common/board_common.h> #ifdef __cplusplus extern "C" { diff --git a/src/drivers/boards/bbblue/init.c b/boards/beaglebone/blue/src/init.c similarity index 100% rename from src/drivers/boards/bbblue/init.c rename to boards/beaglebone/blue/src/init.c diff --git a/boards/bitcraze/crazyflie/default.cmake b/boards/bitcraze/crazyflie/default.cmake new file mode 100644 index 0000000000..0cbd417131 --- /dev/null +++ b/boards/bitcraze/crazyflie/default.cmake @@ -0,0 +1,73 @@ + +px4_add_board( + PLATFORM nuttx + VENDOR bitcraze + MODEL crazyflie + ARCH cortex-m4 + ROMFS + ROMFSROOT px4fmu_common + + DRIVERS + barometer/lps25h + distance_sensor/vl53lxx + gps + imu/mpu9250 + pmw3901 + px4fmu + stm32 + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + #fw_att_control + #fw_pos_control_l1 + #gnd_att_control + #gnd_pos_control + #gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + position_estimator_inav + sensors + syslink + #uavcan + #vtol_att_control + wind_estimator + + SYSTEMCMDS + bl_update + config + dumpfile + esc_calib + hardfault_log + led_control + mixer + motor_ramp + motor_test + mtd + nshterm + param + perf + pwm + reboot + reflect + sd_bench + shutdown + #tests # tests and test runner + top + topic_listener + tune_control + usb_connected + ver + + ) diff --git a/platforms/nuttx/Images/crazyflie.prototype b/boards/bitcraze/crazyflie/firmware.prototype similarity index 100% rename from platforms/nuttx/Images/crazyflie.prototype rename to boards/bitcraze/crazyflie/firmware.prototype diff --git a/platforms/nuttx/nuttx-configs/crazyflie/include/board.h b/boards/bitcraze/crazyflie/nuttx-config/include/board.h similarity index 100% rename from platforms/nuttx/nuttx-configs/crazyflie/include/board.h rename to boards/bitcraze/crazyflie/nuttx-config/include/board.h diff --git a/platforms/nuttx/nuttx-configs/crazyflie/nsh/defconfig b/boards/bitcraze/crazyflie/nuttx-config/nsh/defconfig similarity index 99% rename from platforms/nuttx/nuttx-configs/crazyflie/nsh/defconfig rename to boards/bitcraze/crazyflie/nuttx-config/nsh/defconfig index d9d6eb0128..a236d585e3 100644 --- a/platforms/nuttx/nuttx-configs/crazyflie/nsh/defconfig +++ b/boards/bitcraze/crazyflie/nuttx-config/nsh/defconfig @@ -653,7 +653,7 @@ CONFIG_RAM_SIZE=196608 # Board Selection # CONFIG_ARCH_BOARD_CRAZYFLIE=y -CONFIG_ARCH_BOARD="crazyflie" +CONFIG_ARCH_BOARD="bitcrazecrazyflie" # # Custom Board Configuration diff --git a/platforms/nuttx/nuttx-configs/crazyflie/scripts/ld.script b/boards/bitcraze/crazyflie/nuttx-config/scripts/ld.script similarity index 100% rename from platforms/nuttx/nuttx-configs/crazyflie/scripts/ld.script rename to boards/bitcraze/crazyflie/nuttx-config/scripts/ld.script diff --git a/src/drivers/boards/crazyflie/CMakeLists.txt b/boards/bitcraze/crazyflie/src/CMakeLists.txt similarity index 100% rename from src/drivers/boards/crazyflie/CMakeLists.txt rename to boards/bitcraze/crazyflie/src/CMakeLists.txt diff --git a/src/drivers/boards/crazyflie/board_config.h b/boards/bitcraze/crazyflie/src/board_config.h similarity index 99% rename from src/drivers/boards/crazyflie/board_config.h rename to boards/bitcraze/crazyflie/src/board_config.h index 5fce4046c2..0b675b83ae 100644 --- a/src/drivers/boards/crazyflie/board_config.h +++ b/boards/bitcraze/crazyflie/src/board_config.h @@ -291,7 +291,7 @@ extern int stm32_spi_bus_initialize(void); void board_spi_reset(int ms); -#include "../common/board_common.h" +#include <drivers/boards/common/board_common.h> #endif /* __ASSEMBLY__ */ diff --git a/src/drivers/boards/crazyflie/init.c b/boards/bitcraze/crazyflie/src/init.c similarity index 100% rename from src/drivers/boards/crazyflie/init.c rename to boards/bitcraze/crazyflie/src/init.c diff --git a/src/drivers/boards/crazyflie/led.c b/boards/bitcraze/crazyflie/src/led.c similarity index 100% rename from src/drivers/boards/crazyflie/led.c rename to boards/bitcraze/crazyflie/src/led.c diff --git a/src/drivers/boards/crazyflie/spi.c b/boards/bitcraze/crazyflie/src/spi.c similarity index 100% rename from src/drivers/boards/crazyflie/spi.c rename to boards/bitcraze/crazyflie/src/spi.c diff --git a/src/drivers/boards/crazyflie/timer_config.c b/boards/bitcraze/crazyflie/src/timer_config.c similarity index 100% rename from src/drivers/boards/crazyflie/timer_config.c rename to boards/bitcraze/crazyflie/src/timer_config.c diff --git a/src/drivers/boards/crazyflie/usb.c b/boards/bitcraze/crazyflie/src/usb.c similarity index 100% rename from src/drivers/boards/crazyflie/usb.c rename to boards/bitcraze/crazyflie/src/usb.c diff --git a/boards/emlid/navio2/cross.cmake b/boards/emlid/navio2/cross.cmake new file mode 100644 index 0000000000..d2da059530 --- /dev/null +++ b/boards/emlid/navio2/cross.cmake @@ -0,0 +1,94 @@ + +px4_add_board( + VENDOR emlid + MODEL navio2 + LABEL cross + PLATFORM posix + ARCH cortex-a53 + TOOLCHAIN Toolchain-arm-linux-gnueabihf + TESTING + + DRIVERS + #barometer # all available barometer drivers + batt_smbus + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + #imu # all available imu drivers + #magnetometer # all available magnetometer drivers + pwm_out_sim + #telemetry # all available telemetry drivers + vmount + + linux_gpio + linux_pwm_out + linux_sbus + navio_adc + navio_rgbled + navio_sysfs_rc_in + rpi_rc_in + + DF_DRIVERS # NOTE: DriverFramework is migrating to intree PX4 drivers + hmc5883 + isl29501 + lsm9ds1 + mpu9250 + ms5611 + trone + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + #gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + position_estimator_inav + sensors + #simulator + #uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + dyn + esc_calib + led_control + mixer + motor_ramp + param + perf + pwm + reboot + sd_bench + shutdown + tests # tests and test runner + top + topic_listener + tune_control + ver + + EXAMPLES + bottle_drop # OBC challenge + fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + #hwtest # Hardware test + px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + rover_steering_control # Rover example app + segway + ) diff --git a/boards/emlid/navio2/native.cmake b/boards/emlid/navio2/native.cmake new file mode 100644 index 0000000000..c435f6b3cf --- /dev/null +++ b/boards/emlid/navio2/native.cmake @@ -0,0 +1,93 @@ + +px4_add_board( + VENDOR emlid + MODEL navio2 + LABEL native + PLATFORM posix + TOOLCHAIN Toolchain-native + TESTING + + DRIVERS + #barometer # all available barometer drivers + batt_smbus + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + #imu # all available imu drivers + #magnetometer # all available magnetometer drivers + pwm_out_sim + #telemetry # all available telemetry drivers + vmount + + linux_gpio + linux_pwm_out + linux_sbus + navio_adc + navio_rgbled + navio_sysfs_rc_in + rpi_rc_in + + DF_DRIVERS # NOTE: DriverFramework is migrating to intree PX4 drivers + hmc5883 + isl29501 + lsm9ds1 + mpu9250 + ms5611 + trone + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + #gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + position_estimator_inav + sensors + #simulator + #uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + dyn + esc_calib + led_control + mixer + motor_ramp + param + perf + pwm + reboot + sd_bench + shutdown + tests # tests and test runner + top + topic_listener + tune_control + ver + + EXAMPLES + bottle_drop # OBC challenge + fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + #hwtest # Hardware test + px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + rover_steering_control # Rover example app + segway + ) diff --git a/src/drivers/boards/ocpoc/CMakeLists.txt b/boards/emlid/navio2/src/CMakeLists.txt similarity index 94% rename from src/drivers/boards/ocpoc/CMakeLists.txt rename to boards/emlid/navio2/src/CMakeLists.txt index d95d0043bc..0b4ba0d6ac 100644 --- a/src/drivers/boards/ocpoc/CMakeLists.txt +++ b/boards/emlid/navio2/src/CMakeLists.txt @@ -30,6 +30,7 @@ # POSSIBILITY OF SUCH DAMAGE. # ############################################################################ + px4_add_library(drivers_board - ../common/board_identity.c + ${PX4_SOURCE_DIR}/src/drivers/boards/common/board_identity.c # TODO: this is horrible and should be fixed ) diff --git a/src/drivers/boards/rpi/board_config.h b/boards/emlid/navio2/src/board_config.h similarity index 94% rename from src/drivers/boards/rpi/board_config.h rename to boards/emlid/navio2/src/board_config.h index dcf2c4b7cf..2cd6af040f 100644 --- a/src/drivers/boards/rpi/board_config.h +++ b/boards/emlid/navio2/src/board_config.h @@ -34,7 +34,7 @@ /** * @file board_config.h * - * RPI internal definitions + * Emlid Navio2 RPI internal definitions */ #pragma once @@ -42,7 +42,7 @@ #define BOARD_OVERRIDE_UUID "RPIID00000000000" // must be of length 16 #define PX4_SOC_ARCH_ID PX4_SOC_ARCH_ID_RPI -#define BOARD_NAME "RPI" +#define BOARD_NAME "EMLIDNAVIO2" #define ADC_BATTERY_VOLTAGE_CHANNEL 2 #define ADC_BATTERY_CURRENT_CHANNEL 3 @@ -62,4 +62,4 @@ #define PX4_NUMBER_I2C_BUSES 1 #include <system_config.h> -#include "../common/board_common.h" +#include <drivers/boards/common/board_common.h> diff --git a/boards/gumstix/aerocore2/default.cmake b/boards/gumstix/aerocore2/default.cmake new file mode 100644 index 0000000000..b672ab98d9 --- /dev/null +++ b/boards/gumstix/aerocore2/default.cmake @@ -0,0 +1,119 @@ + +px4_add_board( + PLATFORM nuttx + VENDOR gumstix + MODEL aerocore2 + ARCH cortex-m4 + ROMFS + ROMFSROOT px4fmu_common + UAVCAN_INTERFACES 1 + + SERIAL_PORTS + GPS1:/dev/ttyS0 + TEL1:/dev/ttyS1 + TEL2:/dev/ttyS2 + + DRIVERS + barometer # all available barometer drivers + #batt_smbus + #blinkm + #camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + #heater + #imu # all available imu drivers + imu/l3gd20 + imu/lsm303d + #irlock + #magnetometer # all available magnetometer drivers + #md25 + #mkblctrl + #oreoled + #pca8574 + #pca9685 + #pmw3901 + #protocol_splitter + #pwm_input + pwm_out_sim + #px4flow + px4fmu + rc_input + #rgbled + #rgbled_pwm + #roboclaw + stm32 + stm32/adc + stm32/tone_alarm + #tap_esc + #telemetry # all available telemetry drivers + #test_ppm + #vmount + + MODULES + #attitude_estimator_q + #camera_feedback + commander + dataman + ekf2 + events + #fw_att_control + #fw_pos_control_l1 + #gnd_att_control + #gnd_pos_control + #gpio_led + land_detector + #landing_target_estimator + load_mon + #local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + #position_estimator_inav + sensors + #uavcan + #vtol_att_control + #wind_estimator + + SYSTEMCMDS + bl_update + config + #dumpfile + #esc_calib + hardfault_log + led_control + mixer + #motor_ramp + motor_test + mtd + nshterm + param + perf + pwm + reboot + reflect + #sd_bench + shutdown + #tests # tests and test runner + top + #topic_listener + tune_control + usb_connected + ver + + EXAMPLES + #bottle_drop # OBC challenge + #fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + #hwtest # Hardware test + #matlab_csv_serial + #publisher + #px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + #px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + #rover_steering_control # Rover example app + #segway + #subscriber + #uuv_example_app + + ) diff --git a/platforms/nuttx/Images/aerocore2.prototype b/boards/gumstix/aerocore2/firmware.prototype similarity index 100% rename from platforms/nuttx/Images/aerocore2.prototype rename to boards/gumstix/aerocore2/firmware.prototype diff --git a/platforms/nuttx/nuttx-configs/aerocore2/Kconfig b/boards/gumstix/aerocore2/nuttx-config/Kconfig similarity index 100% rename from platforms/nuttx/nuttx-configs/aerocore2/Kconfig rename to boards/gumstix/aerocore2/nuttx-config/Kconfig diff --git a/platforms/nuttx/nuttx-configs/aerocore2/include/board.h b/boards/gumstix/aerocore2/nuttx-config/include/board.h old mode 100755 new mode 100644 similarity index 100% rename from platforms/nuttx/nuttx-configs/aerocore2/include/board.h rename to boards/gumstix/aerocore2/nuttx-config/include/board.h diff --git a/platforms/nuttx/nuttx-configs/aerocore2/nsh/defconfig b/boards/gumstix/aerocore2/nuttx-config/nsh/defconfig similarity index 99% rename from platforms/nuttx/nuttx-configs/aerocore2/nsh/defconfig rename to boards/gumstix/aerocore2/nuttx-config/nsh/defconfig index f0df9c26ab..1a9dd2d0b3 100644 --- a/platforms/nuttx/nuttx-configs/aerocore2/nsh/defconfig +++ b/boards/gumstix/aerocore2/nuttx-config/nsh/defconfig @@ -674,7 +674,7 @@ CONFIG_RAM_SIZE=262144 # Board Selection # CONFIG_ARCH_BOARD_AEROCORE2=y -CONFIG_ARCH_BOARD="aerocore2" +CONFIG_ARCH_BOARD="gumstixaerocore2" # # Custom Board Configuration diff --git a/platforms/nuttx/nuttx-configs/aerocore2/scripts/ld.script b/boards/gumstix/aerocore2/nuttx-config/scripts/ld.script similarity index 100% rename from platforms/nuttx/nuttx-configs/aerocore2/scripts/ld.script rename to boards/gumstix/aerocore2/nuttx-config/scripts/ld.script diff --git a/src/drivers/boards/auav-x21/CMakeLists.txt b/boards/gumstix/aerocore2/src/CMakeLists.txt similarity index 100% rename from src/drivers/boards/auav-x21/CMakeLists.txt rename to boards/gumstix/aerocore2/src/CMakeLists.txt diff --git a/src/drivers/boards/aerocore2/board_config.h b/boards/gumstix/aerocore2/src/board_config.h similarity index 99% rename from src/drivers/boards/aerocore2/board_config.h rename to boards/gumstix/aerocore2/src/board_config.h index 2843a3793c..2ec3de378e 100644 --- a/src/drivers/boards/aerocore2/board_config.h +++ b/boards/gumstix/aerocore2/src/board_config.h @@ -252,7 +252,7 @@ extern void board_spi_reset(int ms); extern void stm32_usbinitialize(void); extern void board_peripheral_reset(int ms); -#include "../common/board_common.h" +#include <drivers/boards/common/board_common.h> #endif /* __ASSEMBLY__ */ diff --git a/src/drivers/boards/aerocore2/can.c b/boards/gumstix/aerocore2/src/can.c similarity index 100% rename from src/drivers/boards/aerocore2/can.c rename to boards/gumstix/aerocore2/src/can.c diff --git a/src/drivers/boards/aerocore2/init.c b/boards/gumstix/aerocore2/src/init.c similarity index 100% rename from src/drivers/boards/aerocore2/init.c rename to boards/gumstix/aerocore2/src/init.c diff --git a/src/drivers/boards/aerocore2/led.c b/boards/gumstix/aerocore2/src/led.c similarity index 100% rename from src/drivers/boards/aerocore2/led.c rename to boards/gumstix/aerocore2/src/led.c diff --git a/src/drivers/boards/aerocore2/spi.c b/boards/gumstix/aerocore2/src/spi.c similarity index 100% rename from src/drivers/boards/aerocore2/spi.c rename to boards/gumstix/aerocore2/src/spi.c diff --git a/src/drivers/boards/aerocore2/timer_config.c b/boards/gumstix/aerocore2/src/timer_config.c similarity index 100% rename from src/drivers/boards/aerocore2/timer_config.c rename to boards/gumstix/aerocore2/src/timer_config.c diff --git a/src/drivers/boards/aerocore2/usb.c b/boards/gumstix/aerocore2/src/usb.c similarity index 100% rename from src/drivers/boards/aerocore2/usb.c rename to boards/gumstix/aerocore2/src/usb.c diff --git a/boards/intel/aerofc-v1/default.cmake b/boards/intel/aerofc-v1/default.cmake new file mode 100644 index 0000000000..2517a8187d --- /dev/null +++ b/boards/intel/aerofc-v1/default.cmake @@ -0,0 +1,101 @@ + +px4_add_board( + PLATFORM nuttx + VENDOR intel + MODEL aerofc-v1 + ARCH cortex-m4 + ROMFS + ROMFSROOT px4fmu_common + + SERIAL_PORTS + GPS1:/dev/ttyS5 + TEL1:/dev/ttyS3 + TEL2:/dev/ttyS1 + + DRIVERS + aerofc_adc + barometer/ms5611 + #camera_trigger + #differential_pressure # all available differential pressure drivers + distance_sensor + gps + #irlock + imu/mpu9250 + #magnetometer # all available magnetometer drivers + magnetometer/hmc5883 + magnetometer/ist8310 + pwm_out_sim + #px4flow + px4fmu + rc_input + stm32 + tap_esc + #telemetry # all available telemetry drivers + #vmount + + MODULES + attitude_estimator_q + #camera_feedback + commander + dataman + ekf2 + events + #fw_att_control + #fw_pos_control_l1 + #gnd_att_control + #gnd_pos_control + #gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + #position_estimator_inav + sensors + #uavcan + #vtol_att_control + #wind_estimator + + SYSTEMCMDS + bl_update + config + dumpfile + esc_calib + hardfault_log + led_control + mixer + motor_ramp + motor_test + mtd + nshterm + param + perf + pwm + reboot + reflect + sd_bench + shutdown + #tests # tests and test runner + top + #topic_listener + tune_control + ver + + EXAMPLES + #bottle_drop # OBC challenge + #fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + #hwtest # Hardware test + #matlab_csv_serial + #publisher + #px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + #px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + #rover_steering_control # Rover example app + #segway + #subscriber + #uuv_example_app + + ) diff --git a/platforms/nuttx/Images/aerofc-v1.prototype b/boards/intel/aerofc-v1/firmware.prototype similarity index 100% rename from platforms/nuttx/Images/aerofc-v1.prototype rename to boards/intel/aerofc-v1/firmware.prototype diff --git a/platforms/nuttx/nuttx-configs/aerofc-v1/Kconfig b/boards/intel/aerofc-v1/nuttx-config/Kconfig similarity index 100% rename from platforms/nuttx/nuttx-configs/aerofc-v1/Kconfig rename to boards/intel/aerofc-v1/nuttx-config/Kconfig diff --git a/platforms/nuttx/nuttx-configs/aerofc-v1/include/board.h b/boards/intel/aerofc-v1/nuttx-config/include/board.h similarity index 100% rename from platforms/nuttx/nuttx-configs/aerofc-v1/include/board.h rename to boards/intel/aerofc-v1/nuttx-config/include/board.h diff --git a/platforms/nuttx/nuttx-configs/aerofc-v1/nsh/defconfig b/boards/intel/aerofc-v1/nuttx-config/nsh/defconfig similarity index 99% rename from platforms/nuttx/nuttx-configs/aerofc-v1/nsh/defconfig rename to boards/intel/aerofc-v1/nuttx-config/nsh/defconfig index 70201452dd..ee254cb3e4 100644 --- a/platforms/nuttx/nuttx-configs/aerofc-v1/nsh/defconfig +++ b/boards/intel/aerofc-v1/nuttx-config/nsh/defconfig @@ -671,7 +671,7 @@ CONFIG_RAM_SIZE=262144 # Board Selection # CONFIG_ARCH_BOARD_AEROFC_V1=y -CONFIG_ARCH_BOARD="aerofc-v1" +CONFIG_ARCH_BOARD="intelaerofc-v1" # # Common Board Options diff --git a/platforms/nuttx/nuttx-configs/aerofc-v1/scripts/ld.script b/boards/intel/aerofc-v1/nuttx-config/scripts/ld.script similarity index 100% rename from platforms/nuttx/nuttx-configs/aerofc-v1/scripts/ld.script rename to boards/intel/aerofc-v1/nuttx-config/scripts/ld.script diff --git a/boards/intel/aerofc-v1/rtps.cmake b/boards/intel/aerofc-v1/rtps.cmake new file mode 100644 index 0000000000..d5f76d4172 --- /dev/null +++ b/boards/intel/aerofc-v1/rtps.cmake @@ -0,0 +1,104 @@ + +px4_add_board( + PLATFORM nuttx + VENDOR intel + MODEL aerofc-v1 + LABEL rtsp + ARCH cortex-m4 + ROMFS + ROMFSROOT px4fmu_common + + SERIAL_PORTS + GPS1:/dev/ttyS5 + TEL1:/dev/ttyS3 + TEL2:/dev/ttyS1 + + DRIVERS + aerofc_adc + barometer/ms5611 + #camera_trigger + #differential_pressure # all available differential pressure drivers + distance_sensor + gps + #irlock + imu/mpu9250 + #magnetometer # all available magnetometer drivers + magnetometer/hmc5883 + magnetometer/ist8310 + protocol_splitter + pwm_out_sim + #px4flow + px4fmu + rc_input + stm32 + tap_esc + #telemetry # all available telemetry drivers + #vmount + + MODULES + attitude_estimator_q + #camera_feedback + commander + dataman + ekf2 + events + #fw_att_control + #fw_pos_control_l1 + #gnd_att_control + #gnd_pos_control + #gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + micrortps_bridge + navigator + #position_estimator_inav + sensors + #uavcan + #vtol_att_control + #wind_estimator + + SYSTEMCMDS + bl_update + config + dumpfile + esc_calib + hardfault_log + led_control + mixer + motor_ramp + motor_test + mtd + nshterm + param + perf + pwm + reboot + reflect + sd_bench + shutdown + #tests # tests and test runner + top + #topic_listener + tune_control + ver + + EXAMPLES + #bottle_drop # OBC challenge + #fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + #hwtest # Hardware test + #matlab_csv_serial + #publisher + #px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + #px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + #rover_steering_control # Rover example app + #segway + #subscriber + #uuv_example_app + + ) diff --git a/src/drivers/boards/aerofc-v1/CMakeLists.txt b/boards/intel/aerofc-v1/src/CMakeLists.txt similarity index 100% rename from src/drivers/boards/aerofc-v1/CMakeLists.txt rename to boards/intel/aerofc-v1/src/CMakeLists.txt diff --git a/src/drivers/boards/aerofc-v1/board_config.h b/boards/intel/aerofc-v1/src/board_config.h similarity index 99% rename from src/drivers/boards/aerofc-v1/board_config.h rename to boards/intel/aerofc-v1/src/board_config.h index 9b18bd181a..c008a8a1ce 100644 --- a/src/drivers/boards/aerofc-v1/board_config.h +++ b/boards/intel/aerofc-v1/src/board_config.h @@ -182,7 +182,7 @@ extern void stm32_spiinitialize(void); extern int board_sdio_initialize(void); -#include "../common/board_common.h" +#include <drivers/boards/common/board_common.h> #endif /* __ASSEMBLY__ */ diff --git a/src/drivers/boards/aerofc-v1/init.c b/boards/intel/aerofc-v1/src/init.c similarity index 100% rename from src/drivers/boards/aerofc-v1/init.c rename to boards/intel/aerofc-v1/src/init.c diff --git a/src/drivers/boards/aerofc-v1/led.c b/boards/intel/aerofc-v1/src/led.c similarity index 100% rename from src/drivers/boards/aerofc-v1/led.c rename to boards/intel/aerofc-v1/src/led.c diff --git a/src/drivers/boards/aerofc-v1/spi.c b/boards/intel/aerofc-v1/src/spi.c similarity index 100% rename from src/drivers/boards/aerofc-v1/spi.c rename to boards/intel/aerofc-v1/src/spi.c diff --git a/src/drivers/boards/aerofc-v1/timer_config.c b/boards/intel/aerofc-v1/src/timer_config.c similarity index 100% rename from src/drivers/boards/aerofc-v1/timer_config.c rename to boards/intel/aerofc-v1/src/timer_config.c diff --git a/boards/nxp/hlite-v3/default.cmake b/boards/nxp/hlite-v3/default.cmake new file mode 100644 index 0000000000..2299590e33 --- /dev/null +++ b/boards/nxp/hlite-v3/default.cmake @@ -0,0 +1,118 @@ + +px4_add_board( + PLATFORM nuttx + VENDOR nxp + MODEL hlite-v3 + ARCH cortex-m4 + ROMFS + ROMFSROOT px4fmu_common + TESTING + UAVCAN_INTERFACES 2 + + SERIAL_PORTS + GPS1:/dev/ttyS3 + TEL1:/dev/ttyS4 + + DRIVERS + barometer # all available barometer drivers + barometer/mpl3115a2 + batt_smbus + blinkm + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + kinetis + kinetis/adc + kinetis/tone_alarm + #heater + #imu # all available imu drivers + imu/fxas21002c + imu/fxos8701cq + imu/l3gd20 + imu/mpu6000 + imu/mpu9250 + irlock + magnetometer # all available magnetometer drivers + mkblctrl + oreoled + pca9685 + #pwm_input # NOT Portable YET drivers + pwm_out_sim + px4flow + px4fmu + rc_input + rgbled + rgbled_pwm + tap_esc + telemetry # all available telemetry drivers + #test_ppm # NOT Portable YET + vmount + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + position_estimator_inav + sensors + uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + bl_update + config + dumpfile + esc_calib + #hardfault_log # Needs bbsrm + led_control + mixer + motor_ramp + motor_test + mtd + nshterm + param + perf + pwm + reboot + reflect + sd_bench + shutdown + tests # tests and test runner + top + topic_listener + tune_control + usb_connected + ver + + EXAMPLES + bottle_drop # OBC challenge + fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + hwtest # Hardware test + #matlab_csv_serial + #publisher + px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + rover_steering_control # Rover example app + segway + #subscriber + uuv_example_app + + ) diff --git a/platforms/nuttx/Images/nxphlite-v3.prototype b/boards/nxp/hlite-v3/firmware.prototype similarity index 100% rename from platforms/nuttx/Images/nxphlite-v3.prototype rename to boards/nxp/hlite-v3/firmware.prototype diff --git a/platforms/nuttx/nuttx-configs/nxphlite-v3/Kconfig b/boards/nxp/hlite-v3/nuttx-config/Kconfig similarity index 100% rename from platforms/nuttx/nuttx-configs/nxphlite-v3/Kconfig rename to boards/nxp/hlite-v3/nuttx-config/Kconfig diff --git a/platforms/nuttx/nuttx-configs/nxphlite-v3/include/board.h b/boards/nxp/hlite-v3/nuttx-config/include/board.h similarity index 100% rename from platforms/nuttx/nuttx-configs/nxphlite-v3/include/board.h rename to boards/nxp/hlite-v3/nuttx-config/include/board.h diff --git a/platforms/nuttx/nuttx-configs/nxphlite-v3/nsh/defconfig b/boards/nxp/hlite-v3/nuttx-config/nsh/defconfig similarity index 100% rename from platforms/nuttx/nuttx-configs/nxphlite-v3/nsh/defconfig rename to boards/nxp/hlite-v3/nuttx-config/nsh/defconfig diff --git a/platforms/nuttx/nuttx-configs/nxphlite-v3/scripts/ld.script b/boards/nxp/hlite-v3/nuttx-config/scripts/ld.script similarity index 100% rename from platforms/nuttx/nuttx-configs/nxphlite-v3/scripts/ld.script rename to boards/nxp/hlite-v3/nuttx-config/scripts/ld.script diff --git a/src/drivers/boards/nxphlite-v3/CMakeLists.txt b/boards/nxp/hlite-v3/src/CMakeLists.txt similarity index 100% rename from src/drivers/boards/nxphlite-v3/CMakeLists.txt rename to boards/nxp/hlite-v3/src/CMakeLists.txt diff --git a/src/drivers/boards/nxphlite-v3/autoleds.c b/boards/nxp/hlite-v3/src/autoleds.c similarity index 100% rename from src/drivers/boards/nxphlite-v3/autoleds.c rename to boards/nxp/hlite-v3/src/autoleds.c diff --git a/src/drivers/boards/nxphlite-v3/automount.c b/boards/nxp/hlite-v3/src/automount.c similarity index 100% rename from src/drivers/boards/nxphlite-v3/automount.c rename to boards/nxp/hlite-v3/src/automount.c diff --git a/src/drivers/boards/nxphlite-v3/board_config.h b/boards/nxp/hlite-v3/src/board_config.h similarity index 99% rename from src/drivers/boards/nxphlite-v3/board_config.h rename to boards/nxp/hlite-v3/src/board_config.h index e3ab307594..648f8c0e31 100644 --- a/src/drivers/boards/nxphlite-v3/board_config.h +++ b/boards/nxp/hlite-v3/src/board_config.h @@ -687,7 +687,7 @@ void nxphlite_automount_event(bool inserted); void nxphlite_timer_initialize(void); -#include "../common/board_common.h" +#include <drivers/boards/common/board_common.h> #endif /* __ASSEMBLY__ */ diff --git a/src/drivers/boards/nxphlite-v3/can.c b/boards/nxp/hlite-v3/src/can.c similarity index 100% rename from src/drivers/boards/nxphlite-v3/can.c rename to boards/nxp/hlite-v3/src/can.c diff --git a/src/drivers/boards/nxphlite-v3/init.c b/boards/nxp/hlite-v3/src/init.c similarity index 100% rename from src/drivers/boards/nxphlite-v3/init.c rename to boards/nxp/hlite-v3/src/init.c diff --git a/src/drivers/boards/nxphlite-v3/led.c b/boards/nxp/hlite-v3/src/led.c similarity index 100% rename from src/drivers/boards/nxphlite-v3/led.c rename to boards/nxp/hlite-v3/src/led.c diff --git a/src/drivers/boards/nxphlite-v3/sdhc.c b/boards/nxp/hlite-v3/src/sdhc.c similarity index 100% rename from src/drivers/boards/nxphlite-v3/sdhc.c rename to boards/nxp/hlite-v3/src/sdhc.c diff --git a/src/drivers/boards/nxphlite-v3/spi.c b/boards/nxp/hlite-v3/src/spi.c similarity index 100% rename from src/drivers/boards/nxphlite-v3/spi.c rename to boards/nxp/hlite-v3/src/spi.c diff --git a/src/drivers/boards/nxphlite-v3/timer_config.c b/boards/nxp/hlite-v3/src/timer_config.c similarity index 100% rename from src/drivers/boards/nxphlite-v3/timer_config.c rename to boards/nxp/hlite-v3/src/timer_config.c diff --git a/src/drivers/boards/nxphlite-v3/usb.c b/boards/nxp/hlite-v3/src/usb.c similarity index 100% rename from src/drivers/boards/nxphlite-v3/usb.c rename to boards/nxp/hlite-v3/src/usb.c diff --git a/boards/omnibus/f4sd/default.cmake b/boards/omnibus/f4sd/default.cmake new file mode 100644 index 0000000000..c65106130c --- /dev/null +++ b/boards/omnibus/f4sd/default.cmake @@ -0,0 +1,113 @@ + +px4_add_board( + PLATFORM nuttx + VENDOR omnibus + MODEL f4sd + ARCH cortex-m4 + ROMFS + ROMFSROOT px4fmu_common + + SERIAL_PORTS + TEL2:/dev/ttyS1 + URT6:/dev/ttyS2 + + DRIVERS + #barometer # all available barometer drivers + barometer/bmp280 + #batt_smbus + #blinkm + #camera_trigger + #differential_pressure # all available differential pressure drivers + #distance_sensor # all available distance sensor drivers + gps + #heater + #imu # all available imu drivers + imu/mpu6000 + #irlock + #magnetometer # all available magnetometer drivers + magnetometer/hmc5883 + #mkblctrl + #oreoled + #pca9685 + #pwm_input + #pwm_out_sim + px4flow + px4fmu + rc_input + rgbled + stm32 + stm32/adc + #stm32/tone_alarm + #tap_esc + #telemetry # all available telemetry drivers + telemetry/frsky_telemetry + #test_ppm + #vmount + + MODULES + attitude_estimator_q + #camera_feedback + commander + dataman + ekf2 + events + #fw_att_control + #fw_pos_control_l1 + #gnd_att_control + #gnd_pos_control + #gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + #position_estimator_inav + sensors + #uavcan + #vtol_att_control + #wind_estimator + + SYSTEMCMDS + #bl_update + config + dumpfile + esc_calib + hardfault_log + led_control + mixer + #motor_ramp + motor_test + #mtd + nshterm + param + perf + pwm + reboot + reflect + sd_bench + shutdown + #tests # tests and test runner + top + topic_listener + tune_control + usb_connected + ver + + EXAMPLES + #bottle_drop # OBC challenge + #fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + #hwtest # Hardware test + #matlab_csv_serial + #publisher + #px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + #px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + #rover_steering_control # Rover example app + #segway + #subscriber + #uuv_example_app + + ) diff --git a/platforms/nuttx/Images/omnibus-f4sd.prototype b/boards/omnibus/f4sd/firmware.prototype similarity index 100% rename from platforms/nuttx/Images/omnibus-f4sd.prototype rename to boards/omnibus/f4sd/firmware.prototype diff --git a/platforms/nuttx/nuttx-configs/omnibus-f4sd/include/board.h b/boards/omnibus/f4sd/nuttx-config/include/board.h similarity index 100% rename from platforms/nuttx/nuttx-configs/omnibus-f4sd/include/board.h rename to boards/omnibus/f4sd/nuttx-config/include/board.h diff --git a/platforms/nuttx/nuttx-configs/omnibus-f4sd/nsh/defconfig b/boards/omnibus/f4sd/nuttx-config/nsh/defconfig similarity index 99% rename from platforms/nuttx/nuttx-configs/omnibus-f4sd/nsh/defconfig rename to boards/omnibus/f4sd/nuttx-config/nsh/defconfig index b9da4652e7..e5b0d61a8c 100644 --- a/platforms/nuttx/nuttx-configs/omnibus-f4sd/nsh/defconfig +++ b/boards/omnibus/f4sd/nuttx-config/nsh/defconfig @@ -662,8 +662,8 @@ CONFIG_RAM_SIZE=196608 # # Board Selection # -CONFIG_ARCH_BOARD_OMNIBUS_F4SD=y -CONFIG_ARCH_BOARD="omnibus-f4sd" +CONFIG_ARCH_BOARD_OMNIBUSF4SD=y +CONFIG_ARCH_BOARD="omnibusf4sd" # # Custom Board Configuration diff --git a/platforms/nuttx/nuttx-configs/omnibus-f4sd/scripts/ld.script b/boards/omnibus/f4sd/nuttx-config/scripts/ld.script similarity index 100% rename from platforms/nuttx/nuttx-configs/omnibus-f4sd/scripts/ld.script rename to boards/omnibus/f4sd/nuttx-config/scripts/ld.script diff --git a/src/drivers/boards/omnibus-f4sd/CMakeLists.txt b/boards/omnibus/f4sd/src/CMakeLists.txt similarity index 100% rename from src/drivers/boards/omnibus-f4sd/CMakeLists.txt rename to boards/omnibus/f4sd/src/CMakeLists.txt diff --git a/src/drivers/boards/omnibus-f4sd/board_config.h b/boards/omnibus/f4sd/src/board_config.h similarity index 99% rename from src/drivers/boards/omnibus-f4sd/board_config.h rename to boards/omnibus/f4sd/src/board_config.h index 26f4f08be7..96a6c63b58 100644 --- a/src/drivers/boards/omnibus-f4sd/board_config.h +++ b/boards/omnibus/f4sd/src/board_config.h @@ -321,7 +321,7 @@ extern void stm32_usbinitialize(void); extern void board_peripheral_reset(int ms); -#include "../common/board_common.h" +#include <drivers/boards/common/board_common.h> #endif /* __ASSEMBLY__ */ diff --git a/src/drivers/boards/omnibus-f4sd/init.c b/boards/omnibus/f4sd/src/init.c similarity index 100% rename from src/drivers/boards/omnibus-f4sd/init.c rename to boards/omnibus/f4sd/src/init.c diff --git a/src/drivers/boards/omnibus-f4sd/led.c b/boards/omnibus/f4sd/src/led.c similarity index 100% rename from src/drivers/boards/omnibus-f4sd/led.c rename to boards/omnibus/f4sd/src/led.c diff --git a/src/drivers/boards/omnibus-f4sd/spi.c b/boards/omnibus/f4sd/src/spi.c similarity index 100% rename from src/drivers/boards/omnibus-f4sd/spi.c rename to boards/omnibus/f4sd/src/spi.c diff --git a/src/drivers/boards/omnibus-f4sd/timer_config.c b/boards/omnibus/f4sd/src/timer_config.c similarity index 100% rename from src/drivers/boards/omnibus-f4sd/timer_config.c rename to boards/omnibus/f4sd/src/timer_config.c diff --git a/src/drivers/boards/omnibus-f4sd/usb.c b/boards/omnibus/f4sd/src/usb.c similarity index 100% rename from src/drivers/boards/omnibus-f4sd/usb.c rename to boards/omnibus/f4sd/src/usb.c diff --git a/boards/parrot/bebop/default.cmake b/boards/parrot/bebop/default.cmake new file mode 100644 index 0000000000..ca5c60b567 --- /dev/null +++ b/boards/parrot/bebop/default.cmake @@ -0,0 +1,64 @@ + +px4_add_board( + VENDOR parrot + MODEL bebop + PLATFORM posix + ARCH cortex-a53 + TOOLCHAIN Toolchain-arm-linux-gnueabihf + + DRIVERS + gps + linux_sbus + pwm_out_sim + + DF_DRIVERS # NOTE: DriverFramework is migrating to intree PX4 drivers + ms5607 + mpu6050 + ak8963 + bebop_bus + bebop_rangefinder + #bebop_flow + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + #fw_att_control + #fw_pos_control_l1 + #gnd_att_control + #gnd_pos_control + #gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + position_estimator_inav + sensors + #vtol_att_control + wind_estimator + + SYSTEMCMDS + #config + esc_calib + led_control + mixer + motor_ramp + param + perf + pwm + reboot + sd_bench + #tests # tests and test runner + top + topic_listener + tune_control + ver + ) diff --git a/src/drivers/boards/sim/CMakeLists.txt b/boards/parrot/bebop/src/CMakeLists.txt similarity index 94% rename from src/drivers/boards/sim/CMakeLists.txt rename to boards/parrot/bebop/src/CMakeLists.txt index d95d0043bc..0b4ba0d6ac 100644 --- a/src/drivers/boards/sim/CMakeLists.txt +++ b/boards/parrot/bebop/src/CMakeLists.txt @@ -30,6 +30,7 @@ # POSSIBILITY OF SUCH DAMAGE. # ############################################################################ + px4_add_library(drivers_board - ../common/board_identity.c + ${PX4_SOURCE_DIR}/src/drivers/boards/common/board_identity.c # TODO: this is horrible and should be fixed ) diff --git a/src/drivers/boards/bebop/board_config.h b/boards/parrot/bebop/src/board_config.h similarity index 97% rename from src/drivers/boards/bebop/board_config.h rename to boards/parrot/bebop/src/board_config.h index d9a6d0999f..07d6177114 100644 --- a/src/drivers/boards/bebop/board_config.h +++ b/boards/parrot/bebop/src/board_config.h @@ -56,4 +56,4 @@ #define PX4_NUMBER_I2C_BUSES 1 #include <system_config.h> -#include "../common/board_common.h" +#include <drivers/boards/common/board_common.h> diff --git a/cmake/configs/nuttx_px4cannode-v1_default.cmake b/boards/px4/cannode-v1/default.cmake similarity index 71% rename from cmake/configs/nuttx_px4cannode-v1_default.cmake rename to boards/px4/cannode-v1/default.cmake index 3db9dfad6c..a139189188 100644 --- a/cmake/configs/nuttx_px4cannode-v1_default.cmake +++ b/boards/px4/cannode-v1/default.cmake @@ -4,8 +4,6 @@ add_definitions( -DPARAM_NO_AUTOSAVE ) -px4_nuttx_configure(HWCLASS m3 CONFIG nsh) - # UAVCAN boot loadable Module ID set(uavcanblid_sw_version_major 0) set(uavcanblid_sw_version_minor 1) @@ -15,16 +13,19 @@ add_definitions( ) # Bring in common uavcan hardware identity definitions -include(common/px4_git) +include(px4_git) px4_add_git_submodule(TARGET git_uavcan_board_ident PATH "cmake/configs/uavcan_board_ident") include(configs/uavcan_board_ident/px4cannode-v1) + add_definitions( -DHW_UAVCAN_NAME=${uavcanblid_name} -DHW_VERSION_MAJOR=${uavcanblid_hw_version_major} -DHW_VERSION_MINOR=${uavcanblid_hw_version_minor} ) -px4_nuttx_make_uavcan_bootloadable(BOARD ${BOARD} +include(px4_make_uavcan_bootloader) +px4_make_uavcan_bootloadable( + BOARD px4cannode-v1 BIN ${PX4_BINARY_DIR}/px4cannode-v1.bin HWNAME ${uavcanblid_name} HW_MAJOR ${uavcanblid_hw_version_major} @@ -33,24 +34,23 @@ px4_nuttx_make_uavcan_bootloadable(BOARD ${BOARD} SW_MINOR ${uavcanblid_sw_version_minor} ) -set(config_module_list - # - # Board support modules - # - drivers/bootloaders - drivers/stm32 - - # - # System commands - # - systemcmds/config - systemcmds/reboot - systemcmds/top - systemcmds/ver - - # - # General system control - # - modules/uavcannode - -) \ No newline at end of file +px4_add_board( + PLATFORM nuttx + VENDOR px4 + MODEL cannode-v1 + ARCH cortex-m3 + + DRIVERS + bootloaders + stm32 + + MODULES + uavcannode + + SYSTEMCMDS + config + reboot + top + ver + + ) diff --git a/platforms/nuttx/Images/px4cannode-v1.prototype b/boards/px4/cannode-v1/firmware.prototype similarity index 100% rename from platforms/nuttx/Images/px4cannode-v1.prototype rename to boards/px4/cannode-v1/firmware.prototype diff --git a/platforms/nuttx/nuttx-configs/px4cannode-v1/Kconfig b/boards/px4/cannode-v1/nuttx-config/Kconfig similarity index 100% rename from platforms/nuttx/nuttx-configs/px4cannode-v1/Kconfig rename to boards/px4/cannode-v1/nuttx-config/Kconfig diff --git a/platforms/nuttx/nuttx-configs/px4cannode-v1/include/README.txt b/boards/px4/cannode-v1/nuttx-config/include/README.txt old mode 100755 new mode 100644 similarity index 100% rename from platforms/nuttx/nuttx-configs/px4cannode-v1/include/README.txt rename to boards/px4/cannode-v1/nuttx-config/include/README.txt diff --git a/platforms/nuttx/nuttx-configs/px4cannode-v1/include/board.h b/boards/px4/cannode-v1/nuttx-config/include/board.h old mode 100755 new mode 100644 similarity index 100% rename from platforms/nuttx/nuttx-configs/px4cannode-v1/include/board.h rename to boards/px4/cannode-v1/nuttx-config/include/board.h diff --git a/platforms/nuttx/nuttx-configs/px4cannode-v1/nsh/defconfig b/boards/px4/cannode-v1/nuttx-config/nsh/defconfig similarity index 100% rename from platforms/nuttx/nuttx-configs/px4cannode-v1/nsh/defconfig rename to boards/px4/cannode-v1/nuttx-config/nsh/defconfig diff --git a/platforms/nuttx/nuttx-configs/px4cannode-v1/nsh/defconfig.nonsh b/boards/px4/cannode-v1/nuttx-config/nsh/defconfig.nonsh similarity index 100% rename from platforms/nuttx/nuttx-configs/px4cannode-v1/nsh/defconfig.nonsh rename to boards/px4/cannode-v1/nuttx-config/nsh/defconfig.nonsh diff --git a/platforms/nuttx/nuttx-configs/px4cannode-v1/nsh/defconfig.nsh b/boards/px4/cannode-v1/nuttx-config/nsh/defconfig.nsh similarity index 100% rename from platforms/nuttx/nuttx-configs/px4cannode-v1/nsh/defconfig.nsh rename to boards/px4/cannode-v1/nuttx-config/nsh/defconfig.nsh diff --git a/platforms/nuttx/nuttx-configs/px4cannode-v1/scripts/ld.script b/boards/px4/cannode-v1/nuttx-config/scripts/ld.script similarity index 100% rename from platforms/nuttx/nuttx-configs/px4cannode-v1/scripts/ld.script rename to boards/px4/cannode-v1/nuttx-config/scripts/ld.script diff --git a/src/drivers/boards/px4cannode-v1/CMakeLists.txt b/boards/px4/cannode-v1/src/CMakeLists.txt similarity index 100% rename from src/drivers/boards/px4cannode-v1/CMakeLists.txt rename to boards/px4/cannode-v1/src/CMakeLists.txt diff --git a/src/drivers/boards/px4cannode-v1/board_config.h b/boards/px4/cannode-v1/src/board_config.h similarity index 99% rename from src/drivers/boards/px4cannode-v1/board_config.h rename to boards/px4/cannode-v1/src/board_config.h index 496b0e5a87..4b777416a6 100644 --- a/src/drivers/boards/px4cannode-v1/board_config.h +++ b/boards/px4/cannode-v1/src/board_config.h @@ -283,7 +283,7 @@ int usbmsc_archinitialize(void); extern int composite_archinitialize(void); #endif -#include "../common/board_common.h" +#include <drivers/boards/common/board_common.h> #endif /* __ASSEMBLY__ */ diff --git a/src/drivers/boards/px4cannode-v1/buttons.c b/boards/px4/cannode-v1/src/buttons.c similarity index 100% rename from src/drivers/boards/px4cannode-v1/buttons.c rename to boards/px4/cannode-v1/src/buttons.c diff --git a/src/drivers/boards/px4cannode-v1/can.c b/boards/px4/cannode-v1/src/can.c similarity index 100% rename from src/drivers/boards/px4cannode-v1/can.c rename to boards/px4/cannode-v1/src/can.c diff --git a/src/drivers/boards/px4cannode-v1/init.c b/boards/px4/cannode-v1/src/init.c similarity index 100% rename from src/drivers/boards/px4cannode-v1/init.c rename to boards/px4/cannode-v1/src/init.c diff --git a/src/drivers/boards/px4cannode-v1/led.c b/boards/px4/cannode-v1/src/led.c similarity index 100% rename from src/drivers/boards/px4cannode-v1/led.c rename to boards/px4/cannode-v1/src/led.c diff --git a/src/drivers/boards/px4cannode-v1/spi.c b/boards/px4/cannode-v1/src/spi.c similarity index 100% rename from src/drivers/boards/px4cannode-v1/spi.c rename to boards/px4/cannode-v1/src/spi.c diff --git a/cmake/configs/nuttx_px4esc-v1_default.cmake b/boards/px4/esc-v1/default.cmake similarity index 62% rename from cmake/configs/nuttx_px4esc-v1_default.cmake rename to boards/px4/esc-v1/default.cmake index 56b187cef1..8694b3f275 100644 --- a/cmake/configs/nuttx_px4esc-v1_default.cmake +++ b/boards/px4/esc-v1/default.cmake @@ -6,8 +6,6 @@ add_definitions( -DPARAMETER_BUFFER_SIZE=1024 ) -px4_nuttx_configure(HWCLASS m4 CONFIG nsh) - # UAVCAN boot loadable Module ID set(uavcanblid_sw_version_major 0) set(uavcanblid_sw_version_minor 1) @@ -17,16 +15,19 @@ add_definitions( ) # Bring in common uavcan hardware identity definitions -include(common/px4_git) +include(px4_git) px4_add_git_submodule(TARGET git_uavcan_board_ident PATH "cmake/configs/uavcan_board_ident") include(configs/uavcan_board_ident/px4esc-v1) + add_definitions( -DHW_UAVCAN_NAME=${uavcanblid_name} -DHW_VERSION_MAJOR=${uavcanblid_hw_version_major} -DHW_VERSION_MINOR=${uavcanblid_hw_version_minor} ) -px4_nuttx_make_uavcan_bootloadable(BOARD ${BOARD} +include(px4_make_uavcan_bootloader) +px4_make_uavcan_bootloadable( + BOARD px4esc-v1 BIN ${PX4_BINARY_DIR}/px4esc-v1.bin HWNAME ${uavcanblid_name} HW_MAJOR ${uavcanblid_hw_version_major} @@ -35,31 +36,30 @@ px4_nuttx_make_uavcan_bootloadable(BOARD ${BOARD} SW_MINOR ${uavcanblid_sw_version_minor} ) -set(config_module_list - # - # Board support modules - # - drivers/bootloaders - drivers/stm32 +px4_add_board( + PLATFORM nuttx + VENDOR px4 + MODEL esc-v1 + ARCH cortex-m4 - # - # System commands - # - systemcmds/config - systemcmds/reboot - systemcmds/top - systemcmds/param - systemcmds/ver + DRIVERS + bootloaders + stm32 - # - # General system control - # - modules/uavcanesc - modules/uavcanesc/nshterm - modules/uavcanesc/commands/cfg - modules/uavcanesc/commands/selftest - modules/uavcanesc/commands/dc - modules/uavcanesc/commands/rpm - modules/uavcanesc/commands/stat + MODULES + uavcanesc + uavcanesc/nshterm + uavcanesc/commands/cfg + uavcanesc/commands/selftest + uavcanesc/commands/dc + uavcanesc/commands/rpm + uavcanesc/commands/stat -) \ No newline at end of file + SYSTEMCMDS + config + reboot + param + top + ver + + ) diff --git a/platforms/nuttx/Images/px4esc-v1.prototype b/boards/px4/esc-v1/firmware.prototype similarity index 100% rename from platforms/nuttx/Images/px4esc-v1.prototype rename to boards/px4/esc-v1/firmware.prototype diff --git a/platforms/nuttx/nuttx-configs/px4esc-v1/Kconfig b/boards/px4/esc-v1/nuttx-config/Kconfig similarity index 100% rename from platforms/nuttx/nuttx-configs/px4esc-v1/Kconfig rename to boards/px4/esc-v1/nuttx-config/Kconfig diff --git a/platforms/nuttx/nuttx-configs/px4esc-v1/include/README.txt b/boards/px4/esc-v1/nuttx-config/include/README.txt old mode 100755 new mode 100644 similarity index 100% rename from platforms/nuttx/nuttx-configs/px4esc-v1/include/README.txt rename to boards/px4/esc-v1/nuttx-config/include/README.txt diff --git a/platforms/nuttx/nuttx-configs/px4esc-v1/include/board.h b/boards/px4/esc-v1/nuttx-config/include/board.h old mode 100755 new mode 100644 similarity index 100% rename from platforms/nuttx/nuttx-configs/px4esc-v1/include/board.h rename to boards/px4/esc-v1/nuttx-config/include/board.h diff --git a/platforms/nuttx/nuttx-configs/px4esc-v1/nsh/defconfig b/boards/px4/esc-v1/nuttx-config/nsh/defconfig similarity index 100% rename from platforms/nuttx/nuttx-configs/px4esc-v1/nsh/defconfig rename to boards/px4/esc-v1/nuttx-config/nsh/defconfig diff --git a/platforms/nuttx/nuttx-configs/px4esc-v1/scripts/ld.script b/boards/px4/esc-v1/nuttx-config/scripts/ld.script similarity index 100% rename from platforms/nuttx/nuttx-configs/px4esc-v1/scripts/ld.script rename to boards/px4/esc-v1/nuttx-config/scripts/ld.script diff --git a/src/drivers/boards/px4esc-v1/CMakeLists.txt b/boards/px4/esc-v1/src/CMakeLists.txt similarity index 100% rename from src/drivers/boards/px4esc-v1/CMakeLists.txt rename to boards/px4/esc-v1/src/CMakeLists.txt diff --git a/src/drivers/boards/px4esc-v1/board_config.h b/boards/px4/esc-v1/src/board_config.h similarity index 99% rename from src/drivers/boards/px4esc-v1/board_config.h rename to boards/px4/esc-v1/src/board_config.h index 28b9d39cab..33cc7875c7 100644 --- a/src/drivers/boards/px4esc-v1/board_config.h +++ b/boards/px4/esc-v1/src/board_config.h @@ -356,7 +356,7 @@ int usbmsc_archinitialize(void); extern int composite_archinitialize(void); #endif -#include "../common/board_common.h" +#include <drivers/boards/common/board_common.h> #endif /* __ASSEMBLY__ */ diff --git a/src/drivers/boards/px4esc-v1/init.c b/boards/px4/esc-v1/src/init.c similarity index 100% rename from src/drivers/boards/px4esc-v1/init.c rename to boards/px4/esc-v1/src/init.c diff --git a/src/drivers/boards/px4esc-v1/led.c b/boards/px4/esc-v1/src/led.c similarity index 100% rename from src/drivers/boards/px4esc-v1/led.c rename to boards/px4/esc-v1/src/led.c diff --git a/src/drivers/boards/px4esc-v1/usb.c b/boards/px4/esc-v1/src/usb.c similarity index 100% rename from src/drivers/boards/px4esc-v1/usb.c rename to boards/px4/esc-v1/src/usb.c diff --git a/boards/px4/fmu-v2/default.cmake b/boards/px4/fmu-v2/default.cmake new file mode 100644 index 0000000000..0331448acb --- /dev/null +++ b/boards/px4/fmu-v2/default.cmake @@ -0,0 +1,121 @@ + +px4_add_board( + PLATFORM nuttx + VENDOR px4 + MODEL fmu-v2 + LABEL default + ARCH cortex-m4 + ROMFS + ROMFSROOT px4fmu_common + BOOTLOADER ${PX4_SOURCE_DIR}/ROMFS/px4fmu_common/extras/px4fmuv3_bl.bin + IO px4io-v2_default + #TESTING + CONSTRAINED_FLASH + #UAVCAN_INTERFACES 2 + + SERIAL_PORTS + GPS1:/dev/ttyS0 + TEL1:/dev/ttyS1 + TEL2:/dev/ttyS2 + TEL4:/dev/ttyS3 + + DRIVERS + #barometer # all available barometer drivers + barometer/ms5611 + #batt_smbus + #blinkm + #camera_trigger + #differential_pressure # all available differential pressure drivers + differential_pressure/ms4525 + #distance_sensor # all available distance sensor drivers + distance_sensor/ll40ls + distance_sensor/sf0x + gps + #heater + #imu # all available imu drivers + #imu/adis16448 + imu/l3gd20 + imu/lsm303d + imu/mpu6000 + imu/mpu9250 + #iridiumsbd + #irlock + #magnetometer # all available magnetometer drivers + magnetometer/hmc5883 + #mkblctrl + #oreoled + #protocol_splitter + #pca9685 + #pwm_input + #pwm_out_sim + px4flow + px4fmu + px4io + rgbled + stm32 + stm32/adc + stm32/tone_alarm + #tap_esc + #telemetry # all available telemetry drivers + #test_ppm + vmount + + MODULES + #attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + #gnd_att_control + #gnd_pos_control + #gpio_led + land_detector + #landing_target_estimator + load_mon + #local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + #position_estimator_inav + sensors + #uavcan + vtol_att_control + #wind_estimator + + SYSTEMCMDS + bl_update + #config + #dumpfile + #esc_calib + hardfault_log + #led_control + mixer + #motor_ramp + #motor_test + mtd + #nshterm + param + perf + pwm + reboot + #sd_bench + #tests # tests and test runner + top + #topic_listener + tune_control + ver + + EXAMPLES + #bottle_drop # OBC challenge + #fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + #hwtest # Hardware test + #px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + #px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + #rover_steering_control # Rover example app + #segway + ) diff --git a/platforms/nuttx/Images/px4fmu-v2.prototype b/boards/px4/fmu-v2/firmware.prototype similarity index 52% rename from platforms/nuttx/Images/px4fmu-v2.prototype rename to boards/px4/fmu-v2/firmware.prototype index 07362b57c5..f60598196c 100644 --- a/platforms/nuttx/Images/px4fmu-v2.prototype +++ b/boards/px4/fmu-v2/firmware.prototype @@ -1,9 +1,9 @@ { - "board_id": 9, - "magic": "PX4FWv1", - "description": "Firmware for the PX4FMUv2 board", - "image": "", - "build_time": 0, + "board_id": 9, + "magic": "PX4FWv1", + "description": "Firmware for the PX4FMUv2 board", + "image": "", + "build_time": 0, "summary": "PX4FMUv2", "version": "0.1", "image_size": 0, diff --git a/boards/px4/fmu-v2/lpe.cmake b/boards/px4/fmu-v2/lpe.cmake new file mode 100644 index 0000000000..0877a4a327 --- /dev/null +++ b/boards/px4/fmu-v2/lpe.cmake @@ -0,0 +1,118 @@ + +px4_add_board( + PLATFORM nuttx + VENDOR px4 + MODEL fmu-v2 + LABEL lpe + ARCH cortex-m4 + ROMFS + ROMFSROOT px4fmu_common + BOOTLOADER ${PX4_SOURCE_DIR}/ROMFS/px4fmu_common/extras/px4fmuv3_bl.bin + IO px4io-v2_default + #TESTING + #UAVCAN_INTERFACES 2 + + SERIAL_PORTS + GPS1:/dev/ttyS0 + TEL1:/dev/ttyS1 + TEL2:/dev/ttyS2 + TEL4:/dev/ttyS3 + + DRIVERS + #barometer # all available barometer drivers + barometer/ms5611 + #batt_smbus + #blinkm + camera_trigger + #differential_pressure # all available differential pressure drivers + #differential_pressure/ms4525 + distance_sensor # all available distance sensor drivers + gps + #heater + #imu # all available imu drivers + #imu/adis16448 + imu/l3gd20 + imu/lsm303d + imu/mpu6000 + #imu/mpu9250 + #iridiumsbd + irlock + #magnetometer # all available magnetometer drivers + magnetometer/hmc5883 + #mkblctrl + #oreoled + #protocol_splitter + #pca9685 + #pwm_input + pwm_out_sim + px4flow + px4fmu + px4io + rgbled + stm32 + stm32/adc + stm32/tone_alarm + #tap_esc + #telemetry # all available telemetry drivers + #test_ppm + vmount + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + #ekf2 + events + #fw_att_control + #fw_pos_control_l1 + #gnd_att_control + #gnd_pos_control + #gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + #position_estimator_inav + sensors + #uavcan + #vtol_att_control + #wind_estimator + + SYSTEMCMDS + bl_update + #config + #dumpfile + #esc_calib + hardfault_log + #led_control + mixer + #motor_ramp + motor_test + mtd + #nshterm + param + perf + pwm + reboot + #sd_bench + #tests # tests and test runner + top + #topic_listener + tune_control + ver + + EXAMPLES + #bottle_drop # OBC challenge + #fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + #hwtest # Hardware test + #px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + #px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + #rover_steering_control # Rover example app + #segway + ) diff --git a/platforms/nuttx/nuttx-configs/px4fmu-v2/Kconfig b/boards/px4/fmu-v2/nuttx-config/Kconfig similarity index 100% rename from platforms/nuttx/nuttx-configs/px4fmu-v2/Kconfig rename to boards/px4/fmu-v2/nuttx-config/Kconfig diff --git a/platforms/nuttx/nuttx-configs/px4fmu-v2/include/board.h b/boards/px4/fmu-v2/nuttx-config/include/board.h old mode 100755 new mode 100644 similarity index 100% rename from platforms/nuttx/nuttx-configs/px4fmu-v2/include/board.h rename to boards/px4/fmu-v2/nuttx-config/include/board.h diff --git a/platforms/nuttx/nuttx-configs/px4fmu-v2/nsh/defconfig b/boards/px4/fmu-v2/nuttx-config/nsh/defconfig similarity index 100% rename from platforms/nuttx/nuttx-configs/px4fmu-v2/nsh/defconfig rename to boards/px4/fmu-v2/nuttx-config/nsh/defconfig diff --git a/platforms/nuttx/nuttx-configs/px4fmu-v2/scripts/ld.script b/boards/px4/fmu-v2/nuttx-config/scripts/ld.script similarity index 100% rename from platforms/nuttx/nuttx-configs/px4fmu-v2/scripts/ld.script rename to boards/px4/fmu-v2/nuttx-config/scripts/ld.script diff --git a/src/drivers/boards/px4fmu-v2/CMakeLists.txt b/boards/px4/fmu-v2/src/CMakeLists.txt similarity index 100% rename from src/drivers/boards/px4fmu-v2/CMakeLists.txt rename to boards/px4/fmu-v2/src/CMakeLists.txt diff --git a/src/drivers/boards/px4fmu-v2/board_config.h b/boards/px4/fmu-v2/src/board_config.h similarity index 99% rename from src/drivers/boards/px4fmu-v2/board_config.h rename to boards/px4/fmu-v2/src/board_config.h index e3da7692c2..bce4f8f6e4 100644 --- a/src/drivers/boards/px4fmu-v2/board_config.h +++ b/boards/px4/fmu-v2/src/board_config.h @@ -562,7 +562,7 @@ extern void board_peripheral_reset(int ms); extern void stm32_usbinitialize(void); -#include "../common/board_common.h" +#include <drivers/boards/common/board_common.h> #endif /* __ASSEMBLY__ */ diff --git a/src/drivers/boards/px4fmu-v2/can.c b/boards/px4/fmu-v2/src/can.c similarity index 100% rename from src/drivers/boards/px4fmu-v2/can.c rename to boards/px4/fmu-v2/src/can.c diff --git a/src/drivers/boards/px4fmu-v2/i2c.c b/boards/px4/fmu-v2/src/i2c.c similarity index 100% rename from src/drivers/boards/px4fmu-v2/i2c.c rename to boards/px4/fmu-v2/src/i2c.c diff --git a/src/drivers/boards/px4fmu-v2/init.c b/boards/px4/fmu-v2/src/init.c similarity index 100% rename from src/drivers/boards/px4fmu-v2/init.c rename to boards/px4/fmu-v2/src/init.c diff --git a/src/drivers/boards/px4fmu-v2/led.c b/boards/px4/fmu-v2/src/led.c similarity index 100% rename from src/drivers/boards/px4fmu-v2/led.c rename to boards/px4/fmu-v2/src/led.c diff --git a/src/drivers/boards/px4fmu-v2/manifest.c b/boards/px4/fmu-v2/src/manifest.c similarity index 100% rename from src/drivers/boards/px4fmu-v2/manifest.c rename to boards/px4/fmu-v2/src/manifest.c diff --git a/src/drivers/boards/px4fmu-v2/spi.c b/boards/px4/fmu-v2/src/spi.c similarity index 100% rename from src/drivers/boards/px4fmu-v2/spi.c rename to boards/px4/fmu-v2/src/spi.c diff --git a/src/drivers/boards/px4fmu-v2/timer_config.c b/boards/px4/fmu-v2/src/timer_config.c similarity index 100% rename from src/drivers/boards/px4fmu-v2/timer_config.c rename to boards/px4/fmu-v2/src/timer_config.c diff --git a/src/drivers/boards/px4fmu-v2/usb.c b/boards/px4/fmu-v2/src/usb.c similarity index 100% rename from src/drivers/boards/px4fmu-v2/usb.c rename to boards/px4/fmu-v2/src/usb.c diff --git a/boards/px4/fmu-v2/test.cmake b/boards/px4/fmu-v2/test.cmake new file mode 100644 index 0000000000..5c032c3e01 --- /dev/null +++ b/boards/px4/fmu-v2/test.cmake @@ -0,0 +1,119 @@ + +px4_add_board( + PLATFORM nuttx + VENDOR px4 + MODEL fmu-v2 + LABEL test + ARCH cortex-m4 + ROMFS + ROMFSROOT px4fmu_test + IO px4io-v2_default + TESTING + #UAVCAN_INTERFACES 2 + + SERIAL_PORTS + GPS1:/dev/ttyS0 + TEL1:/dev/ttyS1 + TEL2:/dev/ttyS2 + TEL4:/dev/ttyS3 + + DRIVERS + #barometer # all available barometer drivers + barometer/ms5611 + #batt_smbus + #blinkm + camera_trigger + #differential_pressure # all available differential pressure drivers + differential_pressure/ms4525 + #distance_sensor # all available distance sensor drivers + distance_sensor/ll40ls + distance_sensor/sf0x + gps + #heater + #imu # all available imu drivers + #imu/adis16448 + imu/l3gd20 + imu/lsm303d + imu/mpu6000 + imu/mpu9250 + #iridiumsbd + #irlock + #magnetometer # all available magnetometer drivers + magnetometer/hmc5883 + #mkblctrl + #oreoled + #protocol_splitter + #pca9685 + #pwm_input + #pwm_out_sim + px4flow + px4fmu + px4io + rgbled + stm32 + stm32/adc + stm32/tone_alarm + #tap_esc + #telemetry # all available telemetry drivers + #test_ppm + vmount + + MODULES + #attitude_estimator_q + camera_feedback + commander + dataman + #ekf2 + events + #fw_att_control + #fw_pos_control_l1 + #gnd_att_control + #gnd_pos_control + #gpio_led + land_detector + landing_target_estimator + load_mon + #local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + #position_estimator_inav + sensors + #uavcan + vtol_att_control + #wind_estimator + + SYSTEMCMDS + #bl_update + #config + #dumpfile + #esc_calib + hardfault_log + #led_control + mixer + #motor_ramp + motor_test + mtd + #nshterm + param + perf + pwm + reboot + sd_bench + tests # tests and test runner + top + #topic_listener + tune_control + ver + + EXAMPLES + #bottle_drop # OBC challenge + #fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + #hwtest # Hardware test + #px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + #px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + #rover_steering_control # Rover example app + #segway + ) diff --git a/boards/px4/fmu-v3/default.cmake b/boards/px4/fmu-v3/default.cmake new file mode 100644 index 0000000000..b2646ad6d0 --- /dev/null +++ b/boards/px4/fmu-v3/default.cmake @@ -0,0 +1,129 @@ + +# FMUv3 is FMUv2 with access to the full 2MB flash + +px4_add_board( + PLATFORM nuttx + VENDOR px4 + MODEL fmu-v3 + LABEL default + ARCH cortex-m4 + ROMFS + ROMFSROOT px4fmu_common + IO px4io-v2_default + TESTING + UAVCAN_INTERFACES 2 + + SERIAL_PORTS + GPS1:/dev/ttyS0 + TEL1:/dev/ttyS1 + TEL2:/dev/ttyS2 + TEL4:/dev/ttyS3 + + DRIVERS + barometer # all available barometer drivers + batt_smbus + blinkm + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + #heater + #imu # all available imu drivers + imu/adis16448 + imu/l3gd20 + imu/lsm303d + imu/mpu6000 + imu/mpu9250 + irlock + magnetometer # all available magnetometer drivers + #md25 + mkblctrl + oreoled + pca8574 + pca9685 + #pmw3901 + protocol_splitter + pwm_input + pwm_out_sim + px4flow + px4fmu + px4io + rgbled + rgbled_ncp5623c + #rgbled_pwm + roboclaw + stm32 + stm32/adc + stm32/tone_alarm + tap_esc + telemetry # all available telemetry drivers + test_ppm + vmount + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + position_estimator_inav + sensors + uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + bl_update + config + dumpfile + esc_calib + hardfault_log + led_control + mixer + motor_ramp + motor_test + mtd + nshterm + param + perf + pwm + reboot + reflect + sd_bench + shutdown + tests # tests and test runner + top + topic_listener + tune_control + usb_connected + ver + + EXAMPLES + bottle_drop # OBC challenge + fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + hwtest # Hardware test + #matlab_csv_serial + #publisher + px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + rover_steering_control # Rover example app + segway + #subscriber + uuv_example_app + + ) diff --git a/platforms/nuttx/Images/px4fmu-v3.prototype b/boards/px4/fmu-v3/firmware.prototype similarity index 100% rename from platforms/nuttx/Images/px4fmu-v3.prototype rename to boards/px4/fmu-v3/firmware.prototype diff --git a/platforms/nuttx/nuttx-configs/px4nucleoF767ZI-v1/Kconfig b/boards/px4/fmu-v3/nuttx-config/Kconfig similarity index 94% rename from platforms/nuttx/nuttx-configs/px4nucleoF767ZI-v1/Kconfig rename to boards/px4/fmu-v3/nuttx-config/Kconfig index eab8596bb6..f9f0c5e6a8 100644 --- a/platforms/nuttx/nuttx-configs/px4nucleoF767ZI-v1/Kconfig +++ b/boards/px4/fmu-v3/nuttx-config/Kconfig @@ -3,7 +3,7 @@ # see misc/tools/kconfig-language.txt. # -if ARCH_BOARD_PX4NUCLEOF767ZI_V1 +if ARCH_BOARD_PX4FMU_V2 config BOARD_HAS_PROBES bool "Board provides GPIO or other Hardware for signaling to timing analyze." diff --git a/platforms/nuttx/nuttx-configs/px4flow-v2/include/board.h b/boards/px4/fmu-v3/nuttx-config/include/board.h old mode 100755 new mode 100644 similarity index 62% rename from platforms/nuttx/nuttx-configs/px4flow-v2/include/board.h rename to boards/px4/fmu-v3/nuttx-config/include/board.h index 94dbf98b7e..827d4f1221 --- a/platforms/nuttx/nuttx-configs/px4flow-v2/include/board.h +++ b/boards/px4/fmu-v3/nuttx-config/include/board.h @@ -1,9 +1,9 @@ /************************************************************************************ - * nuttx-configs/px4flow-v2/include/board.h + * nuttx-configs/px4fmu-v3/include/board.h + * include/arch/board/board.h * - * Copyright (C) 2015 Gregory Nutt. All rights reserved. + * Copyright (C) 2009 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <gnutt@nuttx.org> - * David Sidrane <david_s5@nscdg.com> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -34,28 +34,26 @@ * ************************************************************************************/ -#ifndef __CONFIGS_PX4FLOW_V2_INCLUDE_BOARD_H -#define __CONFIGS_PX4FLOW_V2_INCLUDE_BOARD_H +#ifndef __ARCH_BOARD_BOARD_H +#define __ARCH_BOARD_BOARD_H /************************************************************************************ * Included Files ************************************************************************************/ #include <nuttx/config.h> - #ifndef __ASSEMBLY__ # include <stdint.h> #endif -#include "stm32_rcc.h" -#include "stm32_sdio.h" -#include "stm32.h" + +#include <stm32.h> /************************************************************************************ - * Pre-processor Definitions + * Definitions ************************************************************************************/ /* Clocking *************************************************************************/ -/* The PX4FLOW uses a 24MHz crystal connected to the HSE. +/* The PX4FMUV2 uses a 24MHz crystal connected to the HSE. * * This is the "standard" configuration as set up by arch/arm/src/stm32f40xx_rcc.c: * System Clock source : PLL (HSE) @@ -167,79 +165,160 @@ #define BOARD_TIM13_FREQUENCY STM32_APB1_TIM13_CLKIN #define BOARD_TIM14_FREQUENCY STM32_APB1_TIM14_CLKIN +/* SDIO dividers. Note that slower clocking is required when DMA is disabled + * in order to avoid RX overrun/TX underrun errors due to delayed responses + * to service FIFOs in interrupt driven mode. These values have not been + * tuned!!! + * + * SDIOCLK=48MHz, SDIO_CK=SDIOCLK/(118+2)=400 KHz + */ -/* Leds *************************************************************************/ +#define SDIO_INIT_CLKDIV (118 << SDIO_CLKCR_CLKDIV_SHIFT) -/* LED index values for use with board_setled() */ +/* DMA ON: SDIOCLK=48MHz, SDIO_CK=SDIOCLK/(1+2)=16 MHz + * DMA OFF: SDIOCLK=48MHz, SDIO_CK=SDIOCLK/(2+2)=12 MHz + */ -#define BOARD_LED1 0 -#define BOARD_LED_RED BOARD_LED1 -#define BOARD_LED2 1 -#define BOARD_LED_GREEN BOARD_LED2 -#define BOARD_LED3 2 -#define BOARD_LED_BLUE BOARD_LED3 -#define BOARD_NLEDS 3 +#ifdef CONFIG_STM32_SDIO_DMA +# define SDIO_MMCXFR_CLKDIV (1 << SDIO_CLKCR_CLKDIV_SHIFT) +#else +# define SDIO_MMCXFR_CLKDIV (2 << SDIO_CLKCR_CLKDIV_SHIFT) +#endif -/* LED bits for use with board_setleds() */ +/* DMA ON: SDIOCLK=48MHz, SDIO_CK=SDIOCLK/(1+2)=16 MHz + * DMA OFF: SDIOCLK=48MHz, SDIO_CK=SDIOCLK/(2+2)=12 MHz + */ -#define BOARD_LED_RED_BIT (1 << BOARD_LED_RED) -#define BOARD_LED_GREEN_BIT (1 << BOARD_LED_GREEN) -#define BOARD_LED_BLUE_BIT (1 << BOARD_LED_BLUE) +#ifdef CONFIG_STM32_SDIO_DMA +# define SDIO_SDXFR_CLKDIV (1 << SDIO_CLKCR_CLKDIV_SHIFT) +#else +# define SDIO_SDXFR_CLKDIV (2 << SDIO_CLKCR_CLKDIV_SHIFT) +#endif -/* TODO:define these - * These LEDs are not used by the board port unless CONFIG_ARCH_LEDS is - * - * defined. In that case, the usage by the board port is as follows: - * - * SYMBOL Meaning LED state - * Red Green Blue - * ------------------------ -------------------------- ------ ------ ----*/ - -#define LED_STARTED 0 /* NuttX has been started OFF OFF OFF */ -#define LED_HEAPALLOCATE 1 /* Heap has been allocated OFF OFF ON */ -#define LED_IRQSENABLED 2 /* Interrupts enabled OFF ON OFF */ -#define LED_STACKCREATED 3 /* Idle stack created OFF ON ON */ -#define LED_INIRQ 4 /* In an interrupt N/C GLOW N/C */ -#define LED_SIGNAL 5 /* In a signal handler N/C GLOW N/C */ -#define LED_ASSERTION 6 /* An assertion failed GLOW GLOW N/C */ -#define LED_PANIC 7 /* The system has crashed Blk OFF N/C */ -#define LED_IDLE 8 /* MCU is is sleep mode ON OFF OFF */ - -/* - * Thus if the blue is statically on, NuttX has successfully booted and is, - * apparently, running normally. If the Red LED is flashing at - * approximately 2Hz, then a fatal error has been detected and the system - * has halted. +/* DMA Channl/Stream Selections *****************************************************/ +/* Stream selections are arbitrary for now but might become important in the future + * is we set aside more DMA channels/streams. * + * SDIO DMA + *  DMAMAP_SDIO_1 = Channel 4, Stream 3 <- may later be used by SPI DMA + *  DMAMAP_SDIO_2 = Channel 4, Stream 6 */ +#define DMAMAP_SDIO DMAMAP_SDIO_1 + /* Alternate function pin selections ************************************************/ /* UARTs */ +#define GPIO_USART1_RX GPIO_USART1_RX_1 /* Console in from IO */ +#define GPIO_USART1_TX 0 /* USART1 is RX-only */ + +#define GPIO_USART2_RX GPIO_USART2_RX_2 +#define GPIO_USART2_TX GPIO_USART2_TX_2 +#define GPIO_USART2_RTS GPIO_USART2_RTS_2 +#define GPIO_USART2_CTS GPIO_USART2_CTS_2 + #define GPIO_USART3_RX GPIO_USART3_RX_3 #define GPIO_USART3_TX GPIO_USART3_TX_3 +#define GPIO_USART3_RTS GPIO_USART3_RTS_2 +#define GPIO_USART3_CTS GPIO_USART3_CTS_2 + +#define GPIO_UART4_RX GPIO_UART4_RX_1 +#define GPIO_UART4_TX GPIO_UART4_TX_1 + +#define GPIO_USART6_RX GPIO_USART6_RX_1 +#define GPIO_USART6_TX GPIO_USART6_TX_1 + +#define GPIO_UART7_RX GPIO_UART7_RX_1 +#define GPIO_UART7_TX GPIO_UART7_TX_1 + +/* UART8 has no alternate pin config */ + +/* UART RX DMA configurations */ + +#define DMAMAP_USART1_RX DMAMAP_USART1_RX_2 +#define DMAMAP_USART6_RX DMAMAP_USART6_RX_2 /* CAN * * CAN1 is routed to the onboard transceiver. + * CAN2 is routed to the expansion connector. */ #define GPIO_CAN1_RX GPIO_CAN1_RX_3 #define GPIO_CAN1_TX GPIO_CAN1_TX_3 +#define GPIO_CAN2_RX GPIO_CAN2_RX_1 +#define GPIO_CAN2_TX GPIO_CAN2_TX_2 + +/* I2C + * + * The optional _GPIO configurations allow the I2C driver to manually + * reset the bus to clear stuck slaves. They match the pin configuration, + * but are normally-high GPIOs. + */ + +#define GPIO_I2C1_SCL GPIO_I2C1_SCL_2 +#define GPIO_I2C1_SDA GPIO_I2C1_SDA_2 +#define GPIO_I2C1_SCL_GPIO \ + (GPIO_OUTPUT|GPIO_OPENDRAIN|GPIO_SPEED_50MHz|GPIO_OUTPUT_SET|GPIO_PORTB|GPIO_PIN8) +#define GPIO_I2C1_SDA_GPIO \ + (GPIO_OUTPUT|GPIO_OPENDRAIN|GPIO_SPEED_50MHz|GPIO_OUTPUT_SET|GPIO_PORTB|GPIO_PIN9) + +#define GPIO_I2C2_SCL GPIO_I2C2_SCL_1 +#define GPIO_I2C2_SDA GPIO_I2C2_SDA_1 +#define GPIO_I2C2_SCL_GPIO \ + (GPIO_OUTPUT|GPIO_OPENDRAIN|GPIO_SPEED_50MHz|GPIO_OUTPUT_SET|GPIO_PORTB|GPIO_PIN10) +#define GPIO_I2C2_SDA_GPIO \ + (GPIO_OUTPUT|GPIO_OPENDRAIN|GPIO_SPEED_50MHz|GPIO_OUTPUT_SET|GPIO_PORTB|GPIO_PIN11) + +/* SPI + * + * There are sensors on SPI1, and SPI2 is connected to the FRAM. + */ + +#define GPIO_SPI1_MISO GPIO_SPI1_MISO_1 +#define GPIO_SPI1_MOSI GPIO_SPI1_MOSI_1 +#define GPIO_SPI1_SCK GPIO_SPI1_SCK_1 + +#define GPIO_SPI2_MISO GPIO_SPI2_MISO_1 +#define GPIO_SPI2_MOSI GPIO_SPI2_MOSI_1 +#define GPIO_SPI2_SCK GPIO_SPI2_SCK_2 + +#define GPIO_SPI4_MISO GPIO_SPI4_MISO_1 +#define GPIO_SPI4_MOSI GPIO_SPI4_MOSI_1 +#define GPIO_SPI4_SCK GPIO_SPI4_SCK_1 + +/* LED Definitions. Needed if CONFIG_ARCH_LEDs is defined */ + +#define LED_STARTED 0 +#define LED_HEAPALLOCATE 0 +#define LED_IRQSENABLED 0 +#define LED_STACKCREATED 1 +#define LED_INIRQ 1 +#define LED_SIGNAL 1 +#define LED_ASSERTION 1 +#define LED_PANIC 1 + +/* Board provides GPIO or other Hardware for signaling to timing analyzer */ #if defined(CONFIG_BOARD_USE_PROBES) # define PROBE_N(n) (1<<((n)-1)) -# define PROBE_1 (GPIO_OUTPUT|GPIO_PUSHPULL | GPIO_SPEED_50MHz | GPIO_OUTPUT_CLEAR | GPIO_PORTC | GPIO_PIN2) -# define PROBE_2 (GPIO_OUTPUT|GPIO_PUSHPULL | GPIO_SPEED_50MHz | GPIO_OUTPUT_CLEAR | GPIO_PORTC | GPIO_PIN4) -# define PROBE_3 (GPIO_OUTPUT|GPIO_PUSHPULL | GPIO_SPEED_50MHz | GPIO_OUTPUT_CLEAR | GPIO_PORTC | GPIO_PIN5) +# define PROBE_1 (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTE|GPIO_PIN14) +# define PROBE_2 (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTE|GPIO_PIN13) +# define PROBE_3 (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTE|GPIO_PIN11) +# define PROBE_4 (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTE|GPIO_PIN9) +# define PROBE_5 (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTD|GPIO_PIN13) +# define PROBE_6 (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTD|GPIO_PIN14) # define PROBE_INIT(mask) \ - do { \ - if ((mask)& PROBE_N(1)) { stm32_configgpio(PROBE_1); } \ - if ((mask)& PROBE_N(2)) { stm32_configgpio(PROBE_2); } \ - if ((mask)& PROBE_N(3)) { stm32_configgpio(PROBE_3); } \ - } while(0) + do { \ + if ((mask)& PROBE_N(1)) { stm32_configgpio(PROBE_1); } \ + if ((mask)& PROBE_N(2)) { stm32_configgpio(PROBE_2); } \ + if ((mask)& PROBE_N(3)) { stm32_configgpio(PROBE_3); } \ + if ((mask)& PROBE_N(4)) { stm32_configgpio(PROBE_4); } \ + if ((mask)& PROBE_N(5)) { stm32_configgpio(PROBE_5); } \ + if ((mask)& PROBE_N(6)) { stm32_configgpio(PROBE_6); } \ + } while(0) # define PROBE(n,s) do {stm32_gpiowrite(PROBE_##n,(s));}while(0) # define PROBE_MARK(n) PROBE(n,false);PROBE(n,true) @@ -249,6 +328,8 @@ # define PROBE_MARK(n) #endif + + /************************************************************************************ * Public Data ************************************************************************************/ @@ -258,8 +339,7 @@ #undef EXTERN #if defined(__cplusplus) #define EXTERN extern "C" -extern "C" -{ +extern "C" { #else #define EXTERN extern #endif @@ -277,29 +357,7 @@ extern "C" * ************************************************************************************/ -void stm32_boardinitialize(void); - -/************************************************************************************ - * Name: stm32_ledinit, stm32_setled, and stm32_setleds - * - * Description: - * If CONFIG_ARCH_LEDS is defined, then NuttX will control the on-board LEDs. If - * CONFIG_ARCH_LEDS is not defined, then the following interfaces are available to - * control the LEDs from user applications. - * - ************************************************************************************/ - -#ifndef CONFIG_ARCH_LEDS -void stm32_led_initialize(void); -void stm32_setled(int led, bool ledon); -void stm32_setleds(uint8_t ledset); -#endif - -#if !defined(CONFIG_NSH_LIBRARY) -int app_archinitialize(void); -#else -#define app_archinitialize() (-ENOSYS) -#endif +EXTERN void stm32_boardinitialize(void); #undef EXTERN #if defined(__cplusplus) @@ -307,4 +365,4 @@ int app_archinitialize(void); #endif #endif /* __ASSEMBLY__ */ -#endif /* __CONFIGS_PX4FLOW_V2_INCLUDE_BOARD_H */ +#endif /* __ARCH_BOARD_BOARD_H */ diff --git a/boards/px4/fmu-v3/nuttx-config/nsh/defconfig b/boards/px4/fmu-v3/nuttx-config/nsh/defconfig new file mode 100644 index 0000000000..629b05cbfe --- /dev/null +++ b/boards/px4/fmu-v3/nuttx-config/nsh/defconfig @@ -0,0 +1,1688 @@ +# +# Automatically generated file; DO NOT EDIT. +# Nuttx/ Configuration +# + +# +# Build Setup +# +# CONFIG_EXPERIMENTAL is not set +# CONFIG_DEFAULT_SMALL is not set +CONFIG_HOST_LINUX=y +# CONFIG_HOST_OSX is not set +# CONFIG_HOST_WINDOWS is not set +# CONFIG_HOST_OTHER is not set + +# +# Build Configuration +# +CONFIG_APPS_DIR="../apps" +CONFIG_BUILD_FLAT=y +# CONFIG_BUILD_2PASS is not set + +# +# Binary Output Formats +# +# CONFIG_RRLOAD_BINARY is not set +# CONFIG_INTELHEX_BINARY is not set +# CONFIG_MOTOROLA_SREC is not set +CONFIG_RAW_BINARY=y +# CONFIG_UBOOT_UIMAGE is not set +# CONFIG_DFU_BINARY is not set + +# +# Customize Header Files +# +# CONFIG_ARCH_STDINT_H is not set +# CONFIG_ARCH_STDBOOL_H is not set +CONFIG_ARCH_MATH_H=y +# CONFIG_ARCH_FLOAT_H is not set +# CONFIG_ARCH_STDARG_H is not set +# CONFIG_ARCH_DEBUG_H is not set + +# +# Debug Options +# +CONFIG_DEBUG_ALERT=y +# CONFIG_DEBUG_FEATURES is not set +CONFIG_ARCH_HAVE_STACKCHECK=y +CONFIG_STACK_COLORATION=y +CONFIG_ARCH_HAVE_HEAPCHECK=y +# CONFIG_HEAP_COLORATION is not set +CONFIG_DEBUG_SYMBOLS=y +CONFIG_ARCH_HAVE_CUSTOMOPT=y +CONFIG_DEBUG_NOOPT=y +# CONFIG_DEBUG_CUSTOMOPT is not set +# CONFIG_DEBUG_FULLOPT is not set + +# +# System Type +# +CONFIG_ARCH_ARM=y +# CONFIG_ARCH_AVR is not set +# CONFIG_ARCH_HC is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_MISOC is not set +# CONFIG_ARCH_RENESAS is not set +# CONFIG_ARCH_RISCV is not set +# CONFIG_ARCH_SIM is not set +# CONFIG_ARCH_X86 is not set +# CONFIG_ARCH_XTENSA is not set +# CONFIG_ARCH_Z16 is not set +# CONFIG_ARCH_Z80 is not set +CONFIG_ARCH="arm" + +# +# ARM Options +# +# CONFIG_ARCH_CHIP_A1X is not set +# CONFIG_ARCH_CHIP_C5471 is not set +# CONFIG_ARCH_CHIP_DM320 is not set +# CONFIG_ARCH_CHIP_EFM32 is not set +# CONFIG_ARCH_CHIP_IMX1 is not set +# CONFIG_ARCH_CHIP_IMX6 is not set +# CONFIG_ARCH_CHIP_KINETIS is not set +# CONFIG_ARCH_CHIP_KL is not set +# CONFIG_ARCH_CHIP_LC823450 is not set +# CONFIG_ARCH_CHIP_LM is not set +# CONFIG_ARCH_CHIP_TIVA is not set +# CONFIG_ARCH_CHIP_LPC11XX is not set +# CONFIG_ARCH_CHIP_LPC17XX is not set +# CONFIG_ARCH_CHIP_LPC214X is not set +# CONFIG_ARCH_CHIP_LPC2378 is not set +# CONFIG_ARCH_CHIP_LPC31XX is not set +# CONFIG_ARCH_CHIP_LPC43XX is not set +# CONFIG_ARCH_CHIP_MOXART is not set +# CONFIG_ARCH_CHIP_NUC1XX is not set +# CONFIG_ARCH_CHIP_SAMA5 is not set +# CONFIG_ARCH_CHIP_SAMD is not set +# CONFIG_ARCH_CHIP_SAML is not set +# CONFIG_ARCH_CHIP_SAM34 is not set +# CONFIG_ARCH_CHIP_SAMV7 is not set +CONFIG_ARCH_CHIP_STM32=y +# CONFIG_ARCH_CHIP_STM32F0 is not set +# CONFIG_ARCH_CHIP_STM32F7 is not set +# CONFIG_ARCH_CHIP_STM32L4 is not set +# CONFIG_ARCH_CHIP_STR71X is not set +# CONFIG_ARCH_CHIP_TMS570 is not set +# CONFIG_ARCH_CHIP_XMC4 is not set +# CONFIG_ARCH_ARM7TDMI is not set +# CONFIG_ARCH_ARM920T is not set +# CONFIG_ARCH_ARM926EJS is not set +# CONFIG_ARCH_ARM1136J is not set +# CONFIG_ARCH_ARM1156T2 is not set +# CONFIG_ARCH_ARM1176JZ is not set +# CONFIG_ARCH_CORTEXM0 is not set +# CONFIG_ARCH_CORTEXM23 is not set +# CONFIG_ARCH_CORTEXM3 is not set +# CONFIG_ARCH_CORTEXM33 is not set +CONFIG_ARCH_CORTEXM4=y +# CONFIG_ARCH_CORTEXM7 is not set +# CONFIG_ARCH_CORTEXA5 is not set +# CONFIG_ARCH_CORTEXA8 is not set +# CONFIG_ARCH_CORTEXA9 is not set +# CONFIG_ARCH_CORTEXR4 is not set +# CONFIG_ARCH_CORTEXR4F is not set +# CONFIG_ARCH_CORTEXR5 is not set +# CONFIG_ARCH_CORTEXR5F is not set +# CONFIG_ARCH_CORTEXR7 is not set +# CONFIG_ARCH_CORTEXR7F is not set +CONFIG_ARCH_FAMILY="armv7-m" +CONFIG_ARCH_CHIP="stm32" +CONFIG_ARMV7M_USEBASEPRI=y +CONFIG_ARCH_HAVE_CMNVECTOR=y +CONFIG_ARMV7M_CMNVECTOR=y +# CONFIG_ARMV7M_LAZYFPU is not set +CONFIG_ARCH_HAVE_FPU=y +# CONFIG_ARCH_HAVE_DPFPU is not set +CONFIG_ARCH_FPU=y +# CONFIG_ARCH_HAVE_TRUSTZONE is not set +CONFIG_ARM_HAVE_MPU_UNIFIED=y +# CONFIG_ARM_MPU is not set + +# +# ARMV7M Configuration Options +# +# CONFIG_ARMV7M_HAVE_ICACHE is not set +# CONFIG_ARMV7M_HAVE_DCACHE is not set +# CONFIG_ARMV7M_HAVE_ITCM is not set +# CONFIG_ARMV7M_HAVE_DTCM is not set +# CONFIG_ARMV7M_TOOLCHAIN_IARL is not set +# CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT is not set +# CONFIG_ARMV7M_TOOLCHAIN_CODEREDL is not set +# CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL is not set +CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL=y +# CONFIG_ARMV7M_TOOLCHAIN_CLANGL is not set +CONFIG_ARMV7M_HAVE_STACKCHECK=y +# CONFIG_ARMV7M_STACKCHECK is not set +# CONFIG_ARMV7M_ITMSYSLOG is not set +CONFIG_SERIAL_TERMIOS=y + +# +# STM32 Configuration Options +# +# CONFIG_ARCH_CHIP_STM32L151C6 is not set +# CONFIG_ARCH_CHIP_STM32L151C8 is not set +# CONFIG_ARCH_CHIP_STM32L151CB is not set +# CONFIG_ARCH_CHIP_STM32L151R6 is not set +# CONFIG_ARCH_CHIP_STM32L151R8 is not set +# CONFIG_ARCH_CHIP_STM32L151RB is not set +# CONFIG_ARCH_CHIP_STM32L151V6 is not set +# CONFIG_ARCH_CHIP_STM32L151V8 is not set +# CONFIG_ARCH_CHIP_STM32L151VB is not set +# CONFIG_ARCH_CHIP_STM32L152C6 is not set +# CONFIG_ARCH_CHIP_STM32L152C8 is not set +# CONFIG_ARCH_CHIP_STM32L152CB is not set +# CONFIG_ARCH_CHIP_STM32L152R6 is not set +# CONFIG_ARCH_CHIP_STM32L152R8 is not set +# CONFIG_ARCH_CHIP_STM32L152RB is not set +# CONFIG_ARCH_CHIP_STM32L152V6 is not set +# CONFIG_ARCH_CHIP_STM32L152V8 is not set +# CONFIG_ARCH_CHIP_STM32L152VB is not set +# CONFIG_ARCH_CHIP_STM32L152CC is not set +# CONFIG_ARCH_CHIP_STM32L152RC is not set +# CONFIG_ARCH_CHIP_STM32L152VC is not set +# CONFIG_ARCH_CHIP_STM32L162ZD is not set +# CONFIG_ARCH_CHIP_STM32L162VE is not set +# CONFIG_ARCH_CHIP_STM32F100C8 is not set +# CONFIG_ARCH_CHIP_STM32F100CB is not set +# CONFIG_ARCH_CHIP_STM32F100R8 is not set +# CONFIG_ARCH_CHIP_STM32F100RB is not set +# CONFIG_ARCH_CHIP_STM32F100RC is not set +# CONFIG_ARCH_CHIP_STM32F100RD is not set +# CONFIG_ARCH_CHIP_STM32F100RE is not set +# CONFIG_ARCH_CHIP_STM32F100V8 is not set +# CONFIG_ARCH_CHIP_STM32F100VB is not set +# CONFIG_ARCH_CHIP_STM32F100VC is not set +# CONFIG_ARCH_CHIP_STM32F100VD is not set +# CONFIG_ARCH_CHIP_STM32F100VE is not set +# CONFIG_ARCH_CHIP_STM32F102CB is not set +# CONFIG_ARCH_CHIP_STM32F103T8 is not set +# CONFIG_ARCH_CHIP_STM32F103TB is not set +# CONFIG_ARCH_CHIP_STM32F103C4 is not set +# CONFIG_ARCH_CHIP_STM32F103C8 is not set +# CONFIG_ARCH_CHIP_STM32F103CB is not set +# CONFIG_ARCH_CHIP_STM32F103R8 is not set +# CONFIG_ARCH_CHIP_STM32F103RB is not set +# CONFIG_ARCH_CHIP_STM32F103RC is not set +# CONFIG_ARCH_CHIP_STM32F103RD is not set +# CONFIG_ARCH_CHIP_STM32F103RE is not set +# CONFIG_ARCH_CHIP_STM32F103RG is not set +# CONFIG_ARCH_CHIP_STM32F103V8 is not set +# CONFIG_ARCH_CHIP_STM32F103VB is not set +# CONFIG_ARCH_CHIP_STM32F103VC is not set +# CONFIG_ARCH_CHIP_STM32F103VE is not set +# CONFIG_ARCH_CHIP_STM32F103ZE is not set +# CONFIG_ARCH_CHIP_STM32F105VB is not set +# CONFIG_ARCH_CHIP_STM32F105RB is not set +# CONFIG_ARCH_CHIP_STM32F107VC is not set +# CONFIG_ARCH_CHIP_STM32F205RG is not set +# CONFIG_ARCH_CHIP_STM32F207IG is not set +# CONFIG_ARCH_CHIP_STM32F207ZE is not set +# CONFIG_ARCH_CHIP_STM32F302K6 is not set +# CONFIG_ARCH_CHIP_STM32F302K8 is not set +# CONFIG_ARCH_CHIP_STM32F302CB is not set +# CONFIG_ARCH_CHIP_STM32F302CC is not set +# CONFIG_ARCH_CHIP_STM32F302RB is not set +# CONFIG_ARCH_CHIP_STM32F302RC is not set +# CONFIG_ARCH_CHIP_STM32F302VB is not set +# CONFIG_ARCH_CHIP_STM32F302VC is not set +# CONFIG_ARCH_CHIP_STM32F303K6 is not set +# CONFIG_ARCH_CHIP_STM32F303K8 is not set +# CONFIG_ARCH_CHIP_STM32F303C6 is not set +# CONFIG_ARCH_CHIP_STM32F303C8 is not set +# CONFIG_ARCH_CHIP_STM32F303CB is not set +# CONFIG_ARCH_CHIP_STM32F303CC is not set +# CONFIG_ARCH_CHIP_STM32F303RB is not set +# CONFIG_ARCH_CHIP_STM32F303RC is not set +# CONFIG_ARCH_CHIP_STM32F303RD is not set +# CONFIG_ARCH_CHIP_STM32F303RE is not set +# CONFIG_ARCH_CHIP_STM32F303VB is not set +# CONFIG_ARCH_CHIP_STM32F303VC is not set +# CONFIG_ARCH_CHIP_STM32F334K4 is not set +# CONFIG_ARCH_CHIP_STM32F334K6 is not set +# CONFIG_ARCH_CHIP_STM32F334K8 is not set +# CONFIG_ARCH_CHIP_STM32F334C4 is not set +# CONFIG_ARCH_CHIP_STM32F334C6 is not set +# CONFIG_ARCH_CHIP_STM32F334C8 is not set +# CONFIG_ARCH_CHIP_STM32F334R4 is not set +# CONFIG_ARCH_CHIP_STM32F334R6 is not set +# CONFIG_ARCH_CHIP_STM32F334R8 is not set +# CONFIG_ARCH_CHIP_STM32F372C8 is not set +# CONFIG_ARCH_CHIP_STM32F372R8 is not set +# CONFIG_ARCH_CHIP_STM32F372V8 is not set +# CONFIG_ARCH_CHIP_STM32F372CB is not set +# CONFIG_ARCH_CHIP_STM32F372RB is not set +# CONFIG_ARCH_CHIP_STM32F372VB is not set +# CONFIG_ARCH_CHIP_STM32F372CC is not set +# CONFIG_ARCH_CHIP_STM32F372RC is not set +# CONFIG_ARCH_CHIP_STM32F372VC is not set +# CONFIG_ARCH_CHIP_STM32F373C8 is not set +# CONFIG_ARCH_CHIP_STM32F373R8 is not set +# CONFIG_ARCH_CHIP_STM32F373V8 is not set +# CONFIG_ARCH_CHIP_STM32F373CB is not set +# CONFIG_ARCH_CHIP_STM32F373RB is not set +# CONFIG_ARCH_CHIP_STM32F373VB is not set +# CONFIG_ARCH_CHIP_STM32F373CC is not set +# CONFIG_ARCH_CHIP_STM32F373RC is not set +# CONFIG_ARCH_CHIP_STM32F373VC is not set +# CONFIG_ARCH_CHIP_STM32F401RE is not set +# CONFIG_ARCH_CHIP_STM32F410RB is not set +# CONFIG_ARCH_CHIP_STM32F411RE is not set +# CONFIG_ARCH_CHIP_STM32F411VE is not set +# CONFIG_ARCH_CHIP_STM32F405RG is not set +# CONFIG_ARCH_CHIP_STM32F405VG is not set +# CONFIG_ARCH_CHIP_STM32F405ZG is not set +# CONFIG_ARCH_CHIP_STM32F407VE is not set +# CONFIG_ARCH_CHIP_STM32F407VG is not set +# CONFIG_ARCH_CHIP_STM32F407ZE is not set +# CONFIG_ARCH_CHIP_STM32F407ZG is not set +# CONFIG_ARCH_CHIP_STM32F407IE is not set +# CONFIG_ARCH_CHIP_STM32F407IG is not set +CONFIG_ARCH_CHIP_STM32F427V=y +# CONFIG_ARCH_CHIP_STM32F427Z is not set +# CONFIG_ARCH_CHIP_STM32F427I is not set +# CONFIG_ARCH_CHIP_STM32F429V is not set +# CONFIG_ARCH_CHIP_STM32F429Z is not set +# CONFIG_ARCH_CHIP_STM32F429I is not set +# CONFIG_ARCH_CHIP_STM32F429B is not set +# CONFIG_ARCH_CHIP_STM32F429N is not set +# CONFIG_ARCH_CHIP_STM32F446M is not set +# CONFIG_ARCH_CHIP_STM32F446R is not set +# CONFIG_ARCH_CHIP_STM32F446V is not set +# CONFIG_ARCH_CHIP_STM32F446Z is not set +# CONFIG_ARCH_CHIP_STM32F469A is not set +# CONFIG_ARCH_CHIP_STM32F469I is not set +# CONFIG_ARCH_CHIP_STM32F469B is not set +# CONFIG_ARCH_CHIP_STM32F469N is not set +# CONFIG_STM32_FLASH_CONFIG_DEFAULT is not set +# CONFIG_STM32_FLASH_CONFIG_4 is not set +# CONFIG_STM32_FLASH_CONFIG_6 is not set +# CONFIG_STM32_FLASH_CONFIG_8 is not set +# CONFIG_STM32_FLASH_CONFIG_B is not set +# CONFIG_STM32_FLASH_CONFIG_C is not set +# CONFIG_STM32_FLASH_CONFIG_D is not set +# CONFIG_STM32_FLASH_CONFIG_E is not set +# CONFIG_STM32_FLASH_CONFIG_F is not set +# CONFIG_STM32_FLASH_CONFIG_G is not set +CONFIG_STM32_FLASH_CONFIG_I=y +# CONFIG_STM32_STM32L15XX is not set +# CONFIG_STM32_ENERGYLITE is not set +# CONFIG_STM32_STM32F10XX is not set +# CONFIG_STM32_VALUELINE is not set +# CONFIG_STM32_CONNECTIVITYLINE is not set +# CONFIG_STM32_PERFORMANCELINE is not set +# CONFIG_STM32_USBACCESSLINE is not set +# CONFIG_STM32_HIGHDENSITY is not set +# CONFIG_STM32_MEDIUMDENSITY is not set +# CONFIG_STM32_LOWDENSITY is not set +# CONFIG_STM32_STM32F20XX is not set +# CONFIG_STM32_STM32F205 is not set +# CONFIG_STM32_STM32F207 is not set +# CONFIG_STM32_STM32F30XX is not set +# CONFIG_STM32_STM32F302 is not set +# CONFIG_STM32_STM32F303 is not set +# CONFIG_STM32_STM32F33XX is not set +# CONFIG_STM32_STM32F37XX is not set +CONFIG_STM32_STM32F4XXX=y +# CONFIG_STM32_STM32F401 is not set +# CONFIG_STM32_STM32F410 is not set +# CONFIG_STM32_STM32F411 is not set +# CONFIG_STM32_STM32F405 is not set +# CONFIG_STM32_STM32F407 is not set +CONFIG_STM32_STM32F427=y +# CONFIG_STM32_STM32F429 is not set +# CONFIG_STM32_STM32F446 is not set +# CONFIG_STM32_STM32F469 is not set +# CONFIG_STM32_DFU is not set + +# +# STM32 Peripheral Support +# +CONFIG_STM32_HAVE_CCM=y +# CONFIG_STM32_HAVE_USBDEV is not set +CONFIG_STM32_HAVE_OTGFS=y +CONFIG_STM32_HAVE_FSMC=y +# CONFIG_STM32_HAVE_HRTIM1 is not set +# CONFIG_STM32_HAVE_LTDC is not set +CONFIG_STM32_HAVE_USART3=y +CONFIG_STM32_HAVE_UART4=y +CONFIG_STM32_HAVE_UART5=y +CONFIG_STM32_HAVE_USART6=y +CONFIG_STM32_HAVE_UART7=y +CONFIG_STM32_HAVE_UART8=y +CONFIG_STM32_HAVE_TIM1=y +# CONFIG_STM32_HAVE_TIM2 is not set +CONFIG_STM32_HAVE_TIM3=y +CONFIG_STM32_HAVE_TIM4=y +CONFIG_STM32_HAVE_TIM5=y +CONFIG_STM32_HAVE_TIM6=y +CONFIG_STM32_HAVE_TIM7=y +CONFIG_STM32_HAVE_TIM8=y +CONFIG_STM32_HAVE_TIM9=y +CONFIG_STM32_HAVE_TIM10=y +CONFIG_STM32_HAVE_TIM11=y +CONFIG_STM32_HAVE_TIM12=y +CONFIG_STM32_HAVE_TIM13=y +CONFIG_STM32_HAVE_TIM14=y +# CONFIG_STM32_HAVE_TIM15 is not set +# CONFIG_STM32_HAVE_TIM16 is not set +# CONFIG_STM32_HAVE_TIM17 is not set +CONFIG_STM32_HAVE_ADC2=y +CONFIG_STM32_HAVE_ADC3=y +# CONFIG_STM32_HAVE_ADC4 is not set +CONFIG_STM32_HAVE_ADC1_DMA=y +# CONFIG_STM32_HAVE_ADC2_DMA is not set +# CONFIG_STM32_HAVE_ADC3_DMA is not set +# CONFIG_STM32_HAVE_ADC4_DMA is not set +# CONFIG_STM32_HAVE_SDADC1 is not set +# CONFIG_STM32_HAVE_SDADC2 is not set +# CONFIG_STM32_HAVE_SDADC3 is not set +# CONFIG_STM32_HAVE_SDADC1_DMA is not set +# CONFIG_STM32_HAVE_SDADC2_DMA is not set +# CONFIG_STM32_HAVE_SDADC3_DMA is not set +CONFIG_STM32_HAVE_CAN1=y +CONFIG_STM32_HAVE_CAN2=y +# CONFIG_STM32_HAVE_COMP1 is not set +# CONFIG_STM32_HAVE_COMP2 is not set +# CONFIG_STM32_HAVE_COMP3 is not set +# CONFIG_STM32_HAVE_COMP4 is not set +# CONFIG_STM32_HAVE_COMP5 is not set +# CONFIG_STM32_HAVE_COMP6 is not set +# CONFIG_STM32_HAVE_COMP7 is not set +CONFIG_STM32_HAVE_DAC1=y +CONFIG_STM32_HAVE_DAC2=y +CONFIG_STM32_HAVE_RNG=y +CONFIG_STM32_HAVE_ETHMAC=y +CONFIG_STM32_HAVE_I2C2=y +CONFIG_STM32_HAVE_I2C3=y +CONFIG_STM32_HAVE_SPI2=y +CONFIG_STM32_HAVE_SPI3=y +CONFIG_STM32_HAVE_I2S3=y +CONFIG_STM32_HAVE_SPI4=y +CONFIG_STM32_HAVE_SPI5=y +CONFIG_STM32_HAVE_SPI6=y +# CONFIG_STM32_HAVE_SAIPLL is not set +# CONFIG_STM32_HAVE_I2SPLL is not set +# CONFIG_STM32_HAVE_OPAMP1 is not set +# CONFIG_STM32_HAVE_OPAMP2 is not set +# CONFIG_STM32_HAVE_OPAMP3 is not set +# CONFIG_STM32_HAVE_OPAMP4 is not set +CONFIG_STM32_ADC1=y +# CONFIG_STM32_ADC2 is not set +# CONFIG_STM32_ADC3 is not set +CONFIG_STM32_BKPSRAM=y +# CONFIG_STM32_CAN1 is not set +# CONFIG_STM32_CAN2 is not set +CONFIG_STM32_CCMDATARAM=y +# CONFIG_STM32_CRC is not set +# CONFIG_STM32_CRYP is not set +CONFIG_STM32_DMA1=y +CONFIG_STM32_DMA2=y +# CONFIG_STM32_DAC1 is not set +# CONFIG_STM32_DAC2 is not set +# CONFIG_STM32_DCMI is not set +# CONFIG_STM32_ETHMAC is not set +# CONFIG_STM32_FSMC is not set +# CONFIG_STM32_HASH is not set +CONFIG_STM32_I2C1=y +CONFIG_STM32_I2C2=y +# CONFIG_STM32_I2C3 is not set +# CONFIG_STM32_OPAMP is not set +CONFIG_STM32_OTGFS=y +# CONFIG_STM32_OTGHS is not set +CONFIG_STM32_PWR=y +# CONFIG_STM32_RNG is not set +CONFIG_STM32_SDIO=y +CONFIG_STM32_SPI1=y +CONFIG_STM32_SPI2=y +# CONFIG_STM32_SPI3 is not set +# CONFIG_STM32_I2S3 is not set +CONFIG_STM32_SPI4=y +# CONFIG_STM32_SPI5 is not set +# CONFIG_STM32_SPI6 is not set +CONFIG_STM32_SYSCFG=y +CONFIG_STM32_TIM1=y +# CONFIG_STM32_TIM2 is not set +CONFIG_STM32_TIM3=y +CONFIG_STM32_TIM4=y +# CONFIG_STM32_TIM5 is not set +# CONFIG_STM32_TIM6 is not set +# CONFIG_STM32_TIM7 is not set +# CONFIG_STM32_TIM8 is not set +CONFIG_STM32_TIM9=y +CONFIG_STM32_TIM10=y +CONFIG_STM32_TIM11=y +# CONFIG_STM32_TIM12 is not set +# CONFIG_STM32_TIM13 is not set +# CONFIG_STM32_TIM14 is not set +CONFIG_STM32_USART1=y +CONFIG_STM32_USART2=y +CONFIG_STM32_USART3=y +CONFIG_STM32_UART4=y +# CONFIG_STM32_UART5 is not set +CONFIG_STM32_USART6=y +CONFIG_STM32_UART7=y +CONFIG_STM32_UART8=y +# CONFIG_STM32_IWDG is not set +CONFIG_STM32_WWDG=y +CONFIG_STM32_ADC=y +CONFIG_STM32_SPI=y +CONFIG_STM32_I2C=y +# CONFIG_STM32_NOEXT_VECTORS is not set + +# +# Alternate Pin Mapping +# +CONFIG_STM32_FLASH_PREFETCH=y +# CONFIG_STM32_FLASH_WORKAROUND_DATA_CACHE_CORRUPTION_ON_RWW is not set +# CONFIG_STM32_JTAG_DISABLE is not set +# CONFIG_STM32_JTAG_FULL_ENABLE is not set +# CONFIG_STM32_JTAG_NOJNTRST_ENABLE is not set +CONFIG_STM32_JTAG_SW_ENABLE=y +CONFIG_STM32_DISABLE_IDLE_SLEEP_DURING_DEBUG=y +# CONFIG_STM32_FORCEPOWER is not set +# CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG is not set +# CONFIG_STM32_CCMEXCLUDE is not set +# CONFIG_STM32_CCM_PROCFS is not set +CONFIG_STM32_DMACAPABLE=y + +# +# Timer Configuration +# +# CONFIG_STM32_ONESHOT is not set +# CONFIG_STM32_FREERUN is not set +# CONFIG_STM32_TIM1_PWM is not set +# CONFIG_STM32_TIM3_PWM is not set +# CONFIG_STM32_TIM4_PWM is not set +# CONFIG_STM32_TIM9_PWM is not set +# CONFIG_STM32_TIM10_PWM is not set +# CONFIG_STM32_TIM11_PWM is not set +# CONFIG_STM32_TIM1_ADC is not set +# CONFIG_STM32_TIM3_ADC is not set +# CONFIG_STM32_TIM4_ADC is not set +# CONFIG_STM32_TIM1_CAP is not set +# CONFIG_STM32_TIM3_CAP is not set +# CONFIG_STM32_TIM4_CAP is not set +# CONFIG_STM32_TIM5_CAP is not set +# CONFIG_STM32_TIM8_CAP is not set +# CONFIG_STM32_TIM9_CAP is not set +# CONFIG_STM32_TIM10_CAP is not set +# CONFIG_STM32_TIM11_CAP is not set +# CONFIG_STM32_TIM12_CAP is not set +# CONFIG_STM32_TIM13_CAP is not set +# CONFIG_STM32_TIM14_CAP is not set + +# +# ADC Configuration +# +# CONFIG_STM32_ADC_NO_STARTUP_CONV is not set +# CONFIG_STM32_ADC1_DMA is not set +CONFIG_STM32_USART=y +CONFIG_STM32_SERIALDRIVER=y + +# +# U[S]ART Configuration +# + +# +# U[S]ART Device Configuration +# +CONFIG_STM32_USART1_SERIALDRIVER=y +# CONFIG_STM32_USART1_1WIREDRIVER is not set +# CONFIG_USART1_RS485 is not set +CONFIG_USART1_RXDMA=y +CONFIG_STM32_USART2_SERIALDRIVER=y +# CONFIG_STM32_USART2_1WIREDRIVER is not set +# CONFIG_USART2_RS485 is not set +CONFIG_USART2_RXDMA=y +CONFIG_STM32_USART3_SERIALDRIVER=y +# CONFIG_STM32_USART3_1WIREDRIVER is not set +# CONFIG_USART3_RS485 is not set +CONFIG_USART3_RXDMA=y +CONFIG_STM32_UART4_SERIALDRIVER=y +# CONFIG_STM32_UART4_1WIREDRIVER is not set +# CONFIG_UART4_RS485 is not set +CONFIG_UART4_RXDMA=y +CONFIG_STM32_USART6_SERIALDRIVER=y +# CONFIG_STM32_USART6_1WIREDRIVER is not set +# CONFIG_USART6_RS485 is not set +CONFIG_USART6_RXDMA=y +CONFIG_STM32_UART7_SERIALDRIVER=y +# CONFIG_STM32_UART7_1WIREDRIVER is not set +# CONFIG_UART7_RS485 is not set +CONFIG_UART7_RXDMA=y +CONFIG_STM32_UART8_SERIALDRIVER=y +# CONFIG_STM32_UART8_1WIREDRIVER is not set +# CONFIG_UART8_RS485 is not set +CONFIG_UART8_RXDMA=y + +# +# Serial Driver Configuration +# +CONFIG_STM32_SERIAL_RXDMA_BUFFER_SIZE=32 +CONFIG_SERIAL_DISABLE_REORDERING=y +CONFIG_STM32_FLOWCONTROL_BROKEN=y +CONFIG_STM32_USART_BREAKS=y +CONFIG_STM32_SERIALBRK_BSDCOMPAT=y +CONFIG_STM32_USART_SINGLEWIRE=y + +# +# SPI Configuration +# +# CONFIG_STM32_SPI_INTERRUPTS is not set +# CONFIG_STM32_SPI_DMA is not set + +# +# I2C Configuration +# +# CONFIG_STM32_I2C_ALT is not set +# CONFIG_STM32_I2C_DYNTIMEO is not set +CONFIG_STM32_I2CTIMEOSEC=0 +CONFIG_STM32_I2CTIMEOMS=10 +CONFIG_STM32_I2CTIMEOTICKS=10 +# CONFIG_STM32_I2C_DUTY16_9 is not set +# CONFIG_STM32_I2C_DMA is not set + +# +# SDIO Configuration +# +CONFIG_STM32_SDIO_DMA=y +CONFIG_STM32_SDIO_DMAPRIO=0x00010000 +# CONFIG_STM32_SDIO_WIDTH_D1_ONLY is not set +CONFIG_STM32_BBSRAM=y +CONFIG_STM32_BBSRAM_FILES=5 +CONFIG_STM32_SAVE_CRASHDUMP=y +# CONFIG_STM32_HAVE_RTC_COUNTER is not set +# CONFIG_STM32_HAVE_RTC_SUBSECONDS is not set + +# +# RTC Configuration +# +CONFIG_RTC_MAGIC_REG=1 +CONFIG_RTC_MAGIC=0xfacefeee +CONFIG_RTC_MAGIC_TIME_SET=0xfacefeef +# CONFIG_RTC_LSECLOCK is not set +# CONFIG_RTC_LSICLOCK is not set +CONFIG_RTC_HSECLOCK=y + +# +# USB FS Host Configuration +# + +# +# USB HS Host Configuration +# + +# +# USB Host Debug Configuration +# + +# +# USB Device Configuration +# +# CONFIG_ARCH_TOOLCHAIN_IAR is not set +CONFIG_ARCH_TOOLCHAIN_GNU=y + +# +# Architecture Options +# +# CONFIG_ARCH_NOINTC is not set +# CONFIG_ARCH_VECNOTIRQ is not set +CONFIG_ARCH_DMA=y +CONFIG_ARCH_HAVE_IRQPRIO=y +# CONFIG_ARCH_L2CACHE is not set +# CONFIG_ARCH_HAVE_COHERENT_DCACHE is not set +# CONFIG_ARCH_HAVE_ADDRENV is not set +# CONFIG_ARCH_NEED_ADDRENV_MAPPING is not set +# CONFIG_ARCH_HAVE_MULTICPU is not set +CONFIG_ARCH_HAVE_VFORK=y +# CONFIG_ARCH_HAVE_MMU is not set +CONFIG_ARCH_HAVE_MPU=y +# CONFIG_ARCH_NAND_HWECC is not set +# CONFIG_ARCH_HAVE_EXTCLK is not set +# CONFIG_ARCH_HAVE_POWEROFF is not set +CONFIG_ARCH_HAVE_RESET=y +# CONFIG_ARCH_HAVE_RTC_SUBSECONDS is not set +# CONFIG_ARCH_USE_MPU is not set +# CONFIG_ARCH_IRQPRIO is not set +CONFIG_ARCH_STACKDUMP=y +# CONFIG_ENDIAN_BIG is not set +# CONFIG_ARCH_IDLE_CUSTOM is not set +# CONFIG_ARCH_HAVE_RAMFUNCS is not set +CONFIG_ARCH_HAVE_RAMVECTORS=y +# CONFIG_ARCH_RAMVECTORS is not set +# CONFIG_ARCH_MINIMAL_VECTORTABLE is not set + +# +# Board Settings +# +CONFIG_BOARD_LOOPSPERMSEC=16717 +# CONFIG_ARCH_CALIBRATION is not set + +# +# Interrupt options +# +CONFIG_ARCH_HAVE_INTERRUPTSTACK=y +CONFIG_ARCH_INTERRUPTSTACK=750 +CONFIG_ARCH_HAVE_HIPRI_INTERRUPT=y +# CONFIG_ARCH_HIPRI_INTERRUPT is not set + +# +# Boot options +# +# CONFIG_BOOT_RUNFROMEXTSRAM is not set +CONFIG_BOOT_RUNFROMFLASH=y +# CONFIG_BOOT_RUNFROMISRAM is not set +# CONFIG_BOOT_RUNFROMSDRAM is not set +# CONFIG_BOOT_COPYTORAM is not set + +# +# Boot Memory Configuration +# +CONFIG_RAM_START=0x20000000 +CONFIG_RAM_SIZE=262144 +# CONFIG_ARCH_HAVE_SDRAM is not set + +# +# Board Selection +# +CONFIG_ARCH_BOARD_PX4FMU_V3=y +CONFIG_ARCH_BOARD="px4fmu-v3" + +# +# Custom Board Configuration +# +# CONFIG_BOARD_CUSTOM_LEDS is not set +# CONFIG_BOARD_CUSTOM_BUTTONS is not set +CONFIG_BOARD_HAS_PROBES=y +# CONFIG_BOARD_USE_PROBES is not set + +# +# Common Board Options +# + +# +# Board-Specific Options +# +CONFIG_BOARD_CRASHDUMP=y +CONFIG_BOARD_RESET_ON_CRASH=y +CONFIG_LIB_BOARDCTL=y +CONFIG_BOARDCTL_RESET=y +# CONFIG_BOARDCTL_UNIQUEID is not set +CONFIG_BOARDCTL_USBDEVCTRL=y +# CONFIG_BOARDCTL_TSCTEST is not set +# CONFIG_BOARDCTL_GRAPHICS is not set +# CONFIG_BOARDCTL_IOCTL is not set + +# +# RTOS Features +# +# CONFIG_DISABLE_OS_API is not set + +# +# Clocks and Timers +# +CONFIG_ARCH_HAVE_TICKLESS=y +# CONFIG_SCHED_TICKLESS is not set +CONFIG_USEC_PER_TICK=1000 +# CONFIG_SYSTEM_TIME64 is not set +# CONFIG_CLOCK_MONOTONIC is not set +CONFIG_ARCH_HAVE_TIMEKEEPING=y +# CONFIG_JULIAN_TIME is not set +CONFIG_START_YEAR=2016 +CONFIG_START_MONTH=11 +CONFIG_START_DAY=30 +CONFIG_MAX_WDOGPARMS=2 +CONFIG_PREALLOC_WDOGS=50 +CONFIG_WDOG_INTRESERVE=4 +CONFIG_PREALLOC_TIMERS=50 + +# +# Tasks and Scheduling +# +# CONFIG_SPINLOCK is not set +# CONFIG_INIT_NONE is not set +CONFIG_INIT_ENTRYPOINT=y +# CONFIG_INIT_FILEPATH is not set +CONFIG_USER_ENTRYPOINT="nsh_main" +CONFIG_RR_INTERVAL=0 +# CONFIG_SCHED_SPORADIC is not set +CONFIG_TASK_NAME_SIZE=24 +CONFIG_MAX_TASKS=32 +# CONFIG_SCHED_HAVE_PARENT is not set +CONFIG_SCHED_WAITPID=y + +# +# Pthread Options +# +# CONFIG_PTHREAD_MUTEX_TYPES is not set +CONFIG_PTHREAD_MUTEX_ROBUST=y +# CONFIG_PTHREAD_MUTEX_UNSAFE is not set +# CONFIG_PTHREAD_MUTEX_BOTH is not set +CONFIG_NPTHREAD_KEYS=4 +# CONFIG_PTHREAD_CLEANUP is not set +# CONFIG_CANCELLATION_POINTS is not set + +# +# Performance Monitoring +# +# CONFIG_SCHED_CPULOAD is not set +CONFIG_SCHED_INSTRUMENTATION=y +# CONFIG_SCHED_INSTRUMENTATION_PREEMPTION is not set +# CONFIG_SCHED_INSTRUMENTATION_CSECTION is not set +# CONFIG_SCHED_INSTRUMENTATION_SPINLOCKS is not set +# CONFIG_SCHED_INSTRUMENTATION_BUFFER is not set + +# +# Files and I/O +# +CONFIG_DEV_CONSOLE=y +# CONFIG_FDCLONE_DISABLE is not set +CONFIG_FDCLONE_STDIO=y +CONFIG_SDCLONE_DISABLE=y +CONFIG_NFILE_DESCRIPTORS=54 +CONFIG_NFILE_STREAMS=8 +CONFIG_NAME_MAX=32 +CONFIG_PRIORITY_INHERITANCE=y +CONFIG_SEM_PREALLOCHOLDERS=0 +CONFIG_SEM_NNESTPRIO=8 + +# +# RTOS hooks +# +# CONFIG_BOARD_INITIALIZE is not set +# CONFIG_SCHED_STARTHOOK is not set +CONFIG_SCHED_ATEXIT=y +CONFIG_SCHED_ATEXIT_MAX=1 +# CONFIG_SCHED_ONEXIT is not set +# CONFIG_SIG_EVTHREAD is not set + +# +# Signal Numbers +# +CONFIG_SIG_SIGUSR1=1 +CONFIG_SIG_SIGUSR2=2 +CONFIG_SIG_SIGALARM=3 +CONFIG_SIG_SIGCONDTIMEDOUT=16 +CONFIG_SIG_SIGWORK=4 + +# +# POSIX Message Queue Options +# +CONFIG_PREALLOC_MQ_MSGS=4 +CONFIG_MQ_MAXMSGSIZE=32 +# CONFIG_MODULE is not set + +# +# Work queue support +# +CONFIG_SCHED_WORKQUEUE=y +CONFIG_SCHED_HPWORK=y +CONFIG_SCHED_HPWORKPRIORITY=249 +CONFIG_SCHED_HPWORKPERIOD=5000 +CONFIG_SCHED_HPWORKSTACKSIZE=1800 +CONFIG_SCHED_LPWORK=y +CONFIG_SCHED_LPNTHREADS=1 +CONFIG_SCHED_LPWORKPRIORITY=50 +CONFIG_SCHED_LPWORKPRIOMAX=176 +CONFIG_SCHED_LPWORKPERIOD=50000 +CONFIG_SCHED_LPWORKSTACKSIZE=1800 + +# +# Stack and heap information +# +CONFIG_IDLETHREAD_STACKSIZE=750 +CONFIG_USERMAIN_STACKSIZE=2500 +CONFIG_PTHREAD_STACK_MIN=512 +CONFIG_PTHREAD_STACK_DEFAULT=2048 +# CONFIG_LIB_SYSCALL is not set + +# +# Device Drivers +# +# CONFIG_DISABLE_POLL is not set +CONFIG_DEV_NULL=y +# CONFIG_DEV_ZERO is not set +# CONFIG_DEV_URANDOM is not set +# CONFIG_DEV_LOOP is not set + +# +# Buffering +# +# CONFIG_DRVR_WRITEBUFFER is not set +# CONFIG_DRVR_READAHEAD is not set +# CONFIG_RAMDISK is not set +# CONFIG_CAN is not set +# CONFIG_ARCH_HAVE_PWM_PULSECOUNT is not set +# CONFIG_ARCH_HAVE_PWM_MULTICHAN is not set +# CONFIG_PWM is not set +CONFIG_ARCH_HAVE_I2CRESET=y +CONFIG_I2C=y +# CONFIG_I2C_SLAVE is not set +# CONFIG_I2C_POLLED is not set +CONFIG_I2C_RESET=y +# CONFIG_I2C_TRACE is not set +# CONFIG_I2C_DRIVER is not set +# CONFIG_ARCH_HAVE_SPI_CRCGENERATION is not set +# CONFIG_ARCH_HAVE_SPI_CS_CONTROL is not set +CONFIG_ARCH_HAVE_SPI_BITORDER=y +CONFIG_SPI=y +# CONFIG_SPI_SLAVE is not set +CONFIG_SPI_EXCHANGE=y +# CONFIG_SPI_CMDDATA is not set +# CONFIG_SPI_CALLBACK is not set +# CONFIG_SPI_HWFEATURES is not set +# CONFIG_SPI_BITORDER is not set +# CONFIG_SPI_CS_DELAY_CONTROL is not set +# CONFIG_SPI_DRIVER is not set +# CONFIG_SPI_BITBANG is not set +# CONFIG_I2S is not set + +# +# Timer Driver Support +# +# CONFIG_TIMER is not set +# CONFIG_ONESHOT is not set +CONFIG_RTC=y +CONFIG_RTC_DATETIME=y +# CONFIG_RTC_ALARM is not set +# CONFIG_RTC_DRIVER is not set +# CONFIG_RTC_EXTERNAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_DEVPATH="/dev/watchdog0" +# CONFIG_TIMERS_CS2100CP is not set +# CONFIG_ANALOG is not set +# CONFIG_DRIVERS_AUDIO is not set +# CONFIG_DRIVERS_VIDEO is not set +# CONFIG_BCH is not set +# CONFIG_INPUT is not set + +# +# IO Expander/GPIO Support +# +# CONFIG_IOEXPANDER is not set +# CONFIG_DEV_GPIO is not set + +# +# LCD Driver Support +# +# CONFIG_LCD is not set +# CONFIG_SLCD is not set + +# +# LED Support +# +# CONFIG_LEDS_APA102 is not set +# CONFIG_RGBLED is not set +# CONFIG_PCA9635PW is not set +# CONFIG_NCP5623C is not set +CONFIG_MMCSD=y +CONFIG_MMCSD_NSLOTS=1 +# CONFIG_MMCSD_READONLY is not set +CONFIG_MMCSD_MULTIBLOCK_DISABLE=y +# CONFIG_MMCSD_MMCSUPPORT is not set +# CONFIG_MMCSD_HAVECARDDETECT is not set +# CONFIG_MMCSD_SPI is not set +CONFIG_ARCH_HAVE_SDIO=y +CONFIG_SDIO_DMA=y +CONFIG_ARCH_HAVE_SDIOWAIT_WRCOMPLETE=y +CONFIG_MMCSD_SDIO=y +CONFIG_SDIO_PREFLIGHT=y +# CONFIG_SDIO_MUXBUS is not set +CONFIG_MMCSD_SDIOWAIT_WRCOMPLETE=y +# CONFIG_SDIO_WIDTH_D1_ONLY is not set +# CONFIG_SDIO_BLOCKSETUP is not set +# CONFIG_MODEM is not set +CONFIG_MTD=y + +# +# MTD Configuration +# +CONFIG_MTD_PARTITION=y +# CONFIG_MTD_SECT512 is not set +# CONFIG_MTD_PARTITION_NAMES is not set +CONFIG_MTD_BYTE_WRITE=y +# CONFIG_MTD_PROGMEM is not set +# CONFIG_MTD_CONFIG is not set + +# +# MTD Device Drivers +# +# CONFIG_MTD_NAND is not set +# CONFIG_RAMMTD is not set +# CONFIG_FILEMTD is not set +# CONFIG_MTD_AT24XX is not set +# CONFIG_MTD_AT25 is not set +# CONFIG_MTD_AT45DB is not set +# CONFIG_MTD_IS25XP is not set +# CONFIG_MTD_M25P is not set +# CONFIG_MTD_MX25L is not set +# CONFIG_MTD_S25FL1 is not set +# CONFIG_MTD_N25QXXX is not set +# CONFIG_MTD_MX25RXX is not set +# CONFIG_MTD_SMART is not set +CONFIG_MTD_RAMTRON=y +CONFIG_RAMTRON_WRITEWAIT=y +CONFIG_RAMTRON_SETSPEED=y +# CONFIG_RAMTRON_CHUNKING is not set +# CONFIG_MTD_SST25 is not set +# CONFIG_MTD_SST25XX is not set +# CONFIG_MTD_SST26 is not set +# CONFIG_MTD_SST39FV is not set +# CONFIG_MTD_W25 is not set +# CONFIG_EEPROM is not set +CONFIG_PIPES=y +CONFIG_DEV_PIPE_MAXSIZE=1024 +CONFIG_DEV_PIPE_SIZE=70 +CONFIG_DEV_FIFO_SIZE=0 +# CONFIG_PM is not set +# CONFIG_DRIVERS_SMPS is not set +# CONFIG_POWER is not set +# CONFIG_SENSORS is not set +CONFIG_SERIAL=y +# CONFIG_DEV_LOWCONSOLE is not set +CONFIG_SERIAL_REMOVABLE=y +CONFIG_SERIAL_CONSOLE=y +# CONFIG_16550_UART is not set +# CONFIG_UART_SERIALDRIVER is not set +# CONFIG_UART0_SERIALDRIVER is not set +# CONFIG_UART1_SERIALDRIVER is not set +# CONFIG_UART2_SERIALDRIVER is not set +# CONFIG_UART3_SERIALDRIVER is not set +CONFIG_UART4_SERIALDRIVER=y +# CONFIG_UART5_SERIALDRIVER is not set +# CONFIG_UART6_SERIALDRIVER is not set +CONFIG_UART7_SERIALDRIVER=y +CONFIG_UART8_SERIALDRIVER=y +# CONFIG_SCI0_SERIALDRIVER is not set +# CONFIG_SCI1_SERIALDRIVER is not set +# CONFIG_USART0_SERIALDRIVER is not set +CONFIG_USART1_SERIALDRIVER=y +CONFIG_USART2_SERIALDRIVER=y +CONFIG_USART3_SERIALDRIVER=y +# CONFIG_USART4_SERIALDRIVER is not set +# CONFIG_USART5_SERIALDRIVER is not set +CONFIG_USART6_SERIALDRIVER=y +# CONFIG_USART7_SERIALDRIVER is not set +# CONFIG_USART8_SERIALDRIVER is not set +# CONFIG_OTHER_UART_SERIALDRIVER is not set +CONFIG_MCU_SERIAL=y +CONFIG_STANDARD_SERIAL=y +CONFIG_SERIAL_NPOLLWAITERS=2 +CONFIG_SERIAL_IFLOWCONTROL=y +CONFIG_SERIAL_OFLOWCONTROL=y +# CONFIG_SERIAL_DMA is not set +CONFIG_SERIAL_IFLOWCONTROL_WATERMARKS=y +CONFIG_SERIAL_IFLOWCONTROL_LOWER_WATERMARK=10 +CONFIG_SERIAL_IFLOWCONTROL_UPPER_WATERMARK=90 +CONFIG_ARCH_HAVE_SERIAL_TERMIOS=y +# CONFIG_USART1_SERIAL_CONSOLE is not set +# CONFIG_USART2_SERIAL_CONSOLE is not set +# CONFIG_USART3_SERIAL_CONSOLE is not set +# CONFIG_UART4_SERIAL_CONSOLE is not set +# CONFIG_USART6_SERIAL_CONSOLE is not set +CONFIG_UART7_SERIAL_CONSOLE=y +# CONFIG_UART8_SERIAL_CONSOLE is not set +# CONFIG_OTHER_SERIAL_CONSOLE is not set +# CONFIG_NO_SERIAL_CONSOLE is not set + +# +# USART1 Configuration +# +CONFIG_USART1_RXBUFSIZE=128 +CONFIG_USART1_TXBUFSIZE=32 +CONFIG_USART1_BAUD=115200 +CONFIG_USART1_BITS=8 +CONFIG_USART1_PARITY=0 +CONFIG_USART1_2STOP=0 +# CONFIG_USART1_IFLOWCONTROL is not set +# CONFIG_USART1_OFLOWCONTROL is not set +# CONFIG_USART1_DMA is not set + +# +# USART2 Configuration +# +CONFIG_USART2_RXBUFSIZE=600 +CONFIG_USART2_TXBUFSIZE=1100 +CONFIG_USART2_BAUD=57600 +CONFIG_USART2_BITS=8 +CONFIG_USART2_PARITY=0 +CONFIG_USART2_2STOP=0 +CONFIG_USART2_IFLOWCONTROL=y +CONFIG_USART2_OFLOWCONTROL=y +# CONFIG_USART2_DMA is not set + +# +# USART3 Configuration +# +CONFIG_USART3_RXBUFSIZE=300 +CONFIG_USART3_TXBUFSIZE=600 +CONFIG_USART3_BAUD=57600 +CONFIG_USART3_BITS=8 +CONFIG_USART3_PARITY=0 +CONFIG_USART3_2STOP=0 +CONFIG_USART3_IFLOWCONTROL=y +CONFIG_USART3_OFLOWCONTROL=y +# CONFIG_USART3_DMA is not set + +# +# UART4 Configuration +# +CONFIG_UART4_RXBUFSIZE=300 +CONFIG_UART4_TXBUFSIZE=300 +CONFIG_UART4_BAUD=57600 +CONFIG_UART4_BITS=8 +CONFIG_UART4_PARITY=0 +CONFIG_UART4_2STOP=0 +# CONFIG_UART4_IFLOWCONTROL is not set +# CONFIG_UART4_OFLOWCONTROL is not set +# CONFIG_UART4_DMA is not set + +# +# USART6 Configuration +# +CONFIG_USART6_RXBUFSIZE=300 +CONFIG_USART6_TXBUFSIZE=300 +CONFIG_USART6_BAUD=57600 +CONFIG_USART6_BITS=8 +CONFIG_USART6_PARITY=0 +CONFIG_USART6_2STOP=0 +# CONFIG_USART6_IFLOWCONTROL is not set +# CONFIG_USART6_OFLOWCONTROL is not set +# CONFIG_USART6_DMA is not set + +# +# UART7 Configuration +# +CONFIG_UART7_RXBUFSIZE=300 +CONFIG_UART7_TXBUFSIZE=300 +CONFIG_UART7_BAUD=57600 +CONFIG_UART7_BITS=8 +CONFIG_UART7_PARITY=0 +CONFIG_UART7_2STOP=0 +# CONFIG_UART7_IFLOWCONTROL is not set +# CONFIG_UART7_OFLOWCONTROL is not set +# CONFIG_UART7_DMA is not set + +# +# UART8 Configuration +# +CONFIG_UART8_RXBUFSIZE=300 +CONFIG_UART8_TXBUFSIZE=300 +CONFIG_UART8_BAUD=57600 +CONFIG_UART8_BITS=8 +CONFIG_UART8_PARITY=0 +CONFIG_UART8_2STOP=0 +# CONFIG_UART8_IFLOWCONTROL is not set +# CONFIG_UART8_OFLOWCONTROL is not set +# CONFIG_UART8_DMA is not set +# CONFIG_PSEUDOTERM is not set +CONFIG_USBDEV=y + +# +# USB Device Controller Driver Options +# +# CONFIG_USBDEV_ISOCHRONOUS is not set +# CONFIG_USBDEV_DUALSPEED is not set +# CONFIG_USBDEV_SELFPOWERED is not set +CONFIG_USBDEV_BUSPOWERED=y +CONFIG_USBDEV_MAXPOWER=500 +# CONFIG_USBDEV_DMA is not set +# CONFIG_ARCH_USBDEV_STALLQUEUE is not set +# CONFIG_USBDEV_TRACE is not set + +# +# USB Device Class Driver Options +# +# CONFIG_USBDEV_COMPOSITE is not set +# CONFIG_PL2303 is not set +CONFIG_CDCACM=y +# CONFIG_CDCACM_CONSOLE is not set +# CONFIG_CDCACM_IFLOWCONTROL is not set +CONFIG_CDCACM_EP0MAXPACKET=64 +CONFIG_CDCACM_EPINTIN=1 +CONFIG_CDCACM_EPINTIN_FSSIZE=64 +CONFIG_CDCACM_EPINTIN_HSSIZE=64 +CONFIG_CDCACM_EPBULKOUT=3 +CONFIG_CDCACM_EPBULKOUT_FSSIZE=64 +CONFIG_CDCACM_EPBULKOUT_HSSIZE=512 +CONFIG_CDCACM_EPBULKIN=2 +CONFIG_CDCACM_EPBULKIN_FSSIZE=64 +CONFIG_CDCACM_EPBULKIN_HSSIZE=512 +CONFIG_CDCACM_NRDREQS=4 +CONFIG_CDCACM_NWRREQS=4 +CONFIG_CDCACM_BULKIN_REQLEN=96 +CONFIG_CDCACM_RXBUFSIZE=600 +CONFIG_CDCACM_TXBUFSIZE=2000 +CONFIG_CDCACM_VENDORID=0x26ac +CONFIG_CDCACM_PRODUCTID=0x0011 +CONFIG_CDCACM_VENDORSTR="3D Robotics" +CONFIG_CDCACM_PRODUCTSTR="PX4 FMU v2.x" +# CONFIG_USBMSC is not set +# CONFIG_RNDIS is not set +# CONFIG_USBHOST is not set +# CONFIG_USBMISC is not set +# CONFIG_HAVE_USBTRACE is not set +# CONFIG_DRIVERS_WIRELESS is not set +# CONFIG_DRIVERS_CONTACTLESS is not set + +# +# System Logging +# +# CONFIG_ARCH_SYSLOG is not set +CONFIG_SYSLOG_WRITE=y +# CONFIG_RAMLOG is not set +# CONFIG_SYSLOG_BUFFER is not set +# CONFIG_SYSLOG_INTBUFFER is not set +# CONFIG_SYSLOG_TIMESTAMP is not set +CONFIG_SYSLOG_SERIAL_CONSOLE=y +# CONFIG_SYSLOG_CHAR is not set +CONFIG_SYSLOG_CONSOLE=y +# CONFIG_SYSLOG_NONE is not set +# CONFIG_SYSLOG_FILE is not set +# CONFIG_SYSLOG_CHARDEV is not set + +# +# Networking Support +# +# CONFIG_ARCH_HAVE_NET is not set +# CONFIG_ARCH_HAVE_PHY is not set +# CONFIG_NET is not set + +# +# Crypto API +# +# CONFIG_CRYPTO is not set + +# +# File Systems +# + +# +# File system configuration +# +# CONFIG_DISABLE_MOUNTPOINT is not set +# CONFIG_FS_AUTOMOUNTER is not set +# CONFIG_DISABLE_PSEUDOFS_OPERATIONS is not set +# CONFIG_PSEUDOFS_SOFTLINKS is not set +CONFIG_FS_READABLE=y +CONFIG_FS_WRITABLE=y +# CONFIG_FS_AIO is not set +# CONFIG_FS_NAMED_SEMAPHORES is not set +CONFIG_FS_MQUEUE_MPATH="/var/mqueue" +# CONFIG_FS_RAMMAP is not set +CONFIG_FS_FAT=y +CONFIG_FAT_LCNAMES=y +CONFIG_FAT_LFN=y +CONFIG_FAT_MAXFNAME=32 +CONFIG_FS_FATTIME=y +# CONFIG_FAT_FORCE_INDIRECT is not set +CONFIG_FAT_DMAMEMORY=y +CONFIG_FAT_DIRECT_RETRY=y +# CONFIG_FS_NXFFS is not set +CONFIG_FS_ROMFS=y +# CONFIG_FS_TMPFS is not set +# CONFIG_FS_SMARTFS is not set +CONFIG_FS_BINFS=y +CONFIG_FS_PROCFS=y +CONFIG_FS_PROCFS_REGISTER=y + +# +# Exclude individual procfs entries +# +# CONFIG_FS_PROCFS_EXCLUDE_PROCESS is not set +# CONFIG_FS_PROCFS_EXCLUDE_UPTIME is not set +# CONFIG_FS_PROCFS_EXCLUDE_MOUNTS is not set +# CONFIG_FS_PROCFS_EXCLUDE_MTD is not set +# CONFIG_FS_PROCFS_EXCLUDE_PARTITIONS is not set +# CONFIG_FS_UNIONFS is not set + +# +# Graphics Support +# +# CONFIG_NX is not set + +# +# Memory Management +# +# CONFIG_MM_SMALL is not set +CONFIG_MM_REGIONS=2 +# CONFIG_ARCH_HAVE_HEAP2 is not set +CONFIG_GRAN=y +# CONFIG_GRAN_SINGLE is not set +CONFIG_GRAN_INTR=y + +# +# Common I/O Buffer Support +# +# CONFIG_MM_IOB is not set + +# +# Audio Support +# +# CONFIG_AUDIO is not set + +# +# Wireless Support +# +# CONFIG_WIRELESS is not set + +# +# Binary Loader +# +# CONFIG_BINFMT_DISABLE is not set +# CONFIG_BINFMT_EXEPATH is not set +# CONFIG_NXFLAT is not set +# CONFIG_ELF is not set +CONFIG_BUILTIN=y +# CONFIG_PIC is not set +# CONFIG_SYMTAB_ORDEREDBYNAME is not set + +# +# Library Routines +# + +# +# Standard C Library Options +# + +# +# Standard C I/O +# +# CONFIG_STDIO_DISABLE_BUFFERING is not set +CONFIG_STDIO_BUFFER_SIZE=32 +CONFIG_STDIO_LINEBUFFER=y +CONFIG_NUNGET_CHARS=2 +# CONFIG_NOPRINTF_FIELDWIDTH is not set +CONFIG_LIBC_FLOATINGPOINT=y +CONFIG_LIBC_LONG_LONG=y +# CONFIG_LIBC_SCANSET is not set +# CONFIG_EOL_IS_CR is not set +# CONFIG_EOL_IS_LF is not set +# CONFIG_EOL_IS_BOTH_CRLF is not set +CONFIG_EOL_IS_EITHER_CRLF=y + +# +# Architecture-Specific Support +# +CONFIG_ARCH_LOWPUTC=y +# CONFIG_ARCH_ROMGETC is not set +CONFIG_LIBC_ARCH_MEMCPY=y +# CONFIG_LIBC_ARCH_MEMCMP is not set +# CONFIG_LIBC_ARCH_MEMMOVE is not set +# CONFIG_LIBC_ARCH_MEMSET is not set +# CONFIG_LIBC_ARCH_STRCHR is not set +# CONFIG_LIBC_ARCH_STRCMP is not set +# CONFIG_LIBC_ARCH_STRCPY is not set +# CONFIG_LIBC_ARCH_STRNCPY is not set +# CONFIG_LIBC_ARCH_STRLEN is not set +# CONFIG_LIBC_ARCH_STRNLEN is not set +# CONFIG_LIBC_ARCH_ELF is not set +CONFIG_ARMV7M_MEMCPY=y + +# +# stdlib Options +# +CONFIG_LIB_RAND_ORDER=1 +CONFIG_LIB_HOMEDIR="/" +CONFIG_LIBC_TMPDIR="/tmp" +CONFIG_LIBC_MAX_TMPFILE=32 + +# +# Program Execution Options +# +# CONFIG_LIBC_EXECFUNCS is not set +CONFIG_POSIX_SPAWN_PROXY_STACKSIZE=1024 +CONFIG_TASK_SPAWN_DEFAULT_STACKSIZE=2048 + +# +# errno Decode Support +# +# CONFIG_LIBC_STRERROR is not set +# CONFIG_LIBC_PERROR_STDOUT is not set + +# +# memcpy/memset Options +# +CONFIG_MEMSET_OPTSPEED=y +CONFIG_MEMSET_64BIT=y +# CONFIG_LIBC_DLLFCN is not set +# CONFIG_LIBC_MODLIB is not set +# CONFIG_LIBC_WCHAR is not set +# CONFIG_LIBC_LOCALE is not set + +# +# Time/Time Zone Support +# +# CONFIG_LIBC_LOCALTIME is not set +CONFIG_TIME_EXTENDED=y +CONFIG_ARCH_HAVE_TLS=y + +# +# Thread Local Storage (TLS) +# +# CONFIG_TLS is not set + +# +# Network-Related Options +# +# CONFIG_LIBC_IPv4_ADDRCONV is not set +# CONFIG_LIBC_IPv6_ADDRCONV is not set +# CONFIG_LIBC_NETDB is not set + +# +# NETDB Support +# +# CONFIG_NETDB_HOSTFILE is not set +# CONFIG_LIBC_IOCTL_VARIADIC is not set +CONFIG_LIB_SENDFILE_BUFSIZE=512 + +# +# Non-standard Library Support +# +# CONFIG_LIB_CRC64_FAST is not set +# CONFIG_LIB_KBDCODEC is not set +# CONFIG_LIB_SLCDCODEC is not set +# CONFIG_LIB_HEX2BIN is not set + +# +# Basic CXX Support +# +CONFIG_C99_BOOL8=y +CONFIG_HAVE_CXX=y +# CONFIG_CXX_NEWLONG is not set + +# +# LLVM C++ Library (libcxx) +# +# CONFIG_LIBCXX is not set + +# +# uClibc++ Standard C++ Library +# +# CONFIG_UCLIBCXX is not set + +# +# Application Configuration +# + +# +# Built-In Applications +# +CONFIG_BUILTIN_PROXY_STACKSIZE=1024 + +# +# CAN Utilities +# +# CONFIG_CANUTILS_LIBUAVCAN is not set + +# +# Examples +# +# CONFIG_EXAMPLES_APA102 is not set +# CONFIG_EXAMPLES_CCTYPE is not set +# CONFIG_EXAMPLES_CHAT is not set +# CONFIG_EXAMPLES_CONFIGDATA is not set +# CONFIG_EXAMPLES_CPUHOG is not set +# CONFIG_EXAMPLES_CXXTEST is not set +# CONFIG_EXAMPLES_DHCPD is not set +# CONFIG_EXAMPLES_ELF is not set +# CONFIG_EXAMPLES_FLOWC is not set +# CONFIG_EXAMPLES_FSTEST is not set +# CONFIG_EXAMPLES_FTPC is not set +# CONFIG_EXAMPLES_FTPD is not set +# CONFIG_EXAMPLES_HELLO is not set +# CONFIG_EXAMPLES_HELLOXX is not set +# CONFIG_EXAMPLES_HIDKBD is not set +# CONFIG_EXAMPLES_IGMP is not set +# CONFIG_EXAMPLES_JSON is not set +# CONFIG_EXAMPLES_MEDIA is not set +# CONFIG_EXAMPLES_MM is not set +# CONFIG_EXAMPLES_MODBUS is not set +# CONFIG_EXAMPLES_MOUNT is not set +# CONFIG_EXAMPLES_MTDPART is not set +CONFIG_EXAMPLES_NSH=y +# CONFIG_EXAMPLES_NSH_CXXINITIALIZE is not set +# CONFIG_EXAMPLES_NULL is not set +# CONFIG_EXAMPLES_NXFFS is not set +# CONFIG_EXAMPLES_NXHELLO is not set +# CONFIG_EXAMPLES_NXIMAGE is not set +# CONFIG_EXAMPLES_NX is not set +# CONFIG_EXAMPLES_NXLINES is not set +# CONFIG_EXAMPLES_NXTERM is not set +# CONFIG_EXAMPLES_NXTEXT is not set +# CONFIG_EXAMPLES_OSTEST is not set +# CONFIG_EXAMPLES_PCA9635 is not set +# CONFIG_EXAMPLES_PIPE is not set +# CONFIG_EXAMPLES_POSIXSPAWN is not set +# CONFIG_EXAMPLES_POWERMONITOR is not set +# CONFIG_EXAMPLES_PPPD is not set +# CONFIG_EXAMPLES_RFID_READUID is not set +# CONFIG_EXAMPLES_RGBLED is not set +# CONFIG_EXAMPLES_ROMFS is not set +# CONFIG_EXAMPLES_SENDMAIL is not set +# CONFIG_EXAMPLES_SERIALBLASTER is not set +# CONFIG_EXAMPLES_SERIALRX is not set +# CONFIG_EXAMPLES_SERLOOP is not set +# CONFIG_EXAMPLES_SLCD is not set +# CONFIG_EXAMPLES_SMART is not set +# CONFIG_EXAMPLES_SMART_TEST is not set +# CONFIG_EXAMPLES_SMP is not set +# CONFIG_EXAMPLES_STAT is not set +# CONFIG_EXAMPLES_TCPECHO is not set +# CONFIG_EXAMPLES_THTTPD is not set +# CONFIG_EXAMPLES_TIFF is not set +# CONFIG_EXAMPLES_TOUCHSCREEN is not set +# CONFIG_EXAMPLES_UNIONFS is not set +# CONFIG_EXAMPLES_USBSERIAL is not set +# CONFIG_EXAMPLES_WATCHDOG is not set +# CONFIG_EXAMPLES_WEBSERVER is not set +# CONFIG_EXAMPLES_XBC_TEST is not set + +# +# File System Utilities +# +# CONFIG_FSUTILS_FLASH_ERASEALL is not set +# CONFIG_FSUTILS_INIFILE is not set +# CONFIG_FSUTILS_PASSWD is not set + +# +# GPS Utilities +# +# CONFIG_GPSUTILS_MINMEA_LIB is not set + +# +# Graphics Support +# +# CONFIG_TIFF is not set +# CONFIG_GRAPHICS_TRAVELER is not set + +# +# Interpreters +# +# CONFIG_INTERPRETERS_BAS is not set +# CONFIG_INTERPRETERS_FICL is not set +# CONFIG_INTERPRETERS_MICROPYTHON is not set +# CONFIG_INTERPRETERS_MINIBASIC is not set +# CONFIG_INTERPRETERS_PCODE is not set + +# +# FreeModBus +# +# CONFIG_MODBUS is not set + +# +# Network Utilities +# +# CONFIG_NETUTILS_CHAT is not set +# CONFIG_NETUTILS_CODECS is not set +# CONFIG_NETUTILS_ESP8266 is not set +# CONFIG_NETUTILS_FTPC is not set +# CONFIG_NETUTILS_JSON is not set +# CONFIG_NETUTILS_SMTP is not set +# CONFIG_NETUTILS_THTTPD is not set + +# +# NSH Library +# +CONFIG_NSH_LIBRARY=y +# CONFIG_NSH_MOTD is not set + +# +# Command Line Configuration +# +CONFIG_NSH_READLINE=y +# CONFIG_NSH_CLE is not set +CONFIG_NSH_LINELEN=128 +# CONFIG_NSH_DISABLE_SEMICOLON is not set +CONFIG_NSH_CMDPARMS=y +CONFIG_NSH_MAXARGUMENTS=12 +CONFIG_NSH_ARGCAT=y +CONFIG_NSH_NESTDEPTH=8 +# CONFIG_NSH_DISABLEBG is not set +CONFIG_NSH_BUILTIN_APPS=y + +# +# Disable Individual commands +# +CONFIG_NSH_DISABLE_BASENAME=y +# CONFIG_NSH_DISABLE_CAT is not set +# CONFIG_NSH_DISABLE_CD is not set +# CONFIG_NSH_DISABLE_CP is not set +CONFIG_NSH_DISABLE_CMP=y +# CONFIG_NSH_DISABLE_DATE is not set +CONFIG_NSH_DISABLE_DD=y +# CONFIG_NSH_DISABLE_DF is not set +CONFIG_NSH_DISABLE_DIRNAME=y +# CONFIG_NSH_DISABLE_ECHO is not set +# CONFIG_NSH_DISABLE_EXEC is not set +# CONFIG_NSH_DISABLE_EXIT is not set +# CONFIG_NSH_DISABLE_FREE is not set +# CONFIG_NSH_DISABLE_GET is not set +# CONFIG_NSH_DISABLE_HELP is not set +CONFIG_NSH_DISABLE_HEXDUMP=y +CONFIG_NSH_DISABLE_IFCONFIG=y +CONFIG_NSH_DISABLE_IFUPDOWN=y +# CONFIG_NSH_DISABLE_KILL is not set +CONFIG_NSH_DISABLE_LOSETUP=y +CONFIG_NSH_DISABLE_LOSMART=y +# CONFIG_NSH_DISABLE_LS is not set +CONFIG_NSH_DISABLE_MB=y +# CONFIG_NSH_DISABLE_MKDIR is not set +# CONFIG_NSH_DISABLE_MKFATFS is not set +CONFIG_NSH_DISABLE_MKFIFO=y +CONFIG_NSH_DISABLE_MKRD=y +CONFIG_NSH_DISABLE_MH=y +# CONFIG_NSH_DISABLE_MOUNT is not set +# CONFIG_NSH_DISABLE_MV is not set +# CONFIG_NSH_DISABLE_MW is not set +CONFIG_NSH_DISABLE_PRINTF=y +# CONFIG_NSH_DISABLE_PS is not set +CONFIG_NSH_DISABLE_PSSTACKUSAGE=y +CONFIG_NSH_DISABLE_PUT=y +# CONFIG_NSH_DISABLE_PWD is not set +CONFIG_NSH_DISABLE_REBOOT=y +# CONFIG_NSH_DISABLE_RM is not set +# CONFIG_NSH_DISABLE_RMDIR is not set +# CONFIG_NSH_DISABLE_SET is not set +# CONFIG_NSH_DISABLE_SH is not set +CONFIG_NSH_DISABLE_SHUTDOWN=y +# CONFIG_NSH_DISABLE_SLEEP is not set +# CONFIG_NSH_DISABLE_TIME is not set +# CONFIG_NSH_DISABLE_TEST is not set +CONFIG_NSH_DISABLE_TELNETD=y +# CONFIG_NSH_DISABLE_UMOUNT is not set +CONFIG_NSH_DISABLE_UNAME=y +# CONFIG_NSH_DISABLE_UNSET is not set +# CONFIG_NSH_DISABLE_USLEEP is not set +CONFIG_NSH_DISABLE_WGET=y +CONFIG_NSH_DISABLE_XD=y +CONFIG_NSH_MMCSDMINOR=0 +CONFIG_NSH_MMCSDSLOTNO=0 + +# +# Configure Command Options +# +# CONFIG_NSH_CMDOPT_DF_H is not set +CONFIG_NSH_CODECS_BUFSIZE=128 +CONFIG_NSH_PROC_MOUNTPOINT="/proc" +CONFIG_NSH_FILEIOSIZE=512 + +# +# Scripting Support +# +# CONFIG_NSH_DISABLESCRIPT is not set +# CONFIG_NSH_DISABLE_ITEF is not set +# CONFIG_NSH_DISABLE_LOOPS is not set +CONFIG_NSH_ROMFSETC=y +# CONFIG_NSH_ROMFSRC is not set +CONFIG_NSH_ROMFSMOUNTPT="/etc" +CONFIG_NSH_INITSCRIPT="init.d/rcS" +CONFIG_NSH_ROMFSDEVNO=0 +CONFIG_NSH_ROMFSSECTSIZE=128 +# CONFIG_NSH_DEFAULTROMFS is not set +CONFIG_NSH_ARCHROMFS=y +# CONFIG_NSH_CUSTOMROMFS is not set +CONFIG_NSH_FATDEVNO=1 +CONFIG_NSH_FATSECTSIZE=512 +CONFIG_NSH_FATNSECTORS=1024 +CONFIG_NSH_FATMOUNTPT="/tmp" + +# +# Console Configuration +# +CONFIG_NSH_CONSOLE=y +# CONFIG_NSH_USBCONSOLE is not set +# CONFIG_NSH_ALTCONDEV is not set +CONFIG_NSH_ARCHINIT=y +# CONFIG_NSH_LOGIN is not set +# CONFIG_NSH_CONSOLE_LOGIN is not set + +# +# NxWidgets/NxWM +# + +# +# Platform-specific Support +# +# CONFIG_PLATFORM_CONFIGDATA is not set +CONFIG_HAVE_CXXINITIALIZE=y + +# +# System Libraries and NSH Add-Ons +# +CONFIG_SYSTEM_CDCACM=y +CONFIG_SYSTEM_CDCACM_DEVMINOR=0 +# CONFIG_SYSTEM_CLE is not set +# CONFIG_SYSTEM_CUTERM is not set +# CONFIG_SYSTEM_FLASH_ERASEALL is not set +# CONFIG_SYSTEM_FREE is not set +# CONFIG_SYSTEM_HEX2BIN is not set +# CONFIG_SYSTEM_HEXED is not set +# CONFIG_SYSTEM_I2CTOOL is not set +# CONFIG_SYSTEM_INSTALL is not set +# CONFIG_SYSTEM_RAMTEST is not set +CONFIG_READLINE_HAVE_EXTMATCH=y +CONFIG_SYSTEM_READLINE=y +CONFIG_READLINE_ECHO=y +# CONFIG_READLINE_TABCOMPLETION is not set +# CONFIG_READLINE_CMD_HISTORY is not set +# CONFIG_SYSTEM_STACKMONITOR is not set +# CONFIG_SYSTEM_SUDOKU is not set +# CONFIG_SYSTEM_SYSTEM is not set +# CONFIG_SYSTEM_TEE is not set +# CONFIG_SYSTEM_UBLOXMODEM is not set +# CONFIG_SYSTEM_VI is not set +# CONFIG_SYSTEM_ZMODEM is not set + +# +# Wireless Libraries and NSH Add-Ons +# + +# +# IEEE 802.15.4 applications +# +# CONFIG_IEEE802154_LIBMAC is not set +# CONFIG_IEEE802154_LIBUTILS is not set +# CONFIG_IEEE802154_I8SAK is not set diff --git a/platforms/nuttx/nuttx-configs/px4fmu-v4/scripts/ld.script b/boards/px4/fmu-v3/nuttx-config/scripts/ld.script similarity index 93% rename from platforms/nuttx/nuttx-configs/px4fmu-v4/scripts/ld.script rename to boards/px4/fmu-v3/nuttx-config/scripts/ld.script index 6bc104a02e..0d19229c01 100644 --- a/platforms/nuttx/nuttx-configs/px4fmu-v4/scripts/ld.script +++ b/boards/px4/fmu-v3/nuttx-config/scripts/ld.script @@ -1,5 +1,5 @@ /**************************************************************************** - * configs/px4fmu/common/ld.script + * scripts/ld.script * * Copyright (C) 2011 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <gnutt@nuttx.org> @@ -60,7 +60,7 @@ OUTPUT_ARCH(arm) ENTRY(__start) /* treat __start as the anchor for dead code stripping */ EXTERN(_vectors) /* force the vectors to be included in the output */ -/* +/* * Ensure that abort() is present in the final object. The exception handling * code pulled in by libgcc.a requires it (and that code cannot be easily avoided). */ @@ -72,13 +72,13 @@ SECTIONS .text : { _stext = ABSOLUTE(.); *(.vectors) - . = ALIGN(32); - /* - This signature provides the bootloader with a way to delay booting - */ - _bootdelay_signature = ABSOLUTE(.); - FILL(0xffecc2925d7d05c5) - . += 8; + . = ALIGN(32); + /* + This signature provides the bootloader with a way to delay booting + */ + _bootdelay_signature = ABSOLUTE(.); + FILL(0xffecc2925d7d05c5) + . += 8; *(.text .text.*) *(.fixup) *(.gnu.warning) diff --git a/platforms/nuttx/nuttx-configs/px4fmu-v2/stackcheck/defconfig b/boards/px4/fmu-v3/nuttx-config/stackcheck/defconfig similarity index 99% rename from platforms/nuttx/nuttx-configs/px4fmu-v2/stackcheck/defconfig rename to boards/px4/fmu-v3/nuttx-config/stackcheck/defconfig index e6c0ff74bc..4773d2b3e7 100644 --- a/platforms/nuttx/nuttx-configs/px4fmu-v2/stackcheck/defconfig +++ b/boards/px4/fmu-v3/nuttx-config/stackcheck/defconfig @@ -687,8 +687,8 @@ CONFIG_RAM_SIZE=262144 # # Board Selection # -CONFIG_ARCH_BOARD_PX4FMU_V2=y -CONFIG_ARCH_BOARD="px4fmu-v2" +CONFIG_ARCH_BOARD_PX4FMU_V3=y +CONFIG_ARCH_BOARD="px4fmu-v3" # # Custom Board Configuration diff --git a/boards/px4/fmu-v3/rtps.cmake b/boards/px4/fmu-v3/rtps.cmake new file mode 100644 index 0000000000..21ddccc054 --- /dev/null +++ b/boards/px4/fmu-v3/rtps.cmake @@ -0,0 +1,130 @@ + +# FMUv3 is FMUv2 with access to the full 2MB flash + +px4_add_board( + PLATFORM nuttx + VENDOR px4 + MODEL fmu-v3 + LABEL rtps + ARCH cortex-m4 + ROMFS + ROMFSROOT px4fmu_common + IO px4io-v2_default + TESTING + UAVCAN_INTERFACES 2 + + SERIAL_PORTS + GPS1:/dev/ttyS0 + TEL1:/dev/ttyS1 + TEL2:/dev/ttyS2 + TEL4:/dev/ttyS3 + + DRIVERS + barometer # all available barometer drivers + batt_smbus + blinkm + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + #heater + #imu # all available imu drivers + imu/adis16448 + imu/l3gd20 + imu/lsm303d + imu/mpu6000 + imu/mpu9250 + irlock + magnetometer # all available magnetometer drivers + #md25 + mkblctrl + oreoled + pca8574 + pca9685 + #pmw3901 + protocol_splitter + pwm_input + pwm_out_sim + px4flow + px4fmu + px4io + rgbled + rgbled_ncp5623c + #rgbled_pwm + roboclaw + stm32 + stm32/adc + stm32/tone_alarm + tap_esc + telemetry # all available telemetry drivers + test_ppm + vmount + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + micrortps_bridge + navigator + position_estimator_inav + sensors + uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + bl_update + config + dumpfile + esc_calib + hardfault_log + led_control + mixer + motor_ramp + motor_test + mtd + nshterm + param + perf + pwm + reboot + reflect + sd_bench + shutdown + tests # tests and test runner + top + topic_listener + tune_control + usb_connected + ver + + EXAMPLES + bottle_drop # OBC challenge + fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + hwtest # Hardware test + #matlab_csv_serial + #publisher + px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + rover_steering_control # Rover example app + segway + #subscriber + uuv_example_app + + ) diff --git a/src/drivers/boards/zubaxgnss-v1/CMakeLists.txt b/boards/px4/fmu-v3/src/CMakeLists.txt similarity index 88% rename from src/drivers/boards/zubaxgnss-v1/CMakeLists.txt rename to boards/px4/fmu-v3/src/CMakeLists.txt index 2260df1ab4..d482115f8e 100644 --- a/src/drivers/boards/zubaxgnss-v1/CMakeLists.txt +++ b/boards/px4/fmu-v3/src/CMakeLists.txt @@ -31,9 +31,22 @@ # ############################################################################ -message(FATAL_ERROR Configuraton is incomplete") - px4_add_library(drivers_board + can.c + i2c.c init.c led.c + spi.c + timer_config.c + usb.c + manifest.c +) + +target_link_libraries(drivers_board + PRIVATE + drivers__led # drv_led_start + nuttx_apps # up_cxxinitialize + nuttx_arch # sdio + nuttx_drivers # sdio + parameters # param_init ) diff --git a/boards/px4/fmu-v3/src/board_config.h b/boards/px4/fmu-v3/src/board_config.h new file mode 100644 index 0000000000..bce4f8f6e4 --- /dev/null +++ b/boards/px4/fmu-v3/src/board_config.h @@ -0,0 +1,569 @@ +/**************************************************************************** + * + * Copyright (c) 2013-2016 PX4 Development Team. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name PX4 nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************/ + +/** + * @file board_config.h + * + * PX4FMUv2 internal definitions + */ + +#pragma once + +/**************************************************************************************************** + * Included Files + ****************************************************************************************************/ + +#include <px4_config.h> +#include <nuttx/compiler.h> +#include <stdint.h> + +/* Run time Hardware detection */ +#define BOARD_HAS_SIMPLE_HW_VERSIONING 1 +#define HW_VER_PA8 (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTA|GPIO_PIN8) +#define HW_VER_PB4 (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTB|GPIO_PIN4) +#define HW_VER_PB12 (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTB|GPIO_PIN12) +#define HW_VER_PA8_INIT (GPIO_VDD_5V_PERIPH_EN) +#define HW_VER_PB4_INIT (GPIO_SPI1_EXTI_DRDY_PB4) +#define HW_VER_PB12_INIT (GPIO_CAN2_RX | GPIO_PULLUP) /* Assume V2 needing pull up */ +#define HW_VER_FMUV2_STATE 0x8 /* PB12:PU:1 PB12:PD:0 PB4:PU:0 PB4PD:0 */ +#define HW_VER_FMUV3_STATE 0xE /* PB12:PU:1 PB12:PD:1 PB4:PU:1 PB4PD:0 */ +#define HW_VER_FMUV2MINI_STATE 0xA /* PB12:PU:1 PB12:PD:0 PB4:PU:1 PB4PD:0 */ +#define HW_VER_FMUV2X_STATE 0xB /* PB12:PU:1 PB12:PD:0 PB4:PU:1 PB4PD:1 */ +#define HW_VER_TYPE_INIT {'V','2',0, 0} + +/**************************************************************************************************** + * Definitions + ****************************************************************************************************/ +/* Configuration ************************************************************************************/ + +/* PX4IO connection configuration */ +#define BOARD_USES_PX4IO_VERSION 2 +#define PX4IO_SERIAL_DEVICE "/dev/ttyS4" +#define PX4IO_SERIAL_TX_GPIO GPIO_USART6_TX +#define PX4IO_SERIAL_RX_GPIO GPIO_USART6_RX +#define PX4IO_SERIAL_BASE STM32_USART6_BASE /* hardwired on the board */ +#define PX4IO_SERIAL_VECTOR STM32_IRQ_USART6 +#define PX4IO_SERIAL_TX_DMAMAP DMAMAP_USART6_TX_2 +#define PX4IO_SERIAL_RX_DMAMAP DMAMAP_USART6_RX_2 +#define PX4IO_SERIAL_RCC_REG STM32_RCC_APB2ENR +#define PX4IO_SERIAL_RCC_EN RCC_APB2ENR_USART6EN +#define PX4IO_SERIAL_CLOCK STM32_PCLK2_FREQUENCY +#define PX4IO_SERIAL_BITRATE 1500000 /* 1.5Mbps -> max rate for IO */ + + +/* PX4FMU GPIOs ***********************************************************************************/ +/* LEDs */ + +#define GPIO_LED1 (GPIO_OUTPUT|GPIO_OPENDRAIN|GPIO_SPEED_50MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTE|GPIO_PIN12) +#define BOARD_OVERLOAD_LED LED_AMBER + +/* + * Define the ability to shut off off the sensor signals + * by changing the signals to inputs + */ + +#define _PIN_OFF(def) (((def) & (GPIO_PORT_MASK | GPIO_PIN_MASK)) | (GPIO_INPUT|GPIO_PULLDOWN|GPIO_SPEED_50MHz)) + +/* Due to inconsistent use of chip select and dry signal on + * different board that use this build. We are defining the GPIO + * inclusive of the SPI port and GPIO to help identify pins the + * are part of the sensor Net's controlled by different power + * domains. + * + * Only the GPIO_SPIb_xxx_Ppi will be used in the code to insure this are no + * cross connections. + * + * --------------- SPI1 -------------------- SPI4 -------------- Incompatibilities --------- + * FMUv2: FmuV3 Cube PixhawkMini + * Power Domain: VDD_3V3_SENSORS_EN nVDD_5V_PERIPH_EN V3V:SPI1&SPI4 V3V:SPI1 No SPI4 + * PA5 SPI_INT_SCK + * PA6 SPI_INT_MISO + * PA7 SPI_INT_MOSI + * PB0 GYRO_DRDY SPI4:EXTERN_DRDY NC + * PB1 MAG_DRDY +SPI4:nEXTERN_CS NC + * PB4 ACCEL_DRDY NC NC + * PC1 Spare ADC ( NC ) +SPI1:SPI_INT_MAG_!CS + * PC2 nMPU_CS @MPU6000|MPU9250 @MPU9250 + * PC13 nGYRO_CS SPI4:nGYRO_EXT_CS NC + * PC14 GPIO_EXT_1 nBARO_EXT_CS -20608_DRDY + * PC15 nACCEL_MAG_CS SPI4:nACCEL_MAG_EXT_CS 20608_CS + * PD7 nBARO_CS + * PD15 nMPU_DRDY @MPU6000|MPU9250 @MPU9250 + * PE2 SPI_EXT_SCK NC + * PE4 nSPI_EXT_NSS SPI4:nMPU_EXT_CS NC + * PE5 SPI_EXT_MISO NC + * PE6 SPI_EXT_MOSI NC + * + * Notes: Prefixed with @ Does not effect board control + * Prefixed with + Input used as Output + * Prefixed with - Output used as Input + * Prefixed with SPIn: Bus changed + * + * The board API provides for mechanism to perform a SPI bus reset. + * To facilitate a SPI bus reset + * + * 1) All the pins: SPIn, CD, DRDY associated with the SPI bus are turned to inputs + * with outputs driven low. (OFFIng) + * 2) The power domain of that bus is turned off. + * 3) A usleep it done for ms. + * 4) The power domain of that bus is turned back on. + * 5) The SPIn pins are re-initialized. + * 6) The SPI CS, DRDY pins are re-initialized. + * + * To insure the complete net is de-energized and is not bing back fed, it is important to + * note the all signals in the net list of the parts/bus. + * + * I.E. Not OFFIng PC1 on V3 would leave that pin back feeding the HMC part. As would not + * OFFIng PE4, not associated with SPI1 on V2, but would back feed an MPUxxxx on V3 + * + */ + + +/*----------------------------------------------------------*/ +/* FMUv2 SPI chip selects and DRDY */ +/*----------------------------------------------------------*/ + +/* FMUv2 SPI1 chip selects */ +/* PC1 Spare ADC IN10 */ +#define GPIO_SPI1_CS_PC2 (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_50MHz|GPIO_OUTPUT_SET|GPIO_PORTC|GPIO_PIN2) +#define GPIO_SPI1_CS_PC13 (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_50MHz|GPIO_OUTPUT_SET|GPIO_PORTC|GPIO_PIN13) +#define GPIO_SPI1_CS_PC15 (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_50MHz|GPIO_OUTPUT_SET|GPIO_PORTC|GPIO_PIN15) +#define GPIO_SPI1_CS_PD7 (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_50MHz|GPIO_OUTPUT_SET|GPIO_PORTD|GPIO_PIN7) + +/* FMUv2 SPI2 chip selects */ +#define GPIO_SPI2_CS_PD10 (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_50MHz|GPIO_OUTPUT_SET|GPIO_PORTD|GPIO_PIN10) + +/* FMUv2 SPI4 chip selects */ +#define GPIO_SPI4_GPIO_PC14 /* !V2M */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_50MHz|GPIO_OUTPUT_SET|GPIO_PORTC|GPIO_PIN14) +#define GPIO_SPI4_NSS_PE4 (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_50MHz|GPIO_OUTPUT_SET|GPIO_PORTE|GPIO_PIN4) + +/* FMUv2 SPI1 chip selects Assignments */ + +#define GPIO_SPI1_CS_MPU GPIO_SPI1_CS_PC2 +#define GPIO_SPI1_CS_GYRO GPIO_SPI1_CS_PC13 +#define GPIO_SPI1_CS_ACCEL_MAG GPIO_SPI1_CS_PC15 +#define GPIO_SPI1_CS_BARO GPIO_SPI1_CS_PD7 + +/* FMUv2 SPI2 chip selects Assignments */ + +#define GPIO_SPI2_CS_FRAM GPIO_SPI2_CS_PD10 + +/* FMUv2 SPI4 chip selects Assignments */ + +#define GPIO_SPI4_GPIO_EXT GPIO_SPI4_GPIO_PC14 +#define GPIO_SPI4_EXT_NSS GPIO_SPI4_NSS_PE4 + +/* FMUv2 DRDY */ + +#define GPIO_SPI1_EXTI_DRDY_PB0 (GPIO_INPUT|GPIO_FLOAT|GPIO_EXTI|GPIO_PORTB|GPIO_PIN0) +#define GPIO_SPI1_EXTI_DRDY_PB1 /*!V3 */ (GPIO_INPUT|GPIO_FLOAT|GPIO_EXTI|GPIO_PORTB|GPIO_PIN1) +#define GPIO_SPI1_EXTI_DRDY_PB4 (GPIO_INPUT|GPIO_FLOAT|GPIO_EXTI|GPIO_PORTB|GPIO_PIN4) +#define GPIO_SPI1_EXTI_DRDY_PD15 (GPIO_INPUT|GPIO_FLOAT|GPIO_EXTI|GPIO_PORTD|GPIO_PIN15) + +/* FMUv2 DRDY Assignments */ + +#define GPIO_SPI1_EXTI_GYRO_DRDY GPIO_SPI1_EXTI_DRDY_PB0 +#define GPIO_SPI1_EXTI_MAG_DRDY GPIO_SPI1_EXTI_DRDY_PB1 +#define GPIO_SPI1_EXTI_ACCEL_DRDY GPIO_SPI1_EXTI_DRDY_PB4 +#define GPIO_SPI1_EXTI_MPU_DRDY GPIO_SPI1_EXTI_DRDY_PD15 + +/*----------------------------------------------------------*/ +/* End FMUv2 SPI chip selects and DRDY */ +/*----------------------------------------------------------*/ + +#define PX4_SPI_BUS_SENSORS 1 +#define PX4_SPI_BUS_RAMTRON 2 +#define PX4_SPI_BUS_EXT 4 +#define PX4_SPI_BUS_BARO PX4_SPI_BUS_SENSORS + +/* Use these to select a specific SPI device on SPI1 */ + +#define PX4_SPIDEV_GYRO PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS, 1) +#define PX4_SPIDEV_ACCEL_MAG PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS, 2) +#define PX4_SPIDEV_BARO PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS, 3) +#define PX4_SPIDEV_MPU PX4_MK_SPI_SEL(PX4_SPI_BUS_SENSORS, 4) + +/* FMUv3 SPI on external bus */ + +#define PX4_SPIDEV_EXT_GYRO PX4_MK_SPI_SEL(PX4_SPI_BUS_EXT, 1) +#define PX4_SPIDEV_EXT_ACCEL_MAG PX4_MK_SPI_SEL(PX4_SPI_BUS_EXT, 2) +#define PX4_SPIDEV_EXT_BARO PX4_MK_SPI_SEL(PX4_SPI_BUS_EXT, 3) +#define PX4_SPIDEV_EXT_MPU PX4_MK_SPI_SEL(PX4_SPI_BUS_EXT, 4) +#define PX4_SPIDEV_EXT_BMI PX4_MK_SPI_SEL(PX4_SPI_BUS_EXT, 5) + +/* I2C busses */ +#define PX4_I2C_BUS_EXPANSION 1 +#define PX4_I2C_BUS_ONBOARD 2 +#define PX4_I2C_BUS_LED PX4_I2C_BUS_ONBOARD + +/*----------------------------------------------------------*/ +/* FMUv3 Cube SPI chip selects and DRDY */ +/*----------------------------------------------------------*/ +/* Due to inconsistent use of chip select and dry signal on + * different board that use this build. We are defining the GPIO + * inclusive of the SPI port and GPIO to help identify pins the + * are part of the sensor Net's controlled by different power + * domains. + * + * --------------- SPI1 -------------------- SPI4 -------------- Incompatibilities --------- + * FMUv3 Cube: FmuV2 PixhawkMini + * Power Domain: VDD_3V3_SENSORS_EN NA V3V:SPI V5:SPI4 V3V:SPI1 No SPI4 + * PA5 SPI_INT_SCK + * PA6 SPI_INT_MISO + * PA7 SPI_INT_MOSI + * PB0 EXTERN_DRDY SPI1:GYRO_DRDY NC + * PB1 MAG_DRDY nEXTERN_CS -SPI1:MAG_DRDY NC + * PB4 NC SPI1:ACCEL_DRDY NC + * PC1 SPI_INT_MAG_!CS -ADC1_IN11 NC + * PC2 nMPU_CS @MPU6000 @MPU9250 + * PC13 nGYRO_EXT_CS SPI1:nGYRO_CS NC + * PC14 nBARO_EXT_CS GPIO_EXT_1 -20608_DRDY + * PC15 nACCEL_MAG_EXT_CS SPI1:nACCEL_MAG_CS 20608_CS + * PD7 nBARO_CS + * PD15 nMPU_DRDY @MPU6000 @MPU9250 + * PE2 SPI_EXT_SCK NC + * PE4 MPU_EXT_CS SPI4:nSPI_EXT_NSS NC + * PE5 SPI_EXT_MISO NC + * PE6 SPI_EXT_MOSI NC + * + * + * Notes: Prefixed with @ Does not effect board control + * Prefixed with + Input used as Output + * Prefixed with - Output used as Input + * Prefixed with SPIn: Bus changed + * + */ + +/* FMUv3 Cube SPI1 chip selects */ +/* Was a spare ACD IN10 on V2 */ +#define GPIO_SPI1_CS_PC1 (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_50MHz|GPIO_OUTPUT_SET|GPIO_PORTC|GPIO_PIN1) +#define GPIO_SPI4_CS_PB1 (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_50MHz|GPIO_OUTPUT_SET|GPIO_PORTB|GPIO_PIN1) +#define GPIO_SPI4_CS_PC13 GPIO_SPI1_CS_PC13 +#define GPIO_SPI4_CS_PC14 GPIO_SPI4_GPIO_PC14 +#define GPIO_SPI4_CS_PC15 GPIO_SPI1_CS_PC15 + +/* FMUv3 Cube chip selects Assignments */ +/* Cube 2.0 V2.1 */ +#define GPIO_SPI1_CS_MPU GPIO_SPI1_CS_PC2 /* MPU600 MPU9250 */ +#define GPIO_SPI1_CS_BARO GPIO_SPI1_CS_PD7 /* MS5611 MS5611 */ +#define GPIO_SPI1_CS_HMC GPIO_SPI1_CS_PC1 /* HMC5983 Removed */ + +/* N.B. bus moves from SPI1 to SPI4 */ +#define GPIO_SPI4_GYRO_EXT_CS GPIO_SPI4_CS_PC13 +#define GPIO_SPI4_BARO_EXT_CS GPIO_SPI4_CS_PC14 +#define GPIO_SPI4_ACCEL_MAG_EXT_CS GPIO_SPI4_CS_PC15 + +/* No move */ +#define GPIO_SPI4_MPU_EXT_CS GPIO_SPI4_NSS_PE4 + +/* FMUv3 DRDY Assignments */ +#define GPIO_SPI4_EXTI_DRDY_PB0 GPIO_SPI1_EXTI_DRDY_PB0 +#define GPIO_SPI4_EXTI_EXTERN_DRDY GPIO_SPI4_EXTI_DRDY_PB0 +#define GPIO_SPI4_EXTERN_CS GPIO_SPI4_CS_PB1 +/* PB1 is an External CS on V3 */ + +#define PX4_SPIDEV_HMC 5 + +/*----------------------------------------------------------*/ +/* End FMUv3 Cube SPI chip selects and DRDY */ +/*----------------------------------------------------------*/ +/*----------------------------------------------------------*/ +/* Due to inconsistent use of chip select and dry signal on + * different board that use this build. We are defining the GPIO + * inclusive of the SPI port and GPIO to help identify pins the + * are part of the sensor Net's controlled by different power + * domains. + * + * --------------- SPI1 -------------------- SPI4 -------------- Incompatibilities --------- + * FMUv2 Pixhawk Mini FmuV2 FmuV3 Cube + * Power Domain: VDD_3V3_SENSORS_EN NA V3V:SPI V5:SPI4 V3V:SPI1&SPI4 + * PA5 SPI_INT_SCK + * PA6 SPI_INT_MISO + * PA7 SPI_INT_MOSI + * PB0 NC SPI1:GYRO_DRDY SPI4:EXTERN_DRDY + * PB1 NC -SPI1:MAG_DRDY +SPI4:nEXTERN_CS + * PB4 NC SPI1:ACCEL_DRDY NC + * PC1 Spare ADC ( NC ) +SPI1:SPI_INT_MAG_!CS + * PC2 nMPU_CS @MPU6000 @MPU6000|MPU9250 + * PC13 NC SPI1:nGYRO_CS SPI4:nGYRO_EXT_CS + * PC14 20608_DRDY +GPIO_EXT_1 nBARO_EXT_CS + * PC15 20608_CS nACCEL_MAG_CS SPI4:nACCEL_MAG_EXT_CS + * PD7 nBARO_CS + * PD15 nMPU_DRDY @MPU6000 @MPU6000|MPU9250 + * PE2 NC SPI_EXT_SCK SPI_EXT_SCK + * PE4 NC SPI4:nSPI_EXT_NSS SPI4:nMPU_EXT_CS + * PE5 NC SPI_EXT_MISO SPI_EXT_MISO + * PE6 NC SPI_EXT_MOSI SPI_EXT_MOSI + * + * Notes: Prefixed with @ Does not effect board control + * Prefixed with + Input used as Output + * Prefixed with - Output used as Input + * Prefixed with SPIn: Bus changed + * + */ + +/*----------------------------------------------------------*/ +/* FMUv2 PixhawkMini SPI chip selects and DRDY */ +/*----------------------------------------------------------*/ + +/* FMUv2 PixhawkMini SPI1 chip selects */ + +/* FMUv3 Cube chip selects Assignments */ + +#define GPIO_SPI1_CS_MPU GPIO_SPI1_CS_PC2 /* MPU9250 */ +#define GPIO_SPI1_CS_BARO GPIO_SPI1_CS_PD7 /* MS5611 */ +#define GPIO_SPI1_CS_20608 GPIO_SPI1_CS_PC15 /* ICM20608 */ + +/* FMUv3 DRDY Assignments */ + +/* Pixhawk mini has reused the PC14 GPIO_SPI_CS_EXT1 signal that was associated + * with SPI4. + */ +#define GPIO_SPI1_EXTI_20608_DRDY_PC14 (GPIO_INPUT|GPIO_FLOAT|GPIO_EXTI|GPIO_PORTC|GPIO_PIN14) + +#define PX4_SPIDEV_ICM_20608 6 /* ICM_20608 on PC15 */ + + + +/* + * ADC channels + * + * These are the channel numbers of the ADCs of the microcontroller that can be used by the Px4 Firmware in the adc driver + */ +#define ADC_CHANNELS (1 << 2) | (1 << 3) | (1 << 4) | (1 << 10) | (1 << 11) | (1 << 12) | (1 << 13) | (1 << 14) | (1 << 15) + +// ADC defines to be used in sensors.cpp to read from a particular channel +#define ADC_BATTERY_VOLTAGE_CHANNEL 2 +#define ADC_BATTERY_CURRENT_CHANNEL 3 +#define ADC_5V_RAIL_SENSE 4 +#define ADC_AIRSPEED_VOLTAGE_CHANNEL 15 + +/* Define Battery 1 Voltage Divider and A per V + */ + +#define BOARD_BATTERY1_V_DIV (10.177939394f) +#define BOARD_BATTERY1_A_PER_V (15.391030303f) + +/* User GPIOs + * + * GPIO0-5 are the PWM servo outputs. + */ +#define GPIO_GPIO0_INPUT (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTE|GPIO_PIN14) +#define GPIO_GPIO1_INPUT (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTE|GPIO_PIN13) +#define GPIO_GPIO2_INPUT (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTE|GPIO_PIN11) +#define GPIO_GPIO3_INPUT (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTE|GPIO_PIN9) +#define GPIO_GPIO4_INPUT (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTD|GPIO_PIN13) +#define GPIO_GPIO5_INPUT (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTD|GPIO_PIN14) +#define GPIO_GPIO0_OUTPUT (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTE|GPIO_PIN14) +#define GPIO_GPIO1_OUTPUT (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTE|GPIO_PIN13) +#define GPIO_GPIO2_OUTPUT (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTE|GPIO_PIN11) +#define GPIO_GPIO3_OUTPUT (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTE|GPIO_PIN9) +#define GPIO_GPIO4_OUTPUT (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTD|GPIO_PIN13) +#define GPIO_GPIO5_OUTPUT (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTD|GPIO_PIN14) + +/* Power supply control and monitoring GPIOs */ +#define GPIO_VDD_5V_PERIPH_EN (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTA|GPIO_PIN8) +#define GPIO_VDD_BRICK_VALID (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTB|GPIO_PIN5) +#define GPIO_VDD_SERVO_VALID (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTB|GPIO_PIN7) +#define GPIO_VDD_USB_VALID (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTC|GPIO_PIN0) +#define GPIO_VDD_3V3_SENSORS_EN (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTE|GPIO_PIN3) +#define GPIO_VDD_5V_HIPOWER_OC (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTE|GPIO_PIN10) +#define GPIO_VDD_5V_PERIPH_OC (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTE|GPIO_PIN15) + +/* Tone alarm output */ +#define TONE_ALARM_TIMER 2 /* timer 2 */ +#define TONE_ALARM_CHANNEL 1 /* channel 1 */ +#define GPIO_TONE_ALARM_IDLE (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTA|GPIO_PIN15) +#define GPIO_TONE_ALARM (GPIO_ALT|GPIO_AF1|GPIO_SPEED_2MHz|GPIO_PUSHPULL|GPIO_PORTA|GPIO_PIN15) + +/* PWM + * + * Six PWM outputs are configured. + * + * Pins: + * + * CH1 : PE14 : TIM1_CH4 + * CH2 : PE13 : TIM1_CH3 + * CH3 : PE11 : TIM1_CH2 + * CH4 : PE9 : TIM1_CH1 + * CH5 : PD13 : TIM4_CH2 + * CH6 : PD14 : TIM4_CH3 + */ +#define GPIO_TIM1_CH1OUT (GPIO_ALT|GPIO_AF1|GPIO_SPEED_50MHz|GPIO_OUTPUT_CLEAR|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN9) +#define GPIO_TIM1_CH2OUT (GPIO_ALT|GPIO_AF1|GPIO_SPEED_50MHz|GPIO_OUTPUT_CLEAR|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN11) +#define GPIO_TIM1_CH3OUT (GPIO_ALT|GPIO_AF1|GPIO_SPEED_50MHz|GPIO_OUTPUT_CLEAR|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN13) +#define GPIO_TIM1_CH4OUT (GPIO_ALT|GPIO_AF1|GPIO_SPEED_50MHz|GPIO_OUTPUT_CLEAR|GPIO_PUSHPULL|GPIO_PORTE|GPIO_PIN14) +#define GPIO_TIM4_CH2OUT (GPIO_ALT|GPIO_AF2|GPIO_SPEED_50MHz|GPIO_OUTPUT_CLEAR|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN13) +#define GPIO_TIM4_CH3OUT (GPIO_ALT|GPIO_AF2|GPIO_SPEED_50MHz|GPIO_OUTPUT_CLEAR|GPIO_PUSHPULL|GPIO_PORTD|GPIO_PIN14) +#define DIRECT_PWM_OUTPUT_CHANNELS 6 + +#define GPIO_TIM1_CH1IN GPIO_TIM1_CH1IN_2 +#define GPIO_TIM1_CH2IN GPIO_TIM1_CH2IN_2 +#define GPIO_TIM1_CH3IN GPIO_TIM1_CH3IN_2 +#define GPIO_TIM1_CH4IN GPIO_TIM1_CH4IN_2 +#define GPIO_TIM4_CH2IN GPIO_TIM4_CH2IN_2 +#define GPIO_TIM4_CH3IN GPIO_TIM4_CH3IN_2 +#define DIRECT_INPUT_TIMER_CHANNELS 6 + +/* USB OTG FS + * + * PA9 OTG_FS_VBUS VBUS sensing (also connected to the green LED) + */ +#define GPIO_OTGFS_VBUS (GPIO_INPUT|GPIO_FLOAT|GPIO_SPEED_100MHz|GPIO_OPENDRAIN|GPIO_PORTA|GPIO_PIN9) + +/* High-resolution timer */ +#define HRT_TIMER 8 /* use timer8 for the HRT */ +#define HRT_TIMER_CHANNEL 1 /* use capture/compare channel */ + +/* PWM input driver. Use FMU AUX5 pins attached to timer4 channel 2 */ +#define PWMIN_TIMER 4 +#define PWMIN_TIMER_CHANNEL 2 +#define GPIO_PWM_IN GPIO_TIM4_CH2IN_2 + +#define BOARD_NAME "PX4FMU_V2" + +/* By Providing BOARD_ADC_USB_CONNECTED (using the px4_arch abstraction) + * this board support the ADC system_power interface, and therefore + * provides the true logic GPIO BOARD_ADC_xxxx macros. + */ +#define BOARD_ADC_USB_CONNECTED (px4_arch_gpioread(GPIO_OTGFS_VBUS)) +#define BOARD_ADC_BRICK_VALID (!px4_arch_gpioread(GPIO_VDD_BRICK_VALID)) +#define BOARD_ADC_SERVO_VALID (!px4_arch_gpioread(GPIO_VDD_SERVO_VALID)) +#define BOARD_ADC_USB_VALID (!px4_arch_gpioread(GPIO_VDD_USB_VALID)) +#define BOARD_ADC_PERIPH_5V_OC (!px4_arch_gpioread(GPIO_VDD_5V_PERIPH_OC)) +#define BOARD_ADC_HIPOWER_5V_OC (!px4_arch_gpioread(GPIO_VDD_5V_HIPOWER_OC)) + +#define BOARD_HAS_PWM DIRECT_PWM_OUTPUT_CHANNELS + +#define BOARD_FMU_GPIO_TAB { \ + {GPIO_GPIO0_INPUT, GPIO_GPIO0_OUTPUT, 0}, \ + {GPIO_GPIO1_INPUT, GPIO_GPIO1_OUTPUT, 0}, \ + {GPIO_GPIO2_INPUT, GPIO_GPIO2_OUTPUT, 0}, \ + {GPIO_GPIO3_INPUT, GPIO_GPIO3_OUTPUT, 0}, \ + {GPIO_GPIO4_INPUT, GPIO_GPIO4_OUTPUT, 0}, \ + {GPIO_GPIO5_INPUT, GPIO_GPIO5_OUTPUT, 0}, \ + {0, GPIO_VDD_5V_PERIPH_EN, 0}, \ + {0, GPIO_VDD_3V3_SENSORS_EN, 0}, \ + {GPIO_VDD_BRICK_VALID, 0, 0}, \ + {GPIO_VDD_SERVO_VALID, 0, 0}, \ + {GPIO_VDD_USB_VALID, 0, 0}, \ + {GPIO_VDD_5V_HIPOWER_OC, 0, 0}, \ + {GPIO_VDD_5V_PERIPH_OC, 0, 0}, } + +/* + * GPIO numbers. + * + * There are no alternate functions on this board. + */ +#define GPIO_SERVO_1 (1<<0) /**< servo 1 output */ +#define GPIO_SERVO_2 (1<<1) /**< servo 2 output */ +#define GPIO_SERVO_3 (1<<2) /**< servo 3 output */ +#define GPIO_SERVO_4 (1<<3) /**< servo 4 output */ +#define GPIO_SERVO_5 (1<<4) /**< servo 5 output */ +#define GPIO_SERVO_6 (1<<5) /**< servo 6 output */ + +#define GPIO_5V_PERIPH_EN (1<<6) /**< PA8 - !VDD_5V_PERIPH_EN */ +#define GPIO_3V3_SENSORS_EN (1<<7) /**< PE3 - VDD_3V3_SENSORS_EN */ +#define GPIO_BRICK_VALID (1<<8) /**< PB5 - !VDD_BRICK_VALID */ +#define GPIO_SERVO_VALID (1<<9) /**< PB7 - !VDD_SERVO_VALID */ +#define GPIO_USB_VALID (1<<10) /**< PC0 - !GPIO_VDD_USB_VALID */ +#define GPIO_5V_HIPOWER_OC (1<<11) /**< PE10 - !VDD_5V_HIPOWER_OC */ +#define GPIO_5V_PERIPH_OC (1<<12) /**< PE10 - !VDD_5V_PERIPH_OC */ + +/* This board provides a DMA pool and APIs */ +#define BOARD_DMA_ALLOC_POOL_SIZE 5120 + +#define BOARD_HAS_ON_RESET 1 + +__BEGIN_DECLS + +/**************************************************************************************************** + * Public Types + ****************************************************************************************************/ + +/**************************************************************************************************** + * Public data + ****************************************************************************************************/ + +#ifndef __ASSEMBLY__ + +/**************************************************************************************************** + * Public Functions + ****************************************************************************************************/ + +/**************************************************************************************************** + * Name: stm32_spiinitialize + * + * Description: + * Called to configure SPI chip select GPIO pins for the PX4FMU board. + * + ****************************************************************************************************/ + +extern void stm32_spiinitialize(void); + +/************************************************************************************ + * Name: stm32_spi_bus_initialize + * + * Description: + * Called to configure SPI Buses. + * + ************************************************************************************/ + +extern int stm32_spi_bus_initialize(void); + +/**************************************************************************************************** + * Name: board_spi_reset board_peripheral_reset + * + * Description: + * Called to reset SPI and the perferal bus + * + ****************************************************************************************************/ + +void board_spi_reset(int ms); +extern void board_peripheral_reset(int ms); + +/**************************************************************************************************** + * Name: stm32_usbinitialize + * + * Description: + * Called to configure USB IO. + * + ****************************************************************************************************/ + +extern void stm32_usbinitialize(void); + +#include <drivers/boards/common/board_common.h> + +#endif /* __ASSEMBLY__ */ + +__END_DECLS diff --git a/src/drivers/boards/px4fmu-v4/can.c b/boards/px4/fmu-v3/src/can.c similarity index 100% rename from src/drivers/boards/px4fmu-v4/can.c rename to boards/px4/fmu-v3/src/can.c diff --git a/platforms/nuttx/nuttx-configs/aerofc-v1/include/nsh_romfsimg.h b/boards/px4/fmu-v3/src/i2c.c similarity index 81% rename from platforms/nuttx/nuttx-configs/aerofc-v1/include/nsh_romfsimg.h rename to boards/px4/fmu-v3/src/i2c.c index beb1a924cf..55d559976e 100644 --- a/platforms/nuttx/nuttx-configs/aerofc-v1/include/nsh_romfsimg.h +++ b/boards/px4/fmu-v3/src/i2c.c @@ -1,6 +1,6 @@ /**************************************************************************** * - * Copyright (C) 2016 PX4 Development Team. All rights reserved. + * Copyright (C) 2017 PX4 Development Team. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -32,11 +32,24 @@ ****************************************************************************/ /** - * nsh_romfsetc.h + * @file px4fmu_i2c.c * - * This file is a stub for 'make export' purposes; the actual ROMFS - * must be supplied by the library client. + * Board-specific I2C functions. */ -extern unsigned char romfs_img[]; -extern unsigned int romfs_img_len; +#include "board_config.h" + +__EXPORT bool px4_i2c_bus_external(int bus) +{ + if (HW_VER_FMUV3 == board_get_hw_version()) { + /* All FMUV3 2.1 i2c buses are external */ + return true; + + } else { + if (bus != PX4_I2C_BUS_ONBOARD) { + return true; + } + } + + return false; +} diff --git a/boards/px4/fmu-v3/src/init.c b/boards/px4/fmu-v3/src/init.c new file mode 100644 index 0000000000..a031f8dbfa --- /dev/null +++ b/boards/px4/fmu-v3/src/init.c @@ -0,0 +1,570 @@ +/**************************************************************************** + * + * Copyright (c) 2012-2015 PX4 Development Team. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name PX4 nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************/ + +/** + * @file px4fmu2_init.c + * + * PX4FMUv2-specific early startup code. This file implements the + * board_app_initialize() function that is called early by nsh during startup. + * + * Code here is run before the rcS script is invoked; it should start required + * subsystems and perform board-specific initialization. + */ + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include <px4_config.h> +#include <px4_tasks.h> + +#include <stdbool.h> +#include <stdio.h> +#include <string.h> +#include <debug.h> +#include <errno.h> + +#include "platform/cxxinitialize.h" +#include <nuttx/board.h> +#include <nuttx/spi/spi.h> +#include <nuttx/i2c/i2c_master.h> +#include <nuttx/sdio.h> +#include <nuttx/mmcsd.h> +#include <nuttx/analog/adc.h> + +#include <stm32.h> +#include "board_config.h" +#include <stm32_uart.h> + +#include <arch/board/board.h> + +#include <drivers/drv_hrt.h> +#include <drivers/drv_board_led.h> + +#include <systemlib/px4_macros.h> +#include <systemlib/cpuload.h> +#include <perf/perf_counter.h> +#include <systemlib/err.h> + +#include <parameters/param.h> + +/**************************************************************************** + * Pre-Processor Definitions + ****************************************************************************/ + +/* Configuration ************************************************************/ + +/* Debug ********************************************************************/ + +#ifdef CONFIG_CPP_HAVE_VARARGS +# ifdef CONFIG_DEBUG +# define message(...) syslog(__VA_ARGS__) +# else +# define message(...) printf(__VA_ARGS__) +# endif +#else +# ifdef CONFIG_DEBUG +# define message syslog +# else +# define message printf +# endif +#endif + +/* + * Ideally we'd be able to get these from up_internal.h, + * but since we want to be able to disable the NuttX use + * of leds for system indication at will and there is no + * separate switch, we need to build independent of the + * CONFIG_ARCH_LEDS configuration switch. + */ +__BEGIN_DECLS +extern void led_init(void); +extern void led_on(int led); +extern void led_off(int led); +__END_DECLS + +/**************************************************************************** + * Private Data + ****************************************************************************/ +static int hw_version = 0; +static int hw_revision = 0; +static char hw_type[4] = HW_VER_TYPE_INIT; + +/************************************************************************************ + * Name: board_peripheral_reset + * + * Description: + * + ************************************************************************************/ +__EXPORT void board_peripheral_reset(int ms) +{ + /* set the peripheral rails off */ + stm32_configgpio(GPIO_VDD_5V_PERIPH_EN); + stm32_gpiowrite(GPIO_VDD_5V_PERIPH_EN, 1); + + /* wait for the peripheral rail to reach GND */ + usleep(ms * 1000); + warnx("reset done, %d ms", ms); + + /* re-enable power */ + + /* switch the peripheral rail back on */ + stm32_gpiowrite(GPIO_VDD_5V_PERIPH_EN, 0); +} + +/************************************************************************************ + * Name: board_on_reset + * + * Description: + * Optionally provided function called on entry to board_system_reset + * It should perform any house keeping prior to the rest. + * + * status - 1 if resetting to boot loader + * 0 if just resetting + * + ************************************************************************************/ + +__EXPORT void board_on_reset(int status) +{ + UNUSED(status); + /* configure the GPIO pins to outputs and keep them low */ + + stm32_configgpio(GPIO_GPIO0_OUTPUT); + stm32_configgpio(GPIO_GPIO1_OUTPUT); + stm32_configgpio(GPIO_GPIO2_OUTPUT); + stm32_configgpio(GPIO_GPIO3_OUTPUT); + stm32_configgpio(GPIO_GPIO4_OUTPUT); + stm32_configgpio(GPIO_GPIO5_OUTPUT); + + /* On resets invoked from system (not boot) insure we establish a low + * output state (discharge the pins) on PWM pins before they become inputs. + * + * We also delay the onset of the that 3.1 Ms pulse as boot. This has + * triggered some ESC to spin. By adding this delay here the reset + * is pushed out > 400 ms. So the ESC PWM input can not mistake + * the 3.1 Ms pulse as a valid PWM command. + * + * fixme:Establish in upstream NuttX an CONFIG_IO_INIT_STATE to + * the initialize the IO lines in the clock config. + * + */ + + if (status >= 0) { + up_mdelay(400); + + /* on reboot (status >= 0) reset sensors and peripherals */ + board_spi_reset(10); + } +} + +/************************************************************************************ + * Name: determin_hw_version + * + * Description: + * + * This function looks at HW deltas to determine what the + * build is running on using the following criteria: + * + * MSN PB12 FMUv2 Cube MINI + * CAN2_RX CONECTOR MX30521 NC + * PU.PD 1,0 1,1 1,0 + * + * LSN PB4 FMUv2 Cube MINI + * ACCEL_DRDY LSM303D NC NC + * PU.PD 0,0 1,0 1,0 + + * PB12:PB4 + * ud ud + * 10 00 - 0x8 FMUv2 + * 11 10 - 0xE Cube AKA V2.0 + * 10 10 - 0xA PixhawkMini + * 10 11 - 0xB FMUv2 questionable hardware (should be treated like regular FMUv2) + * + * This will return OK on success and -1 on not supported + * + * hw_type Initial state is {'V','2',0, 0} + * V 2 - FMUv2 + * V 3 0 - FMUv3 2.0 + * V 3 1 - FMUv3 2.1 - not differentiateable, + * V 2 M - FMUv2 Mini + * + ************************************************************************************/ + +static int determin_hw_version(int *version, int *revision) +{ + *revision = 0; /* default revision */ + int rv = 0; + int pos = 0; + stm32_configgpio(GPIO_PULLDOWN | (HW_VER_PB4 & ~GPIO_PUPD_MASK)); + up_udelay(10); + rv |= stm32_gpioread(HW_VER_PB4) << pos++; + stm32_configgpio(HW_VER_PB4); + up_udelay(10); + rv |= stm32_gpioread(HW_VER_PB4) << pos++; + + int votes = 16; + int ones[2] = {0, 0}; + int zeros[2] = {0, 0}; + + while (votes--) { + stm32_configgpio(GPIO_PULLDOWN | (HW_VER_PB12 & ~GPIO_PUPD_MASK)); + up_udelay(10); + stm32_gpioread(HW_VER_PB12) ? ones[0]++ : zeros[0]++; + stm32_configgpio(HW_VER_PB12); + up_udelay(10); + stm32_gpioread(HW_VER_PB12) ? ones[1]++ : zeros[1]++; + } + + if (ones[0] > zeros[0]) { + rv |= 1 << pos; + } + + pos++; + + if (ones[1] > zeros[1]) { + rv |= 1 << pos; + } + + stm32_configgpio(HW_VER_PB4_INIT); + stm32_configgpio(HW_VER_PB12_INIT); + *version = rv; + return OK; +} + +/************************************************************************************ + * Name: board_get_hw_type_name + * + * Description: + * Optional returns a string defining the HW type + * + * + ************************************************************************************/ + +__EXPORT const char *board_get_hw_type_name() +{ + return (const char *) hw_type; +} + +/************************************************************************************ + * Name: board_get_hw_version + * + * Description: + * Optional returns a integer HW version + * + * + ************************************************************************************/ + +__EXPORT int board_get_hw_version() +{ + return HW_VER_SIMPLE(hw_version); +} + +/************************************************************************************ + * Name: board_get_hw_revision + * + * Description: + * Optional returns a integer HW revision + * + * + ************************************************************************************/ + +__EXPORT int board_get_hw_revision() +{ + return hw_revision; +} + +/************************************************************************************ + * Name: stm32_boardinitialize + * + * Description: + * All STM32 architectures must provide the following entry point. This entry point + * is called early in the intitialization -- after all memory has been configured + * and mapped but before any devices have been initialized. + * + ************************************************************************************/ + +__EXPORT void +stm32_boardinitialize(void) +{ + board_on_reset(-1); + + /* configure LEDs */ + board_autoled_initialize(); + + /* configure ADC pins */ + + stm32_configgpio(GPIO_ADC1_IN2); /* BATT_VOLTAGE_SENS */ + stm32_configgpio(GPIO_ADC1_IN3); /* BATT_CURRENT_SENS */ + stm32_configgpio(GPIO_ADC1_IN4); /* VDD_5V_SENS */ + stm32_configgpio(GPIO_ADC1_IN13); /* FMU_AUX_ADC_1 */ + stm32_configgpio(GPIO_ADC1_IN14); /* FMU_AUX_ADC_2 */ + stm32_configgpio(GPIO_ADC1_IN15); /* PRESSURE_SENS */ + + /* configure power supply control/sense pins */ + stm32_configgpio(GPIO_VDD_5V_PERIPH_EN); + stm32_configgpio(GPIO_VDD_3V3_SENSORS_EN); + stm32_configgpio(GPIO_VDD_BRICK_VALID); + stm32_configgpio(GPIO_VDD_SERVO_VALID); + stm32_configgpio(GPIO_VDD_USB_VALID); + stm32_configgpio(GPIO_VDD_5V_HIPOWER_OC); + stm32_configgpio(GPIO_VDD_5V_PERIPH_OC); + + /* + * CAN GPIO config. + * Forced pull up on CAN2 is required for FMUv2 where the second interface lacks a transceiver. + * If no transceiver is connected, the RX pin will float, occasionally causing CAN controller to + * fail during initialization. + */ + stm32_configgpio(GPIO_CAN1_RX); + stm32_configgpio(GPIO_CAN1_TX); + stm32_configgpio(GPIO_CAN2_RX | GPIO_PULLUP); + stm32_configgpio(GPIO_CAN2_TX); + +} + +/**************************************************************************** + * Name: board_app_initialize + * + * Description: + * Perform application specific initialization. This function is never + * called directly from application code, but only indirectly via the + * (non-standard) boardctl() interface using the command BOARDIOC_INIT. + * + * Input Parameters: + * arg - The boardctl() argument is passed to the board_app_initialize() + * implementation without modification. The argument has no + * meaning to NuttX; the meaning of the argument is a contract + * between the board-specific initalization logic and the the + * matching application logic. The value cold be such things as a + * mode enumeration value, a set of DIP switch switch settings, a + * pointer to configuration data read from a file or serial FLASH, + * or whatever you would like to do with it. Every implementation + * should accept zero/NULL as a default configuration. + * + * Returned Value: + * Zero (OK) is returned on success; a negated errno value is returned on + * any failure to indicate the nature of the failure. + * + ****************************************************************************/ + +static struct spi_dev_s *spi1; +static struct spi_dev_s *spi2; +static struct spi_dev_s *spi4; +static struct sdio_dev_s *sdio; + +__EXPORT int board_app_initialize(uintptr_t arg) +{ +#if defined(CONFIG_HAVE_CXX) && defined(CONFIG_HAVE_CXXINITIALIZE) + /* run C++ ctors before we go any further */ + up_cxxinitialize(); + +#else +# error platform is dependent on c++ both CONFIG_HAVE_CXX and CONFIG_HAVE_CXXINITIALIZE must be defined. +#endif + + /* Ensure the power is on 1 ms before we drive the GPIO pins */ + usleep(1000); + + if (OK == determin_hw_version(&hw_version, & hw_revision)) { + switch (hw_version) { + case HW_VER_FMUV2_STATE: + break; + + case HW_VER_FMUV3_STATE: + hw_type[1]++; + hw_type[2] = '0'; + + /* Has CAN2 transceiver Remove pull up */ + + stm32_configgpio(GPIO_CAN2_RX); + + break; + + case HW_VER_FMUV2MINI_STATE: + + /* Detection for a Pixhack3 */ + + stm32_configgpio(HW_VER_PA8); + up_udelay(10); + bool isph3 = stm32_gpioread(HW_VER_PA8); + stm32_configgpio(HW_VER_PA8_INIT); + + + if (isph3) { + + /* Pixhack3 looks like a FMuV3 Cube */ + + hw_version = HW_VER_FMUV3_STATE; + hw_type[1]++; + hw_type[2] = '0'; + message("\nPixhack V3 detected, forcing to fmu-v3"); + + } else { + + /* It is a mini */ + + hw_type[2] = 'M'; + } + + break; + + default: + + /* questionable px4fmu-v2 hardware, try forcing regular FMUv2 (not much else we can do) */ + + message("\nbad version detected, forcing to fmu-v2"); + hw_version = HW_VER_FMUV2_STATE; + break; + } + + message("\nFMUv2 ver 0x%1X : Rev %x %s\n", hw_version, hw_revision, hw_type); + } + + /* configure SPI interfaces */ + stm32_spiinitialize(); + + /* configure the high-resolution time/callout interface */ + hrt_init(); + + param_init(); + + /* configure the DMA allocator */ + + if (board_dma_alloc_init() < 0) { + message("DMA alloc FAILED"); + } + + /* configure CPU load estimation */ +#ifdef CONFIG_SCHED_INSTRUMENTATION + cpuload_initialize_once(); +#endif + + /* set up the serial DMA polling */ + static struct hrt_call serial_dma_call; + struct timespec ts; + + /* + * Poll at 1ms intervals for received bytes that have not triggered + * a DMA event. + */ + ts.tv_sec = 0; + ts.tv_nsec = 1000000; + + hrt_call_every(&serial_dma_call, + ts_to_abstime(&ts), + ts_to_abstime(&ts), + (hrt_callout)stm32_serial_dma_poll, + NULL); + + /* initial LED state */ + drv_led_start(); + led_off(LED_AMBER); + + if (board_hardfault_init(2, true) != 0) { + led_on(LED_AMBER); + } + + /* Configure SPI-based devices */ + + spi1 = stm32_spibus_initialize(PX4_SPI_BUS_SENSORS); + + if (!spi1) { + message("[boot] FAILED to initialize SPI port %d\n", PX4_SPI_BUS_SENSORS); + led_on(LED_AMBER); + return -ENODEV; + } + + /* Default SPI1 to 1MHz and de-assert the known chip selects. */ + SPI_SETFREQUENCY(spi1, 10000000); + SPI_SETBITS(spi1, 8); + SPI_SETMODE(spi1, SPIDEV_MODE3); + up_udelay(20); + + /* Get the SPI port for the FRAM */ + + spi2 = stm32_spibus_initialize(PX4_SPI_BUS_RAMTRON); + + if (!spi2) { + message("[boot] FAILED to initialize SPI port %d\n", PX4_SPI_BUS_RAMTRON); + led_on(LED_AMBER); + return -ENODEV; + } + + /* Default SPI2 to 37.5 MHz (40 MHz rounded to nearest valid divider, F4 max) + * and de-assert the known chip selects. */ + + // XXX start with 10.4 MHz in FRAM usage and go up to 37.5 once validated + SPI_SETFREQUENCY(spi2, 12 * 1000 * 1000); + SPI_SETBITS(spi2, 8); + SPI_SETMODE(spi2, SPIDEV_MODE3); + + spi4 = stm32_spibus_initialize(PX4_SPI_BUS_EXT); + + if (!spi4) { + message("[boot] FAILED to initialize SPI port %d\n", PX4_SPI_BUS_EXT); + led_on(LED_AMBER); + return -ENODEV; + } + + /* Default SPI4 to 1MHz and de-assert the known chip selects. */ + SPI_SETFREQUENCY(spi4, 10000000); + SPI_SETBITS(spi4, 8); + SPI_SETMODE(spi4, SPIDEV_MODE3); + +#ifdef CONFIG_MMCSD + /* First, get an instance of the SDIO interface */ + + sdio = sdio_initialize(CONFIG_NSH_MMCSDSLOTNO); + + if (!sdio) { + led_on(LED_AMBER); + message("[boot] Failed to initialize SDIO slot %d\n", CONFIG_NSH_MMCSDSLOTNO); + return -ENODEV; + } + + /* Now bind the SDIO interface to the MMC/SD driver */ + int ret = mmcsd_slotinitialize(CONFIG_NSH_MMCSDMINOR, sdio); + + if (ret != OK) { + led_on(LED_AMBER); + message("[boot] Failed to bind SDIO to the MMC/SD driver: %d\n", ret); + return ret; + } + + /* Then let's guess and say that there is a card in the slot. There is no card detect GPIO. */ + sdio_mediachange(sdio, true); + +#endif + + return OK; +} diff --git a/boards/px4/fmu-v3/src/led.c b/boards/px4/fmu-v3/src/led.c new file mode 100644 index 0000000000..09edb2ba66 --- /dev/null +++ b/boards/px4/fmu-v3/src/led.c @@ -0,0 +1,96 @@ +/**************************************************************************** + * + * Copyright (c) 2013 PX4 Development Team. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name PX4 nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************/ + +/** + * @file px4fmu2_led.c + * + * PX4FMU LED backend. + */ + +#include <px4_config.h> + +#include <stdbool.h> + +#include "stm32.h" +#include "board_config.h" + +#include <arch/board/board.h> + +/* + * Ideally we'd be able to get these from up_internal.h, + * but since we want to be able to disable the NuttX use + * of leds for system indication at will and there is no + * separate switch, we need to build independent of the + * CONFIG_ARCH_LEDS configuration switch. + */ +__BEGIN_DECLS +extern void led_init(void); +extern void led_on(int led); +extern void led_off(int led); +extern void led_toggle(int led); +__END_DECLS + +__EXPORT void led_init() +{ + /* Configure LED1 GPIO for output */ + + stm32_configgpio(GPIO_LED1); +} + +__EXPORT void led_on(int led) +{ + if (led == 1) { + /* Pull down to switch on */ + stm32_gpiowrite(GPIO_LED1, false); + } +} + +__EXPORT void led_off(int led) +{ + if (led == 1) { + /* Pull up to switch off */ + stm32_gpiowrite(GPIO_LED1, true); + } +} + +__EXPORT void led_toggle(int led) +{ + if (led == 1) { + if (stm32_gpioread(GPIO_LED1)) { + stm32_gpiowrite(GPIO_LED1, false); + + } else { + stm32_gpiowrite(GPIO_LED1, true); + } + } +} diff --git a/boards/px4/fmu-v3/src/manifest.c b/boards/px4/fmu-v3/src/manifest.c new file mode 100644 index 0000000000..7639b59cd3 --- /dev/null +++ b/boards/px4/fmu-v3/src/manifest.c @@ -0,0 +1,149 @@ +/**************************************************************************** + * + * Copyright (c) 2018 PX4 Development Team. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name PX4 nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************/ + +/** + * @file manifest.c + * + * This module supplies the interface to the manifest of hardware that is + * optional and dependent on the simple Hardware versioning + * BOARD_HAS_SIMPLE_HW_VERSIONING + * + * The manifest allows the system to know whether a hardware option + * say for example the PX4IO is an no-pop option vs it is broken. + * + */ + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include <px4_config.h> +#include <stdbool.h> +#include "systemlib/px4_macros.h" +#include "px4_log.h" + +/**************************************************************************** + * Pre-Processor Definitions + ****************************************************************************/ + +typedef struct { + uint32_t hw_ver_rev; /* the version and revision */ + const px4_hw_mft_item_t *mft; /* The first entry */ + uint32_t entries; /* the lenght of the list */ +} px4_hw_mft_list_entry_t; + +typedef px4_hw_mft_list_entry_t *px4_hw_mft_list_entry; +#define px4_hw_mft_list_uninitialized (px4_hw_mft_list_entry) -1 + +static const px4_hw_mft_item_t device_unsupported = {0, 0, 0}; + +static const px4_hw_mft_item_t hw_mft_list_FMUv2[] = { + { + .present = 1, + .mandatory = 1, + .connection = px4_hw_con_onboard, + }, +}; + +static const px4_hw_mft_item_t hw_mft_list_FMUv2Mini[] = { + { + .present = 1, + .mandatory = 1, + .connection = px4_hw_con_onboard, + }, +}; +static const px4_hw_mft_item_t hw_mft_list_FMUv2X[] = { + { + .present = 1, + .mandatory = 1, + .connection = px4_hw_con_onboard, + }, +}; +static const px4_hw_mft_item_t hw_mft_list_FMUv3[] = { + { + .present = 1, + .mandatory = 1, + .connection = px4_hw_con_onboard, + }, +}; + +static px4_hw_mft_list_entry_t mft_lists[] = { + {HW_VER_FMUV2, hw_mft_list_FMUv2, arraySize(hw_mft_list_FMUv2)}, + {HW_VER_FMUV2MINI, hw_mft_list_FMUv2Mini, arraySize(hw_mft_list_FMUv2Mini)}, + {HW_VER_FMUV2X, hw_mft_list_FMUv2X, arraySize(hw_mft_list_FMUv2X)}, + {HW_VER_FMUV3, hw_mft_list_FMUv3, arraySize(hw_mft_list_FMUv3)}, +}; + +/************************************************************************************ + * Name: board_query_manifest + * + * Description: + * Optional returns manifest item. + * + * Input Parameters: + * manifest_id - the ID for the manifest item to retrieve + * + * Returned Value: + * 0 - item is not in manifest => assume legacy operations + * pointer to a manifest item + * + ************************************************************************************/ + +__EXPORT px4_hw_mft_item board_query_manifest(px4_hw_mft_item_id_t id) +{ + static px4_hw_mft_list_entry boards_manifest = px4_hw_mft_list_uninitialized; + + if (boards_manifest == px4_hw_mft_list_uninitialized) { + uint32_t ver_rev = board_get_hw_version(); + + for (unsigned i = 0; i < arraySize(mft_lists); i++) { + if (mft_lists[i].hw_ver_rev == ver_rev) { + boards_manifest = &mft_lists[i]; + break; + } + } + + if (boards_manifest == px4_hw_mft_list_uninitialized) { + PX4_ERR("Board %4x is not supported!", ver_rev); + } + } + + px4_hw_mft_item rv = &device_unsupported; + + if (boards_manifest != px4_hw_mft_list_uninitialized && + id < boards_manifest->entries) { + rv = &boards_manifest->mft[id]; + } + + return rv; +} diff --git a/boards/px4/fmu-v3/src/spi.c b/boards/px4/fmu-v3/src/spi.c new file mode 100644 index 0000000000..ca29b39c32 --- /dev/null +++ b/boards/px4/fmu-v3/src/spi.c @@ -0,0 +1,462 @@ +/**************************************************************************** + * + * Copyright (C) 2012 PX4 Development Team. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name PX4 nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************/ + +/** + * @file px4fmu_spi.c + * + * Board-specific SPI functions. + */ + +/************************************************************************************ + * Included Files + ************************************************************************************/ + +#include <px4_config.h> + +#include <stdint.h> +#include <stdbool.h> +#include <debug.h> +#include <unistd.h> + +#include <nuttx/spi/spi.h> +#include <arch/board/board.h> + +#include <up_arch.h> +#include <chip.h> +#include <stm32.h> +#include "board_config.h" +#include <systemlib/err.h> + +/************************************************************************************ + * Public Functions + ************************************************************************************/ + +/************************************************************************************ + * Name: stm32_spiinitialize + * + * Description: + * Called to configure SPI chip select GPIO pins for the PX4FMU board. + * + ************************************************************************************/ + +#ifdef CONFIG_STM32_SPI1 +/* Verification + * PA5 PA6 PA7 PB0 PB1 PB4 PC1 PC2 PC13 PC14 PC15 PD7 PD15 PE2 PE4 PE5 PE6 + * driver X X X X X X + * local V2 v2 V2 V3 a V2 V2M V2x a a 4 + */ +static void stm32_spi1_initialize(void) +{ + stm32_configgpio(GPIO_SPI1_CS_PC2); + stm32_configgpio(GPIO_SPI1_CS_PD7); + + stm32_configgpio(GPIO_SPI1_EXTI_DRDY_PD15); + + if (HW_VER_FMUV2MINI == board_get_hw_version()) { + stm32_configgpio(GPIO_SPI1_EXTI_20608_DRDY_PC14); + stm32_configgpio(GPIO_SPI1_CS_PC15); + + } else if (HW_VER_FMUV3 == board_get_hw_version()) { + stm32_configgpio(GPIO_SPI1_CS_PC1); + + } else { + stm32_configgpio(GPIO_SPI1_EXTI_DRDY_PB0); + stm32_configgpio(GPIO_SPI1_EXTI_DRDY_PB1); + stm32_configgpio(GPIO_SPI1_EXTI_DRDY_PB4); + stm32_configgpio(GPIO_SPI1_CS_PC13); + stm32_configgpio(GPIO_SPI1_CS_PC15); + } +} +#endif // CONFIG_STM32_SPI1 + +#ifdef CONFIG_STM32_SPI4 +/* Verification + * PA5 PA6 PA7 PB0 PB1 PB4 PC1 PC2 PC13 PC14 PC15 PD7 PD15 PE2 PE4 PE5 PE6 + * driver X X X X X X + * local V3 V3 - V3 a V3 V23 V3 - - + */ +static void stm32_spi4_initialize(void) +{ + stm32_configgpio(GPIO_SPI4_NSS_PE4); + + if (HW_VER_FMUV3 == board_get_hw_version()) { + stm32_configgpio(GPIO_SPI4_EXTI_DRDY_PB0); + stm32_configgpio(GPIO_SPI4_CS_PB1); + stm32_configgpio(GPIO_SPI4_CS_PC13); + stm32_configgpio(GPIO_SPI4_CS_PC15); + } + + if (HW_VER_FMUV2MINI != board_get_hw_version()) { + stm32_configgpio(GPIO_SPI4_GPIO_PC14); + } +} +#endif //CONFIG_STM32_SPI4 + +__EXPORT void stm32_spiinitialize(void) +{ +#ifdef CONFIG_STM32_SPI1 + stm32_spi1_initialize(); +#endif + +#ifdef CONFIG_STM32_SPI2 + stm32_configgpio(GPIO_SPI2_CS_PD10); +#endif + +#ifdef CONFIG_STM32_SPI4 + stm32_spi4_initialize(); +#endif +} + +#ifdef CONFIG_STM32_SPI1 +__EXPORT void stm32_spi1select(FAR struct spi_dev_s *dev, uint32_t devid, bool selected) +{ + /* SPI select is active low, so write !selected to select the device */ + /* Verification + * PA5 PA6 PA7 PB0 PB1 PB4 PC1 PC2 PC13 PC14 PC15 PD7 PD15 PE2 PE4 PE5 PE6 + * driver X X X X X X + * local - - - V3 a V2 - V2M a - - + */ + + switch (devid) { + case PX4_SPIDEV_GYRO: + + /* Making sure the other peripherals are not selected */ + if (HW_VER_FMUV2 == board_get_hw_version()) { + stm32_gpiowrite(GPIO_SPI1_CS_PC13, !selected); + } + + if (HW_VER_FMUV3 != board_get_hw_version()) { + stm32_gpiowrite(GPIO_SPI1_CS_PC15, 1); + } + + stm32_gpiowrite(GPIO_SPI1_CS_PD7, 1); + stm32_gpiowrite(GPIO_SPI1_CS_PC2, 1); + + if (HW_VER_FMUV3 == board_get_hw_version()) { + stm32_gpiowrite(GPIO_SPI1_CS_PC1, 1); + } + + break; + + case PX4_SPIDEV_ICM_20608: + case PX4_SPIDEV_ACCEL_MAG: + + /* Making sure the other peripherals are not selected */ + if (HW_VER_FMUV2 == board_get_hw_version()) { + stm32_gpiowrite(GPIO_SPI1_CS_PC13, 1); + } + + if (HW_VER_FMUV3 != board_get_hw_version()) { + stm32_gpiowrite(GPIO_SPI1_CS_PC15, !selected); + } + + stm32_gpiowrite(GPIO_SPI1_CS_PD7, 1); + stm32_gpiowrite(GPIO_SPI1_CS_PC2, 1); + + if (HW_VER_FMUV3 == board_get_hw_version()) { + stm32_gpiowrite(GPIO_SPI1_CS_PC1, 1); + } + + break; + + case PX4_SPIDEV_BARO: + + /* Making sure the other peripherals are not selected */ + if (HW_VER_FMUV2 == board_get_hw_version()) { + stm32_gpiowrite(GPIO_SPI1_CS_PC13, 1); + } + + if (HW_VER_FMUV3 != board_get_hw_version()) { + stm32_gpiowrite(GPIO_SPI1_CS_PC15, 1); + } + + stm32_gpiowrite(GPIO_SPI1_CS_PD7, !selected); + stm32_gpiowrite(GPIO_SPI1_CS_PC2, 1); + + if (HW_VER_FMUV3 == board_get_hw_version()) { + stm32_gpiowrite(GPIO_SPI1_CS_PC1, 1); + } + + break; + + case PX4_SPIDEV_MPU: + + /* Making sure the other peripherals are not selected */ + if (HW_VER_FMUV2 == board_get_hw_version()) { + stm32_gpiowrite(GPIO_SPI1_CS_PC13, 1); + } + + if (HW_VER_FMUV3 != board_get_hw_version()) { + stm32_gpiowrite(GPIO_SPI1_CS_PC15, 1); + } + + stm32_gpiowrite(GPIO_SPI1_CS_PD7, 1); + stm32_gpiowrite(GPIO_SPI1_CS_PC2, !selected); + + if (HW_VER_FMUV3 == board_get_hw_version()) { + stm32_gpiowrite(GPIO_SPI1_CS_PC1, 1); + } + + break; + + case PX4_SPIDEV_HMC: + if (HW_VER_FMUV2 == board_get_hw_version()) { + stm32_gpiowrite(GPIO_SPI1_CS_PC13, 1); + } + + if (HW_VER_FMUV3 != board_get_hw_version()) { + stm32_gpiowrite(GPIO_SPI1_CS_PC15, 1); + } + + stm32_gpiowrite(GPIO_SPI1_CS_PD7, 1); + stm32_gpiowrite(GPIO_SPI1_CS_PC2, 1); + + if (HW_VER_FMUV3 == board_get_hw_version()) { + stm32_gpiowrite(GPIO_SPI1_CS_PC1, !selected); + } + + break; + + default: + break; + } +} + +__EXPORT uint8_t stm32_spi1status(FAR struct spi_dev_s *dev, uint32_t devid) +{ + return SPI_STATUS_PRESENT; +} +#endif // CONFIG_STM32_SPI1 + +#ifdef CONFIG_STM32_SPI2 +__EXPORT void stm32_spi2select(FAR struct spi_dev_s *dev, uint32_t devid, bool selected) +{ + /* there can only be one device on this bus, so always select it */ + stm32_gpiowrite(GPIO_SPI2_CS_PD10, !selected); +} + +__EXPORT uint8_t stm32_spi2status(FAR struct spi_dev_s *dev, uint32_t devid) +{ + /* FRAM is always present */ + return SPI_STATUS_PRESENT; +} +#endif + + +#ifdef CONFIG_STM32_SPI4 +__EXPORT void stm32_spi4select(FAR struct spi_dev_s *dev, uint32_t devid, bool selected) +{ + /* SPI select is active low, so write !selected to select the device */ + /* Verification + * PA5 PA6 PA7 PB0 PB1 PB4 PC1 PC2 PC13 PC14 PC15 PD7 PD15 PE2 PE4 PE5 PE6 + * driver X X X X X X + * local - - - - - V3 !V2M V3 - - a + */ + + switch (devid) { + case PX4_SPIDEV_EXT_MPU: + /* Making sure the other peripherals are not selected */ + stm32_gpiowrite(GPIO_SPI4_NSS_PE4, !selected); + + if (HW_VER_FMUV2MINI != board_get_hw_version()) { + stm32_gpiowrite(GPIO_SPI4_GPIO_PC14, 1); + } + + if (HW_VER_FMUV3 == board_get_hw_version()) { + stm32_gpiowrite(GPIO_SPI4_CS_PC15, 1); + stm32_gpiowrite(GPIO_SPI4_CS_PC13, 1); + } + + break; + + case PX4_SPIDEV_EXT_BARO: + /* Making sure the other peripherals are not selected */ + stm32_gpiowrite(GPIO_SPI4_NSS_PE4, 1); + + if (HW_VER_FMUV2MINI != board_get_hw_version()) { + stm32_gpiowrite(GPIO_SPI4_GPIO_PC14, !selected); + } + + if (HW_VER_FMUV3 == board_get_hw_version()) { + stm32_gpiowrite(GPIO_SPI4_CS_PC15, 1); + stm32_gpiowrite(GPIO_SPI4_CS_PC13, 1); + } + + break; + + case PX4_SPIDEV_ICM_20608: + case PX4_SPIDEV_EXT_ACCEL_MAG: + /* Making sure the other peripherals are not selected */ + stm32_gpiowrite(GPIO_SPI4_NSS_PE4, 1); + + if (HW_VER_FMUV2MINI != board_get_hw_version()) { + stm32_gpiowrite(GPIO_SPI4_GPIO_PC14, 1); + } + + if (HW_VER_FMUV3 == board_get_hw_version()) { + stm32_gpiowrite(GPIO_SPI4_CS_PC15, !selected); + stm32_gpiowrite(GPIO_SPI4_CS_PC13, 1); + } + + break; + + case PX4_SPIDEV_EXT_BMI: + case PX4_SPIDEV_EXT_GYRO: + /* Making sure the other peripherals are not selected */ + stm32_gpiowrite(GPIO_SPI4_NSS_PE4, 1); + + if (HW_VER_FMUV2MINI != board_get_hw_version()) { + stm32_gpiowrite(GPIO_SPI4_GPIO_PC14, 1); + } + + if (HW_VER_FMUV3 == board_get_hw_version()) { + stm32_gpiowrite(GPIO_SPI4_CS_PC15, 1); + stm32_gpiowrite(GPIO_SPI4_CS_PC13, !selected); + } + + break; + + default: + break; + + } +} +__EXPORT uint8_t stm32_spi4status(FAR struct spi_dev_s *dev, uint32_t devid) +{ + return SPI_STATUS_PRESENT; +} +#endif // CONFIG_STM32_SPI4 + +/* V2, V2M SPI1 All signals SPI4, V3 ALL signals */ +/* Verification + * PA5 PA6 PA7 PB0 PB1 PB4 PC1 PC2 PC13 PC14 PC15 PD7 PD15 PE2 PE4 PE5 PE6 + * local A A A A A A V3 A A !V2 A A A V3 V3 V3 V3 + */ + +__EXPORT void board_spi_reset(int ms) +{ + /* disable SPI bus */ + stm32_configgpio(_PIN_OFF(GPIO_SPI1_CS_PC2)); + stm32_configgpio(_PIN_OFF(GPIO_SPI1_CS_PC13)); + stm32_configgpio(_PIN_OFF(GPIO_SPI1_CS_PC15)); + stm32_configgpio(_PIN_OFF(GPIO_SPI1_CS_PD7)); + + stm32_gpiowrite(_PIN_OFF(GPIO_SPI1_CS_PC2), 0); + stm32_gpiowrite(_PIN_OFF(GPIO_SPI1_CS_PC13), 0); + stm32_gpiowrite(_PIN_OFF(GPIO_SPI1_CS_PC15), 0); + stm32_gpiowrite(_PIN_OFF(GPIO_SPI1_CS_PD7), 0); + + stm32_configgpio(_PIN_OFF(GPIO_SPI1_SCK)); + stm32_configgpio(_PIN_OFF(GPIO_SPI1_MISO)); + stm32_configgpio(_PIN_OFF(GPIO_SPI1_MOSI)); + + stm32_gpiowrite(_PIN_OFF(GPIO_SPI1_SCK), 0); + stm32_gpiowrite(_PIN_OFF(GPIO_SPI1_MISO), 0); + stm32_gpiowrite(_PIN_OFF(GPIO_SPI1_MOSI), 0); + + stm32_configgpio(_PIN_OFF(GPIO_SPI1_EXTI_DRDY_PB0)); + stm32_configgpio(_PIN_OFF(GPIO_SPI1_EXTI_DRDY_PB1)); + stm32_configgpio(_PIN_OFF(GPIO_SPI1_EXTI_DRDY_PB4)); + stm32_configgpio(_PIN_OFF(GPIO_SPI1_EXTI_DRDY_PD15)); + + stm32_gpiowrite(_PIN_OFF(GPIO_SPI1_EXTI_DRDY_PB0), 0); + stm32_gpiowrite(_PIN_OFF(GPIO_SPI1_EXTI_DRDY_PB1), 0); + stm32_gpiowrite(_PIN_OFF(GPIO_SPI1_EXTI_DRDY_PB4), 0); + stm32_gpiowrite(_PIN_OFF(GPIO_SPI1_EXTI_DRDY_PD15), 0); + + if (HW_VER_FMUV2 != board_get_hw_version()) { + stm32_configgpio(_PIN_OFF(GPIO_SPI4_CS_PC14)); + stm32_gpiowrite(_PIN_OFF(GPIO_SPI4_CS_PC14), 0); + } + + if (HW_VER_FMUV3 == board_get_hw_version()) { + stm32_configgpio(_PIN_OFF(GPIO_SPI1_CS_PC1)); + stm32_gpiowrite(_PIN_OFF(GPIO_SPI1_CS_PC1), 0); + + stm32_configgpio(_PIN_OFF(GPIO_SPI4_NSS_PE4)); + stm32_gpiowrite(_PIN_OFF(GPIO_SPI4_NSS_PE4), 0); + + stm32_configgpio(_PIN_OFF(GPIO_SPI4_SCK)); + stm32_configgpio(_PIN_OFF(GPIO_SPI4_MISO)); + stm32_configgpio(_PIN_OFF(GPIO_SPI4_MOSI)); + + stm32_gpiowrite(_PIN_OFF(GPIO_SPI4_SCK), 0); + stm32_gpiowrite(_PIN_OFF(GPIO_SPI4_MISO), 0); + stm32_gpiowrite(_PIN_OFF(GPIO_SPI4_MOSI), 0); + } + + /* set the sensor rail off */ + stm32_configgpio(GPIO_VDD_3V3_SENSORS_EN); + stm32_gpiowrite(GPIO_VDD_3V3_SENSORS_EN, 0); + + /* wait for the sensor rail to reach GND */ + usleep(ms * 1000); + warnx("reset done, %d ms", ms); + + /* re-enable power */ + + /* switch the sensor rail back on */ + stm32_gpiowrite(GPIO_VDD_3V3_SENSORS_EN, 1); + + /* wait a bit before starting SPI, different times didn't influence results */ + usleep(100); + + /* reconfigure the SPI pins */ + stm32_configgpio(GPIO_SPI1_SCK); + stm32_configgpio(GPIO_SPI1_MISO); + stm32_configgpio(GPIO_SPI1_MOSI); + + if (HW_VER_FMUV3 == board_get_hw_version()) { + stm32_configgpio(GPIO_SPI4_SCK); + stm32_configgpio(GPIO_SPI4_MISO); + stm32_configgpio(GPIO_SPI4_MOSI); + stm32_spi4_initialize(); + } + + stm32_spi1_initialize(); +} + +__EXPORT bool px4_spi_bus_external(int bus) +{ + if (HW_VER_FMUV3 == board_get_hw_version()) { + /* all FMUv3 2.1 spi buses are internal */ + return false; + + } else { + if (bus == PX4_SPI_BUS_EXT) { + return true; + } + } + + return false; +} diff --git a/boards/px4/fmu-v3/src/timer_config.c b/boards/px4/fmu-v3/src/timer_config.c new file mode 100644 index 0000000000..5adc4260db --- /dev/null +++ b/boards/px4/fmu-v3/src/timer_config.c @@ -0,0 +1,126 @@ +/**************************************************************************** + * + * Copyright (C) 2012 PX4 Development Team. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name PX4 nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************/ + +/* + * @file px4fmu_timer_config.c + * + * Configuration data for the stm32 pwm_servo, input capture and pwm input driver. + * + * Note that these arrays must always be fully-sized. + */ + +#include <stdint.h> + +#include <stm32.h> +#include <stm32_gpio.h> +#include <stm32_tim.h> + +#include <drivers/drv_pwm_output.h> +#include <drivers/stm32/drv_io_timer.h> + +#include "board_config.h" + +__EXPORT const io_timers_t io_timers[MAX_IO_TIMERS] = { + { + .base = STM32_TIM1_BASE, + .clock_register = STM32_RCC_APB2ENR, + .clock_bit = RCC_APB2ENR_TIM1EN, + .clock_freq = STM32_APB2_TIM1_CLKIN, + .first_channel_index = 0, + .last_channel_index = 3, + .handler = io_timer_handler0, + .vectorno = STM32_IRQ_TIM1CC, + + }, + { + .base = STM32_TIM4_BASE, + .clock_register = STM32_RCC_APB1ENR, + .clock_bit = RCC_APB1ENR_TIM4EN, + .clock_freq = STM32_APB1_TIM4_CLKIN, + .first_channel_index = 4, + .last_channel_index = 5, + .handler = io_timer_handler1, + .vectorno = STM32_IRQ_TIM4 + } +}; + +__EXPORT const timer_io_channels_t timer_io_channels[MAX_TIMER_IO_CHANNELS] = { + { + .gpio_out = GPIO_TIM1_CH4OUT, + .gpio_in = GPIO_TIM1_CH4IN, + .timer_index = 0, + .timer_channel = 4, + .ccr_offset = STM32_GTIM_CCR4_OFFSET, + .masks = GTIM_SR_CC4IF | GTIM_SR_CC4OF + }, + { + .gpio_out = GPIO_TIM1_CH3OUT, + .gpio_in = GPIO_TIM1_CH3IN, + .timer_index = 0, + .timer_channel = 3, + .ccr_offset = STM32_GTIM_CCR3_OFFSET, + .masks = GTIM_SR_CC3IF | GTIM_SR_CC3OF + }, + { + .gpio_out = GPIO_TIM1_CH2OUT, + .gpio_in = GPIO_TIM1_CH2IN, + .timer_index = 0, + .timer_channel = 2, + .ccr_offset = STM32_GTIM_CCR2_OFFSET, + .masks = GTIM_SR_CC2IF | GTIM_SR_CC2OF + }, + { + .gpio_out = GPIO_TIM1_CH1OUT, + .gpio_in = GPIO_TIM1_CH1IN, + .timer_index = 0, + .timer_channel = 1, + .ccr_offset = STM32_GTIM_CCR1_OFFSET, + .masks = GTIM_SR_CC1IF | GTIM_SR_CC1OF + }, + { + .gpio_out = GPIO_TIM4_CH2OUT, + .gpio_in = GPIO_TIM4_CH2IN, + .timer_index = 1, + .timer_channel = 2, + .ccr_offset = STM32_GTIM_CCR2_OFFSET, + .masks = GTIM_SR_CC2IF | GTIM_SR_CC2OF + }, + { + .gpio_out = GPIO_TIM4_CH3OUT, + .gpio_in = GPIO_TIM4_CH3IN, + .timer_index = 1, + .timer_channel = 3, + .ccr_offset = STM32_GTIM_CCR3_OFFSET, + .masks = GTIM_SR_CC3IF | GTIM_SR_CC3OF + } +}; diff --git a/src/drivers/boards/px4fmu-v4pro/usb.c b/boards/px4/fmu-v3/src/usb.c similarity index 100% rename from src/drivers/boards/px4fmu-v4pro/usb.c rename to boards/px4/fmu-v3/src/usb.c diff --git a/boards/px4/fmu-v3/stackcheck.cmake b/boards/px4/fmu-v3/stackcheck.cmake new file mode 100644 index 0000000000..e0034ddbd0 --- /dev/null +++ b/boards/px4/fmu-v3/stackcheck.cmake @@ -0,0 +1,129 @@ + +# FMUv3 is FMUv2 with access to the full 2MB flash + +px4_add_board( + PLATFORM nuttx + VENDOR px4 + MODEL fmu-v3 + LABEL stackcheck + ARCH cortex-m4 + ROMFS + ROMFSROOT px4fmu_common + IO px4io-v2_default + TESTING + #UAVCAN_INTERFACES 2 + + SERIAL_PORTS + GPS1:/dev/ttyS0 + TEL1:/dev/ttyS1 + TEL2:/dev/ttyS2 + TEL4:/dev/ttyS3 + + DRIVERS + barometer # all available barometer drivers + batt_smbus + blinkm + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + #heater + #imu # all available imu drivers + imu/adis16448 + imu/l3gd20 + imu/lsm303d + imu/mpu6000 + imu/mpu9250 + irlock + magnetometer # all available magnetometer drivers + #md25 + mkblctrl + oreoled + pca8574 + pca9685 + #pmw3901 + protocol_splitter + pwm_input + pwm_out_sim + px4flow + px4fmu + px4io + rgbled + rgbled_ncp5623c + #rgbled_pwm + roboclaw + stm32 + stm32/adc + stm32/tone_alarm + tap_esc + telemetry # all available telemetry drivers + test_ppm + vmount + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + position_estimator_inav + sensors + #uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + bl_update + config + dumpfile + esc_calib + hardfault_log + led_control + mixer + motor_ramp + motor_test + mtd + nshterm + param + perf + pwm + reboot + reflect + sd_bench + shutdown + tests # tests and test runner + top + topic_listener + tune_control + usb_connected + ver + + EXAMPLES + #bottle_drop # OBC challenge + #fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + #hwtest # Hardware test + #matlab_csv_serial + #publisher + #px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + #px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + #rover_steering_control # Rover example app + #segway + #subscriber + #uuv_example_app + + ) diff --git a/boards/px4/fmu-v4/default.cmake b/boards/px4/fmu-v4/default.cmake new file mode 100644 index 0000000000..5019b220b1 --- /dev/null +++ b/boards/px4/fmu-v4/default.cmake @@ -0,0 +1,114 @@ + +px4_add_board( + PLATFORM nuttx + VENDOR px4 + MODEL fmu-v4 + LABEL default + ARCH cortex-m4 + ROMFS + ROMFSROOT px4fmu_common + TESTING + UAVCAN_INTERFACES 1 + + SERIAL_PORTS + GPS1:/dev/ttyS3 + TEL1:/dev/ttyS1 + TEL2:/dev/ttyS2 + + DRIVERS + barometer # all available barometer drivers + batt_smbus + blinkm + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + heater + imu # all available imu drivers + irlock + magnetometer # all available magnetometer drivers + mkblctrl + oreoled + pca9685 + pwm_input + pwm_out_sim + px4flow + px4fmu + rc_input + rgbled + rgbled_ncp5623c + stm32 + stm32/adc + stm32/tone_alarm + tap_esc + telemetry # all available telemetry drivers + test_ppm + vmount + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + position_estimator_inav + sensors + uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + bl_update + config + dumpfile + esc_calib + hardfault_log + led_control + mixer + motor_ramp + motor_test + mtd + nshterm + param + perf + pwm + reboot + reflect + sd_bench + shutdown + tests # tests and test runner + top + topic_listener + tune_control + usb_connected + ver + + EXAMPLES + bottle_drop # OBC challenge + fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + hwtest # Hardware test + #matlab_csv_serial + #publisher + px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + rover_steering_control # Rover example app + segway + #subscriber + uuv_example_app + + ) diff --git a/platforms/nuttx/Images/px4fmu-v4.prototype b/boards/px4/fmu-v4/firmware.prototype similarity index 100% rename from platforms/nuttx/Images/px4fmu-v4.prototype rename to boards/px4/fmu-v4/firmware.prototype diff --git a/platforms/nuttx/nuttx-configs/px4fmu-v4/include/board.h b/boards/px4/fmu-v4/nuttx-config/include/board.h old mode 100755 new mode 100644 similarity index 100% rename from platforms/nuttx/nuttx-configs/px4fmu-v4/include/board.h rename to boards/px4/fmu-v4/nuttx-config/include/board.h diff --git a/platforms/nuttx/nuttx-configs/px4fmu-v4/nsh/defconfig b/boards/px4/fmu-v4/nuttx-config/nsh/defconfig similarity index 100% rename from platforms/nuttx/nuttx-configs/px4fmu-v4/nsh/defconfig rename to boards/px4/fmu-v4/nuttx-config/nsh/defconfig diff --git a/platforms/nuttx/nuttx-configs/mindpx-v2/scripts/ld.script b/boards/px4/fmu-v4/nuttx-config/scripts/ld.script similarity index 92% rename from platforms/nuttx/nuttx-configs/mindpx-v2/scripts/ld.script rename to boards/px4/fmu-v4/nuttx-config/scripts/ld.script index 133df6022f..0d19229c01 100644 --- a/platforms/nuttx/nuttx-configs/mindpx-v2/scripts/ld.script +++ b/boards/px4/fmu-v4/nuttx-config/scripts/ld.script @@ -1,5 +1,5 @@ /**************************************************************************** - * configs/px4fmu/common/ld.script + * scripts/ld.script * * Copyright (C) 2011 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <gnutt@nuttx.org> @@ -60,7 +60,7 @@ OUTPUT_ARCH(arm) ENTRY(__start) /* treat __start as the anchor for dead code stripping */ EXTERN(_vectors) /* force the vectors to be included in the output */ -/* +/* * Ensure that abort() is present in the final object. The exception handling * code pulled in by libgcc.a requires it (and that code cannot be easily avoided). */ @@ -72,24 +72,24 @@ SECTIONS .text : { _stext = ABSOLUTE(.); *(.vectors) - . = ALIGN(32); - /* - This signature provides the bootloader with a way to delay booting - */ - _bootdelay_signature = ABSOLUTE(.); - FILL(0xffecc2925d7d05c5) - . += 8; - *(.text .text.*) + . = ALIGN(32); + /* + This signature provides the bootloader with a way to delay booting + */ + _bootdelay_signature = ABSOLUTE(.); + FILL(0xffecc2925d7d05c5) + . += 8; + *(.text .text.*) *(.fixup) *(.gnu.warning) - *(.rodata .rodata.*) + *(.rodata .rodata.*) *(.gnu.linkonce.t.*) *(.got) *(.gcc_except_table) *(.gnu.linkonce.r.*) _etext = ABSOLUTE(.); - /* + /* * This is a hack to make the newlib libm __errno() call * use the NuttX get_errno_ptr() function. */ diff --git a/platforms/nuttx/nuttx-configs/px4fmu-v4/stackcheck/defconfig b/boards/px4/fmu-v4/nuttx-config/stackcheck/defconfig similarity index 100% rename from platforms/nuttx/nuttx-configs/px4fmu-v4/stackcheck/defconfig rename to boards/px4/fmu-v4/nuttx-config/stackcheck/defconfig diff --git a/boards/px4/fmu-v4/rtps.cmake b/boards/px4/fmu-v4/rtps.cmake new file mode 100644 index 0000000000..0c2521aef0 --- /dev/null +++ b/boards/px4/fmu-v4/rtps.cmake @@ -0,0 +1,116 @@ + +px4_add_board( + PLATFORM nuttx + VENDOR px4 + MODEL fmu-v4 + LABEL rtps + ARCH cortex-m4 + ROMFS + ROMFSROOT px4fmu_common + TESTING + UAVCAN_INTERFACES 1 + + SERIAL_PORTS + GPS1:/dev/ttyS3 + TEL1:/dev/ttyS1 + TEL2:/dev/ttyS2 + + DRIVERS + barometer # all available barometer drivers + batt_smbus + blinkm + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + heater + imu # all available imu drivers + irlock + magnetometer # all available magnetometer drivers + mkblctrl + oreoled + pca9685 + protocol_splitter + pwm_input + pwm_out_sim + px4flow + px4fmu + rc_input + rgbled + rgbled_ncp5623c + stm32 + stm32/adc + stm32/tone_alarm + tap_esc + telemetry # all available telemetry drivers + test_ppm + vmount + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + micrortps_bridge + navigator + position_estimator_inav + sensors + uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + bl_update + config + dumpfile + esc_calib + hardfault_log + led_control + mixer + motor_ramp + motor_test + mtd + nshterm + param + perf + pwm + reboot + reflect + sd_bench + shutdown + tests # tests and test runner + top + topic_listener + tune_control + usb_connected + ver + + EXAMPLES + bottle_drop # OBC challenge + fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + hwtest # Hardware test + #matlab_csv_serial + #publisher + px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + rover_steering_control # Rover example app + segway + #subscriber + uuv_example_app + + ) diff --git a/src/drivers/boards/px4fmu-v4/CMakeLists.txt b/boards/px4/fmu-v4/src/CMakeLists.txt similarity index 100% rename from src/drivers/boards/px4fmu-v4/CMakeLists.txt rename to boards/px4/fmu-v4/src/CMakeLists.txt diff --git a/src/drivers/boards/px4fmu-v4/board_config.h b/boards/px4/fmu-v4/src/board_config.h similarity index 99% rename from src/drivers/boards/px4fmu-v4/board_config.h rename to boards/px4/fmu-v4/src/board_config.h index 95b9c9d9dc..bcfffe64d8 100644 --- a/src/drivers/boards/px4fmu-v4/board_config.h +++ b/boards/px4/fmu-v4/src/board_config.h @@ -387,7 +387,7 @@ extern void stm32_usbinitialize(void); extern void board_peripheral_reset(int ms); -#include "../common/board_common.h" +#include <drivers/boards/common/board_common.h> #endif /* __ASSEMBLY__ */ diff --git a/src/drivers/boards/px4fmu-v4pro/can.c b/boards/px4/fmu-v4/src/can.c similarity index 100% rename from src/drivers/boards/px4fmu-v4pro/can.c rename to boards/px4/fmu-v4/src/can.c diff --git a/src/drivers/boards/px4fmu-v4/init.c b/boards/px4/fmu-v4/src/init.c similarity index 100% rename from src/drivers/boards/px4fmu-v4/init.c rename to boards/px4/fmu-v4/src/init.c diff --git a/src/drivers/boards/px4fmu-v4/led.c b/boards/px4/fmu-v4/src/led.c similarity index 100% rename from src/drivers/boards/px4fmu-v4/led.c rename to boards/px4/fmu-v4/src/led.c diff --git a/src/drivers/boards/px4fmu-v4/spi.c b/boards/px4/fmu-v4/src/spi.c similarity index 100% rename from src/drivers/boards/px4fmu-v4/spi.c rename to boards/px4/fmu-v4/src/spi.c diff --git a/src/drivers/boards/px4fmu-v4/timer_config.c b/boards/px4/fmu-v4/src/timer_config.c similarity index 100% rename from src/drivers/boards/px4fmu-v4/timer_config.c rename to boards/px4/fmu-v4/src/timer_config.c diff --git a/src/drivers/boards/px4fmu-v4/usb.c b/boards/px4/fmu-v4/src/usb.c similarity index 100% rename from src/drivers/boards/px4fmu-v4/usb.c rename to boards/px4/fmu-v4/src/usb.c diff --git a/boards/px4/fmu-v4/stackcheck.cmake b/boards/px4/fmu-v4/stackcheck.cmake new file mode 100644 index 0000000000..c41cee1348 --- /dev/null +++ b/boards/px4/fmu-v4/stackcheck.cmake @@ -0,0 +1,114 @@ + +px4_add_board( + PLATFORM nuttx + VENDOR px4 + MODEL fmu-v4 + LABEL stackcheck + ARCH cortex-m4 + ROMFS + ROMFSROOT px4fmu_common + TESTING + #UAVCAN_INTERFACES 1 + + SERIAL_PORTS + GPS1:/dev/ttyS3 + TEL1:/dev/ttyS1 + TEL2:/dev/ttyS2 + + DRIVERS + barometer # all available barometer drivers + batt_smbus + blinkm + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + heater + imu # all available imu drivers + irlock + magnetometer # all available magnetometer drivers + mkblctrl + oreoled + pca9685 + pwm_input + pwm_out_sim + px4flow + px4fmu + rc_input + rgbled + rgbled_ncp5623c + stm32 + stm32/adc + stm32/tone_alarm + tap_esc + telemetry # all available telemetry drivers + test_ppm + vmount + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + position_estimator_inav + sensors + #uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + bl_update + config + dumpfile + esc_calib + hardfault_log + led_control + mixer + motor_ramp + motor_test + mtd + nshterm + param + perf + pwm + reboot + reflect + sd_bench + shutdown + tests # tests and test runner + top + topic_listener + tune_control + usb_connected + ver + + EXAMPLES + #bottle_drop # OBC challenge + #fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + #hwtest # Hardware test + #matlab_csv_serial + #publisher + #px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + #px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + #rover_steering_control # Rover example app + #segway + #subscriber + #uuv_example_app + + ) diff --git a/boards/px4/fmu-v4pro/default.cmake b/boards/px4/fmu-v4pro/default.cmake new file mode 100644 index 0000000000..25a0f58517 --- /dev/null +++ b/boards/px4/fmu-v4pro/default.cmake @@ -0,0 +1,128 @@ + +px4_add_board( + PLATFORM nuttx + VENDOR px4 + MODEL fmu-v4pro + LABEL default + ARCH cortex-m4 + ROMFS + ROMFSROOT px4fmu_common + IO px4io-v2_default + TESTING + UAVCAN_INTERFACES 2 + + SERIAL_PORTS + GPS1:/dev/ttyS3 + TEL1:/dev/ttyS1 + TEL2:/dev/ttyS2 + TEL3:/dev/ttyS0 + TEL4:/dev/ttyS6 + + DRIVERS + barometer # all available barometer drivers + batt_smbus + blinkm + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + #heater + #imu # all available imu drivers + imu/bmi160 + imu/bma180 + imu/mpu6000 + imu/l3gd20 + imu/mpu9250 + irlock + magnetometer # all available magnetometer drivers + #md25 + mkblctrl + oreoled + pca8574 + pca9685 + #pmw3901 + #protocol_splitter + pwm_input + pwm_out_sim + px4flow + px4fmu + px4io + rgbled + rgbled_ncp5623c + #rgbled_pwm + roboclaw + stm32 + stm32/adc + stm32/tone_alarm + tap_esc + telemetry # all available telemetry drivers + test_ppm + vmount + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + position_estimator_inav + sensors + uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + bl_update + config + dumpfile + esc_calib + hardfault_log + led_control + mixer + motor_ramp + motor_test + mtd + nshterm + param + perf + pwm + reboot + reflect + sd_bench + shutdown + tests # tests and test runner + top + topic_listener + tune_control + usb_connected + ver + + EXAMPLES + bottle_drop # OBC challenge + fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + hwtest # Hardware test + #matlab_csv_serial + #publisher + px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + rover_steering_control # Rover example app + segway + #subscriber + uuv_example_app + + ) diff --git a/platforms/nuttx/Images/px4fmu-v4pro.prototype b/boards/px4/fmu-v4pro/firmware.prototype similarity index 100% rename from platforms/nuttx/Images/px4fmu-v4pro.prototype rename to boards/px4/fmu-v4pro/firmware.prototype diff --git a/platforms/nuttx/nuttx-configs/px4fmu-v4pro/Kconfig b/boards/px4/fmu-v4pro/nuttx-config/Kconfig similarity index 100% rename from platforms/nuttx/nuttx-configs/px4fmu-v4pro/Kconfig rename to boards/px4/fmu-v4pro/nuttx-config/Kconfig diff --git a/platforms/nuttx/nuttx-configs/px4fmu-v4pro/include/board.h b/boards/px4/fmu-v4pro/nuttx-config/include/board.h similarity index 100% rename from platforms/nuttx/nuttx-configs/px4fmu-v4pro/include/board.h rename to boards/px4/fmu-v4pro/nuttx-config/include/board.h diff --git a/platforms/nuttx/nuttx-configs/px4fmu-v4pro/nsh/defconfig b/boards/px4/fmu-v4pro/nuttx-config/nsh/defconfig similarity index 100% rename from platforms/nuttx/nuttx-configs/px4fmu-v4pro/nsh/defconfig rename to boards/px4/fmu-v4pro/nuttx-config/nsh/defconfig diff --git a/platforms/nuttx/nuttx-configs/px4fmu-v4pro/scripts/ld.script b/boards/px4/fmu-v4pro/nuttx-config/scripts/ld.script similarity index 93% rename from platforms/nuttx/nuttx-configs/px4fmu-v4pro/scripts/ld.script rename to boards/px4/fmu-v4pro/nuttx-config/scripts/ld.script index c54adf3178..93e1515560 100644 --- a/platforms/nuttx/nuttx-configs/px4fmu-v4pro/scripts/ld.script +++ b/boards/px4/fmu-v4pro/nuttx-config/scripts/ld.script @@ -1,5 +1,5 @@ /**************************************************************************** - * configs/px4fmu-v4pro/common/ld.script + * scripts/ld.script * * Copyright (C) 2011, 2016 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <gnutt@nuttx.org> @@ -72,13 +72,13 @@ SECTIONS .text : { _stext = ABSOLUTE(.); *(.vectors) - . = ALIGN(32); - /* - This signature provides the bootloader with a way to delay booting - */ - _bootdelay_signature = ABSOLUTE(.); - FILL(0xffecc2925d7d05c5) - . += 8; + . = ALIGN(32); + /* + This signature provides the bootloader with a way to delay booting + */ + _bootdelay_signature = ABSOLUTE(.); + FILL(0xffecc2925d7d05c5) + . += 8; *(.text .text.*) *(.fixup) *(.gnu.warning) diff --git a/boards/px4/fmu-v4pro/rtps.cmake b/boards/px4/fmu-v4pro/rtps.cmake new file mode 100644 index 0000000000..c03492ba11 --- /dev/null +++ b/boards/px4/fmu-v4pro/rtps.cmake @@ -0,0 +1,129 @@ + +px4_add_board( + PLATFORM nuttx + VENDOR px4 + MODEL fmu-v4pro + LABEL default + ARCH cortex-m4 + ROMFS + ROMFSROOT px4fmu_common + IO px4io-v2_default + TESTING + UAVCAN_INTERFACES 2 + + SERIAL_PORTS + GPS1:/dev/ttyS3 + TEL1:/dev/ttyS1 + TEL2:/dev/ttyS2 + TEL3:/dev/ttyS0 + TEL4:/dev/ttyS6 + + DRIVERS + barometer # all available barometer drivers + batt_smbus + blinkm + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + #heater + #imu # all available imu drivers + imu/bmi160 + imu/bma180 + imu/mpu6000 + imu/l3gd20 + imu/mpu9250 + irlock + magnetometer # all available magnetometer drivers + #md25 + mkblctrl + oreoled + pca8574 + pca9685 + #pmw3901 + protocol_splitter + pwm_input + pwm_out_sim + px4flow + px4fmu + px4io + rgbled + rgbled_ncp5623c + #rgbled_pwm + roboclaw + stm32 + stm32/adc + stm32/tone_alarm + tap_esc + telemetry # all available telemetry drivers + test_ppm + vmount + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + micrortps_bridge + navigator + position_estimator_inav + sensors + uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + bl_update + config + dumpfile + esc_calib + hardfault_log + led_control + mixer + motor_ramp + motor_test + mtd + nshterm + param + perf + pwm + reboot + reflect + sd_bench + shutdown + tests # tests and test runner + top + topic_listener + tune_control + usb_connected + ver + + EXAMPLES + bottle_drop # OBC challenge + fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + hwtest # Hardware test + #matlab_csv_serial + #publisher + px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + rover_steering_control # Rover example app + segway + #subscriber + uuv_example_app + + ) diff --git a/src/drivers/boards/px4fmu-v4pro/CMakeLists.txt b/boards/px4/fmu-v4pro/src/CMakeLists.txt similarity index 100% rename from src/drivers/boards/px4fmu-v4pro/CMakeLists.txt rename to boards/px4/fmu-v4pro/src/CMakeLists.txt diff --git a/src/drivers/boards/px4fmu-v4pro/board_config.h b/boards/px4/fmu-v4pro/src/board_config.h similarity index 99% rename from src/drivers/boards/px4fmu-v4pro/board_config.h rename to boards/px4/fmu-v4pro/src/board_config.h index 7b8913bf6f..745440d696 100644 --- a/src/drivers/boards/px4fmu-v4pro/board_config.h +++ b/boards/px4/fmu-v4pro/src/board_config.h @@ -432,7 +432,7 @@ extern void board_peripheral_reset(int ms); int nsh_archinitialize(void); #endif -#include "../common/board_common.h" +#include <drivers/boards/common/board_common.h> #endif /* __ASSEMBLY__ */ diff --git a/src/drivers/boards/s2740vc-v1/can.c b/boards/px4/fmu-v4pro/src/can.c similarity index 94% rename from src/drivers/boards/s2740vc-v1/can.c rename to boards/px4/fmu-v4pro/src/can.c index cc2e5e4793..7234c4eb8d 100644 --- a/src/drivers/boards/s2740vc-v1/can.c +++ b/boards/px4/fmu-v4pro/src/can.c @@ -1,6 +1,6 @@ /**************************************************************************** * - * Copyright (C) 2015 PX4 Development Team. All rights reserved. + * Copyright (C) 2012 PX4 Development Team. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -32,7 +32,7 @@ ****************************************************************************/ /** - * @file pxesc_can.c + * @file px4fmu_can.c * * Board-specific CAN functions. */ @@ -56,13 +56,12 @@ #include "stm32_can.h" #include "board_config.h" -#if defined(CONFIG_CAN) +#ifdef CONFIG_CAN /************************************************************************************ * Pre-processor Definitions ************************************************************************************/ /* Configuration ********************************************************************/ -/* The STM32F107VC supports CAN1 and CAN2 */ #if defined(CONFIG_STM32_CAN1) && defined(CONFIG_STM32_CAN2) # warning "Both CAN1 and CAN2 are enabled. Assuming only CAN1." @@ -93,7 +92,7 @@ int can_devinit(void); * ************************************************************************************/ -__EXPORT int can_devinit(void) +int can_devinit(void) { static bool initialized = false; struct can_dev_s *can; @@ -128,4 +127,4 @@ __EXPORT int can_devinit(void) return OK; } -#endif /* CONFIG_CAN && CONFIG_STM32_CAN1 */ +#endif diff --git a/src/drivers/boards/px4fmu-v4pro/init.c b/boards/px4/fmu-v4pro/src/init.c similarity index 100% rename from src/drivers/boards/px4fmu-v4pro/init.c rename to boards/px4/fmu-v4pro/src/init.c diff --git a/src/drivers/boards/px4fmu-v4pro/led.c b/boards/px4/fmu-v4pro/src/led.c similarity index 100% rename from src/drivers/boards/px4fmu-v4pro/led.c rename to boards/px4/fmu-v4pro/src/led.c diff --git a/src/drivers/boards/px4fmu-v4pro/spi.c b/boards/px4/fmu-v4pro/src/spi.c similarity index 100% rename from src/drivers/boards/px4fmu-v4pro/spi.c rename to boards/px4/fmu-v4pro/src/spi.c diff --git a/src/drivers/boards/px4fmu-v4pro/timer_config.c b/boards/px4/fmu-v4pro/src/timer_config.c similarity index 100% rename from src/drivers/boards/px4fmu-v4pro/timer_config.c rename to boards/px4/fmu-v4pro/src/timer_config.c diff --git a/boards/px4/fmu-v4pro/src/usb.c b/boards/px4/fmu-v4pro/src/usb.c new file mode 100644 index 0000000000..4b455309db --- /dev/null +++ b/boards/px4/fmu-v4pro/src/usb.c @@ -0,0 +1,107 @@ +/**************************************************************************** + * + * Copyright (C) 2012 PX4 Development Team. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name PX4 nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************/ + +/** + * @file px4fmu_usb.c + * + * Board-specific USB functions. + */ + +/************************************************************************************ + * Included Files + ************************************************************************************/ + +#include <px4_config.h> + +#include <sys/types.h> +#include <stdint.h> +#include <stdbool.h> +#include <debug.h> + +#include <nuttx/usb/usbdev.h> +#include <nuttx/usb/usbdev_trace.h> + +#include <up_arch.h> +#include <stm32.h> +#include "board_config.h" + +/************************************************************************************ + * Definitions + ************************************************************************************/ + +/************************************************************************************ + * Private Functions + ************************************************************************************/ + +/************************************************************************************ + * Public Functions + ************************************************************************************/ + +/************************************************************************************ + * Name: stm32_usbinitialize + * + * Description: + * Called to setup USB-related GPIO pins for the PX4FMU board. + * + ************************************************************************************/ + +__EXPORT void stm32_usbinitialize(void) +{ + /* The OTG FS has an internal soft pull-up */ + + /* Configure the OTG FS VBUS sensing GPIO, Power On, and Overcurrent GPIOs */ + +#ifdef CONFIG_STM32_OTGFS + stm32_configgpio(GPIO_OTGFS_VBUS); + /* XXX We only support device mode + stm32_configgpio(GPIO_OTGFS_PWRON); + stm32_configgpio(GPIO_OTGFS_OVER); + */ +#endif +} + +/************************************************************************************ + * Name: stm32_usbsuspend + * + * Description: + * Board logic must provide the stm32_usbsuspend logic if the USBDEV driver is + * used. This function is called whenever the USB enters or leaves suspend mode. + * This is an opportunity for the board logic to shutdown clocks, power, etc. + * while the USB is suspended. + * + ************************************************************************************/ + +__EXPORT void stm32_usbsuspend(FAR struct usbdev_s *dev, bool resume) +{ + uinfo("resume: %d\n", resume); +} diff --git a/boards/px4/fmu-v5/default.cmake b/boards/px4/fmu-v5/default.cmake new file mode 100644 index 0000000000..8ede289eab --- /dev/null +++ b/boards/px4/fmu-v5/default.cmake @@ -0,0 +1,129 @@ + +px4_add_board( + PLATFORM nuttx + VENDOR px4 + MODEL fmu-v5 + LABEL default + ARCH cortex-m7 + ROMFS + ROMFSROOT px4fmu_common + IO px4io-v2_default + TESTING + UAVCAN_INTERFACES 2 + + SERIAL_PORTS + GPS1:/dev/ttyS0 + TEL1:/dev/ttyS1 + TEL2:/dev/ttyS2 + TEL4:/dev/ttyS3 + + DRIVERS + barometer # all available barometer drivers + batt_smbus + blinkm + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + #heater + #imu # all available imu drivers + imu/adis16448 + imu/bmi055 + imu/bmi160 + imu/bma180 + imu/mpu6000 + imu/mpu9250 + irlock + magnetometer # all available magnetometer drivers + #md25 + mkblctrl + oreoled + pca8574 + pca9685 + pmw3901 + #protocol_splitter + pwm_input + pwm_out_sim + px4flow + px4fmu + px4io + rc_input + rgbled + rgbled_ncp5623c + rgbled_pwm + roboclaw + stm32 + stm32/adc + stm32/tone_alarm + tap_esc + telemetry # all available telemetry drivers + test_ppm + vmount + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + position_estimator_inav + sensors + uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + bl_update + config + dumpfile + esc_calib + hardfault_log + led_control + mixer + motor_ramp + motor_test + mtd + nshterm + param + perf + pwm + reboot + reflect + sd_bench + shutdown + tests # tests and test runner + top + topic_listener + tune_control + usb_connected + ver + + EXAMPLES + bottle_drop # OBC challenge + fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + hwtest # Hardware test + #matlab_csv_serial + #publisher + px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + rover_steering_control # Rover example app + segway + #subscriber + uuv_example_app + + ) diff --git a/platforms/nuttx/Images/px4fmu-v5.prototype b/boards/px4/fmu-v5/firmware.prototype similarity index 100% rename from platforms/nuttx/Images/px4fmu-v5.prototype rename to boards/px4/fmu-v5/firmware.prototype diff --git a/platforms/nuttx/nuttx-configs/px4fmu-v5/Kconfig b/boards/px4/fmu-v5/nuttx-config/Kconfig similarity index 100% rename from platforms/nuttx/nuttx-configs/px4fmu-v5/Kconfig rename to boards/px4/fmu-v5/nuttx-config/Kconfig diff --git a/platforms/nuttx/nuttx-configs/px4fmu-v5/include/board.h b/boards/px4/fmu-v5/nuttx-config/include/board.h old mode 100755 new mode 100644 similarity index 100% rename from platforms/nuttx/nuttx-configs/px4fmu-v5/include/board.h rename to boards/px4/fmu-v5/nuttx-config/include/board.h diff --git a/platforms/nuttx/nuttx-configs/px4fmu-v5/nsh/defconfig b/boards/px4/fmu-v5/nuttx-config/nsh/defconfig similarity index 100% rename from platforms/nuttx/nuttx-configs/px4fmu-v5/nsh/defconfig rename to boards/px4/fmu-v5/nuttx-config/nsh/defconfig diff --git a/platforms/nuttx/nuttx-configs/px4fmu-v5/scripts/ld.script b/boards/px4/fmu-v5/nuttx-config/scripts/ld.script similarity index 99% rename from platforms/nuttx/nuttx-configs/px4fmu-v5/scripts/ld.script rename to boards/px4/fmu-v5/nuttx-config/scripts/ld.script index 3be39dd6c0..fae1d95de0 100644 --- a/platforms/nuttx/nuttx-configs/px4fmu-v5/scripts/ld.script +++ b/boards/px4/fmu-v5/nuttx-config/scripts/ld.script @@ -1,5 +1,5 @@ /**************************************************************************** - * nuttx-configs/px4nfmu-v5/scripts/script.ld + * scripts/script.ld * * Copyright (C) 2016 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <gnutt@nuttx.org> diff --git a/platforms/nuttx/nuttx-configs/px4fmu-v5/stackcheck/defconfig b/boards/px4/fmu-v5/nuttx-config/stackcheck/defconfig similarity index 100% rename from platforms/nuttx/nuttx-configs/px4fmu-v5/stackcheck/defconfig rename to boards/px4/fmu-v5/nuttx-config/stackcheck/defconfig diff --git a/boards/px4/fmu-v5/rtps.cmake b/boards/px4/fmu-v5/rtps.cmake new file mode 100644 index 0000000000..a4500fb1db --- /dev/null +++ b/boards/px4/fmu-v5/rtps.cmake @@ -0,0 +1,127 @@ + +px4_add_board( + PLATFORM nuttx + VENDOR px4 + MODEL fmu-v5 + LABEL rtps + ARCH cortex-m7 + ROMFS + ROMFSROOT px4fmu_common + IO px4io-v2_default + TESTING + UAVCAN_INTERFACES 2 + + SERIAL_PORTS + GPS1:/dev/ttyS0 + TEL1:/dev/ttyS1 + TEL2:/dev/ttyS2 + TEL4:/dev/ttyS3 + + DRIVERS + barometer # all available barometer drivers + batt_smbus + blinkm + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + #heater + #imu # all available imu drivers + imu/adis16448 + imu/bmi055 + imu/mpu6000 + irlock + magnetometer # all available magnetometer drivers + #md25 + mkblctrl + oreoled + pca8574 + pca9685 + pmw3901 + protocol_splitter + pwm_input + pwm_out_sim + px4flow + px4fmu + px4io + rc_input + rgbled + rgbled_ncp5623c + rgbled_pwm + roboclaw + stm32 + stm32/adc + stm32/tone_alarm + tap_esc + telemetry # all available telemetry drivers + test_ppm + vmount + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + micrortps_bridge + navigator + position_estimator_inav + sensors + uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + bl_update + config + dumpfile + esc_calib + hardfault_log + led_control + mixer + motor_ramp + motor_test + mtd + nshterm + param + perf + pwm + reboot + reflect + sd_bench + shutdown + tests # tests and test runner + top + topic_listener + tune_control + usb_connected + ver + + EXAMPLES + bottle_drop # OBC challenge + fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + hwtest # Hardware test + #matlab_csv_serial + #publisher + px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + rover_steering_control # Rover example app + segway + #subscriber + uuv_example_app + + ) diff --git a/src/drivers/boards/px4fmu-v5/CMakeLists.txt b/boards/px4/fmu-v5/src/CMakeLists.txt similarity index 100% rename from src/drivers/boards/px4fmu-v5/CMakeLists.txt rename to boards/px4/fmu-v5/src/CMakeLists.txt diff --git a/src/drivers/boards/px4fmu-v5/board_config.h b/boards/px4/fmu-v5/src/board_config.h similarity index 99% rename from src/drivers/boards/px4fmu-v5/board_config.h rename to boards/px4/fmu-v5/src/board_config.h index f501cefbe6..ebc37ac2ef 100644 --- a/src/drivers/boards/px4fmu-v5/board_config.h +++ b/boards/px4/fmu-v5/src/board_config.h @@ -827,7 +827,7 @@ extern void board_peripheral_reset(int ms); int nsh_archinitialize(void); #endif -#include "../common/board_common.h" +#include <drivers/boards/common/board_common.h> #endif /* __ASSEMBLY__ */ diff --git a/src/drivers/boards/px4fmu-v5/can.c b/boards/px4/fmu-v5/src/can.c similarity index 100% rename from src/drivers/boards/px4fmu-v5/can.c rename to boards/px4/fmu-v5/src/can.c diff --git a/src/drivers/boards/px4fmu-v5/init.c b/boards/px4/fmu-v5/src/init.c similarity index 100% rename from src/drivers/boards/px4fmu-v5/init.c rename to boards/px4/fmu-v5/src/init.c diff --git a/src/drivers/boards/px4fmu-v5/led.c b/boards/px4/fmu-v5/src/led.c similarity index 100% rename from src/drivers/boards/px4fmu-v5/led.c rename to boards/px4/fmu-v5/src/led.c diff --git a/src/drivers/boards/px4fmu-v5/manifest.c b/boards/px4/fmu-v5/src/manifest.c similarity index 100% rename from src/drivers/boards/px4fmu-v5/manifest.c rename to boards/px4/fmu-v5/src/manifest.c diff --git a/src/drivers/boards/px4fmu-v5/sdio.c b/boards/px4/fmu-v5/src/sdio.c similarity index 100% rename from src/drivers/boards/px4fmu-v5/sdio.c rename to boards/px4/fmu-v5/src/sdio.c diff --git a/src/drivers/boards/px4fmu-v5/spi.c b/boards/px4/fmu-v5/src/spi.c similarity index 100% rename from src/drivers/boards/px4fmu-v5/spi.c rename to boards/px4/fmu-v5/src/spi.c diff --git a/src/drivers/boards/px4fmu-v5/timer_config.c b/boards/px4/fmu-v5/src/timer_config.c similarity index 100% rename from src/drivers/boards/px4fmu-v5/timer_config.c rename to boards/px4/fmu-v5/src/timer_config.c diff --git a/src/drivers/boards/px4fmu-v5/usb.c b/boards/px4/fmu-v5/src/usb.c similarity index 100% rename from src/drivers/boards/px4fmu-v5/usb.c rename to boards/px4/fmu-v5/src/usb.c diff --git a/boards/px4/fmu-v5/stackcheck.cmake b/boards/px4/fmu-v5/stackcheck.cmake new file mode 100644 index 0000000000..e0c2955a95 --- /dev/null +++ b/boards/px4/fmu-v5/stackcheck.cmake @@ -0,0 +1,126 @@ + +px4_add_board( + PLATFORM nuttx + VENDOR px4 + MODEL fmu-v5 + LABEL stackcheck + ARCH cortex-m7 + ROMFS + ROMFSROOT px4fmu_common + IO px4io-v2_default + TESTING + #UAVCAN_INTERFACES 2 + + SERIAL_PORTS + GPS1:/dev/ttyS0 + TEL1:/dev/ttyS1 + TEL2:/dev/ttyS2 + TEL4:/dev/ttyS3 + + DRIVERS + barometer # all available barometer drivers + batt_smbus + blinkm + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + #heater + #imu # all available imu drivers + imu/adis16448 + imu/bmi055 + imu/mpu6000 + irlock + magnetometer # all available magnetometer drivers + #md25 + mkblctrl + oreoled + pca8574 + pca9685 + pmw3901 + protocol_splitter + pwm_input + pwm_out_sim + px4flow + px4fmu + px4io + rc_input + rgbled + rgbled_ncp5623c + rgbled_pwm + roboclaw + stm32 + stm32/adc + stm32/tone_alarm + tap_esc + telemetry # all available telemetry drivers + test_ppm + vmount + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + position_estimator_inav + sensors + #uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + bl_update + config + dumpfile + esc_calib + hardfault_log + led_control + mixer + motor_ramp + motor_test + mtd + nshterm + param + perf + pwm + reboot + reflect + sd_bench + shutdown + tests # tests and test runner + top + topic_listener + tune_control + usb_connected + ver + + EXAMPLES + #bottle_drop # OBC challenge + #fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + #hwtest # Hardware test + #matlab_csv_serial + #publisher + #px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + #px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + #rover_steering_control # Rover example app + #segway + #subscriber + #uuv_example_app + + ) diff --git a/boards/px4/io-v2/default.cmake b/boards/px4/io-v2/default.cmake new file mode 100644 index 0000000000..e855de0a61 --- /dev/null +++ b/boards/px4/io-v2/default.cmake @@ -0,0 +1,11 @@ + +px4_add_board( + PLATFORM nuttx + VENDOR px4 + MODEL io-v2 + ARCH cortex-m3 + DRIVERS + stm32 + MODULES + px4iofirmware + ) diff --git a/platforms/nuttx/Images/px4io-v2.prototype b/boards/px4/io-v2/firmware.prototype similarity index 100% rename from platforms/nuttx/Images/px4io-v2.prototype rename to boards/px4/io-v2/firmware.prototype diff --git a/platforms/nuttx/nuttx-configs/px4io-v2/include/board.h b/boards/px4/io-v2/nuttx-config/include/board.h old mode 100755 new mode 100644 similarity index 100% rename from platforms/nuttx/nuttx-configs/px4io-v2/include/board.h rename to boards/px4/io-v2/nuttx-config/include/board.h diff --git a/platforms/nuttx/nuttx-configs/px4io-v2/nsh/defconfig b/boards/px4/io-v2/nuttx-config/nsh/defconfig old mode 100755 new mode 100644 similarity index 100% rename from platforms/nuttx/nuttx-configs/px4io-v2/nsh/defconfig rename to boards/px4/io-v2/nuttx-config/nsh/defconfig diff --git a/platforms/nuttx/nuttx-configs/px4io-v2/scripts/ld.script b/boards/px4/io-v2/nuttx-config/scripts/ld.script old mode 100755 new mode 100644 similarity index 100% rename from platforms/nuttx/nuttx-configs/px4io-v2/scripts/ld.script rename to boards/px4/io-v2/nuttx-config/scripts/ld.script diff --git a/src/drivers/boards/px4io-v2/CMakeLists.txt b/boards/px4/io-v2/src/CMakeLists.txt similarity index 100% rename from src/drivers/boards/px4io-v2/CMakeLists.txt rename to boards/px4/io-v2/src/CMakeLists.txt diff --git a/src/drivers/boards/px4io-v2/board_config.h b/boards/px4/io-v2/src/board_config.h similarity index 99% rename from src/drivers/boards/px4io-v2/board_config.h rename to boards/px4/io-v2/src/board_config.h index c3acc51244..475d450379 100644 --- a/src/drivers/boards/px4io-v2/board_config.h +++ b/boards/px4/io-v2/src/board_config.h @@ -47,7 +47,7 @@ #include <nuttx/compiler.h> #include <stdint.h> -#include "../common/board_common.h" +#include <drivers/boards/common/board_common.h> /****************************************************************************** * Definitions diff --git a/src/drivers/boards/px4io-v2/init.c b/boards/px4/io-v2/src/init.c similarity index 100% rename from src/drivers/boards/px4io-v2/init.c rename to boards/px4/io-v2/src/init.c diff --git a/src/drivers/boards/px4io-v2/timer_config.c b/boards/px4/io-v2/src/timer_config.c similarity index 100% rename from src/drivers/boards/px4io-v2/timer_config.c rename to boards/px4/io-v2/src/timer_config.c diff --git a/boards/px4/raspberrypi/cross.cmake b/boards/px4/raspberrypi/cross.cmake new file mode 100644 index 0000000000..9febb1c145 --- /dev/null +++ b/boards/px4/raspberrypi/cross.cmake @@ -0,0 +1,81 @@ + +px4_add_board( + VENDOR px4 + MODEL raspberrypi + LABEL cross + PLATFORM posix + ARCH cortex-a53 + TOOLCHAIN Toolchain-arm-linux-gnueabihf + TESTING + + DRIVERS + #barometer # all available barometer drivers + batt_smbus + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + #imu # all available imu drivers + #magnetometer # all available magnetometer drivers + pwm_out_sim + #telemetry # all available telemetry drivers + vmount + + linux_gpio + linux_pwm_out + linux_sbus + rpi_rc_in + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + #gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + position_estimator_inav + sensors + #uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + dyn + esc_calib + led_control + mixer + motor_ramp + param + perf + pwm + reboot + sd_bench + tests # tests and test runner + top + topic_listener + tune_control + ver + + EXAMPLES + bottle_drop # OBC challenge + fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + #hwtest # Hardware test + px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + rover_steering_control # Rover example app + segway + ) diff --git a/boards/px4/raspberrypi/native.cmake b/boards/px4/raspberrypi/native.cmake new file mode 100644 index 0000000000..7b2256704d --- /dev/null +++ b/boards/px4/raspberrypi/native.cmake @@ -0,0 +1,80 @@ + +px4_add_board( + VENDOR px4 + MODEL raspberrypi + LABEL native + PLATFORM posix + TOOLCHAIN Toolchain-native + TESTING + + DRIVERS + #barometer # all available barometer drivers + batt_smbus + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + #imu # all available imu drivers + #magnetometer # all available magnetometer drivers + pwm_out_sim + #telemetry # all available telemetry drivers + vmount + + linux_gpio + linux_pwm_out + linux_sbus + rpi_rc_in + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + #gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + position_estimator_inav + sensors + #uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + dyn + esc_calib + led_control + mixer + motor_ramp + param + perf + pwm + reboot + sd_bench + tests # tests and test runner + top + topic_listener + tune_control + ver + + EXAMPLES + bottle_drop # OBC challenge + fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + #hwtest # Hardware test + px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + rover_steering_control # Rover example app + segway + ) diff --git a/src/drivers/boards/bebop/CMakeLists.txt b/boards/px4/raspberrypi/src/CMakeLists.txt similarity index 94% rename from src/drivers/boards/bebop/CMakeLists.txt rename to boards/px4/raspberrypi/src/CMakeLists.txt index d95d0043bc..0b4ba0d6ac 100644 --- a/src/drivers/boards/bebop/CMakeLists.txt +++ b/boards/px4/raspberrypi/src/CMakeLists.txt @@ -30,6 +30,7 @@ # POSSIBILITY OF SUCH DAMAGE. # ############################################################################ + px4_add_library(drivers_board - ../common/board_identity.c + ${PX4_SOURCE_DIR}/src/drivers/boards/common/board_identity.c # TODO: this is horrible and should be fixed ) diff --git a/boards/px4/raspberrypi/src/board_config.h b/boards/px4/raspberrypi/src/board_config.h new file mode 100644 index 0000000000..d43354ba45 --- /dev/null +++ b/boards/px4/raspberrypi/src/board_config.h @@ -0,0 +1,57 @@ +/**************************************************************************** + * + * Copyright (c) 2017 PX4 Development Team. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name PX4 nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************/ + +/** + * @file board_config.h + * + * RPI internal definitions + */ + +#pragma once + +#define BOARD_OVERRIDE_UUID "RPIID00000000000" // must be of length 16 +#define PX4_SOC_ARCH_ID PX4_SOC_ARCH_ID_RPI + +#define BOARD_NAME "RPI" + +#define BOARD_HAS_NO_RESET +#define BOARD_HAS_NO_BOOTLOADER + +/* + * I2C busses + */ +#define PX4_I2C_BUS_EXPANSION 1 +#define PX4_NUMBER_I2C_BUSES 1 + +#include <system_config.h> +#include <drivers/boards/common/board_common.h> diff --git a/boards/px4/sitl/default.cmake b/boards/px4/sitl/default.cmake new file mode 100644 index 0000000000..6d959eecdc --- /dev/null +++ b/boards/px4/sitl/default.cmake @@ -0,0 +1,96 @@ + +px4_add_board( + PLATFORM posix + VENDOR px4 + MODEL sitl + LABEL default + TESTING + + DRIVERS + #barometer # all available barometer drivers + batt_smbus + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + #imu # all available imu drivers + #magnetometer # all available magnetometer drivers + pwm_out_sim + #telemetry # all available telemetry drivers + vmount + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + #gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + position_estimator_inav + sensors + simulator + #uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + #bl_update + #config + #dumpfile + dyn + esc_calib + #hardfault_log + led_control + mixer + motor_ramp + #mtd + #nshterm + param + perf + pwm + reboot + sd_bench + shutdown + tests # tests and test runner + top + topic_listener + tune_control + ver + + EXAMPLES + bottle_drop # OBC challenge + fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + #hwtest # Hardware test + px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + rover_steering_control # Rover example app + segway + ) + +set(config_sitl_viewer jmavsim CACHE STRING "viewer for sitl") +set_property(CACHE config_sitl_viewer PROPERTY STRINGS "jmavsim;none") + +set(config_sitl_debugger disable CACHE STRING "debugger for sitl") +set_property(CACHE config_sitl_debugger PROPERTY STRINGS "disable;gdb;lldb") + +# If the environment variable 'replay' is defined, we are building with replay +# support. In this case, we enable the orb publisher rules. +set(REPLAY_FILE "$ENV{replay}") +if(REPLAY_FILE) + message("Building with uorb publisher rules support") + add_definitions(-DORB_USE_PUBLISHER_RULES) +endif() diff --git a/boards/px4/sitl/rtps.cmake b/boards/px4/sitl/rtps.cmake new file mode 100644 index 0000000000..09946119a7 --- /dev/null +++ b/boards/px4/sitl/rtps.cmake @@ -0,0 +1,98 @@ + +px4_add_board( + PLATFORM posix + VENDOR px4 + MODEL sitl + LABEL rtps + TESTING + + DRIVERS + #barometer # all available barometer drivers + batt_smbus + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + #imu # all available imu drivers + #magnetometer # all available magnetometer drivers + #protocol_splitter + pwm_out_sim + #telemetry # all available telemetry drivers + vmount + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + #gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + micrortps_bridge + navigator + position_estimator_inav + sensors + simulator + #uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + #bl_update + #config + #dumpfile + dyn + esc_calib + #hardfault_log + led_control + mixer + motor_ramp + #mtd + #nshterm + param + perf + pwm + reboot + sd_bench + shutdown + tests # tests and test runner + top + topic_listener + tune_control + ver + + EXAMPLES + bottle_drop # OBC challenge + fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + #hwtest # Hardware test + px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + rover_steering_control # Rover example app + segway + ) + +set(config_sitl_viewer jmavsim CACHE STRING "viewer for sitl") +set_property(CACHE config_sitl_viewer PROPERTY STRINGS "jmavsim;none") + +set(config_sitl_debugger disable CACHE STRING "debugger for sitl") +set_property(CACHE config_sitl_debugger PROPERTY STRINGS "disable;gdb;lldb") + +# If the environment variable 'replay' is defined, we are building with replay +# support. In this case, we enable the orb publisher rules. +set(REPLAY_FILE "$ENV{replay}") +if(REPLAY_FILE) + message("Building with uorb publisher rules support") + add_definitions(-DORB_USE_PUBLISHER_RULES) +endif() diff --git a/src/drivers/boards/eagle/CMakeLists.txt b/boards/px4/sitl/src/CMakeLists.txt similarity index 94% rename from src/drivers/boards/eagle/CMakeLists.txt rename to boards/px4/sitl/src/CMakeLists.txt index 2adacda0d3..68f78c4ad7 100644 --- a/src/drivers/boards/eagle/CMakeLists.txt +++ b/boards/px4/sitl/src/CMakeLists.txt @@ -32,6 +32,6 @@ ############################################################################ px4_add_library(drivers_board + ${PX4_SOURCE_DIR}/src/drivers/boards/common/board_identity.c # TODO: this is horrible and should be fixed sitl_led.c - ../common/board_identity.c - ) +) diff --git a/src/drivers/boards/sitl/board_config.h b/boards/px4/sitl/src/board_config.h similarity index 98% rename from src/drivers/boards/sitl/board_config.h rename to boards/px4/sitl/src/board_config.h index ae651192c9..b20098427a 100644 --- a/src/drivers/boards/sitl/board_config.h +++ b/boards/px4/sitl/src/board_config.h @@ -61,4 +61,4 @@ #define BOARD_ARMED_STATE_LED LED_GREEN #include <system_config.h> -#include "../common/board_common.h" +#include <drivers/boards/common/board_common.h> diff --git a/src/drivers/boards/eagle/sitl_led.c b/boards/px4/sitl/src/sitl_led.c similarity index 100% rename from src/drivers/boards/eagle/sitl_led.c rename to boards/px4/sitl/src/sitl_led.c diff --git a/boards/px4/sitl/test.cmake b/boards/px4/sitl/test.cmake new file mode 100644 index 0000000000..075c9e4710 --- /dev/null +++ b/boards/px4/sitl/test.cmake @@ -0,0 +1,96 @@ + +px4_add_board( + PLATFORM posix + VENDOR px4 + MODEL sitl + LABEL test + TESTING + + DRIVERS + #barometer # all available barometer drivers + batt_smbus + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + #imu # all available imu drivers + #magnetometer # all available magnetometer drivers + pwm_out_sim + #telemetry # all available telemetry drivers + vmount + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + #gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + position_estimator_inav + sensors + simulator + #uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + #bl_update + #config + #dumpfile + dyn + esc_calib + #hardfault_log + led_control + mixer + motor_ramp + #mtd + #nshterm + param + perf + pwm + reboot + sd_bench + shutdown + tests # tests and test runner + top + topic_listener + tune_control + ver + + EXAMPLES + bottle_drop # OBC challenge + fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + #hwtest # Hardware test + px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + rover_steering_control # Rover example app + segway + ) + +set(config_sitl_viewer jmavsim CACHE STRING "viewer for sitl") +set_property(CACHE config_sitl_viewer PROPERTY STRINGS "jmavsim;none") + +set(config_sitl_debugger disable CACHE STRING "debugger for sitl") +set_property(CACHE config_sitl_debugger PROPERTY STRINGS "disable;gdb;lldb") + +# If the environment variable 'replay' is defined, we are building with replay +# support. In this case, we enable the orb publisher rules. +set(REPLAY_FILE "$ENV{replay}") +if(REPLAY_FILE) + message("Building with uorb publisher rules support") + add_definitions(-DORB_USE_PUBLISHER_RULES) +endif() diff --git a/boards/stm/32f4discovery/default.cmake b/boards/stm/32f4discovery/default.cmake new file mode 100644 index 0000000000..01be6afbb5 --- /dev/null +++ b/boards/stm/32f4discovery/default.cmake @@ -0,0 +1,106 @@ + +px4_add_board( + PLATFORM nuttx + VENDOR stm + MODEL 32f4discovery + ARCH cortex-m4 + ROMFS + ROMFSROOT px4fmu_common + #TESTING + + DRIVERS + #barometer # all available barometer drivers + #batt_smbus + #blinkm + #camera_trigger + #differential_pressure # all available differential pressure drivers + #distance_sensor # all available distance sensor drivers + #gps + #heater + #imu # all available imu drivers + #irlock + #magnetometer # all available magnetometer drivers + #mkblctrl + #oreoled + #pca9685 + #pwm_input + #pwm_out_sim + #px4flow + #px4fmu + #rc_input + #rgbled + stm32 + #stm32/adc + #stm32/tone_alarm + #tap_esc + #telemetry # all available telemetry drivers + #test_ppm + #vmount + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + #gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + #mc_att_control + #mc_pos_control + #navigator + position_estimator_inav + #sensors + #uavcan + #vtol_att_control + wind_estimator + + SYSTEMCMDS + bl_update + config + dumpfile + esc_calib + hardfault_log + led_control + mixer + motor_ramp + motor_test + mtd + nshterm + param + perf + pwm + reboot + reflect + sd_bench + shutdown + #tests # tests and test runner + top + topic_listener + tune_control + usb_connected + ver + + EXAMPLES + bottle_drop # OBC challenge + fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + #hwtest # Hardware test + #matlab_csv_serial + #publisher + px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + rover_steering_control # Rover example app + segway + #subscriber + uuv_example_app + + ) diff --git a/platforms/nuttx/Images/px4-stm32f4discovery.prototype b/boards/stm/32f4discovery/firmware.prototype similarity index 87% rename from platforms/nuttx/Images/px4-stm32f4discovery.prototype rename to boards/stm/32f4discovery/firmware.prototype index 6670e090e3..cd6b8407ec 100644 --- a/platforms/nuttx/Images/px4-stm32f4discovery.prototype +++ b/boards/stm/32f4discovery/firmware.prototype @@ -4,7 +4,7 @@ "description": "Firmware for the STM32F4Discovery board", "image": "", "build_time": 0, - "summary": "PX4/STM32F4Discovery", + "summary": "STM32F4Discovery", "version": "0.1", "image_size": 0, "image_maxsize": 1032192, diff --git a/platforms/nuttx/nuttx-configs/px4-stm32f4discovery/include/board.h b/boards/stm/32f4discovery/nuttx-config/include/board.h similarity index 100% rename from platforms/nuttx/nuttx-configs/px4-stm32f4discovery/include/board.h rename to boards/stm/32f4discovery/nuttx-config/include/board.h diff --git a/platforms/nuttx/nuttx-configs/px4-stm32f4discovery/nsh/defconfig b/boards/stm/32f4discovery/nuttx-config/nsh/defconfig similarity index 99% rename from platforms/nuttx/nuttx-configs/px4-stm32f4discovery/nsh/defconfig rename to boards/stm/32f4discovery/nuttx-config/nsh/defconfig index 5b2c57f2df..f9cc94f9cf 100644 --- a/platforms/nuttx/nuttx-configs/px4-stm32f4discovery/nsh/defconfig +++ b/boards/stm/32f4discovery/nuttx-config/nsh/defconfig @@ -649,8 +649,8 @@ CONFIG_RAM_SIZE=196608 # # Board Selection # -CONFIG_ARCH_BOARD_PX4_STM32F4DISCOVERY=y -CONFIG_ARCH_BOARD="px4-stm32f4discovery" +CONFIG_ARCH_BOARD_STM32F4DISCOVERY=y +CONFIG_ARCH_BOARD="stm32f4discovery" # # Custom Board Configuration diff --git a/platforms/nuttx/nuttx-configs/px4-stm32f4discovery/scripts/ld.script b/boards/stm/32f4discovery/nuttx-config/scripts/ld.script similarity index 100% rename from platforms/nuttx/nuttx-configs/px4-stm32f4discovery/scripts/ld.script rename to boards/stm/32f4discovery/nuttx-config/scripts/ld.script diff --git a/src/drivers/boards/px4-stm32f4discovery/CMakeLists.txt b/boards/stm/32f4discovery/src/CMakeLists.txt similarity index 99% rename from src/drivers/boards/px4-stm32f4discovery/CMakeLists.txt rename to boards/stm/32f4discovery/src/CMakeLists.txt index ad53ed10d7..f7a0fb7991 100644 --- a/src/drivers/boards/px4-stm32f4discovery/CMakeLists.txt +++ b/boards/stm/32f4discovery/src/CMakeLists.txt @@ -34,6 +34,7 @@ px4_add_library(drivers_board init.c led.c + timer_config.c usb.c ) diff --git a/src/drivers/boards/px4-stm32f4discovery/board_config.h b/boards/stm/32f4discovery/src/board_config.h similarity index 99% rename from src/drivers/boards/px4-stm32f4discovery/board_config.h rename to boards/stm/32f4discovery/src/board_config.h index adc7444503..f83aca7a74 100644 --- a/src/drivers/boards/px4-stm32f4discovery/board_config.h +++ b/boards/stm/32f4discovery/src/board_config.h @@ -119,7 +119,7 @@ extern void stm32_spiinitialize(void); extern void stm32_usbinitialize(void); -#include "../common/board_common.h" +#include <drivers/boards/common/board_common.h> #endif /* __ASSEMBLY__ */ diff --git a/src/drivers/boards/px4-stm32f4discovery/init.c b/boards/stm/32f4discovery/src/init.c similarity index 100% rename from src/drivers/boards/px4-stm32f4discovery/init.c rename to boards/stm/32f4discovery/src/init.c diff --git a/src/drivers/boards/px4-stm32f4discovery/led.c b/boards/stm/32f4discovery/src/led.c similarity index 100% rename from src/drivers/boards/px4-stm32f4discovery/led.c rename to boards/stm/32f4discovery/src/led.c diff --git a/boards/stm/32f4discovery/src/timer_config.c b/boards/stm/32f4discovery/src/timer_config.c new file mode 100644 index 0000000000..dd9fa6b1c8 --- /dev/null +++ b/boards/stm/32f4discovery/src/timer_config.c @@ -0,0 +1,76 @@ +/**************************************************************************** + * + * Copyright (C) 2012 PX4 Development Team. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name PX4 nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************/ + +/* + * @file px4stm32f4discovery_timer_config.c + * + * Configuration data for the stm32 pwm_servo, input capture and pwm input driver. + * + * Note that these arrays must always be fully-sized. + */ + +#include <stdint.h> + +#include <chip.h> +#include <stm32_gpio.h> +#include <stm32_tim.h> + +#include <drivers/drv_pwm_output.h> +#include <drivers/stm32/drv_io_timer.h> + +#include "board_config.h" + +__EXPORT const io_timers_t io_timers[MAX_IO_TIMERS] = { + { + .base = 0, + .clock_register = 0, + .clock_bit = 0, + .clock_freq = 0, + .first_channel_index = 0, + .last_channel_index = 3, + .handler = io_timer_handler0, + .vectorno = 0, + + }, +}; + +__EXPORT const timer_io_channels_t timer_io_channels[MAX_TIMER_IO_CHANNELS] = { + { + .gpio_out = 0,//GPIO_TIM1_CH4OUT, + .gpio_in = 0,//GPIO_TIM1_CH4IN, + .timer_index = 0, + .timer_channel = 4, + .ccr_offset = 0, + .masks = 0 + }, +}; diff --git a/src/drivers/boards/px4-stm32f4discovery/usb.c b/boards/stm/32f4discovery/src/usb.c similarity index 100% rename from src/drivers/boards/px4-stm32f4discovery/usb.c rename to boards/stm/32f4discovery/src/usb.c diff --git a/boards/stm/nucleo-F767ZI/default.cmake b/boards/stm/nucleo-F767ZI/default.cmake new file mode 100644 index 0000000000..52ecd2d18a --- /dev/null +++ b/boards/stm/nucleo-F767ZI/default.cmake @@ -0,0 +1,115 @@ + +px4_add_board( + PLATFORM nuttx + VENDOR stm + MODEL nucleo-F767ZI + ARCH cortex-m7 + ROMFS + ROMFSROOT px4fmu_common + TESTING + #UAVCAN_INTERFACES 2 + + DRIVERS + barometer # all available barometer drivers + batt_smbus + blinkm + camera_trigger + differential_pressure # all available differential pressure drivers + distance_sensor # all available distance sensor drivers + gps + #heater + #imu # all available imu drivers + imu/adis16448 + imu/mpu6000 + irlock + magnetometer # all available magnetometer drivers + #md25 + mkblctrl + oreoled + pca8574 + pca9685 + #pmw3901 + protocol_splitter + pwm_input + pwm_out_sim + px4flow + px4fmu + rc_input + rgbled + #rgbled_pwm + roboclaw + stm32 + stm32/adc + stm32/tone_alarm + tap_esc + telemetry # all available telemetry drivers + test_ppm + vmount + + MODULES + attitude_estimator_q + camera_feedback + commander + dataman + ekf2 + events + fw_att_control + fw_pos_control_l1 + gnd_att_control + gnd_pos_control + gpio_led + land_detector + landing_target_estimator + load_mon + local_position_estimator + logger + mavlink + mc_att_control + mc_pos_control + navigator + position_estimator_inav + sensors + #uavcan + vtol_att_control + wind_estimator + + SYSTEMCMDS + bl_update + config + dumpfile + esc_calib + hardfault_log + led_control + mixer + motor_ramp + motor_test + mtd + nshterm + param + perf + pwm + reboot + reflect + sd_bench + shutdown + tests # tests and test runner + top + topic_listener + tune_control + usb_connected + ver + + EXAMPLES + bottle_drop # OBC challenge + fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control + hwtest # Hardware test + #matlab_csv_serial + #publisher + px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values + px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app + rover_steering_control # Rover example app + segway + #subscriber + uuv_example_app + + ) diff --git a/platforms/nuttx/Images/px4nucleoF767ZI-v1.prototype b/boards/stm/nucleo-F767ZI/firmware.prototype similarity index 64% rename from platforms/nuttx/Images/px4nucleoF767ZI-v1.prototype rename to boards/stm/nucleo-F767ZI/firmware.prototype index d5944da4cb..a475f7170a 100644 --- a/platforms/nuttx/Images/px4nucleoF767ZI-v1.prototype +++ b/boards/stm/nucleo-F767ZI/firmware.prototype @@ -1,10 +1,10 @@ { "board_id": 90, "magic": "PX4FWv1", - "description": "Firmware for the ST nucleo-144 with STM32FF767ZI-v1 board", + "description": "Firmware for the ST nucleo-144 with STM32F767ZI board", "image": "", "build_time": 0, - "summary": "PX4NUCLEOF767ZIv1", + "summary": "STMNUCLEO-F767ZI", "version": "0.1", "image_size": 0, "image_maxsize": 2097152, diff --git a/platforms/nuttx/nuttx-configs/px4nucleoF767ZI-v1/include/board.h b/boards/stm/nucleo-F767ZI/nuttx-config/include/board.h old mode 100755 new mode 100644 similarity index 99% rename from platforms/nuttx/nuttx-configs/px4nucleoF767ZI-v1/include/board.h rename to boards/stm/nucleo-F767ZI/nuttx-config/include/board.h index f98922fff7..9c231d5e58 --- a/platforms/nuttx/nuttx-configs/px4nucleoF767ZI-v1/include/board.h +++ b/boards/stm/nucleo-F767ZI/nuttx-config/include/board.h @@ -1,5 +1,5 @@ /************************************************************************************ - * nuttx-configs/px4nucleoF767ZI-v1/include/board.h + * nuttx-configs/stmnucleo-F767ZI/include/board.h * * Copyright (C) 2016 Gregory Nutt. All rights reserved. * Authors: David Sidrane <david_s5@nscdg.com> diff --git a/platforms/nuttx/nuttx-configs/px4nucleoF767ZI-v1/nsh/defconfig b/boards/stm/nucleo-F767ZI/nuttx-config/nsh/defconfig similarity index 99% rename from platforms/nuttx/nuttx-configs/px4nucleoF767ZI-v1/nsh/defconfig rename to boards/stm/nucleo-F767ZI/nuttx-config/nsh/defconfig index 61b5d8d608..5c6526596e 100644 --- a/platforms/nuttx/nuttx-configs/px4nucleoF767ZI-v1/nsh/defconfig +++ b/boards/stm/nucleo-F767ZI/nuttx-config/nsh/defconfig @@ -503,8 +503,8 @@ CONFIG_RAM_SIZE=245760 # # Board Selection # -CONFIG_ARCH_BOARD_PX4NUCLEOF767ZI_V1=y -CONFIG_ARCH_BOARD="px4nucleoF767ZI-v1" +CONFIG_ARCH_BOARD_STMNUCLEO-F767ZI=y +CONFIG_ARCH_BOARD="stmnucleo-F767ZI" # # Common Board Options diff --git a/platforms/nuttx/nuttx-configs/px4nucleoF767ZI-v1/scripts/ld.script b/boards/stm/nucleo-F767ZI/nuttx-config/scripts/ld.script similarity index 100% rename from platforms/nuttx/nuttx-configs/px4nucleoF767ZI-v1/scripts/ld.script rename to boards/stm/nucleo-F767ZI/nuttx-config/scripts/ld.script diff --git a/src/drivers/boards/px4nucleoF767ZI-v1/CMakeLists.txt b/boards/stm/nucleo-F767ZI/src/CMakeLists.txt similarity index 100% rename from src/drivers/boards/px4nucleoF767ZI-v1/CMakeLists.txt rename to boards/stm/nucleo-F767ZI/src/CMakeLists.txt diff --git a/src/drivers/boards/px4nucleoF767ZI-v1/board_config.h b/boards/stm/nucleo-F767ZI/src/board_config.h similarity index 99% rename from src/drivers/boards/px4nucleoF767ZI-v1/board_config.h rename to boards/stm/nucleo-F767ZI/src/board_config.h index 0732fb048b..50279f79e9 100644 --- a/src/drivers/boards/px4nucleoF767ZI-v1/board_config.h +++ b/boards/stm/nucleo-F767ZI/src/board_config.h @@ -420,7 +420,7 @@ extern void board_peripheral_reset(int ms); extern void stm32_usbinitialize(void); -#include "../common/board_common.h" +#include <drivers/boards/common/board_common.h> #endif /* __ASSEMBLY__ */ diff --git a/src/drivers/boards/px4nucleoF767ZI-v1/can.c b/boards/stm/nucleo-F767ZI/src/can.c similarity index 100% rename from src/drivers/boards/px4nucleoF767ZI-v1/can.c rename to boards/stm/nucleo-F767ZI/src/can.c diff --git a/src/drivers/boards/px4nucleoF767ZI-v1/init.c b/boards/stm/nucleo-F767ZI/src/init.c similarity index 100% rename from src/drivers/boards/px4nucleoF767ZI-v1/init.c rename to boards/stm/nucleo-F767ZI/src/init.c diff --git a/src/drivers/boards/px4nucleoF767ZI-v1/led.c b/boards/stm/nucleo-F767ZI/src/led.c similarity index 100% rename from src/drivers/boards/px4nucleoF767ZI-v1/led.c rename to boards/stm/nucleo-F767ZI/src/led.c diff --git a/src/drivers/boards/px4nucleoF767ZI-v1/sdio.c b/boards/stm/nucleo-F767ZI/src/sdio.c similarity index 100% rename from src/drivers/boards/px4nucleoF767ZI-v1/sdio.c rename to boards/stm/nucleo-F767ZI/src/sdio.c diff --git a/src/drivers/boards/px4nucleoF767ZI-v1/spi.c b/boards/stm/nucleo-F767ZI/src/spi.c similarity index 100% rename from src/drivers/boards/px4nucleoF767ZI-v1/spi.c rename to boards/stm/nucleo-F767ZI/src/spi.c diff --git a/src/drivers/boards/px4nucleoF767ZI-v1/timer_config.c b/boards/stm/nucleo-F767ZI/src/timer_config.c similarity index 100% rename from src/drivers/boards/px4nucleoF767ZI-v1/timer_config.c rename to boards/stm/nucleo-F767ZI/src/timer_config.c diff --git a/src/drivers/boards/px4nucleoF767ZI-v1/usb.c b/boards/stm/nucleo-F767ZI/src/usb.c similarity index 100% rename from src/drivers/boards/px4nucleoF767ZI-v1/usb.c rename to boards/stm/nucleo-F767ZI/src/usb.c diff --git a/cmake/configs/nuttx_s2740vc-v1_default.cmake b/boards/thiemar/s2740vc-v1/default.cmake similarity index 68% rename from cmake/configs/nuttx_s2740vc-v1_default.cmake rename to boards/thiemar/s2740vc-v1/default.cmake index 6413743cf3..5202e28eb6 100644 --- a/cmake/configs/nuttx_s2740vc-v1_default.cmake +++ b/boards/thiemar/s2740vc-v1/default.cmake @@ -4,8 +4,6 @@ add_definitions( -DPARAM_NO_AUTOSAVE ) -px4_nuttx_configure(HWCLASS m4 CONFIG nsh) - # UAVCAN boot loadable Module ID set(uavcanblid_sw_version_major 0) set(uavcanblid_sw_version_minor 1) @@ -15,31 +13,37 @@ add_definitions( ) # Bring in common uavcan hardware identity definitions -include(common/px4_git) +include(px4_git) px4_add_git_submodule(TARGET git_uavcan_board_ident PATH "cmake/configs/uavcan_board_ident") include(configs/uavcan_board_ident/s2740vc-v1) # N.B. this would be uncommented when there is an APP -#px4_nuttx_make_uavcan_bootloadable(BOARD ${BOARD} -# BIN ${PX4_BINARY_DIR}/s2740vc-v1.bin +#include(px4_make_uavcan_bootloader) +#px4_make_uavcan_bootloadable(BOARD ${PX4_BOARD} +# BIN ${PX4_BINARY_DIR}/platforms/nuttx/s2740vc-v1.bin # HWNAME ${uavcanblid_name} # HW_MAJOR ${uavcanblid_hw_version_major} # HW_MINOR ${uavcanblid_hw_version_minor} # SW_MAJOR ${uavcanblid_sw_version_major} # SW_MINOR ${uavcanblid_sw_version_minor}) -set(config_module_list - # - # Board support modules - # - drivers/bootloaders - drivers/stm32 - - # - # System commands - # - systemcmds/reboot - systemcmds/top - systemcmds/config - systemcmds/ver -) \ No newline at end of file +px4_add_board( + PLATFORM nuttx + VENDOR thiemar + MODEL s2740vc-v1 + ARCH cortex-m4 + + DRIVERS + bootloaders + stm32 + + MODULES + #uavcannode + + SYSTEMCMDS + config + reboot + top + ver + + ) diff --git a/platforms/nuttx/Images/s2740vc-v1.prototype b/boards/thiemar/s2740vc-v1/firmware.prototype similarity index 100% rename from platforms/nuttx/Images/s2740vc-v1.prototype rename to boards/thiemar/s2740vc-v1/firmware.prototype diff --git a/platforms/nuttx/nuttx-configs/s2740vc-v1/Kconfig b/boards/thiemar/s2740vc-v1/nuttx-config/Kconfig similarity index 100% rename from platforms/nuttx/nuttx-configs/s2740vc-v1/Kconfig rename to boards/thiemar/s2740vc-v1/nuttx-config/Kconfig diff --git a/platforms/nuttx/nuttx-configs/s2740vc-v1/include/README.txt b/boards/thiemar/s2740vc-v1/nuttx-config/include/README.txt old mode 100755 new mode 100644 similarity index 100% rename from platforms/nuttx/nuttx-configs/s2740vc-v1/include/README.txt rename to boards/thiemar/s2740vc-v1/nuttx-config/include/README.txt diff --git a/platforms/nuttx/nuttx-configs/s2740vc-v1/include/board.h b/boards/thiemar/s2740vc-v1/nuttx-config/include/board.h old mode 100755 new mode 100644 similarity index 100% rename from platforms/nuttx/nuttx-configs/s2740vc-v1/include/board.h rename to boards/thiemar/s2740vc-v1/nuttx-config/include/board.h diff --git a/platforms/nuttx/nuttx-configs/s2740vc-v1/nsh/IMPORTANT_README.txt b/boards/thiemar/s2740vc-v1/nuttx-config/nsh/IMPORTANT_README.txt old mode 100755 new mode 100644 similarity index 100% rename from platforms/nuttx/nuttx-configs/s2740vc-v1/nsh/IMPORTANT_README.txt rename to boards/thiemar/s2740vc-v1/nuttx-config/nsh/IMPORTANT_README.txt diff --git a/platforms/nuttx/nuttx-configs/s2740vc-v1/nsh/defconfig b/boards/thiemar/s2740vc-v1/nuttx-config/nsh/defconfig similarity index 99% rename from platforms/nuttx/nuttx-configs/s2740vc-v1/nsh/defconfig rename to boards/thiemar/s2740vc-v1/nuttx-config/nsh/defconfig index 0cc0259eb2..d89ea0a892 100644 --- a/platforms/nuttx/nuttx-configs/s2740vc-v1/nsh/defconfig +++ b/boards/thiemar/s2740vc-v1/nuttx-config/nsh/defconfig @@ -568,7 +568,7 @@ CONFIG_RAM_SIZE=16384 # Board Selection # CONFIG_ARCH_BOARD_S2740VC_V1=y -CONFIG_ARCH_BOARD="s2740vc-v1" +CONFIG_ARCH_BOARD="thiemars2740vc-v1" # # Custom Board Configuration diff --git a/platforms/nuttx/nuttx-configs/s2740vc-v1/scripts/ld.script b/boards/thiemar/s2740vc-v1/nuttx-config/scripts/ld.script similarity index 100% rename from platforms/nuttx/nuttx-configs/s2740vc-v1/scripts/ld.script rename to boards/thiemar/s2740vc-v1/nuttx-config/scripts/ld.script diff --git a/src/drivers/boards/s2740vc-v1/CMakeLists.txt b/boards/thiemar/s2740vc-v1/src/CMakeLists.txt similarity index 100% rename from src/drivers/boards/s2740vc-v1/CMakeLists.txt rename to boards/thiemar/s2740vc-v1/src/CMakeLists.txt diff --git a/src/drivers/boards/s2740vc-v1/board_config.h b/boards/thiemar/s2740vc-v1/src/board_config.h similarity index 99% rename from src/drivers/boards/s2740vc-v1/board_config.h rename to boards/thiemar/s2740vc-v1/src/board_config.h index bd5ae893a7..24b3e49664 100644 --- a/src/drivers/boards/s2740vc-v1/board_config.h +++ b/boards/thiemar/s2740vc-v1/src/board_config.h @@ -126,7 +126,7 @@ int board_can_initialize(void); extern int composite_archinitialize(void); #endif -#include "../common/board_common.h" +#include <drivers/boards/common/board_common.h> #endif /* __ASSEMBLY__ */ diff --git a/src/drivers/boards/px4flow-v2/can.c b/boards/thiemar/s2740vc-v1/src/can.c similarity index 100% rename from src/drivers/boards/px4flow-v2/can.c rename to boards/thiemar/s2740vc-v1/src/can.c diff --git a/src/drivers/boards/s2740vc-v1/init.c b/boards/thiemar/s2740vc-v1/src/init.c similarity index 100% rename from src/drivers/boards/s2740vc-v1/init.c rename to boards/thiemar/s2740vc-v1/src/init.c diff --git a/cmake/configs/nuttx_aerocore2_default.cmake b/cmake/configs/nuttx_aerocore2_default.cmake deleted file mode 100644 index 8a9193059d..0000000000 --- a/cmake/configs/nuttx_aerocore2_default.cmake +++ /dev/null @@ -1,135 +0,0 @@ - -px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common) - -set(config_uavcan_num_ifaces 1) - -# user-configurable UART ports -set(board_serial_ports - GPS1:/dev/ttyS0 - TEL1:/dev/ttyS1 - TEL2:/dev/ttyS2) - -set(config_module_list - # - # Board support modules - # - drivers/barometer - drivers/differential_pressure - drivers/distance_sensor - #drivers/magnetometer - #drivers/telemetry - - drivers/stm32 - drivers/stm32/adc - drivers/stm32/tone_alarm - drivers/px4fmu - drivers/imu/lsm303d - drivers/imu/l3gd20 - drivers/gps - drivers/pwm_out_sim - modules/sensors - #drivers/pwm_input - #drivers/camera_trigger - drivers/rc_input - - # - # System commands - # - systemcmds/bl_update - systemcmds/config - #systemcmds/dumpfile - #systemcmds/esc_calib - systemcmds/mixer - #systemcmds/motor_ramp - systemcmds/mtd - systemcmds/nshterm - systemcmds/param - systemcmds/perf - systemcmds/pwm - systemcmds/reboot - #systemcmds/sd_bench - systemcmds/top - #systemcmds/topic_listener - systemcmds/ver - - # - # Testing - # - #drivers/distance_sensor/sf0x/sf0x_tests - #drivers/test_ppm - #lib/rc/rc_tests - #modules/commander/commander_tests - #lib/controllib/controllib_test - #modules/mavlink/mavlink_tests - #modules/unit_test - #modules/uORB/uORB_tests - #systemcmds/tests - - # - # General system control - # - modules/commander - modules/load_mon - modules/navigator - modules/mavlink - modules/uavcan - modules/land_detector - - # - # Estimation modules - # - #modules/attitude_estimator_q - #modules/position_estimator_inav - #modules/local_position_estimator - modules/ekf2 - - # - # Vehicle Control - # - #modules/fw_att_control - #modules/fw_pos_control_l1 - #modules/gnd_att_control - #modules/gnd_pos_control - modules/mc_att_control - modules/mc_pos_control - modules/vtol_att_control - - # - # Logging - # - modules/logger - - # - # Library modules - # - modules/dataman - - # - # OBC challenge - # - #examples/bottle_drop - - # - # Rover apps - # - #examples/rover_steering_control - - # - # Demo apps - # - #examples/math_demo - # Tutorial code from - # https://px4.io/dev/px4_simple_app - #examples/px4_simple_app - - # Tutorial code from - # https://px4.io/dev/debug_values - #examples/px4_mavlink_debug - - # Tutorial code from - # https://px4.io/dev/example_fixedwing_control - #examples/fixedwing_control - - # Hardware test - #examples/hwtest -) diff --git a/cmake/configs/nuttx_aerofc-v1_default.cmake b/cmake/configs/nuttx_aerofc-v1_default.cmake deleted file mode 100644 index 4925f87565..0000000000 --- a/cmake/configs/nuttx_aerofc-v1_default.cmake +++ /dev/null @@ -1,75 +0,0 @@ - -px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common) - -# user-configurable UART ports -set(board_serial_ports - GPS1:/dev/ttyS5 - TEL1:/dev/ttyS3 - TEL2:/dev/ttyS1) - -set(config_module_list - # - # Board support modules - # - drivers/aerofc_adc - drivers/distance_sensor - drivers/gps - drivers/barometer/ms5611 - drivers/magnetometer/hmc5883 - drivers/magnetometer/ist8310 - drivers/imu/mpu9250 - drivers/px4fmu - drivers/stm32 - drivers/pwm_out_sim - drivers/rc_input - drivers/tap_esc - modules/sensors - - # - # System commands - # - systemcmds/mixer - systemcmds/param - systemcmds/perf - systemcmds/pwm - systemcmds/motor_test - systemcmds/reboot - systemcmds/top - systemcmds/config - systemcmds/nshterm - systemcmds/dumpfile - systemcmds/ver - - # - # General system control - # - modules/commander - modules/load_mon - modules/navigator - modules/mavlink - modules/land_detector - - # - # Estimation modules - # - modules/attitude_estimator_q - modules/local_position_estimator - modules/landing_target_estimator - modules/ekf2 - - # - # Vehicle Control - # - modules/mc_att_control - modules/mc_pos_control - - # - # Logging - # - modules/logger - - # - # Library modules - # - modules/dataman -) diff --git a/cmake/configs/nuttx_aerofc-v1_rtps.cmake b/cmake/configs/nuttx_aerofc-v1_rtps.cmake deleted file mode 100644 index 585bee9a2f..0000000000 --- a/cmake/configs/nuttx_aerofc-v1_rtps.cmake +++ /dev/null @@ -1,7 +0,0 @@ -include(configs/nuttx_aerofc-v1_default) - - -list(APPEND config_module_list - modules/micrortps_bridge - drivers/protocol_splitter -) diff --git a/cmake/configs/nuttx_auav-x21_default.cmake b/cmake/configs/nuttx_auav-x21_default.cmake deleted file mode 100644 index 7d9c276a55..0000000000 --- a/cmake/configs/nuttx_auav-x21_default.cmake +++ /dev/null @@ -1,158 +0,0 @@ - -px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common IO px4io-v2) - -# user-configurable UART ports -set(board_serial_ports - GPS1:/dev/ttyS3 - TEL1:/dev/ttyS1 - TEL2:/dev/ttyS2) - -set(config_uavcan_num_ifaces 1) - -set(config_module_list - # - # Board support modules - # - drivers/barometer - drivers/differential_pressure - drivers/distance_sensor - drivers/magnetometer - drivers/telemetry - - drivers/batt_smbus - drivers/blinkm - drivers/camera_trigger - drivers/gps - drivers/imu/mpu6000 - drivers/imu/mpu9250 - drivers/irlock - drivers/mkblctrl - drivers/oreoled - drivers/protocol_splitter - drivers/pwm_input - drivers/pwm_out_sim - drivers/px4flow - drivers/px4fmu - drivers/px4io - drivers/rgbled - drivers/stm32 - drivers/stm32/adc - drivers/stm32/tone_alarm - drivers/tap_esc - drivers/vmount - modules/sensors - - # - # System commands - # - systemcmds/bl_update - systemcmds/config - systemcmds/dumpfile - systemcmds/esc_calib - systemcmds/hardfault_log - systemcmds/led_control - systemcmds/mixer - systemcmds/motor_ramp - systemcmds/motor_test - systemcmds/mtd - systemcmds/nshterm - systemcmds/param - systemcmds/perf - systemcmds/pwm - systemcmds/reboot - systemcmds/sd_bench - systemcmds/top - systemcmds/topic_listener - systemcmds/tune_control - systemcmds/ver - - # - # Testing - # - drivers/distance_sensor/sf0x/sf0x_tests - drivers/test_ppm - lib/controllib/controllib_test - #lib/rc/rc_tests - modules/commander/commander_tests - modules/mavlink/mavlink_tests - modules/uORB/uORB_tests - systemcmds/tests - - # - # General system control - # - modules/camera_feedback - modules/commander - modules/events - modules/gpio_led - modules/land_detector - modules/load_mon - modules/mavlink - modules/navigator - modules/uavcan - - # - # Estimation modules - # - modules/attitude_estimator_q - modules/ekf2 - modules/landing_target_estimator - modules/local_position_estimator - modules/position_estimator_inav - modules/wind_estimator - - # - # Vehicle Control - # - modules/fw_att_control - modules/fw_pos_control_l1 - modules/gnd_att_control - modules/gnd_pos_control - modules/mc_att_control - modules/mc_pos_control - modules/vtol_att_control - - # - # Logging - # - modules/logger - - # - # Library modules - # - modules/dataman - - # - # OBC challenge - # - examples/bottle_drop - - # - # Rover apps - # - examples/rover_steering_control - - # - # Segway - # - examples/segway - - # - # Demo apps - # - - # Tutorial code from - # https://px4.io/dev/px4_simple_app - examples/px4_simple_app - - # Tutorial code from - # https://px4.io/dev/debug_values - examples/px4_mavlink_debug - - # Tutorial code from - # https://px4.io/dev/example_fixedwing_control - examples/fixedwing_control - - # Hardware test - examples/hwtest -) diff --git a/cmake/configs/nuttx_av-x-v1_default.cmake b/cmake/configs/nuttx_av-x-v1_default.cmake deleted file mode 100644 index 5b6942882c..0000000000 --- a/cmake/configs/nuttx_av-x-v1_default.cmake +++ /dev/null @@ -1,154 +0,0 @@ - -px4_nuttx_configure(HWCLASS m7 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common) - -# user-configurable UART ports -set(board_serial_ports - GPS1:/dev/ttyS6 - TEL1:/dev/ttyS0 - TEL2:/dev/ttyS1 - TEL3:/dev/ttyS2 - TEL4:/dev/ttyS3 - ) - -set(config_uavcan_num_ifaces 1) - -set(config_module_list - # - # Board support modules - # - drivers/barometer - drivers/differential_pressure - drivers/distance_sensor - drivers/magnetometer - drivers/telemetry - - drivers/batt_smbus - drivers/camera_trigger - drivers/gps - drivers/imu/adis16477 - #drivers/imu/adis16497 - drivers/irlock - drivers/mkblctrl - drivers/pwm_out_sim - drivers/px4flow - drivers/px4fmu - drivers/rc_input - drivers/stm32 - drivers/stm32/adc - drivers/tap_esc - drivers/vmount - modules/sensors - - # - # System commands - # - systemcmds/bl_update - systemcmds/config - systemcmds/dumpfile - systemcmds/esc_calib - systemcmds/hardfault_log - systemcmds/led_control - systemcmds/mixer - systemcmds/motor_ramp - systemcmds/mtd - systemcmds/nshterm - systemcmds/param - systemcmds/perf - systemcmds/pwm - systemcmds/reboot - systemcmds/sd_bench - systemcmds/top - systemcmds/topic_listener - systemcmds/tune_control - systemcmds/ver - - # - # Testing - # - drivers/distance_sensor/sf0x/sf0x_tests - drivers/test_ppm - #lib/rc/rc_tests - modules/commander/commander_tests - lib/controllib/controllib_test - modules/mavlink/mavlink_tests - modules/uORB/uORB_tests - systemcmds/tests - - # - # General system control - # - modules/camera_feedback - modules/commander - modules/events - modules/gpio_led - modules/land_detector - modules/load_mon - modules/mavlink - modules/navigator - modules/uavcan - - # - # Estimation modules - # - modules/attitude_estimator_q - modules/ekf2 - modules/landing_target_estimator - modules/local_position_estimator - modules/position_estimator_inav - modules/wind_estimator - - # - # Vehicle Control - # - modules/fw_att_control - modules/fw_pos_control_l1 - modules/gnd_att_control - modules/gnd_pos_control - modules/mc_att_control - modules/mc_pos_control - modules/vtol_att_control - - # - # Logging - # - modules/logger - - # - # Library modules - # - modules/dataman - - # - # OBC challenge - # - #examples/bottle_drop - - # - # Rover apps - # - #examples/rover_steering_control - - # - # Segway - # - #examples/segway - - # - # Demo apps - # - - # Tutorial code from - # https://px4.io/dev/px4_simple_app - #examples/px4_simple_app - - # Tutorial code from - # https://px4.io/dev/debug_values - #examples/px4_mavlink_debug - - # Tutorial code from - # https://px4.io/dev/example_fixedwing_control - #examples/fixedwing_control - - # Hardware test - #examples/hwtest -) diff --git a/cmake/configs/nuttx_crazyflie_default.cmake b/cmake/configs/nuttx_crazyflie_default.cmake deleted file mode 100644 index 688e4c2fc8..0000000000 --- a/cmake/configs/nuttx_crazyflie_default.cmake +++ /dev/null @@ -1,104 +0,0 @@ - -px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common) - -set(config_module_list - # - # Board support modules - # - drivers/stm32 - drivers/px4fmu - drivers/imu/mpu9250 - drivers/barometer/lps25h - drivers/gps - drivers/distance_sensor/vl53lxx - drivers/pmw3901 - modules/sensors - - # - # System commands - # - systemcmds/bl_update - systemcmds/mixer - systemcmds/param - systemcmds/perf - systemcmds/pwm - systemcmds/esc_calib - systemcmds/reboot - systemcmds/top - systemcmds/config - systemcmds/nshterm - systemcmds/mtd - systemcmds/dumpfile - systemcmds/ver - systemcmds/hardfault_log - systemcmds/topic_listener - systemcmds/sd_bench - - # - # General system control - # - modules/commander - modules/load_mon - modules/navigator - modules/mavlink - #modules/gpio_led - modules/land_detector - modules/syslink - - # - # Estimation modules (EKF/ SO3 / other filters) - # - modules/attitude_estimator_q - modules/position_estimator_inav - modules/local_position_estimator - modules/landing_target_estimator - modules/ekf2 - - # - # Vehicle Control - # - # modules/segway # XXX Needs GCC 4.7 fix - # modules/fw_pos_control_l1 - # modules/fw_att_control - modules/mc_att_control - modules/mc_pos_control - - # - # Logging - # - modules/logger - - # - # Library modules - # - modules/dataman - - # - # OBC challenge - # - #examples/bottle_drop - - # - # Rover apps - # - #examples/rover_steering_control - - # - # Demo apps - # - #examples/math_demo - # Tutorial code from - # https://px4.io/dev/px4_simple_app - #examples/px4_simple_app - - # Tutorial code from - # https://px4.io/dev/debug_values - #examples/px4_mavlink_debug - - # Tutorial code from - # https://px4.io/dev/example_fixedwing_control - #examples/fixedwing_control - - # Hardware test - #examples/hwtest -) diff --git a/cmake/configs/nuttx_mindpx-v2_default.cmake b/cmake/configs/nuttx_mindpx-v2_default.cmake deleted file mode 100644 index 7ed3a2ce36..0000000000 --- a/cmake/configs/nuttx_mindpx-v2_default.cmake +++ /dev/null @@ -1,150 +0,0 @@ - -px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common) - -# user-configurable UART ports -set(board_serial_ports - GPS1:/dev/ttyS3 - TEL1:/dev/ttyS1 - TEL2:/dev/ttyS2) - -set(config_uavcan_num_ifaces 1) - -set(config_module_list - # - # Board support modules - # - drivers/barometer - drivers/differential_pressure - drivers/distance_sensor - drivers/magnetometer - drivers/telemetry - - drivers/batt_smbus - drivers/blinkm - drivers/camera_trigger - drivers/gps - drivers/imu/l3gd20 - drivers/imu/lsm303d - #drivers/mkblctrl - drivers/imu/mpu6000 - drivers/imu/mpu9250 - #drivers/oreoled - drivers/pwm_input - drivers/pwm_out_sim - drivers/px4flow - drivers/px4fmu - drivers/rgbled - drivers/rc_input - #drivers/rgbled_pwm - drivers/stm32 - drivers/stm32/adc - drivers/stm32/tone_alarm - drivers/vmount - modules/sensors - - # - # System commands - # - systemcmds/bl_update - systemcmds/mixer - systemcmds/param - systemcmds/perf - systemcmds/pwm - systemcmds/esc_calib - systemcmds/led_control - systemcmds/hardfault_log - systemcmds/reboot - systemcmds/topic_listener - systemcmds/tune_control - systemcmds/top - systemcmds/config - systemcmds/nshterm - systemcmds/mtd - systemcmds/dumpfile - systemcmds/ver - systemcmds/sd_bench - systemcmds/motor_ramp - - # - # Tests - # - drivers/distance_sensor/sf0x/sf0x_tests - drivers/test_ppm - modules/commander/commander_tests - lib/controllib/controllib_test - modules/mavlink/mavlink_tests - modules/uORB/uORB_tests - systemcmds/tests - - # - # General system control - # - modules/commander - modules/events - modules/load_mon - modules/navigator - modules/mavlink - modules/gpio_led - modules/uavcan - modules/land_detector - modules/camera_feedback - - # - # Estimation modules - # - modules/attitude_estimator_q - modules/position_estimator_inav - modules/local_position_estimator - modules/landing_target_estimator - modules/ekf2 - - # - # Vehicle Control - # - modules/fw_att_control - modules/fw_pos_control_l1 - modules/gnd_att_control - modules/gnd_pos_control - modules/mc_att_control - modules/mc_pos_control - modules/vtol_att_control - - # - # Logging - # - modules/logger - - # - # Library modules - # - modules/dataman - - # - # OBC challenge - # - #examples/bottle_drop - - # - # Rover apps - # - #examples/rover_steering_control - - # - # Demo apps - # - #examples/math_demo - # Tutorial code from - # https://px4.io/dev/px4_simple_app - #examples/px4_simple_app - - # Tutorial code from - # https://px4.io/dev/debug_values - #examples/px4_mavlink_debug - - # Tutorial code from - # https://px4.io/dev/example_fixedwing_control - #examples/fixedwing_control - - # Hardware test - #examples/hwtest -) diff --git a/cmake/configs/nuttx_nxphlite-v3_default.cmake b/cmake/configs/nuttx_nxphlite-v3_default.cmake deleted file mode 100644 index 746fd5e6f1..0000000000 --- a/cmake/configs/nuttx_nxphlite-v3_default.cmake +++ /dev/null @@ -1,163 +0,0 @@ - -px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common) - -set(UAVCAN_PLATFORM kinetis CACHE STRING "uavcan platform") -set(UAVCAN_TIMER 1) -set(config_uavcan_num_ifaces 2) - -# user-configurable UART ports -set(board_serial_ports - GPS1:/dev/ttyS3 - TEL1:/dev/ttyS4) - -set(config_module_list - # - # Board support modules - # - drivers/barometer - drivers/differential_pressure - drivers/distance_sensor - drivers/magnetometer - drivers/telemetry - - drivers/barometer/mpl3115a2 - drivers/batt_smbus - drivers/blinkm - drivers/camera_trigger - drivers/imu/fxas21002c - drivers/imu/fxos8701cq - drivers/gps - drivers/kinetis - drivers/kinetis/adc - drivers/kinetis/tone_alarm - drivers/imu/l3gd20 - drivers/mkblctrl - drivers/imu/mpu6000 - drivers/imu/mpu9250 - drivers/oreoled -# NOT Portable YET drivers/pwm_input - drivers/pwm_out_sim - drivers/px4flow - drivers/px4fmu - drivers/rc_input - drivers/rgbled - drivers/rgbled_pwm - drivers/tap_esc - drivers/vmount - modules/sensors - - # - # System commands - # - systemcmds/bl_update - systemcmds/config - systemcmds/dumpfile - systemcmds/esc_calib -## Needs bbsrm systemcmds/hardfault_log - systemcmds/led_control - systemcmds/mixer - systemcmds/motor_ramp - systemcmds/motor_test - systemcmds/mtd - systemcmds/nshterm - systemcmds/param - systemcmds/perf - systemcmds/pwm - systemcmds/reboot - systemcmds/sd_bench - systemcmds/top - systemcmds/topic_listener - systemcmds/tune_control - systemcmds/usb_connected - systemcmds/ver - - # - # Testing - # - drivers/distance_sensor/sf0x/sf0x_tests -### NOT Portable YET drivers/test_ppm - #lib/rc/rc_tests - modules/commander/commander_tests - lib/controllib/controllib_test - modules/mavlink/mavlink_tests - modules/uORB/uORB_tests - systemcmds/tests - - # - # General system control - # - modules/commander - modules/events - modules/gpio_led - modules/land_detector - modules/load_mon - modules/mavlink - modules/navigator - modules/uavcan - modules/camera_feedback - - # - # Estimation modules - # - modules/attitude_estimator_q - modules/ekf2 - modules/landing_target_estimator - modules/local_position_estimator - modules/position_estimator_inav - modules/wind_estimator - - # - # Vehicle Control - # - modules/fw_att_control - modules/fw_pos_control_l1 - modules/gnd_att_control - modules/gnd_pos_control - modules/mc_att_control - modules/mc_pos_control - modules/vtol_att_control - - # - # Logging - # - modules/logger - - # - # Library modules - # - modules/dataman - - # - # OBC challenge - # - examples/bottle_drop - - # - # Rover apps - # - examples/rover_steering_control - - # - # Segway - # - examples/segway - - # - # Demo apps - # - - # Tutorial code from - # https://px4.io/dev/px4_simple_app - examples/px4_simple_app - - # Tutorial code from - # https://px4.io/dev/debug_values - examples/px4_mavlink_debug - - # Tutorial code from - # https://px4.io/dev/example_fixedwing_control - examples/fixedwing_control - - # Hardware test - examples/hwtest -) diff --git a/cmake/configs/nuttx_omnibus-f4sd_default.cmake b/cmake/configs/nuttx_omnibus-f4sd_default.cmake deleted file mode 100644 index 883dda9488..0000000000 --- a/cmake/configs/nuttx_omnibus-f4sd_default.cmake +++ /dev/null @@ -1,143 +0,0 @@ - -px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common) - -# user-configurable UART ports -set(board_serial_ports - TEL2:/dev/ttyS1 - URT6:/dev/ttyS2) - -set(config_module_list - # - # Board support modules - # - drivers/barometer/bmp280 - #drivers/differential_pressure - #drivers/distance_sensor - drivers/magnetometer/hmc5883 - drivers/telemetry/frsky_telemetry - drivers/imu/mpu6000 - - #drivers/batt_smbus - #drivers/blinkm - #drivers/camera_trigger - drivers/gps - drivers/px4flow - drivers/px4fmu - drivers/rc_input - drivers/rgbled - drivers/stm32 - drivers/stm32/adc - #drivers/stm32/tone_alarm - modules/sensors - - # - # System commands - # - #systemcmds/bl_update - systemcmds/config - systemcmds/esc_calib - systemcmds/hardfault_log - systemcmds/led_control - systemcmds/mixer - #systemcmds/motor_ramp - #systemcmds/mtd - systemcmds/nshterm - systemcmds/param - systemcmds/perf - systemcmds/pwm - systemcmds/reboot - systemcmds/sd_bench - systemcmds/top - systemcmds/topic_listener - systemcmds/tune_control - systemcmds/ver - - ## - ## Testing - ## - #drivers/distance_sensor/sf0x/sf0x_tests - #drivers/test_ppm - ##lib/rc/rc_tests - #modules/commander/commander_tests - #lib/controllib/controllib_test - #modules/mavlink/mavlink_tests - #modules/mc_pos_control/mc_pos_control_tests - #modules/uORB/uORB_tests - #systemcmds/tests - - # - # General system control - # - #modules/camera_feedback - modules/commander - modules/events - modules/gpio_led - modules/land_detector - modules/load_mon - modules/mavlink - modules/navigator - - # - # Estimation modules - # - modules/attitude_estimator_q - modules/ekf2 - modules/landing_target_estimator - modules/local_position_estimator - #modules/wind_estimator - - # - # Vehicle Control - # - #modules/fw_att_control - #modules/fw_pos_control_l1 - #modules/gnd_att_control - #modules/gnd_pos_control - modules/mc_att_control - modules/mc_pos_control - #modules/vtol_att_control - - # - # Logging - # - modules/logger - - # - # Library modules - # - modules/dataman - - ## - ## OBC challenge - ## - #examples/bottle_drop - - ## - ## Rover apps - ## - #examples/rover_steering_control - - ## - ## Segway - ## - #examples/segway - - ## - ## Demo apps - ## - - ## Tutorial code from - ## https://px4.io/dev/px4_simple_app - #examples/px4_simple_app - - ## Tutorial code from - ## https://px4.io/dev/debug_values - #examples/px4_mavlink_debug - - ## Tutorial code from - ## https://px4.io/dev/example_fixedwing_control - #examples/fixedwing_control - - ## Hardware test - #examples/hwtest -) diff --git a/cmake/configs/nuttx_px4-same70xplained-v1_default.cmake b/cmake/configs/nuttx_px4-same70xplained-v1_default.cmake deleted file mode 100644 index 942a5252f7..0000000000 --- a/cmake/configs/nuttx_px4-same70xplained-v1_default.cmake +++ /dev/null @@ -1,122 +0,0 @@ - -px4_nuttx_configure(HWCLASS m7 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common) - -##set(config_uavcan_num_ifaces 2) - -set(config_module_list - # - # Board support modules - # - drivers/barometer - drivers/differential_pressure - drivers/distance_sensor - drivers/magnetometer - drivers/telemetry - - drivers/samv7 -#WIP drivers/samv7/adc - drivers/samv7/tone_alarm - drivers/px4fmu - drivers/rgbled - drivers/imu/mpu6000 - drivers/imu/mpu9250 - drivers/imu/lsm303d - drivers/imu/l3gd20 - drivers/gps -#WIP drivers/pwm_out_sim - drivers/blinkm - modules/sensors - #drivers/mkblctrl - drivers/px4flow - drivers/oreoled -## drivers/gimbal -#WIP drivers/pwm_input -#WIP drivers/camera_trigger - - # - # System commands - # - systemcmds/bl_update - systemcmds/mixer - systemcmds/param - systemcmds/perf - systemcmds/pwm - systemcmds/esc_calib -#WIP systemcmds/hardfault_log - systemcmds/reboot - #systemcmds/topic_listener - systemcmds/top - systemcmds/config - systemcmds/nshterm -# systemcmds/mtd Excluded until TWIHS works - systemcmds/dumpfile - systemcmds/ver - - # - # General system control - # - modules/commander - modules/navigator - modules/mavlink - modules/gpio_led -##WIP modules/uavcan - modules/land_detector - - # - # Estimation modules (EKF/ SO3 / other filters) - # - modules/attitude_estimator_q - modules/position_estimator_inav - modules/local_position_estimator - modules/landing_target_estimator - modules/ekf2 - - # - # Vehicle Control - # - # modules/segway # XXX Needs GCC 4.7 fix - modules/fw_pos_control_l1 - modules/fw_att_control - modules/mc_att_control - modules/mc_pos_control - modules/vtol_att_control - - # - # Logging - # -## modules/logger - - # - # Library modules - # - modules/dataman - - # - # OBC challenge - # - #examples/bottle_drop - - # - # Rover apps - # - #examples/rover_steering_control - - # - # Demo apps - # - #examples/math_demo - # Tutorial code from - # https://px4.io/dev/px4_simple_app - #examples/px4_simple_app - - # Tutorial code from - # https://px4.io/dev/debug_values - #examples/px4_mavlink_debug - - # Tutorial code from - # https://px4.io/dev/example_fixedwing_control - #examples/fixedwing_control - - # Hardware test - #examples/hwtest -) diff --git a/cmake/configs/nuttx_px4-stm32f4discovery_default.cmake b/cmake/configs/nuttx_px4-stm32f4discovery_default.cmake deleted file mode 100644 index 125e897f5f..0000000000 --- a/cmake/configs/nuttx_px4-stm32f4discovery_default.cmake +++ /dev/null @@ -1,41 +0,0 @@ - -px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common) - -set(config_module_list - # - # Board support modules - # - drivers/stm32 - - # - # System commands - # - systemcmds/bl_update - systemcmds/mixer - systemcmds/param - systemcmds/perf - systemcmds/reboot - systemcmds/top - systemcmds/config - systemcmds/nshterm - systemcmds/ver - - # - # Demo apps - # - #examples/math_demo - # Tutorial code from - # https://px4.io/dev/px4_simple_app - examples/px4_simple_app - - # Tutorial code from - # https://px4.io/dev/debug_values - #examples/px4_mavlink_debug - - # Tutorial code from - # https://px4.io/dev/example_fixedwing_control - #examples/fixedwing_control - - # Hardware test - #examples/hwtest -) diff --git a/cmake/configs/nuttx_px4fmu-v2_default.cmake b/cmake/configs/nuttx_px4fmu-v2_default.cmake deleted file mode 100644 index d1e05012e5..0000000000 --- a/cmake/configs/nuttx_px4fmu-v2_default.cmake +++ /dev/null @@ -1,187 +0,0 @@ -px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common IO px4io-v2) - -# user-configurable UART ports -set(board_serial_ports - GPS1:/dev/ttyS3 - TEL1:/dev/ttyS1 - TEL2:/dev/ttyS2 - TEL4:/dev/ttyS6) - -set(px4_constrained_flash_build 1) - -#set(config_uavcan_num_ifaces 2) - -set(config_bl_file ${PX4_SOURCE_DIR}/ROMFS/px4fmu_common/extras/px4fmuv3_bl.bin) - -set(config_module_list - # - # Board support modules - # - #drivers/barometer - #drivers/differential_pressure - #drivers/distance_sensor - #drivers/magnetometer - #drivers/telemetry - - #drivers/barometer/bmp280 - drivers/barometer/ms5611 - #drivers/blinkm - #drivers/bst - #drivers/camera_trigger - #drivers/differential_pressure/ets - drivers/differential_pressure/ms4525 - #drivers/differential_pressure/ms5525 - #drivers/differential_pressure/sdp3x - drivers/distance_sensor/ll40ls - #drivers/distance_sensor/mb12xx - drivers/distance_sensor/sf0x - #drivers/distance_sensor/sf1xx - #drivers/distance_sensor/srf02 - #drivers/distance_sensor/teraranger - #drivers/distance_sensor/tfmini - #drivers/distance_sensor/ulanding - #drivers/frsky_telemetry - drivers/gps - #drivers/imu/adis16448 - #drivers/imu/bmi160 - drivers/imu/l3gd20 - drivers/imu/lsm303d - drivers/imu/mpu6000 - drivers/imu/mpu9250 - #drivers/iridiumsbd - #drivers/irlock - drivers/magnetometer/hmc5883 - #drivers/magnetometer/lis3mdl - #drivers/mb12xx - #drivers/mkblctrl - #drivers/oreoled - #drivers/protocol_splitter - #drivers/pwm_input - #drivers/pwm_out_sim - drivers/px4flow - drivers/px4fmu - drivers/px4io - drivers/rgbled - drivers/stm32 - drivers/stm32/adc - drivers/stm32/tone_alarm - #drivers/tap_esc - drivers/vmount - modules/sensors - - # - # System commands - # - systemcmds/bl_update - #systemcmds/config - #systemcmds/dumpfile - #systemcmds/esc_calib - systemcmds/hardfault_log - #systemcmds/led_control - systemcmds/mixer - #systemcmds/motor_ramp - #systemcmds/motor_test - systemcmds/mtd - #systemcmds/nshterm - systemcmds/param - systemcmds/perf - systemcmds/pwm - systemcmds/reboot - #systemcmds/sd_bench - systemcmds/top - #systemcmds/topic_listener - systemcmds/tune_control - systemcmds/ver - - # - # Testing - # - #drivers/distance_sensor/sf0x/sf0x_tests - #drivers/test_ppm - #lib/controllib/controllib_test - #lib/rc/rc_tests - #modules/commander/commander_tests - #modules/mavlink/mavlink_tests - #modules/uORB/uORB_tests - #systemcmds/tests - - # - # General system control - # - modules/camera_feedback - modules/commander - modules/events - #modules/gpio_led - modules/land_detector - modules/load_mon - modules/mavlink - modules/navigator - #modules/uavcan - - # - # Estimation modules - # - #modules/attitude_estimator_q - modules/ekf2 - #modules/local_position_estimator - #modules/position_estimator_inav - #modules/landing_target_estimator - #modules/wind_estimator - - # - # Vehicle Control - # - modules/fw_att_control - modules/fw_pos_control_l1 - #modules/gnd_att_control - #modules/gnd_pos_control - modules/mc_att_control - modules/mc_pos_control - modules/vtol_att_control - - # - # Logging - # - modules/logger - - # - # Library modules - # - modules/dataman - - # - # OBC challenge - # - #examples/bottle_drop - - # - # Rover apps - # - #examples/rover_steering_control - - # - # Segway - # - #examples/segway - - # - # Demo apps - # - - # Tutorial code from - # https://px4.io/dev/px4_simple_app - #examples/px4_simple_app - - # Tutorial code from - # https://px4.io/dev/debug_values - #examples/px4_mavlink_debug - - # Tutorial code from - # https://px4.io/dev/example_fixedwing_control - #examples/fixedwing_control - - # Hardware test - #examples/hwtest -) - -set(flight_tasks_to_remove Orbit) diff --git a/cmake/configs/nuttx_px4fmu-v2_lpe.cmake b/cmake/configs/nuttx_px4fmu-v2_lpe.cmake deleted file mode 100644 index aba466598c..0000000000 --- a/cmake/configs/nuttx_px4fmu-v2_lpe.cmake +++ /dev/null @@ -1,16 +0,0 @@ -include(configs/nuttx_px4fmu-v2_default) - -set(PARAM_DEFAULT_OVERRIDES "{\\\"SYS_MC_EST_GROUP\\\": 1}") - -list(REMOVE_ITEM config_module_list - modules/ekf2 - ) - -list(APPEND config_module_list - - drivers/irlock - - modules/attitude_estimator_q - modules/local_position_estimator - modules/landing_target_estimator - ) diff --git a/cmake/configs/nuttx_px4fmu-v2_test.cmake b/cmake/configs/nuttx_px4fmu-v2_test.cmake deleted file mode 100644 index 1d0b003007..0000000000 --- a/cmake/configs/nuttx_px4fmu-v2_test.cmake +++ /dev/null @@ -1,163 +0,0 @@ -px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_test IO px4io-v2) - -#set(config_uavcan_num_ifaces 2) - -set(config_module_list - # - # Board support modules - # - #drivers/barometer - drivers/differential_pressure - #drivers/magnetometer - #drivers/telemetry - - #drivers/imu/adis16448 - drivers/barometer/ms5611 - #drivers/blinkm - #drivers/imu/bmi160 - #drivers/barometer/bmp280 - #drivers/bst - #drivers/camera_trigger - #drivers/frsky_telemetry - drivers/gps - #drivers/iridiumsbd - #drivers/irlock - drivers/imu/l3gd20 - drivers/imu/lsm303d - drivers/magnetometer/hmc5883 - drivers/magnetometer/lis3mdl - #drivers/mb12xx - #drivers/mkblctrl - drivers/imu/mpu6000 - #drivers/imu/mpu9250 - #drivers/oreoled - #drivers/protocol_splitter - #drivers/pwm_input - #drivers/pwm_out_sim - #drivers/px4flow - drivers/px4fmu - drivers/px4io - drivers/rgbled - drivers/stm32 - drivers/stm32/adc - drivers/stm32/tone_alarm - #drivers/tap_esc - #drivers/vmount - - # distance sensors - modules/sensors - - # - # System commands - # - #systemcmds/bl_update - #systemcmds/config - #systemcmds/dumpfile - #systemcmds/esc_calib - systemcmds/hardfault_log - #systemcmds/led_control - systemcmds/mixer - #systemcmds/motor_ramp - #systemcmds/motor_test - systemcmds/mtd - #systemcmds/nshterm - systemcmds/param - systemcmds/perf - systemcmds/pwm - systemcmds/reboot - #systemcmds/sd_bench - systemcmds/top - #systemcmds/topic_listener - systemcmds/tune_control - systemcmds/ver - - # - # Testing - # - drivers/distance_sensor/sf0x/sf0x_tests - drivers/test_ppm - lib/controllib/controllib_test - #lib/rc/rc_tests - modules/commander/commander_tests - modules/mavlink/mavlink_tests - modules/uORB/uORB_tests - systemcmds/tests - - # - # General system control - # - modules/camera_feedback - modules/commander - modules/events - #modules/gpio_led - modules/land_detector - modules/load_mon - modules/mavlink - modules/navigator - #modules/uavcan - - # - # Estimation modules - # - #modules/attitude_estimator_q - #modules/ekf2 - #modules/local_position_estimator - #modules/position_estimator_inav - #modules/landing_target_estimator - #modules/wind_estimator - - # - # Vehicle Control - # - #modules/fw_att_control - #modules/fw_pos_control_l1 - #modules/gnd_att_control - #modules/gnd_pos_control - modules/mc_att_control - modules/mc_pos_control - modules/vtol_att_control - - # - # Logging - # - #modules/logger - - # - # Library modules - # - modules/dataman - - # - # OBC challenge - # - #examples/bottle_drop - - # - # Rover apps - # - #examples/rover_steering_control - - # - # Segway - # - #examples/segway - - # - # Demo apps - # - - # Tutorial code from - # https://px4.io/dev/px4_simple_app - #examples/px4_simple_app - - # Tutorial code from - # https://px4.io/dev/debug_values - #examples/px4_mavlink_debug - - # Tutorial code from - # https://px4.io/dev/example_fixedwing_control - #examples/fixedwing_control - - # Hardware test - #examples/hwtest -) diff --git a/cmake/configs/nuttx_px4fmu-v3_default.cmake b/cmake/configs/nuttx_px4fmu-v3_default.cmake deleted file mode 100644 index fadda78865..0000000000 --- a/cmake/configs/nuttx_px4fmu-v3_default.cmake +++ /dev/null @@ -1,170 +0,0 @@ - -# FMUv3 is FMUv2 with access to the full 2MB flash -set(BOARD px4fmu-v2 CACHE string "" FORCE) -set(FW_NAME nuttx_px4fmu-v3_default.elf CACHE string "" FORCE) -set(FW_PROTOTYPE px4fmu-v3 CACHE string "" FORCE) -set(LD_SCRIPT ld_full.script CACHE string "" FORCE) - -px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common IO px4io-v2) - -# user-configurable UART ports -set(board_serial_ports - GPS1:/dev/ttyS3 - TEL1:/dev/ttyS1 - TEL2:/dev/ttyS2 - TEL4:/dev/ttyS6) - -set(config_uavcan_num_ifaces 2) - -set(config_module_list - # - # Board support modules - # - drivers/barometer - drivers/differential_pressure - drivers/distance_sensor - drivers/magnetometer - drivers/telemetry - - drivers/batt_smbus - drivers/blinkm - drivers/camera_trigger - drivers/gps - drivers/imu/adis16448 - drivers/imu/bmi160 - drivers/imu/l3gd20 - drivers/imu/lsm303d - drivers/imu/mpu6000 - drivers/imu/mpu9250 - drivers/irlock - drivers/mkblctrl - drivers/oreoled - drivers/protocol_splitter - drivers/pwm_input - drivers/pwm_out_sim - drivers/px4flow - drivers/px4fmu - drivers/px4io - drivers/rgbled - drivers/rgbled_ncp5623c - drivers/stm32 - drivers/stm32/adc - drivers/stm32/tone_alarm - drivers/tap_esc - drivers/vmount - modules/sensors - - # - # System commands - # - systemcmds/bl_update - systemcmds/config - systemcmds/dumpfile - systemcmds/esc_calib - systemcmds/hardfault_log - systemcmds/led_control - systemcmds/mixer - systemcmds/motor_ramp - systemcmds/motor_test - systemcmds/mtd - systemcmds/nshterm - systemcmds/param - systemcmds/perf - systemcmds/pwm - systemcmds/reboot - systemcmds/sd_bench - systemcmds/top - systemcmds/topic_listener - systemcmds/tune_control - systemcmds/ver - - # - # Testing - # - drivers/distance_sensor/sf0x/sf0x_tests - drivers/test_ppm - lib/controllib/controllib_test - #lib/rc/rc_tests - modules/commander/commander_tests - modules/mavlink/mavlink_tests - modules/uORB/uORB_tests - systemcmds/tests - - # - # General system control - # - modules/camera_feedback - modules/commander - modules/events - modules/gpio_led - modules/land_detector - modules/load_mon - modules/mavlink - modules/navigator - modules/uavcan - - # - # Estimation modules - # - modules/attitude_estimator_q - modules/ekf2 - modules/landing_target_estimator - modules/local_position_estimator - modules/position_estimator_inav - modules/wind_estimator - - # - # Vehicle Control - # - modules/fw_att_control - modules/fw_pos_control_l1 - modules/gnd_att_control - modules/gnd_pos_control - modules/mc_att_control - modules/mc_pos_control - modules/vtol_att_control - - # - # Logging - # - modules/logger - - # - # Library modules - # - modules/dataman - - # - # OBC challenge - # - examples/bottle_drop - - # - # Rover apps - # - examples/rover_steering_control - - # - # Segway - # - examples/segway - - # - # Demo apps - # - - # Tutorial code from - # https://px4.io/dev/px4_simple_app - examples/px4_simple_app - - # Tutorial code from - # https://px4.io/dev/debug_values - examples/px4_mavlink_debug - - # Tutorial code from - # https://px4.io/dev/example_fixedwing_control - examples/fixedwing_control - - # Hardware test - examples/hwtest -) diff --git a/cmake/configs/nuttx_px4fmu-v3_rtps.cmake b/cmake/configs/nuttx_px4fmu-v3_rtps.cmake deleted file mode 100644 index 94a7a090c2..0000000000 --- a/cmake/configs/nuttx_px4fmu-v3_rtps.cmake +++ /dev/null @@ -1,7 +0,0 @@ -include(configs/nuttx_px4fmu-v3_default) - -set(FW_NAME nuttx_px4fmu-v3_rtps.elf CACHE string "" FORCE) - -list(APPEND config_module_list - modules/micrortps_bridge -) diff --git a/cmake/configs/nuttx_px4fmu-v3_stackcheck.cmake b/cmake/configs/nuttx_px4fmu-v3_stackcheck.cmake deleted file mode 100644 index f3c82a9a61..0000000000 --- a/cmake/configs/nuttx_px4fmu-v3_stackcheck.cmake +++ /dev/null @@ -1,128 +0,0 @@ - -# FMUv3 is FMUv2 with access to the full 2MB flash -set(BOARD px4fmu-v2 CACHE string "" FORCE) -set(FW_NAME nuttx_px4fmu-v3_default.elf CACHE string "" FORCE) -set(FW_PROTOTYPE px4fmu-v3 CACHE string "" FORCE) -set(LD_SCRIPT ld_full.script CACHE string "" FORCE) - -px4_nuttx_configure(HWCLASS m4 CONFIG stackcheck ROMFS y ROMFSROOT px4fmu_common IO px4io-v2) - -set(config_uavcan_num_ifaces 2) - -set(config_module_list - # - # Board support modules - # - drivers/barometer - drivers/differential_pressure - drivers/distance_sensor - drivers/magnetometer - drivers/telemetry - - drivers/batt_smbus - drivers/blinkm - drivers/camera_trigger - drivers/gps - drivers/imu/adis16448 - drivers/imu/bmi160 - drivers/imu/l3gd20 - drivers/imu/lsm303d - drivers/imu/mpu6000 - drivers/imu/mpu9250 - drivers/irlock - drivers/mkblctrl - drivers/oreoled - drivers/protocol_splitter - drivers/pwm_input - drivers/pwm_out_sim - drivers/px4flow - drivers/px4fmu - drivers/px4io - drivers/rgbled - drivers/stm32 - drivers/stm32/adc - drivers/stm32/tone_alarm - drivers/tap_esc - drivers/vmount - modules/sensors - - # - # System commands - # - systemcmds/bl_update - systemcmds/config - systemcmds/dumpfile - systemcmds/esc_calib - systemcmds/hardfault_log - systemcmds/led_control - systemcmds/mixer - systemcmds/motor_ramp - systemcmds/motor_test - systemcmds/mtd - systemcmds/nshterm - systemcmds/param - systemcmds/perf - systemcmds/pwm - systemcmds/reboot - systemcmds/sd_bench - systemcmds/top - systemcmds/topic_listener - systemcmds/tune_control - systemcmds/ver - - # - # Testing - # - drivers/distance_sensor/sf0x/sf0x_tests - drivers/test_ppm - lib/controllib/controllib_test - #lib/rc/rc_tests - modules/commander/commander_tests - modules/mavlink/mavlink_tests - modules/uORB/uORB_tests - systemcmds/tests - - # - # General system control - # - modules/camera_feedback - modules/commander - modules/events - modules/gpio_led - modules/land_detector - modules/load_mon - modules/mavlink - modules/navigator - #modules/uavcan - - # - # Estimation modules - # - #modules/attitude_estimator_q - modules/ekf2 - #modules/landing_target_estimator - #modules/local_position_estimator - #modules/position_estimator_inav - modules/wind_estimator - - # - # Vehicle Control - # - modules/fw_att_control - modules/fw_pos_control_l1 - modules/gnd_att_control - modules/gnd_pos_control - modules/mc_att_control - modules/mc_pos_control - modules/vtol_att_control - - # - # Logging - # - modules/logger - - # - # Library modules - # - modules/dataman -) diff --git a/cmake/configs/nuttx_px4fmu-v4_default.cmake b/cmake/configs/nuttx_px4fmu-v4_default.cmake deleted file mode 100644 index 56cdb9dfc7..0000000000 --- a/cmake/configs/nuttx_px4fmu-v4_default.cmake +++ /dev/null @@ -1,158 +0,0 @@ - -px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common) - -# user-configurable UART ports -set(board_serial_ports - GPS1:/dev/ttyS3 - TEL1:/dev/ttyS1 - TEL2:/dev/ttyS2) - -set(config_uavcan_num_ifaces 1) - -set(config_module_list - # - # Board support modules - # - drivers/barometer - drivers/differential_pressure - drivers/distance_sensor - drivers/magnetometer - drivers/telemetry - drivers/imu - - drivers/batt_smbus - drivers/blinkm - drivers/camera_trigger - drivers/gps - drivers/heater - drivers/irlock - drivers/mkblctrl - drivers/oreoled - drivers/pca9685 - drivers/pwm_input - drivers/pwm_out_sim - drivers/px4flow - drivers/px4fmu - drivers/rgbled - drivers/rgbled_ncp5623c - drivers/rc_input - drivers/stm32 - drivers/stm32/adc - drivers/stm32/tone_alarm - drivers/tap_esc - drivers/vmount - modules/sensors - - # - # System commands - # - systemcmds/bl_update - systemcmds/config - systemcmds/dumpfile - systemcmds/esc_calib - systemcmds/hardfault_log - systemcmds/led_control - systemcmds/mixer - systemcmds/motor_ramp - systemcmds/mtd - systemcmds/nshterm - systemcmds/param - systemcmds/perf - systemcmds/pwm - systemcmds/reboot - systemcmds/sd_bench - systemcmds/top - systemcmds/topic_listener - systemcmds/tune_control - systemcmds/ver - - # - # Testing - # - drivers/distance_sensor/sf0x/sf0x_tests - drivers/test_ppm - #lib/rc/rc_tests - modules/commander/commander_tests - lib/controllib/controllib_test - modules/mavlink/mavlink_tests - modules/uORB/uORB_tests - systemcmds/tests - - # - # General system control - # - modules/camera_feedback - modules/commander - modules/events - modules/gpio_led - modules/land_detector - modules/load_mon - modules/mavlink - modules/navigator - modules/uavcan - - # - # Estimation modules - # - modules/attitude_estimator_q - modules/ekf2 - modules/landing_target_estimator - modules/local_position_estimator - modules/position_estimator_inav - modules/wind_estimator - - # - # Vehicle Control - # - modules/fw_att_control - modules/fw_pos_control_l1 - modules/gnd_att_control - modules/gnd_pos_control - modules/mc_att_control - modules/mc_pos_control - modules/vtol_att_control - - # - # Logging - # - modules/logger - - # - # Library modules - # - modules/dataman - - # - # OBC challenge - # - examples/bottle_drop - - # - # Rover apps - # - examples/rover_steering_control - - # - # Segway - # - examples/segway - - # - # Demo apps - # - - # Tutorial code from - # https://px4.io/dev/px4_simple_app - examples/px4_simple_app - - # Tutorial code from - # https://px4.io/dev/debug_values - examples/px4_mavlink_debug - - # Tutorial code from - # https://px4.io/dev/example_fixedwing_control - examples/fixedwing_control - - # Hardware test - examples/hwtest -) diff --git a/cmake/configs/nuttx_px4fmu-v4_rtps.cmake b/cmake/configs/nuttx_px4fmu-v4_rtps.cmake deleted file mode 100644 index 53e7d10b19..0000000000 --- a/cmake/configs/nuttx_px4fmu-v4_rtps.cmake +++ /dev/null @@ -1,5 +0,0 @@ -include(configs/nuttx_px4fmu-v4_default) - -list(APPEND config_module_list - modules/micrortps_bridge -) \ No newline at end of file diff --git a/cmake/configs/nuttx_px4fmu-v4_stackcheck.cmake b/cmake/configs/nuttx_px4fmu-v4_stackcheck.cmake deleted file mode 100644 index 63a04c617b..0000000000 --- a/cmake/configs/nuttx_px4fmu-v4_stackcheck.cmake +++ /dev/null @@ -1,116 +0,0 @@ - -px4_nuttx_configure(HWCLASS m4 CONFIG stackcheck ROMFS y ROMFSROOT px4fmu_common) - -set(config_uavcan_num_ifaces 1) - -set(config_module_list - # - # Board support modules - # - drivers/barometer - drivers/differential_pressure - drivers/distance_sensor - drivers/magnetometer - drivers/telemetry - drivers/imu - - drivers/batt_smbus - drivers/blinkm - drivers/camera_trigger - drivers/gps - drivers/irlock - drivers/mkblctrl - drivers/oreoled - drivers/pca9685 - drivers/pwm_input - drivers/pwm_out_sim - drivers/px4flow - drivers/px4fmu - drivers/rgbled - drivers/rc_input - drivers/stm32 - drivers/stm32/adc - drivers/stm32/tone_alarm - drivers/tap_esc - drivers/vmount - modules/sensors - - # - # System commands - # - systemcmds/bl_update - systemcmds/config - systemcmds/dumpfile - systemcmds/esc_calib - systemcmds/hardfault_log - systemcmds/led_control - systemcmds/mixer - systemcmds/motor_ramp - systemcmds/mtd - systemcmds/nshterm - systemcmds/param - systemcmds/perf - systemcmds/pwm - systemcmds/reboot - systemcmds/sd_bench - systemcmds/top - systemcmds/topic_listener - systemcmds/tune_control - systemcmds/ver - - # - # Testing - # - drivers/distance_sensor/sf0x/sf0x_tests - drivers/test_ppm - #lib/rc/rc_tests - modules/commander/commander_tests - lib/controllib/controllib_test - modules/mavlink/mavlink_tests - modules/uORB/uORB_tests - systemcmds/tests - - # - # General system control - # - modules/camera_feedback - modules/commander - modules/events - modules/gpio_led - modules/land_detector - modules/load_mon - modules/mavlink - modules/navigator - #modules/uavcan - - # - # Estimation modules - # - modules/attitude_estimator_q - modules/ekf2 - modules/landing_target_estimator - modules/local_position_estimator - modules/position_estimator_inav - modules/wind_estimator - - # - # Vehicle Control - # - modules/fw_att_control - modules/fw_pos_control_l1 - modules/gnd_att_control - modules/gnd_pos_control - modules/mc_att_control - modules/mc_pos_control - modules/vtol_att_control - - # - # Logging - # - modules/logger - - # - # Library modules - # - modules/dataman -) diff --git a/cmake/configs/nuttx_px4fmu-v4pro_default.cmake b/cmake/configs/nuttx_px4fmu-v4pro_default.cmake deleted file mode 100644 index 02fd61d13e..0000000000 --- a/cmake/configs/nuttx_px4fmu-v4pro_default.cmake +++ /dev/null @@ -1,162 +0,0 @@ - -px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common IO px4io-v2) - -# user-configurable UART ports -set(board_serial_ports - GPS1:/dev/ttyS3 - TEL1:/dev/ttyS1 - TEL2:/dev/ttyS2 - TEL3:/dev/ttyS0 - TEL4:/dev/ttyS6) - -set(config_uavcan_num_ifaces 2) - -set(config_module_list - # - # Board support modules - # - drivers/distance_sensor - drivers/barometer - drivers/differential_pressure - drivers/magnetometer - drivers/telemetry - - drivers/batt_smbus - drivers/blinkm - drivers/imu/bma180 - drivers/imu/bmi160 - drivers/camera_trigger - drivers/gps - drivers/irlock - drivers/imu/l3gd20 - drivers/mkblctrl - drivers/imu/mpu6000 - drivers/imu/mpu9250 - drivers/oreoled - drivers/pwm_input - drivers/pwm_out_sim - drivers/px4flow - drivers/px4fmu - drivers/px4io - drivers/rgbled - drivers/rgbled_ncp5623c - drivers/stm32 - drivers/stm32/adc - drivers/stm32/tone_alarm - drivers/tap_esc - drivers/vmount - modules/sensors - - # - # System commands - # - systemcmds/bl_update - systemcmds/config - systemcmds/dumpfile - systemcmds/esc_calib - systemcmds/hardfault_log - systemcmds/led_control - systemcmds/mixer - systemcmds/motor_ramp - systemcmds/mtd - systemcmds/nshterm - systemcmds/param - systemcmds/perf - systemcmds/pwm - systemcmds/reboot - systemcmds/sd_bench - systemcmds/top - systemcmds/topic_listener - systemcmds/tune_control - systemcmds/ver - - # - # Testing - # - drivers/distance_sensor/sf0x/sf0x_tests - drivers/test_ppm - #lib/rc/rc_tests - modules/commander/commander_tests - lib/controllib/controllib_test - modules/mavlink/mavlink_tests - modules/uORB/uORB_tests - systemcmds/tests - - # - # General system control - # - modules/commander - modules/events - modules/gpio_led - modules/land_detector - modules/load_mon - modules/mavlink - modules/navigator - modules/uavcan - modules/camera_feedback - - # - # Estimation modules - # - modules/attitude_estimator_q - modules/ekf2 - modules/landing_target_estimator - modules/local_position_estimator - modules/position_estimator_inav - modules/wind_estimator - - # - # Vehicle Control - # - modules/fw_att_control - modules/fw_pos_control_l1 - modules/gnd_att_control - modules/gnd_pos_control - modules/mc_att_control - modules/mc_pos_control - modules/vtol_att_control - - # - # Logging - # - modules/logger - - # - # Library modules - # - modules/dataman - - # - # OBC challenge - # - examples/bottle_drop - - # - # Rover apps - # - examples/rover_steering_control - - # - # Segway - # - #examples/segway - - # - # Demo apps - # - - # Tutorial code from - # https://px4.io/dev/px4_simple_app - #examples/px4_simple_app - - # Tutorial code from - # https://px4.io/dev/debug_values - #examples/px4_mavlink_debug - - # Tutorial code from - # https://px4.io/dev/example_fixedwing_control - #examples/fixedwing_control - - # Hardware test - #examples/hwtest -) diff --git a/cmake/configs/nuttx_px4fmu-v4pro_rtps.cmake b/cmake/configs/nuttx_px4fmu-v4pro_rtps.cmake deleted file mode 100644 index 1b8c648b03..0000000000 --- a/cmake/configs/nuttx_px4fmu-v4pro_rtps.cmake +++ /dev/null @@ -1,5 +0,0 @@ -include(configs/nuttx_px4fmu-v4pro_default) - -list(APPEND config_module_list - modules/micrortps_bridge -) \ No newline at end of file diff --git a/cmake/configs/nuttx_px4fmu-v5_default.cmake b/cmake/configs/nuttx_px4fmu-v5_default.cmake deleted file mode 100644 index 49c991808e..0000000000 --- a/cmake/configs/nuttx_px4fmu-v5_default.cmake +++ /dev/null @@ -1,164 +0,0 @@ - -px4_nuttx_configure(HWCLASS m7 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common IO px4io-v2) - -# user-configurable UART ports -set(board_serial_ports - GPS1:/dev/ttyS0 - TEL1:/dev/ttyS1 - TEL2:/dev/ttyS2 - TEL4:/dev/ttyS3) - -set(config_uavcan_num_ifaces 2) - -set(config_module_list - # - # Board support modules - # - drivers/barometer - drivers/differential_pressure - drivers/distance_sensor - drivers/magnetometer - drivers/telemetry - - drivers/batt_smbus - drivers/blinkm - drivers/camera_trigger - drivers/gps - drivers/imu/bma180 - drivers/imu/bmi055 - drivers/imu/bmi160 - drivers/imu/mpu6000 - drivers/imu/mpu9250 - drivers/irlock - drivers/mkblctrl - drivers/oreoled - drivers/pmw3901 - drivers/pwm_input - drivers/pwm_out_sim - drivers/px4flow - drivers/px4fmu - drivers/px4io - drivers/rc_input - drivers/rgbled - drivers/rgbled_ncp5623c - #drivers/rgbled_pwm # Enable to put the three leds into PWM RGB mode - drivers/stm32 - drivers/stm32/adc - drivers/stm32/tone_alarm - drivers/tap_esc - drivers/vmount - modules/sensors - - # - # System commands - # - systemcmds/bl_update - systemcmds/config - systemcmds/dumpfile - systemcmds/esc_calib - systemcmds/hardfault_log - systemcmds/led_control - systemcmds/mixer - systemcmds/motor_ramp - systemcmds/mtd - systemcmds/nshterm - systemcmds/param - systemcmds/perf - systemcmds/pwm - systemcmds/reboot - systemcmds/sd_bench - systemcmds/top - systemcmds/topic_listener - systemcmds/tune_control - systemcmds/ver - - # - # Testing - # - drivers/distance_sensor/sf0x/sf0x_tests - drivers/test_ppm - #lib/rc/rc_tests - modules/commander/commander_tests - lib/controllib/controllib_test - modules/mavlink/mavlink_tests - modules/uORB/uORB_tests - systemcmds/tests - - # - # General system control - # - modules/commander - modules/events - modules/gpio_led - modules/land_detector - modules/load_mon - modules/mavlink - modules/navigator - modules/uavcan - modules/camera_feedback - - # - # Estimation modules - # - modules/attitude_estimator_q - modules/ekf2 - modules/landing_target_estimator - modules/local_position_estimator - modules/position_estimator_inav - modules/wind_estimator - - # - # Vehicle Control - # - modules/fw_att_control - modules/fw_pos_control_l1 - modules/gnd_att_control - modules/gnd_pos_control - modules/mc_att_control - modules/mc_pos_control - modules/vtol_att_control - - # - # Logging - # - modules/logger - - # - # Library modules - # - modules/dataman - - # - # OBC challenge - # - #examples/bottle_drop - - # - # Rover apps - # - #examples/rover_steering_control - - # - # Segway - # - #examples/segway - - # - # Demo apps - # - - # Tutorial code from - # https://px4.io/dev/px4_simple_app - #examples/px4_simple_app - - # Tutorial code from - # https://px4.io/dev/debug_values - #examples/px4_mavlink_debug - - # Tutorial code from - # https://px4.io/dev/example_fixedwing_control - #examples/fixedwing_control - - # Hardware test - #examples/hwtest -) diff --git a/cmake/configs/nuttx_px4fmu-v5_rtps.cmake b/cmake/configs/nuttx_px4fmu-v5_rtps.cmake deleted file mode 100644 index 3aae172e16..0000000000 --- a/cmake/configs/nuttx_px4fmu-v5_rtps.cmake +++ /dev/null @@ -1,5 +0,0 @@ -include(configs/nuttx_px4fmu-v5_default) - -list(APPEND config_module_list - modules/micrortps_bridge -) diff --git a/cmake/configs/nuttx_px4fmu-v5_stackcheck.cmake b/cmake/configs/nuttx_px4fmu-v5_stackcheck.cmake deleted file mode 100644 index 6edb640077..0000000000 --- a/cmake/configs/nuttx_px4fmu-v5_stackcheck.cmake +++ /dev/null @@ -1,121 +0,0 @@ - -px4_nuttx_configure(HWCLASS m7 CONFIG stackcheck ROMFS y ROMFSROOT px4fmu_common IO px4io-v2) - -set(config_uavcan_num_ifaces 2) - -set(config_module_list - # - # Board support modules - # - drivers/barometer - drivers/differential_pressure - drivers/distance_sensor - drivers/magnetometer - drivers/telemetry - - drivers/batt_smbus - drivers/blinkm - drivers/camera_trigger - drivers/gps - drivers/imu/bma180 - drivers/imu/bmi055 - drivers/imu/bmi160 - drivers/imu/mpu6000 - drivers/imu/mpu9250 - drivers/irlock - drivers/mkblctrl - drivers/oreoled - drivers/pwm_input - drivers/pwm_out_sim - drivers/px4flow - drivers/px4fmu - drivers/px4io - drivers/rc_input - drivers/rgbled - #drivers/rgbled_pwm # Enable to put the three leds into PWM RGB mode - drivers/stm32 - drivers/stm32/adc - drivers/stm32/tone_alarm - drivers/tap_esc - drivers/vmount - modules/sensors - - # - # System commands - # - systemcmds/bl_update - systemcmds/config - systemcmds/dumpfile - systemcmds/esc_calib - systemcmds/hardfault_log - systemcmds/led_control - systemcmds/mixer - systemcmds/motor_ramp - systemcmds/mtd - systemcmds/nshterm - systemcmds/param - systemcmds/perf - systemcmds/pwm - systemcmds/reboot - systemcmds/sd_bench - systemcmds/top - systemcmds/topic_listener - systemcmds/tune_control - systemcmds/ver - - # - # Testing - # - drivers/distance_sensor/sf0x/sf0x_tests - drivers/test_ppm - #lib/rc/rc_tests - modules/commander/commander_tests - lib/controllib/controllib_test - modules/mavlink/mavlink_tests - modules/uORB/uORB_tests - systemcmds/tests - - # - # General system control - # - modules/commander - modules/events - modules/gpio_led - modules/land_detector - modules/load_mon - modules/mavlink - modules/navigator - #modules/uavcan - modules/camera_feedback - - # - # Estimation modules - # - modules/attitude_estimator_q - modules/ekf2 - modules/landing_target_estimator - modules/local_position_estimator - modules/position_estimator_inav - modules/wind_estimator - - # - # Vehicle Control - # - modules/fw_att_control - modules/fw_pos_control_l1 - modules/gnd_att_control - modules/gnd_pos_control - modules/mc_att_control - modules/mc_pos_control - modules/vtol_att_control - - # - # Logging - # - modules/logger - - # - # Library modules - # - modules/dataman -) diff --git a/cmake/configs/nuttx_px4io-v2_default.cmake b/cmake/configs/nuttx_px4io-v2_default.cmake deleted file mode 100644 index ff227dfbb8..0000000000 --- a/cmake/configs/nuttx_px4io-v2_default.cmake +++ /dev/null @@ -1,7 +0,0 @@ - -px4_nuttx_configure(HWCLASS m3 CONFIG nsh) - -set(config_module_list - drivers/stm32 - modules/px4iofirmware -) diff --git a/cmake/configs/nuttx_px4nucleoF767ZI-v1_default.cmake b/cmake/configs/nuttx_px4nucleoF767ZI-v1_default.cmake deleted file mode 100644 index 49f49b32d6..0000000000 --- a/cmake/configs/nuttx_px4nucleoF767ZI-v1_default.cmake +++ /dev/null @@ -1,128 +0,0 @@ - -px4_nuttx_configure(HWCLASS m7 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common) - -set(config_uavcan_num_ifaces 2) - -set(config_module_list - # - # Board support modules - # - drivers/barometer - drivers/differential_pressure - drivers/distance_sensor - drivers/magnetometer - drivers/telemetry - - drivers/imu/adis16448 - drivers/blinkm - drivers/imu/bma180 - drivers/imu/bmi160 - drivers/camera_trigger - drivers/gps - drivers/mkblctrl - drivers/imu/mpu6000 - drivers/imu/mpu9250 - drivers/oreoled - drivers/pwm_input - drivers/pwm_out_sim - drivers/px4flow - drivers/px4fmu - drivers/rgbled - drivers/stm32 - drivers/stm32/adc - drivers/stm32/tone_alarm - drivers/tap_esc - modules/sensors - - # - # System commands - # - systemcmds/bl_update - systemcmds/config - systemcmds/dumpfile - systemcmds/esc_calib - systemcmds/hardfault_log - systemcmds/led_control - systemcmds/mixer - systemcmds/motor_ramp - systemcmds/mtd - systemcmds/nshterm - systemcmds/param - systemcmds/perf - systemcmds/pwm - systemcmds/reboot - systemcmds/sd_bench - systemcmds/top - systemcmds/topic_listener - systemcmds/tune_control - systemcmds/ver - - # - # General system control - # - modules/commander - modules/load_mon - modules/navigator - modules/mavlink - modules/gpio_led - modules/uavcan - modules/land_detector - - # - # Estimation modules - # - modules/attitude_estimator_q - modules/position_estimator_inav - modules/local_position_estimator - modules/landing_target_estimator - modules/ekf2 - - # - # Vehicle Control - # - # modules/segway # XXX Needs GCC 4.7 fix - modules/fw_pos_control_l1 - modules/fw_att_control - modules/mc_att_control - modules/mc_pos_control - modules/vtol_att_control - - # - # Logging - # - modules/logger - - # - # Library modules - # - modules/dataman - - # - # OBC challenge - # - examples/bottle_drop - - # - # Rover apps - # - examples/rover_steering_control - - # - # Demo apps - # - #examples/math_demo - # Tutorial code from - # https://px4.io/dev/px4_simple_app - examples/px4_simple_app - - # Tutorial code from - # https://px4.io/dev/debug_values - #examples/px4_mavlink_debug - - # Tutorial code from - # https://px4.io/dev/example_fixedwing_control - #examples/fixedwing_control - - # Hardware test - #examples/hwtest -) diff --git a/cmake/configs/posix_bbblue_common.cmake b/cmake/configs/posix_bbblue_common.cmake deleted file mode 100644 index 8acbc1bf90..0000000000 --- a/cmake/configs/posix_bbblue_common.cmake +++ /dev/null @@ -1,104 +0,0 @@ -# This file is shared between posix_bbblue_native.cmake -# and posix_bbblue_cross.cmake. - - -# This definition allows to differentiate if this just the usual POSIX build -# or if it is for the bbblue. -add_definitions( - -D__PX4_POSIX_BBBLUE - -D__PX4_POSIX - -D__DF_LINUX # For DriverFramework - -D__DF_BBBLUE # For DriverFramework - -DRC_AUTOPILOT_EXT # Enable extensions in Robotics Cape Library -# -DDEBUG_BUILD -) - -#optional __DF_BBBLUE_USE_RC_BMP280_IMP -add_definitions( - -D__DF_BBBLUE_USE_RC_BMP280_IMP -) - -#optional __PX4_BBBLUE_DEFAULT_MAVLINK_WIFI, default is "SoftAp" -#add_definitions( -# -D__PX4_BBBLUE_DEFAULT_MAVLINK_WIFI="wlan" -#) - - -set(config_module_list - # - # Board support modules - # - #drivers/barometer - drivers/batt_smbus - drivers/differential_pressure - drivers/distance_sensor - #drivers/telemetry - #drivers/boards - - modules/sensors - - platforms/posix/drivers/df_mpu9250_wrapper - platforms/posix/drivers/df_bmp280_wrapper - - # - # System commands - # - systemcmds/param - systemcmds/led_control - systemcmds/mixer - systemcmds/ver - systemcmds/esc_calib - systemcmds/reboot - systemcmds/topic_listener - systemcmds/tune_control - systemcmds/perf - - # - # Estimation modules - # - modules/attitude_estimator_q - modules/position_estimator_inav - modules/local_position_estimator - modules/landing_target_estimator - modules/ekf2 - - # - # Vehicle Control - # - modules/fw_att_control - modules/fw_pos_control_l1 - modules/gnd_att_control - modules/gnd_pos_control - modules/mc_att_control - modules/mc_pos_control - modules/vtol_att_control - - # - # Library modules - # - modules/logger - modules/commander - modules/dataman - modules/land_detector - modules/navigator - modules/mavlink - - # - # PX4 drivers - # - drivers/linux_sbus - drivers/gps - drivers/bbblue_adc - drivers/linux_gpio - drivers/linux_pwm_out - drivers/pwm_out_sim - -) - -# -# DriverFramework driver -# -set(config_df_driver_list - mpu9250 - bmp280 -) diff --git a/cmake/configs/posix_bbblue_cross.cmake b/cmake/configs/posix_bbblue_cross.cmake deleted file mode 100644 index 99d4c139d9..0000000000 --- a/cmake/configs/posix_bbblue_cross.cmake +++ /dev/null @@ -1,3 +0,0 @@ -include(configs/posix_bbblue_common) - -SET(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-linux-gnueabihf.cmake) diff --git a/cmake/configs/posix_bbblue_native.cmake b/cmake/configs/posix_bbblue_native.cmake deleted file mode 100644 index ab5c8fc2dc..0000000000 --- a/cmake/configs/posix_bbblue_native.cmake +++ /dev/null @@ -1,7 +0,0 @@ -include(configs/posix_bbblue_common) - -add_definitions( - -D __DF_BBBLUE - ) - -set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-native.cmake) diff --git a/cmake/configs/posix_bebop_default.cmake b/cmake/configs/posix_bebop_default.cmake deleted file mode 100644 index a31e0e3fd1..0000000000 --- a/cmake/configs/posix_bebop_default.cmake +++ /dev/null @@ -1,75 +0,0 @@ - -set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-linux-gnueabihf.cmake) - -add_definitions( - -D__PX4_POSIX_BEBOP - -D__DF_LINUX # Define needed DriverFramework - -D__DF_BEBOP # Define needed DriverFramework - ) - -set(config_module_list - - # - # Board support modules - # - drivers/linux_sbus - modules/sensors - platforms/posix/drivers/df_ms5607_wrapper - platforms/posix/drivers/df_mpu6050_wrapper - platforms/posix/drivers/df_ak8963_wrapper - platforms/posix/drivers/df_bebop_bus_wrapper - platforms/posix/drivers/df_bebop_rangefinder_wrapper - platforms/posix/drivers/bebop_flow - - # - # System commands - # - systemcmds/param - systemcmds/mixer - systemcmds/ver - systemcmds/esc_calib - systemcmds/topic_listener - systemcmds/perf - - # - # Estimation modules - # - modules/attitude_estimator_q - modules/position_estimator_inav - modules/local_position_estimator - modules/landing_target_estimator - modules/ekf2 - - # - # Vehicle Control - # - modules/mc_att_control - modules/mc_pos_control - modules/fw_att_control - modules/fw_pos_control_l1 - modules/vtol_att_control - - # - # Library modules - # - modules/logger - modules/commander - modules/dataman - modules/land_detector - modules/navigator - modules/mavlink - - # - # PX4 drivers - # - drivers/gps -) - -set(config_df_driver_list - ms5607 - mpu6050 - ak8963 - bebop_bus - bebop_rangefinder - mt9v117 -) diff --git a/cmake/configs/posix_eagle_default.cmake b/cmake/configs/posix_eagle_default.cmake deleted file mode 100644 index be81961425..0000000000 --- a/cmake/configs/posix_eagle_default.cmake +++ /dev/null @@ -1,17 +0,0 @@ -# The Eagle board is the first generation Snapdragon Flight board by Qualcomm. -# -# This cmake config builds for POSIX, so the part of the flight stack running -# on the Linux side of the Snapdragon. -include(configs/posix_sdflight_default) - -set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/cmake_hexagon/toolchain/Toolchain-arm-linux-gnueabihf.cmake) - -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PX4_SOURCE_DIR}/cmake/cmake_hexagon") - -set(CONFIG_SHMEM "1") - -# This definition allows to differentiate if this just the usual POSIX build -# or if it is for the Snapdragon. -add_definitions( - -D__PX4_POSIX_EAGLE -) diff --git a/cmake/configs/posix_eagle_hil.cmake b/cmake/configs/posix_eagle_hil.cmake deleted file mode 100644 index a06450b1d6..0000000000 --- a/cmake/configs/posix_eagle_hil.cmake +++ /dev/null @@ -1,38 +0,0 @@ - -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PX4_SOURCE_DIR}/cmake/cmake_hexagon") - -# Use build stubs unless explicitly set not to -if("${DSPAL_STUBS_ENABLE}" STREQUAL "") - set(DSPAL_STUBS_ENABLE "1") -endif() - -set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/cmake_hexagon/toolchain/Toolchain-arm-linux-gnueabihf.cmake) - -set(DISABLE_PARAMS_MODULE_SCOPING TRUE) - -# Get $QC_SOC_TARGET from environment if existing. -if (DEFINED ENV{QC_SOC_TARGET}) - set(QC_SOC_TARGET $ENV{QC_SOC_TARGET}) -else() - set(QC_SOC_TARGET "APQ8074") -endif() - -add_definitions(-DORB_COMMUNICATOR) - -set(config_module_list - drivers/linux_sbus - - systemcmds/param - systemcmds/ver - - modules/mavlink - - modules/sensors - modules/dataman - modules/logger - modules/simulator - modules/commander - - modules/muorb/krait - ) - diff --git a/cmake/configs/posix_eagle_legacy.cmake b/cmake/configs/posix_eagle_legacy.cmake deleted file mode 100644 index a0a153b83b..0000000000 --- a/cmake/configs/posix_eagle_legacy.cmake +++ /dev/null @@ -1,15 +0,0 @@ -# Eagle is the code name of a board currently in development. -# -# This cmake config builds for POSIX, so the part of the flight stack running -# on the Linux side of the Snapdragon. - -include(configs/posix_sdflight_legacy) - -set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/cmake_hexagon/toolchain/Toolchain-arm-linux-gnueabihf.cmake) - -# This definition allows to differentiate if this just the usual POSIX build -# or if it is for the Snapdragon. -add_definitions( - -D__PX4_POSIX_EAGLE - -D__USING_SNAPDRAGON_LEGACY_DRIVER -) diff --git a/cmake/configs/posix_eagle_muorb.cmake b/cmake/configs/posix_eagle_muorb.cmake deleted file mode 100644 index ffde3b617c..0000000000 --- a/cmake/configs/posix_eagle_muorb.cmake +++ /dev/null @@ -1,19 +0,0 @@ - -set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/cmake_hexagon/toolchain/Toolchain-arm-linux-gnueabihf.cmake) - -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PX4_SOURCE_DIR}/cmake/cmake_hexagon") - -set(DISABLE_PARAMS_MODULE_SCOPING TRUE) -add_definitions(-DORB_COMMUNICATOR) - -# Get $QC_SOC_TARGET from environment if existing. -if (DEFINED ENV{QC_SOC_TARGET}) - set(QC_SOC_TARGET $ENV{QC_SOC_TARGET}) -else() - set(QC_SOC_TARGET "APQ8074") -endif() - -set(config_module_list - modules/muorb/krait - ) - diff --git a/cmake/configs/posix_excelsior_default.cmake b/cmake/configs/posix_excelsior_default.cmake deleted file mode 100644 index 0717f60beb..0000000000 --- a/cmake/configs/posix_excelsior_default.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# Excelsior is the code name of a board currently in development. -# -# This cmake config builds for POSIX, so the part of the flight stack running -# on the Linux side of the Snapdragon. -include(configs/posix_sdflight_default) -set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/cmake_hexagon/toolchain/Toolchain-arm-oemllib32-linux-gnueabi.cmake) - -# This definition allows to differentiate the specific board. -add_definitions( - -D__PX4_POSIX_EXCELSIOR -) diff --git a/cmake/configs/posix_excelsior_legacy.cmake b/cmake/configs/posix_excelsior_legacy.cmake deleted file mode 100644 index a20628ee94..0000000000 --- a/cmake/configs/posix_excelsior_legacy.cmake +++ /dev/null @@ -1,14 +0,0 @@ -# Excelsior is the code name of a board currently in development. -# -# This cmake config builds for POSIX, so the part of the flight stack running -# on the Linux side of the Snapdragon. - -include(configs/posix_sdflight_legacy) - -set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/cmake_hexagon/toolchain/Toolchain-arm-oemllib32-linux-gnueabi.cmake) -# This definition allows to differentiate if this just the usual POSIX build -# or if it is for the Snapdragon. -add_definitions( - -D__PX4_POSIX_EXCELSIOR - -D__USING_SNAPDRAGON_LEGACY_DRIVER -) diff --git a/cmake/configs/posix_ocpoc_cross.cmake b/cmake/configs/posix_ocpoc_cross.cmake deleted file mode 100644 index 0e368554b7..0000000000 --- a/cmake/configs/posix_ocpoc_cross.cmake +++ /dev/null @@ -1,85 +0,0 @@ -#set toolchain -set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-xilinx-linux-gnueabi.cmake) - -set(CMAKE_PROGRAM_PATH - "${OCPOC_TOOLCHAIN_DIR}" - ${CMAKE_PROGRAM_PATH} -) - - -add_definitions( - -D__PX4_POSIX_OCPOC - -D__DF_LINUX # For DriverFramework - -D__DF_OCPOC # For DriverFramework - -D__PX4_POSIX -) - -set(config_module_list - # - # Board support modules - # - drivers/distance_sensor - modules/sensors - platforms/posix/drivers/df_mpu9250_wrapper - platforms/posix/drivers/df_ms5611_wrapper - platforms/posix/drivers/df_hmc5883_wrapper - - # - # System commands - # - systemcmds/param - systemcmds/mixer - systemcmds/ver - systemcmds/esc_calib - systemcmds/reboot - systemcmds/topic_listener - systemcmds/perf - - # - # Estimation modules - # - modules/attitude_estimator_q - modules/position_estimator_inav - modules/local_position_estimator - modules/landing_target_estimator - modules/ekf2 - - # - # Vehicle Control - # - modules/mc_att_control - modules/mc_pos_control - modules/vtol_att_control - modules/fw_att_control - modules/fw_pos_control_l1 - - # - # Library modules - # - modules/logger - modules/commander - modules/dataman - modules/land_detector - modules/navigator - modules/mavlink - - # - # PX4 drivers - # - drivers/gps - drivers/ocpoc_adc - drivers/linux_sbus - drivers/linux_pwm_out - drivers/rgbled - - examples/px4_simple_app -) - -# -# DriverFramework driver -# -set(config_df_driver_list - mpu9250 - ms5611 - hmc5883 -) diff --git a/cmake/configs/posix_ocpoc_ubuntu.cmake b/cmake/configs/posix_ocpoc_ubuntu.cmake deleted file mode 100644 index 8f3b549c91..0000000000 --- a/cmake/configs/posix_ocpoc_ubuntu.cmake +++ /dev/null @@ -1,84 +0,0 @@ -#set toolchain -set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-gcc-arm-linux-gnueabihf.cmake) - -set(CMAKE_PROGRAM_PATH - ${CMAKE_PROGRAM_PATH} -) - - -add_definitions( - -D__PX4_POSIX_OCPOC - -D__DF_LINUX # For DriverFramework - -D__DF_OCPOC # For DriverFramework - -D__PX4_POSIX -) - -set(config_module_list - # - # Board support modules - # - drivers/distance_sensor - modules/sensors - platforms/posix/drivers/df_mpu9250_wrapper - platforms/posix/drivers/df_ms5611_wrapper - platforms/posix/drivers/df_hmc5883_wrapper - - # - # System commands - # - systemcmds/param - systemcmds/mixer - systemcmds/ver - systemcmds/esc_calib - systemcmds/reboot - systemcmds/topic_listener - systemcmds/perf - - # - # Estimation modules - # - modules/attitude_estimator_q - modules/position_estimator_inav - modules/local_position_estimator - modules/landing_target_estimator - modules/ekf2 - - # - # Vehicle Control - # - modules/mc_att_control - modules/mc_pos_control - modules/vtol_att_control - modules/fw_att_control - modules/fw_pos_control_l1 - - # - # Library modules - # - modules/logger - modules/commander - modules/dataman - modules/land_detector - modules/navigator - modules/mavlink - - # - # PX4 drivers - # - drivers/gps - drivers/ocpoc_adc - drivers/linux_sbus - drivers/linux_pwm_out - drivers/rgbled - - examples/px4_simple_app -) - -# -# DriverFramework driver -# -set(config_df_driver_list - mpu9250 - ms5611 - hmc5883 -) diff --git a/cmake/configs/posix_rpi_common.cmake b/cmake/configs/posix_rpi_common.cmake deleted file mode 100644 index 2b8968b793..0000000000 --- a/cmake/configs/posix_rpi_common.cmake +++ /dev/null @@ -1,103 +0,0 @@ -# This file is shared between posix_rpi_native.cmake -# and posix_rpi_cross.cmake. - - -# This definition allows to differentiate if this just the usual POSIX build -# or if it is for the RPi. -add_definitions( - -D__PX4_POSIX_RPI - -D__DF_LINUX # For DriverFramework - -D__DF_RPI # For DriverFramework -) - - -set(config_module_list - # - # Board support modules - # - #drivers/barometer - drivers/batt_smbus - drivers/differential_pressure - drivers/distance_sensor - #drivers/telemetry - - modules/sensors - - platforms/posix/drivers/df_hmc5883_wrapper - platforms/posix/drivers/df_isl29501_wrapper - platforms/posix/drivers/df_lsm9ds1_wrapper - platforms/posix/drivers/df_mpu9250_wrapper - platforms/posix/drivers/df_ms5611_wrapper - platforms/posix/drivers/df_trone_wrapper - - # - # System commands - # - systemcmds/param - systemcmds/dyn - systemcmds/led_control - systemcmds/mixer - systemcmds/ver - systemcmds/esc_calib - systemcmds/reboot - systemcmds/shutdown - systemcmds/topic_listener - systemcmds/tune_control - systemcmds/perf - - # - # Estimation modules - # - modules/attitude_estimator_q - modules/position_estimator_inav - modules/local_position_estimator - modules/landing_target_estimator - modules/ekf2 - - # - # Vehicle Control - # - modules/fw_att_control - modules/fw_pos_control_l1 - modules/gnd_att_control - modules/gnd_pos_control - modules/mc_att_control - modules/mc_pos_control - modules/vtol_att_control - - # - # Library modules - # - modules/logger - modules/commander - modules/dataman - modules/land_detector - modules/navigator - modules/mavlink - - # - # PX4 drivers - # - drivers/linux_sbus - drivers/gps - drivers/navio_adc - drivers/navio_sysfs_rc_in - drivers/linux_gpio - drivers/linux_pwm_out - drivers/navio_rgbled - drivers/pwm_out_sim - drivers/rpi_rc_in - -) - -# -# DriverFramework driver -# -set(config_df_driver_list - mpu9250 - lsm9ds1 - ms5611 - hmc5883 - trone - isl29501 -) diff --git a/cmake/configs/posix_rpi_cross.cmake b/cmake/configs/posix_rpi_cross.cmake deleted file mode 100644 index 46626ac8f6..0000000000 --- a/cmake/configs/posix_rpi_cross.cmake +++ /dev/null @@ -1,3 +0,0 @@ -include(configs/posix_rpi_common) - -SET(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-linux-gnueabihf.cmake) diff --git a/cmake/configs/posix_rpi_cross_no_shield.cmake b/cmake/configs/posix_rpi_cross_no_shield.cmake deleted file mode 100644 index d5f89b97b7..0000000000 --- a/cmake/configs/posix_rpi_cross_no_shield.cmake +++ /dev/null @@ -1,19 +0,0 @@ -# 使用这个文件å¯åœ¨ä¸Šä½æœºäº¤å‰ç¼–译px4firmware -# use this file to cross compile px4 for raspberry pi without any shield -include(configs/posix_rpi_common) - -add_definitions( - -D__DF_RPI_SINGLE # For raspberry pi without shield accessory -) - -if("$ENV{RPI_USE_CLANG}" STREQUAL "1") - set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-linux-gnueabihf-raspbian-clang.cmake) -else() - set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-linux-gnueabihf-raspbian.cmake) -endif() - - -set(CMAKE_PROGRAM_PATH - "${RPI_TOOLCHAIN_DIR}/gcc-linaro-arm-linux-gnueabihf-raspbian/bin" - ${CMAKE_PROGRAM_PATH} -) diff --git a/cmake/configs/posix_rpi_native.cmake b/cmake/configs/posix_rpi_native.cmake deleted file mode 100644 index bd677fada3..0000000000 --- a/cmake/configs/posix_rpi_native.cmake +++ /dev/null @@ -1,7 +0,0 @@ -include(configs/posix_rpi_common) - -add_definitions( - -D __DF_RPI - ) - -set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-native.cmake) diff --git a/cmake/configs/posix_sdflight_default.cmake b/cmake/configs/posix_sdflight_default.cmake deleted file mode 100644 index 5aee64186c..0000000000 --- a/cmake/configs/posix_sdflight_default.cmake +++ /dev/null @@ -1,66 +0,0 @@ -include(common/px4_git) -px4_add_git_submodule(TARGET git_cmake_hexagon PATH "cmake/cmake_hexagon") - - -# Get $QC_SOC_TARGET from environment if existing. -if (DEFINED ENV{QC_SOC_TARGET}) - set(QC_SOC_TARGET $ENV{QC_SOC_TARGET}) -else() - set(QC_SOC_TARGET "APQ8074") -endif() - -set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/cmake_hexagon/toolchain/Toolchain-arm-linux-gnueabihf.cmake) - -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PX4_SOURCE_DIR}/cmake/cmake_hexagon") - -# Disable the creation of the parameters.xml file by scanning individual -# source files, and scan all source files. This will create a parameters.xml -# file that contains all possible parameters, even if the associated module -# is not used. This is necessary for parameter synchronization between the -# ARM and DSP processors. -set(DISABLE_PARAMS_MODULE_SCOPING TRUE) - -# Get $QC_SOC_TARGET from environment if existing. -if (DEFINED ENV{QC_SOC_TARGET}) - set(QC_SOC_TARGET $ENV{QC_SOC_TARGET}) -else() - set(QC_SOC_TARGET "APQ8074") -endif() - -set(CONFIG_SHMEM "1") -add_definitions(-DORB_COMMUNICATOR) - -set(config_module_list - drivers/blinkm - drivers/linux_sbus - drivers/pwm_out_sim - drivers/rgbled - drivers/qshell/posix - - systemcmds/param - systemcmds/led_control - systemcmds/mixer - systemcmds/ver - systemcmds/shutdown - systemcmds/topic_listener - systemcmds/tune_control - - modules/mavlink - - modules/attitude_estimator_q - modules/position_estimator_inav - modules/local_position_estimator - modules/landing_target_estimator - modules/ekf2 - - modules/mc_pos_control - modules/mc_att_control - - modules/muorb/krait - modules/sensors - modules/dataman - modules/logger - modules/simulator - modules/commander - modules/navigator -) diff --git a/cmake/configs/posix_sdflight_legacy.cmake b/cmake/configs/posix_sdflight_legacy.cmake deleted file mode 100644 index 3de331b104..0000000000 --- a/cmake/configs/posix_sdflight_legacy.cmake +++ /dev/null @@ -1,56 +0,0 @@ -include(common/px4_git) -px4_add_git_submodule(TARGET git_cmake_hexagon PATH "cmake/cmake_hexagon") - - -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PX4_SOURCE_DIR}/cmake/cmake_hexagon") - -# Disable the creation of the parameters.xml file by scanning individual -# source files, and scan all source files. This will create a parameters.xml -# file that contains all possible parameters, even if the associated module -# is not used. This is necessary for parameter synchronization between the -# ARM and DSP processors. -set(DISABLE_PARAMS_MODULE_SCOPING TRUE) - -# Get $QC_SOC_TARGET from environment if existing. -if (DEFINED ENV{QC_SOC_TARGET}) - set(QC_SOC_TARGET $ENV{QC_SOC_TARGET}) -else() - set(QC_SOC_TARGET "APQ8074") -endif() - -set(CONFIG_SHMEM "1") -add_definitions(-DORB_COMMUNICATOR) - -set(config_module_list - drivers/blinkm - drivers/linux_sbus - drivers/pwm_out_sim - drivers/rgbled - drivers/qshell/posix - - systemcmds/param - systemcmds/led_control - systemcmds/mixer - systemcmds/ver - systemcmds/topic_listener - systemcmds/tune_control - - modules/mavlink - - modules/attitude_estimator_q - modules/position_estimator_inav - modules/local_position_estimator - modules/landing_target_estimator - modules/ekf2 - - modules/mc_pos_control - modules/mc_att_control - - modules/muorb/krait - modules/sensors - modules/dataman - modules/logger - modules/simulator - modules/commander - modules/navigator - ) diff --git a/cmake/configs/posix_sdflight_rtps.cmake b/cmake/configs/posix_sdflight_rtps.cmake deleted file mode 100644 index 481cb02b39..0000000000 --- a/cmake/configs/posix_sdflight_rtps.cmake +++ /dev/null @@ -1,5 +0,0 @@ -include(configs/posix_sdflight_default) - -list(APPEND config_module_list - modules/micrortps_bridge -) \ No newline at end of file diff --git a/cmake/configs/posix_sitl_broadcast.cmake b/cmake/configs/posix_sitl_broadcast.cmake deleted file mode 100644 index 1dd45e0d56..0000000000 --- a/cmake/configs/posix_sitl_broadcast.cmake +++ /dev/null @@ -1,3 +0,0 @@ -include(cmake/configs/posix_sitl_default.cmake) - -# This config is just the same as posix_sitl_default. diff --git a/cmake/configs/posix_sitl_default.cmake b/cmake/configs/posix_sitl_default.cmake deleted file mode 100644 index 7fcd64b75a..0000000000 --- a/cmake/configs/posix_sitl_default.cmake +++ /dev/null @@ -1,164 +0,0 @@ - -set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-native.cmake) - -set(config_module_list - #drivers/barometer - drivers/differential_pressure - drivers/distance_sensor - #drivers/telemetry - - drivers/batt_smbus - drivers/camera_trigger - drivers/gps - drivers/linux_gpio - drivers/pwm_out_sim - drivers/vmount - - modules/sensors - - platforms/posix/drivers/tonealrmsim - - # - # System commands - # - #systemcmds/bl_update - #systemcmds/config - #systemcmds/dumpfile - systemcmds/dyn - systemcmds/esc_calib - systemcmds/led_control - systemcmds/mixer - systemcmds/motor_ramp - #systemcmds/mtd - #systemcmds/nshterm - systemcmds/param - systemcmds/perf - systemcmds/pwm - systemcmds/reboot - systemcmds/shutdown - systemcmds/sd_bench - systemcmds/top - systemcmds/topic_listener - systemcmds/tune_control - systemcmds/ver - - # - # Testing - # - drivers/distance_sensor/sf0x/sf0x_tests - #drivers/test_ppm - lib/rc/rc_tests - modules/commander/commander_tests - lib/controllib/controllib_test - modules/mavlink/mavlink_tests - modules/uORB/uORB_tests - systemcmds/tests - - platforms/posix/tests/hello - platforms/posix/tests/dyn_hello - platforms/posix/tests/hrt_test - platforms/posix/tests/vcdev_test - - # - # General system control - # - modules/camera_feedback - modules/commander - modules/events - #modules/gpio_led - modules/land_detector - modules/load_mon - modules/mavlink - modules/navigator - modules/replay - modules/simulator - #modules/uavcan - - # - # Estimation modules - # - modules/attitude_estimator_q - modules/ekf2 - modules/local_position_estimator - modules/position_estimator_inav - modules/wind_estimator - - # - # Vehicle Control - # - modules/fw_att_control - modules/fw_pos_control_l1 - modules/gnd_att_control - modules/gnd_pos_control - modules/mc_att_control - modules/mc_pos_control - modules/vtol_att_control - - # - # Logging - # - modules/logger - - # - # Library modules - # - modules/dataman - modules/landing_target_estimator - - # - # OBC challenge - # - examples/bottle_drop - - # - # Rover apps - # - examples/rover_steering_control - - # - # HippoCampus example (AUV from TUHH) - # - examples/uuv_example_app - - # - # Segway - # - examples/segway - - # - # Demo apps - # - - # Tutorial code from - # https://px4.io/dev/px4_simple_app - examples/px4_simple_app - - # Tutorial code from - # https://px4.io/dev/debug_values - examples/px4_mavlink_debug - - # Tutorial code from - # https://px4.io/dev/example_fixedwing_control - examples/fixedwing_control - - # Template Module - templates/module - - # Hardware test - #examples/hwtest -) - -set(config_sitl_viewer jmavsim CACHE STRING "viewer for sitl") -set_property(CACHE config_sitl_viewer PROPERTY STRINGS "jmavsim;none") - -set(config_sitl_debugger disable CACHE STRING "debugger for sitl") -set_property(CACHE config_sitl_debugger PROPERTY STRINGS "disable;gdb;lldb") - -# If the environment variable 'replay' is defined, we are building with replay -# support. In this case, we enable the orb publisher rules. -set(REPLAY_FILE "$ENV{replay}") -if(REPLAY_FILE) - message("Building with uorb publisher rules support") - add_definitions(-DORB_USE_PUBLISHER_RULES) -endif() - diff --git a/cmake/configs/posix_sitl_rtps.cmake b/cmake/configs/posix_sitl_rtps.cmake deleted file mode 100644 index e5f793f794..0000000000 --- a/cmake/configs/posix_sitl_rtps.cmake +++ /dev/null @@ -1,5 +0,0 @@ -include(configs/posix_sitl_default) - -list(APPEND config_module_list - modules/micrortps_bridge -) \ No newline at end of file diff --git a/cmake/configs/posix_sitl_test.cmake b/cmake/configs/posix_sitl_test.cmake deleted file mode 100644 index ce3ec24a94..0000000000 --- a/cmake/configs/posix_sitl_test.cmake +++ /dev/null @@ -1,2 +0,0 @@ -include(cmake/configs/posix_sitl_default.cmake) - diff --git a/cmake/configs/qurt_eagle_default.cmake b/cmake/configs/qurt_eagle_default.cmake deleted file mode 100644 index 31c112d972..0000000000 --- a/cmake/configs/qurt_eagle_default.cmake +++ /dev/null @@ -1,12 +0,0 @@ -# The Eagle board is the first generation Snapdragon Flight board by Qualcomm. -# -# This cmake config builds for QURT which is the operating system running on -# the DSP side. - -# The config between different QURT builds is shared. -include(configs/qurt_sdflight_default) - -# This definition allows to differentiate the specific board. -add_definitions( - -D__PX4_QURT_EAGLE -) diff --git a/cmake/configs/qurt_eagle_hello.cmake b/cmake/configs/qurt_eagle_hello.cmake deleted file mode 100644 index 72e4ea88cb..0000000000 --- a/cmake/configs/qurt_eagle_hello.cmake +++ /dev/null @@ -1,33 +0,0 @@ - -if ("$ENV{HEXAGON_SDK_ROOT}" STREQUAL "") - message(FATAL_ERROR "Enviroment variable HEXAGON_SDK_ROOT must be set") -else() - set(HEXAGON_SDK_ROOT $ENV{HEXAGON_SDK_ROOT}) -endif() - -set(DISABLE_PARAMS_MODULE_SCOPING TRUE) - -# Get $QC_SOC_TARGET from environment if existing. -if (DEFINED ENV{QC_SOC_TARGET}) - set(QC_SOC_TARGET $ENV{QC_SOC_TARGET}) -else() - set(QC_SOC_TARGET "APQ8074") -endif() - -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PX4_SOURCE_DIR}/cmake/cmake_hexagon") -include(toolchain/Toolchain-qurt) -include(qurt_flags) -include_directories(${HEXAGON_SDK_INCLUDES}) - -set(config_module_list - - # - # System commands - # - systemcmds/param - - # - # Library modules - # - ) - diff --git a/cmake/configs/qurt_eagle_hil.cmake b/cmake/configs/qurt_eagle_hil.cmake deleted file mode 100644 index b0a2ca0337..0000000000 --- a/cmake/configs/qurt_eagle_hil.cmake +++ /dev/null @@ -1,59 +0,0 @@ - -if ("$ENV{HEXAGON_SDK_ROOT}" STREQUAL "") - message(FATAL_ERROR "Enviroment variable HEXAGON_SDK_ROOT must be set") -else() - set(HEXAGON_SDK_ROOT $ENV{HEXAGON_SDK_ROOT}) -endif() - -set(DISABLE_PARAMS_MODULE_SCOPING TRUE) -add_definitions(-DORB_COMMUNICATOR) - -# Get $QC_SOC_TARGET from environment if existing. -if (DEFINED ENV{QC_SOC_TARGET}) - set(QC_SOC_TARGET $ENV{QC_SOC_TARGET}) -else() - set(QC_SOC_TARGET "APQ8074") -endif() - -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PX4_SOURCE_DIR}/cmake/cmake_hexagon") -include(toolchain/Toolchain-qurt) -include(qurt_flags) -include_directories(${HEXAGON_SDK_INCLUDES}) - -set(config_module_list - drivers/pwm_out_sim - drivers/rgbled - modules/sensors - - # - # System commands - # - systemcmds/param - systemcmds/led - systemcmds/mixer - - # - # Estimation modules - # - modules/attitude_estimator_q - modules/position_estimator_inav - modules/local_position_estimator - modules/landing_target_estimator - modules/ekf2 - - # - # Vehicle Control - # - modules/mc_att_control - modules/mc_pos_control - - # - # Library modules - # - modules/commander - - # - # sources for muorb over fastrpc - # - modules/muorb/adsp - ) diff --git a/cmake/configs/qurt_eagle_legacy.cmake b/cmake/configs/qurt_eagle_legacy.cmake deleted file mode 100644 index 182a867904..0000000000 --- a/cmake/configs/qurt_eagle_legacy.cmake +++ /dev/null @@ -1,12 +0,0 @@ -# Eagle is the code name of a board currently in development. -# -# This cmake config builds for QURT which is the operating system running on -# the DSP side. - -# The config between different QURT builds is shared. -include(configs/qurt_sdflight_legacy) -add_definitions( - -D__USING_SNAPDRAGON_LEGACY_DRIVER - -D__PX4_QURT - -D__PX4_QURT_EAGLE - ) diff --git a/cmake/configs/qurt_eagle_muorb.cmake b/cmake/configs/qurt_eagle_muorb.cmake deleted file mode 100644 index 6ed966ac0d..0000000000 --- a/cmake/configs/qurt_eagle_muorb.cmake +++ /dev/null @@ -1,38 +0,0 @@ - -if ("$ENV{HEXAGON_SDK_ROOT}" STREQUAL "") - message(FATAL_ERROR "Enviroment variable HEXAGON_SDK_ROOT must be set") -else() - set(HEXAGON_SDK_ROOT $ENV{HEXAGON_SDK_ROOT}) -endif() - -set(DISABLE_PARAMS_MODULE_SCOPING TRUE) -add_definitions(-DORB_COMMUNICATOR) - -# Get $QC_SOC_TARGET from environment if existing. -if (DEFINED ENV{QC_SOC_TARGET}) - set(QC_SOC_TARGET $ENV{QC_SOC_TARGET}) -else() - set(QC_SOC_TARGET "APQ8074") -endif() - -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PX4_SOURCE_DIR}/cmake/cmake_hexagon") -include(toolchain/Toolchain-qurt) -include(qurt_flags) -include_directories(${HEXAGON_SDK_INCLUDES}) - -set(config_module_list - - # - # System commands - # - systemcmds/param - - # - # Library modules - # - - # - # sources for muorb over fastrpc - # - modules/muorb/adsp - ) diff --git a/cmake/configs/qurt_eagle_test.cmake b/cmake/configs/qurt_eagle_test.cmake deleted file mode 100644 index 72e4ea88cb..0000000000 --- a/cmake/configs/qurt_eagle_test.cmake +++ /dev/null @@ -1,33 +0,0 @@ - -if ("$ENV{HEXAGON_SDK_ROOT}" STREQUAL "") - message(FATAL_ERROR "Enviroment variable HEXAGON_SDK_ROOT must be set") -else() - set(HEXAGON_SDK_ROOT $ENV{HEXAGON_SDK_ROOT}) -endif() - -set(DISABLE_PARAMS_MODULE_SCOPING TRUE) - -# Get $QC_SOC_TARGET from environment if existing. -if (DEFINED ENV{QC_SOC_TARGET}) - set(QC_SOC_TARGET $ENV{QC_SOC_TARGET}) -else() - set(QC_SOC_TARGET "APQ8074") -endif() - -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PX4_SOURCE_DIR}/cmake/cmake_hexagon") -include(toolchain/Toolchain-qurt) -include(qurt_flags) -include_directories(${HEXAGON_SDK_INCLUDES}) - -set(config_module_list - - # - # System commands - # - systemcmds/param - - # - # Library modules - # - ) - diff --git a/cmake/configs/qurt_eagle_travis.cmake b/cmake/configs/qurt_eagle_travis.cmake deleted file mode 100644 index f639e66e2c..0000000000 --- a/cmake/configs/qurt_eagle_travis.cmake +++ /dev/null @@ -1,65 +0,0 @@ - -set(CONFIG_SHMEM "1") - -# Run a full link with build stubs to make sure qurt target isn't broken -set(QURT_ENABLE_STUBS "1") - -if ("$ENV{HEXAGON_SDK_ROOT}" STREQUAL "") - message(FATAL_ERROR "Enviroment variable HEXAGON_SDK_ROOT must be set") -else() - set(HEXAGON_SDK_ROOT $ENV{HEXAGON_SDK_ROOT}) -endif() - -set(DISABLE_PARAMS_MODULE_SCOPING TRUE) -add_definitions(-DORB_COMMUNICATOR) - -# Get $QC_SOC_TARGET from environment if existing. -if (DEFINED ENV{QC_SOC_TARGET}) - set(QC_SOC_TARGET $ENV{QC_SOC_TARGET}) -else() - set(QC_SOC_TARGET "APQ8074") -endif() - -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PX4_SOURCE_DIR}/cmake/cmake_hexagon") -include(toolchain/Toolchain-qurt) -include(qurt_flags) -include_directories(${HEXAGON_SDK_INCLUDES}) - -set(config_module_list - drivers/pwm_out_sim - drivers/rgbled - modules/sensors - - # - # System commands - # - systemcmds/param - systemcmds/led - systemcmds/mixer - - # - # Estimation modules - # - modules/attitude_estimator_q - modules/position_estimator_inav - modules/local_position_estimator - modules/landing_target_estimator - modules/ekf2 - - # - # Vehicle Control - # - modules/mc_att_control - modules/mc_pos_control - - # - # Library modules - # - modules/commander - - # - # sources for muorb over fastrpc - # - modules/muorb/adsp - ) - diff --git a/cmake/configs/qurt_excelsior_default.cmake b/cmake/configs/qurt_excelsior_default.cmake deleted file mode 100644 index ccfe80df28..0000000000 --- a/cmake/configs/qurt_excelsior_default.cmake +++ /dev/null @@ -1,12 +0,0 @@ -# Excelsior is the code name of a board currently in development. -# -# This cmake config builds for QURT which is the operating system running on -# the DSP side. - -# The config between different QURT builds is shared. -include(configs/qurt_sdflight_default) - -# This definition allows to differentiate the specific board. -add_definitions( - -D__PX4_QURT_EXCELSIOR -) diff --git a/cmake/configs/qurt_excelsior_legacy.cmake b/cmake/configs/qurt_excelsior_legacy.cmake deleted file mode 100644 index e0bc0830b0..0000000000 --- a/cmake/configs/qurt_excelsior_legacy.cmake +++ /dev/null @@ -1,14 +0,0 @@ -# Excelsior is the code name of a board currently in development. -# -# This cmake config builds for QURT which is the operating system running on -# the DSP side. - -# The config between different QURT builds is shared. -include(configs/qurt_sdflight_legacy) - -add_definitions( - -D__USING_SNAPDRAGON_LEGACY_DRIVER - -D__PX4_QURT - -D__PX4_QURT_EXCELSIOR - ) - diff --git a/cmake/configs/qurt_sdflight_default.cmake b/cmake/configs/qurt_sdflight_default.cmake deleted file mode 100644 index 77908fdf6a..0000000000 --- a/cmake/configs/qurt_sdflight_default.cmake +++ /dev/null @@ -1,93 +0,0 @@ -include(common/px4_git) -px4_add_git_submodule(TARGET git_cmake_hexagon PATH "cmake/cmake_hexagon") - - -if ("$ENV{HEXAGON_SDK_ROOT}" STREQUAL "") - message(FATAL_ERROR "Enviroment variable HEXAGON_SDK_ROOT must be set") -else() - set(HEXAGON_SDK_ROOT $ENV{HEXAGON_SDK_ROOT}) -endif() - -set(CONFIG_SHMEM "1") -add_definitions(-DORB_COMMUNICATOR) - -# Get $QC_SOC_TARGET from environment if existing. -if (DEFINED ENV{QC_SOC_TARGET}) - set(QC_SOC_TARGET $ENV{QC_SOC_TARGET}) -else() - set(QC_SOC_TARGET "APQ8074") -endif() - -# Disable the creation of the parameters.xml file by scanning individual -# source files, and scan all source files. This will create a parameters.xml -# file that contains all possible parameters, even if the associated module -# is not used. This is necessary for parameter synchronization between the -# ARM and DSP processors. -set(DISABLE_PARAMS_MODULE_SCOPING TRUE) - -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PX4_SOURCE_DIR}/cmake/cmake_hexagon") -include(toolchain/Toolchain-qurt) -include(qurt_flags) -include_directories(${HEXAGON_SDK_INCLUDES}) - - -set(config_module_list - # - # Board support modules - # - modules/sensors - platforms/posix/drivers/df_mpu9250_wrapper - platforms/posix/drivers/df_bmp280_wrapper - platforms/posix/drivers/df_hmc5883_wrapper - platforms/posix/drivers/df_trone_wrapper - platforms/posix/drivers/df_isl29501_wrapper - platforms/posix/drivers/df_ltc2946_wrapper - - # - # System commands - # - systemcmds/param - - # - # Estimation modules - # - modules/attitude_estimator_q - modules/position_estimator_inav - modules/local_position_estimator - modules/landing_target_estimator - modules/ekf2 - - # - # Vehicle Control - # - modules/mc_att_control - modules/mc_pos_control - - # - # Library modules - # - modules/commander - modules/land_detector - - # - # PX4 drivers - # - drivers/gps - drivers/spektrum_rc - drivers/qshell/qurt - drivers/snapdragon_pwm_out - - # - # sources for muorb over fastrpc - # - modules/muorb/adsp - ) - -set(config_df_driver_list - mpu9250 - bmp280 - hmc5883 - trone - isl29501 - ltc2946 - ) diff --git a/cmake/configs/qurt_sdflight_legacy.cmake b/cmake/configs/qurt_sdflight_legacy.cmake deleted file mode 100644 index f9d5c39c58..0000000000 --- a/cmake/configs/qurt_sdflight_legacy.cmake +++ /dev/null @@ -1,88 +0,0 @@ -include(common/px4_git) -px4_add_git_submodule(TARGET git_cmake_hexagon PATH "cmake/cmake_hexagon") - - -if ("$ENV{HEXAGON_SDK_ROOT}" STREQUAL "") - message(FATAL_ERROR "Enviroment variable HEXAGON_SDK_ROOT must be set") -else() - set(HEXAGON_SDK_ROOT $ENV{HEXAGON_SDK_ROOT}) -endif() - -set(CONFIG_SHMEM "1") -add_definitions(-DORB_COMMUNICATOR) - -# Get $QC_SOC_TARGET from environment if existing. -if (DEFINED ENV{QC_SOC_TARGET}) - set(QC_SOC_TARGET $ENV{QC_SOC_TARGET}) -else() - set(QC_SOC_TARGET "APQ8074") -endif() - -# Disable the creation of the parameters.xml file by scanning individual -# source files, and scan all source files. This will create a parameters.xml -# file that contains all possible parameters, even if the associated module -# is not used. This is necessary for parameter synchronization between the -# ARM and DSP processors. -set(DISABLE_PARAMS_MODULE_SCOPING TRUE) - -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PX4_SOURCE_DIR}/cmake/cmake_hexagon") -include(toolchain/Toolchain-qurt) -include(qurt_flags) -include_directories(${HEXAGON_SDK_INCLUDES}) - -set(config_module_list - # - # Board support modules - # - modules/sensors - platforms/posix/drivers/df_mpu9250_wrapper - platforms/posix/drivers/df_bmp280_wrapper - - # - # System commands - # - systemcmds/param - - # - # Estimation modules - # - modules/attitude_estimator_q - modules/position_estimator_inav - modules/local_position_estimator - modules/landing_target_estimator - modules/ekf2 - - # - # Vehicle Control - # - modules/mc_att_control - modules/mc_pos_control - - # - # Library modules - # - modules/commander - modules/land_detector - - # - # PX4 drivers - # - drivers/gps - drivers/spektrum_rc - drivers/qshell/qurt - - # - # FC_ADDON drivers - # - platforms/qurt/fc_addon/uart_esc - - # - # sources for muorb over fastrpc - # - modules/muorb/adsp - ) - -set(config_df_driver_list - mpu9250 - bmp280 - ) diff --git a/cmake/common/coverage.cmake b/cmake/coverage.cmake similarity index 100% rename from cmake/common/coverage.cmake rename to cmake/coverage.cmake diff --git a/cmake/px4_add_board.cmake b/cmake/px4_add_board.cmake new file mode 100644 index 0000000000..df30166b45 --- /dev/null +++ b/cmake/px4_add_board.cmake @@ -0,0 +1,200 @@ +############################################################################ +# +# Copyright (c) 2017 PX4 Development Team. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name PX4 nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +#============================================================================= +# +# Defined functions in this file +# +# utility functions +# +# * px4_add_board +# + +include(px4_base) + +#============================================================================= +# +# px4_add_board +# +# This function creates a PX4 board. +# +# Usage: +# px4_add_module( +# BOARD <string> +# OS <string> +# [ TOOLCHAIN ] <string> +# ) +# +# Input: +# BOARD : name of board +# OS : posix, nuttx, qurt +# +# +# Example: +# px4_add_board( +# BOARD px4fmu-v2_default +# OS nuttx +# ) +# +function(px4_add_board) + + px4_parse_function_args( + NAME px4_add_board + ONE_VALUE + VENDOR + MODEL + LABEL + BOARD_OVERRIDE + PLATFORM + TOOLCHAIN + ARCH + ROMFSROOT + IO + BOOTLOADER + UAVCAN_INTERFACES + MULTI_VALUE + DRIVERS + MODULES + SYSTEMCMDS + EXAMPLES + SERIAL_PORTS + DF_DRIVERS # DriverFramework drivers + OPTIONS + CONSTRAINED_FLASH + ROMFS + TESTING + REQUIRED + PLATFORM + VENDOR + MODEL + ARGN ${ARGN}) + + set(PX4_BOARD_DIR ${CMAKE_CURRENT_LIST_DIR} CACHE STRING "PX4 board directory" FORCE) + + set(PX4_BOARD_VENDOR ${VENDOR} CACHE STRING "PX4 board vendor" FORCE) + set(PX4_BOARD_MODEL ${MODEL} CACHE STRING "PX4 board model" FORCE) + + if(BOARD_OVERRIDE) + set(PX4_BOARD ${BOARD_OVERRIDE} CACHE STRING "PX4 board" FORCE) + else() + set(PX4_BOARD ${VENDOR}${MODEL} CACHE STRING "PX4 board" FORCE) + endif() + + if(LABEL) + set(PX4_BOARD_LABEL ${LABEL} CACHE STRING "PX4 board label" FORCE) + else() + set(PX4_BOARD_LABEL "default" CACHE STRING "PX4 board label" FORCE) + endif() + + # 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 + ) + + if(ARCH) + set(CMAKE_SYSTEM_PROCESSOR ${ARCH} CACHE INTERNAL "system processor" FORCE) + endif() + + if(TOOLCHAIN) + set(CMAKE_TOOLCHAIN_FILE ${TOOLCHAIN} CACHE INTERNAL "toolchain file" FORCE) + endif() + + if(BOOTLOADER) + set(config_bl_file ${BOOTLOADER} CACHE INTERNAL "bootloader" FORCE) + endif() + + if(SERIAL_PORTS) + set(board_serial_ports ${SERIAL_PORTS} PARENT_SCOPE) + endif() + + include(px4_add_board_os) + px4_add_board_os(${ARGV}) + + + # 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() + + # DriverFramework drivers + if(DF_DRIVERS) + set(config_df_driver_list) + foreach(driver ${DF_DRIVERS}) + list(APPEND config_df_driver_list ${driver}) + list(APPEND config_module_list platforms/posix/drivers/df_${driver}_wrapper) + endforeach() + set(config_df_driver_list ${config_df_driver_list} PARENT_SCOPE) + 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) + include_directories(${CMAKE_CURRENT_LIST_DIR}/src) + + set(config_module_list ${config_module_list} PARENT_SCOPE) + + # OPTIONS + + if(CONSTRAINED_FLASH) + set(px4_constrained_flash_build "1" CACHE INTERNAL "constrained flash build" FORCE) + endif() + + if(TESTING) + set(PX4_TESTING "1" CACHE INTERNAL "testing enabled" FORCE) + endif() + +endfunction() diff --git a/cmake/common/px4_base.cmake b/cmake/px4_base.cmake similarity index 85% rename from cmake/common/px4_base.cmake rename to cmake/px4_base.cmake index 58ed8fe3c6..d6fdbcf866 100644 --- a/cmake/common/px4_base.cmake +++ b/cmake/px4_base.cmake @@ -41,8 +41,6 @@ # * px4_join # * px4_add_module # * px4_add_common_flags -# * px4_add_optimization_flags_for_target -# * px4_add_executable # * px4_add_library # @@ -95,11 +93,15 @@ include(CMakeParseArguments) # list: a b c # function(px4_parse_function_args) + cmake_parse_arguments(IN "" "NAME" "OPTIONS;ONE_VALUE;MULTI_VALUE;REQUIRED;ARGN" "${ARGN}") cmake_parse_arguments(OUT "${IN_OPTIONS}" "${IN_ONE_VALUE}" "${IN_MULTI_VALUE}" "${IN_ARGN}") + if (OUT_UNPARSED_ARGUMENTS) - message(FATAL_ERROR "${IN_NAME}: unparsed ${OUT_UNPARSED_ARGUMENTS}") + #message(FATAL_ERROR "${IN_NAME}: unparsed ${OUT_UNPARSED_ARGUMENTS}") + # TODO: reenable endif() + foreach(arg ${IN_REQUIRED}) if (NOT OUT_${arg}) if (NOT "${OUT_${arg}}" STREQUAL "0") @@ -107,9 +109,11 @@ function(px4_parse_function_args) endif() endif() endforeach() + foreach(arg ${IN_OPTIONS} ${IN_ONE_VALUE} ${IN_MULTI_VALUE}) set(${arg} ${OUT_${arg}} PARENT_SCOPE) endforeach() + endfunction() #============================================================================= @@ -205,7 +209,7 @@ function(px4_add_module) REQUIRED MODULE MAIN ARGN ${ARGN}) - if(UNITY_BUILD AND (${OS} STREQUAL "nuttx")) + if(UNITY_BUILD AND (${PX4_PLATFORM} STREQUAL "nuttx")) # build standalone test library to catch compilation errors and provide sane output add_library(${MODULE}_original STATIC EXCLUDE_FROM_ALL ${SRCS}) if(DEPENDS) @@ -254,8 +258,6 @@ function(px4_add_module) set_property(GLOBAL APPEND PROPERTY PX4_MODULE_PATHS ${CMAKE_CURRENT_SOURCE_DIR}) endif() - px4_add_optimization_flags_for_target(${MODULE}) - # Pass variable to the parent px4_add_module. set(_no_optimization_for_target ${_no_optimization_for_target} PARENT_SCOPE) @@ -277,9 +279,9 @@ function(px4_add_module) endif() set_target_properties(${MODULE} PROPERTIES STACK_MAX ${STACK_MAX}) - if(${OS} STREQUAL "qurt") + if(${PX4_PLATFORM} STREQUAL "qurt") set_property(TARGET ${MODULE} PROPERTY POSITION_INDEPENDENT_CODE TRUE) - elseif(${OS} STREQUAL "nuttx") + elseif(${PX4_PLATFORM} STREQUAL "nuttx") target_compile_options(${MODULE} PRIVATE -Wframe-larger-than=${STACK_MAX}) endif() @@ -318,12 +320,6 @@ function(px4_add_module) endif() endforeach() - # store module properties in target - # COMPILE_FLAGS and LINK_FLAGS are passed to compiler/linker by cmake - # STACK_MAIN, MAIN, PRIORITY are PX4 specific - if(COMPILE_FLAGS AND ${_no_optimization_for_target}) - px4_strip_optimization(COMPILE_FLAGS ${COMPILE_FLAGS}) - endif() foreach (prop LINK_FLAGS STACK_MAIN MAIN PRIORITY) if (${prop}) set_target_properties(${MODULE} PROPERTIES ${prop} ${${prop}}) @@ -383,7 +379,7 @@ function(px4_add_common_flags) px4_parse_function_args( NAME px4_add_common_flags ONE_VALUE ${inout_vars} BOARD - REQUIRED ${inout_vars} BOARD + REQUIRED ${inout_vars} ARGN ${ARGN}) set(warnings @@ -414,7 +410,7 @@ function(px4_add_common_flags) if (${CMAKE_C_COMPILER_ID} MATCHES ".*Clang.*") # QuRT 6.4.X compiler identifies as Clang but does not support this option - if (NOT ${OS} STREQUAL "qurt") + if (NOT ${PX4_PLATFORM} STREQUAL "qurt") list(APPEND warnings -Qunused-arguments -Wno-unused-const-variable @@ -532,9 +528,7 @@ function(px4_add_common_flags) ${PX4_BINARY_DIR}/src/lib ${PX4_BINARY_DIR}/src/modules - ${PX4_SOURCE_DIR}/src - ${PX4_SOURCE_DIR}/src/drivers/boards/${BOARD} ${PX4_SOURCE_DIR}/src/include ${PX4_SOURCE_DIR}/src/lib ${PX4_SOURCE_DIR}/src/lib/DriverFramework/framework/include @@ -543,7 +537,7 @@ function(px4_add_common_flags) ${PX4_SOURCE_DIR}/src/platforms ) - string(TOUPPER ${BOARD} board_upper) + string(TOUPPER ${PX4_BOARD} board_upper) string(REPLACE "-" "_" board_config ${board_upper}) add_definitions( @@ -560,62 +554,6 @@ function(px4_add_common_flags) endfunction() -#============================================================================= -# -# px4_strip_optimization -# -function(px4_strip_optimization name) - set(_compile_flags) - separate_arguments(_args UNIX_COMMAND ${ARGN}) - foreach(_flag ${_args}) - if(NOT "${_flag}" MATCHES "^-O") - set(_compile_flags "${_compile_flags} ${_flag}") - endif() - endforeach() - string(STRIP "${_compile_flags}" _compile_flags) - set(${name} "${_compile_flags}" PARENT_SCOPE) -endfunction() - -#============================================================================= -# -# px4_add_optimization_flags_for_target -# -set(all_posix_cmake_targets "" CACHE INTERNAL "All cmake targets for which optimization can be suppressed") -function(px4_add_optimization_flags_for_target target) - set(_no_optimization_for_target FALSE) - # If the current CONFIG is posix_sitl_* then suppress optimization for certain targets. - if(CONFIG MATCHES "^posix_sitl_") - foreach(_regexp $ENV{PX4_NO_OPTIMIZATION}) - if("${target}" MATCHES "${_regexp}") - set(_no_optimization_for_target TRUE) - set(_matched_regexp "${_regexp}") - endif() - endforeach() - # Create a full list of targets that optimization can be suppressed for. - list(APPEND all_posix_cmake_targets ${target}) - set(all_posix_cmake_targets ${all_posix_cmake_targets} CACHE INTERNAL "All cmake targets for which optimization can be suppressed") - endif() - if(NOT ${_no_optimization_for_target}) - target_compile_options(${target} PRIVATE ${optimization_flags}) - else() - message(STATUS "Disabling optimization for target '${target}' because it matches the regexp '${_matched_regexp}' in env var PX4_NO_OPTIMIZATION") - target_compile_options(${target} PRIVATE -O0) - endif() - # Pass variable to the parent px4_add_library. - set(_no_optimization_for_target ${_no_optimization_for_target} PARENT_SCOPE) -endfunction() - -#============================================================================= -# -# px4_add_executable -# -# Like add_executable but with optimization flag fixup. -# -function(px4_add_executable target) - add_executable(${target} ${ARGN}) - px4_add_optimization_flags_for_target(${target}) -endfunction() - #============================================================================= # # px4_add_library @@ -632,12 +570,10 @@ function(px4_add_library target) target_link_libraries(${target} PRIVATE prebuild_targets parameters_interface uorb_msgs) # TODO: move to platform layer - if ("${OS}" MATCHES "nuttx") + if ("${PX4_PLATFORM}" MATCHES "nuttx") target_link_libraries(${target} PRIVATE m nuttx_c) endif() - px4_add_optimization_flags_for_target(${target}) - # Pass variable to the parent px4_add_module. set(_no_optimization_for_target ${_no_optimization_for_target} PARENT_SCOPE) @@ -666,7 +602,7 @@ function(px4_find_python_module module) "import re, ${module}; print(re.compile('/__init__.py.*').sub('',${module}.__file__))" RESULT_VARIABLE _${module}_status OUTPUT_VARIABLE _${module}_location - ERROR_QUIET + ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) if(NOT _${module}_status) set(PY_${module_upper} ${_${module}_location} CACHE STRING @@ -683,4 +619,3 @@ function(px4_find_python_module module) #message(FATAL_ERROR "python module not found, exiting") #endif() endfunction(px4_find_python_module) - diff --git a/cmake/common/px4_git.cmake b/cmake/px4_git.cmake similarity index 99% rename from cmake/common/px4_git.cmake rename to cmake/px4_git.cmake index fe60948f6f..dd29ee7ebf 100644 --- a/cmake/common/px4_git.cmake +++ b/cmake/px4_git.cmake @@ -32,7 +32,7 @@ ############################################################################ include(CMakeParseArguments) -include(common/px4_base) +include(px4_base) #============================================================================= # diff --git a/cmake/px4_make_uavcan_bootloader.cmake b/cmake/px4_make_uavcan_bootloader.cmake new file mode 100644 index 0000000000..043377e3be --- /dev/null +++ b/cmake/px4_make_uavcan_bootloader.cmake @@ -0,0 +1,99 @@ +############################################################################ +# +# Copyright (c) 2015 PX4 Development Team. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name PX4 nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +#============================================================================= +# +# px4_make_uavcan_bootloadable +# +# This function adds a uavcan boot loadable target. +# +# Usage: +# px4_make_uavcan_bootloadable( +# BOARD <board> +# BIN <input bin file>) +# HWNAME <uavcan name> +# HW_MAJOR <number> +# HW_MINOR <number> +# SW_MAJOR <number> +# SW_MINOR <number>) +# +# Input: +# BOARD : the board +# BIN : the bin file to generate the bootloadable image from +# HWNAME : the uavcan name +# HW_MAJOR : the major hardware revision +# HW_MINOR : the minor hardware revision +# SW_MAJOR : the major software revision +# SW_MINOR : the minor software revision +# +# Output: +# OUT : None +# +# Example: +# px4_make_uavcan_bootloadable( +# BOARD ${PX4_BOARD} +# BIN ${CMAKE_CURRENT_BINARY_DIR}/firmware_nuttx +# HWNAME ${uavcanblid_name} +# HW_MAJOR ${uavcanblid_hw_version_major} +# HW_MINOR ${uavcanblid_hw_version_minor} +# SW_MAJOR ${uavcanblid_sw_version_major} +# SW_MINOR ${uavcanblid_sw_version_minor} +# ) +# +function(px4_make_uavcan_bootloadable) + px4_parse_function_args( + NAME px4_make_uavcan_bootloadable + ONE_VALUE BOARD BIN HWNAME HW_MAJOR HW_MINOR SW_MAJOR SW_MINOR + REQUIRED BOARD BIN HWNAME HW_MAJOR HW_MINOR SW_MAJOR SW_MINOR + ARGN ${ARGN}) + + string(REPLACE "\"" "" HWNAME ${HWNAME}) + + execute_process( + COMMAND git rev-list HEAD --max-count=1 --abbrev=8 --abbrev-commit + OUTPUT_VARIABLE uavcanbl_git_desc + OUTPUT_STRIP_TRAILING_WHITESPACE + WORKING_DIRECTORY ${PX4_SOURCE_DIR} + ) + + if ("${uavcanbl_git_desc}" STREQUAL "") + set(uavcanbl_git_desc ffffffff) + endif() + set(uavcan_bl_imange_name ${HWNAME}-${HW_MAJOR}.${HW_MINOR}-${SW_MAJOR}.${SW_MINOR}.${uavcanbl_git_desc}.uavcan.bin) + message(STATUS "Generating UAVCAN Bootable as ${uavcan_bl_imange_name}") + add_custom_command(OUTPUT ${uavcan_bl_imange_name} + COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/make_can_boot_descriptor.py + -v --use-git-hash ${BIN} ${uavcan_bl_imange_name} + DEPENDS ${BIN}) + add_custom_target(build_uavcan_bl_${PX4_BOARD} ALL DEPENDS ${uavcan_bl_imange_name}) +endfunction() diff --git a/cmake/common/px4_metadata.cmake b/cmake/px4_metadata.cmake similarity index 98% rename from cmake/common/px4_metadata.cmake rename to cmake/px4_metadata.cmake index edc1611661..c8f9aecfd0 100644 --- a/cmake/common/px4_metadata.cmake +++ b/cmake/px4_metadata.cmake @@ -69,7 +69,7 @@ function(px4_generate_airframes_xml) add_custom_command(OUTPUT ${PX4_BINARY_DIR}/airframes.xml COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_process_airframes.py --airframes-path ${PX4_SOURCE_DIR}/ROMFS/${config_romfs_root}/init.d - --board CONFIG_ARCH_BOARD_${BOARD} + --board CONFIG_ARCH_BOARD_${PX4_BOARD} --xml ${PX4_BINARY_DIR}/airframes.xml DEPENDS ${PX4_SOURCE_DIR}/Tools/px_process_airframes.py COMMENT "Creating airframes.xml" diff --git a/cmake/common/sanitizers.cmake b/cmake/sanitizers.cmake similarity index 100% rename from cmake/common/sanitizers.cmake rename to cmake/sanitizers.cmake diff --git a/cmake/toolchains/Toolchain-arm-linux-gnueabihf.cmake b/cmake/toolchains/Toolchain-arm-linux-gnueabihf.cmake deleted file mode 100644 index 746c776234..0000000000 --- a/cmake/toolchains/Toolchain-arm-linux-gnueabihf.cmake +++ /dev/null @@ -1,30 +0,0 @@ -# More on cross-compilation: https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html - -set(CMAKE_SYSTEM_NAME Linux) -set(CMAKE_SYSTEM_PROCESSOR arm) -set(CMAKE_SYSTEM_VERSION 1) - -IF (NOT CMAKE_C_COMPILER OR NOT CMAKE_CXX_COMPILER) - SET(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc) - SET(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++) -ENDIF() - -# os tools -foreach(tool echo grep rm mkdir nm cp touch make unzip) - string(TOUPPER ${tool} TOOL) - find_program(${TOOL} ${tool}) - if(NOT ${TOOL}) - message(FATAL_ERROR "could not find ${TOOL}") - endif() -endforeach() - -FIND_PROGRAM(STRIP_TOOL "arm-linux-gnueabihf-strip") - -set(CMAKE_EXE_LINKER_FLAGS "-Wl,-gc-sections") -#set(CMAKE_C_FLAGS ${C_FLAGS}) -#set(CMAKE_CXX_LINKER_FLAGS ${C_FLAGS}) - -set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) -set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) -set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) diff --git a/cmake/toolchains/Toolchain-arm-none-eabi.cmake b/cmake/toolchains/Toolchain-arm-none-eabi.cmake deleted file mode 100644 index 07727b2f2d..0000000000 --- a/cmake/toolchains/Toolchain-arm-none-eabi.cmake +++ /dev/null @@ -1,82 +0,0 @@ -# defines: -# -# NM -# OBJCOPY -# LD -# CXX_COMPILER -# C_COMPILER -# CMAKE_SYSTEM_NAME -# CMAKE_SYSTEM_VERSION -# LINKER_FLAGS -# CMAKE_EXE_LINKER_FLAGS -# CMAKE_FIND_ROOT_PATH -# CMAKE_FIND_ROOT_PATH_MODE_PROGRAM -# CMAKE_FIND_ROOT_PATH_MODE_LIBRARY -# CMAKE_FIND_ROOT_PATH_MODE_INCLUDE - -include(CMakeForceCompiler) - -# this one is important -set(CMAKE_SYSTEM_NAME Generic) - -# this one not so much -set(CMAKE_SYSTEM_VERSION 1) - -# specify the cross compiler -find_program(C_COMPILER arm-none-eabi-gcc) -if(NOT C_COMPILER) - message(FATAL_ERROR "could not find arm-none-eabi-gcc compiler") -endif() -cmake_force_c_compiler(${C_COMPILER} GNU) - -find_program(CXX_COMPILER arm-none-eabi-g++) -if(NOT CXX_COMPILER) - message(FATAL_ERROR "could not find arm-none-eabi-g++ compiler") -endif() -cmake_force_cxx_compiler(${CXX_COMPILER} GNU) - -# compiler tools -foreach(tool objcopy nm ld) - string(TOUPPER ${tool} TOOL) - find_program(${TOOL} arm-none-eabi-${tool}) - if(NOT ${TOOL}) - message(FATAL_ERROR "could not find ${tool}") - endif() -endforeach() - -# optional compiler tools -foreach(tool gdb gdbtui) - string(TOUPPER ${tool} TOOL) - find_program(${TOOL} arm-none-eabi-${tool}) - if(NOT ${TOOL}) - #message(STATUS "could not find ${tool}") - endif() -endforeach() - -set(cpu_flags) -if (CMAKE_SYSTEM_PROCESSOR STREQUAL "cortex-m7") - set(cpu_flags "-mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard") -elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "cortex-m4") - set(cpu_flags "-mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard") -elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "cortex-m3") - set(cpu_flags "-mcpu=cortex-m3 -mthumb") -else () - message(FATAL_ERROR "Processor not recognised in toolchain file") -endif() - -set(c_flags "-fno-common -ffunction-sections -fdata-sections") -set(cxx_flags "-fno-common -ffunction-sections -fdata-sections") - -set(CMAKE_C_FLAGS "${c_flags} ${cpu_flags}" CACHE INTERNAL "" FORCE) -set(CMAKE_CXX_FLAGS "${cxx_flags} ${cpu_flags}" CACHE INTERNAL "" FORCE) -set(CMAKE_ASM_FLAGS "${cpu_flags} -D__ASSEMBLY__ " CACHE INTERNAL "" FORCE) -set(CMAKE_EXE_LINKER_FLAGS "${cpu_flags} -nodefaultlibs -nostdlib -Wl,--warn-common,--gc-sections" CACHE INTERNAL "" FORCE) - -# where is the target environment -set(CMAKE_FIND_ROOT_PATH get_file_component(${C_COMPILER} PATH)) - -# search for programs in the build host directories -set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -# for libraries and headers in the target directories -set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) -set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) diff --git a/cmake/toolchains/Toolchain-arm-xilinx-linux-gnueabi.cmake b/cmake/toolchains/Toolchain-arm-xilinx-linux-gnueabi.cmake deleted file mode 100644 index abe00db83b..0000000000 --- a/cmake/toolchains/Toolchain-arm-xilinx-linux-gnueabi.cmake +++ /dev/null @@ -1,88 +0,0 @@ -# defines: -# -# NM -# OBJCOPY -# LD -# CXX_COMPILER -# C_COMPILER -# CMAKE_SYSTEM_NAME -# CMAKE_SYSTEM_VERSION -# LINKER_FLAGS -# CMAKE_EXE_LINKER_FLAGS -# CMAKE_FIND_ROOT_PATH -# CMAKE_FIND_ROOT_PATH_MODE_PROGRAM -# CMAKE_FIND_ROOT_PATH_MODE_LIBRARY -# CMAKE_FIND_ROOT_PATH_MODE_INCLUDE - -include(CMakeForceCompiler) - -if ("$ENV{OCPOC_TOOLCHAIN_DIR}" STREQUAL "") - message(FATAL_ERROR "OCPOC_TOOLCHAIN_DIR not set") -else() - set(OCPOC_TOOLCHAIN_DIR $ENV{OCPOC_TOOLCHAIN_DIR}) -endif() - -# this one is important -set(CMAKE_SYSTEM_NAME Generic) - -#this one not so much -set(CMAKE_SYSTEM_VERSION 1) - -# specify the cross compiler -find_program(C_COMPILER arm-xilinx-linux-gnueabi-gcc - PATHS ${OCPOC_TOOLCHAIN_DIR} - NO_DEFAULT_PATH - ) - -if(NOT C_COMPILER) - message(FATAL_ERROR "could not find arm-xilinx-linux-gnueabi-gcc compiler") -endif() -cmake_force_c_compiler(${C_COMPILER} GNU) - -find_program(CXX_COMPILER arm-xilinx-linux-gnueabi-g++ - PATHS ${OCPOC_TOOLCHAIN_DIR} - NO_DEFAULT_PATH - ) - -if(NOT CXX_COMPILER) - message(FATAL_ERROR "could not find arm-xilinx-linux-gnueabi-g++ compiler") -endif() -cmake_force_cxx_compiler(${CXX_COMPILER} GNU) - -# compiler tools -foreach(tool objcopy nm ld) - string(TOUPPER ${tool} TOOL) - find_program(${TOOL} arm-xilinx-linux-gnueabi-${tool} - PATHS ${OCPOC_TOOLCHAIN_DIR} - NO_DEFAULT_PATH - ) - if(NOT ${TOOL}) - message(FATAL_ERROR "could not find arm-xilinx-linux-gnueabi-${tool}") - endif() -endforeach() - -# os tools -foreach(tool echo grep rm mkdir nm cp touch make unzip) - string(TOUPPER ${tool} TOOL) - find_program(${TOOL} ${tool}) - if(NOT ${TOOL}) - message(FATAL_ERROR "could not find ${TOOL}") - endif() -endforeach() - -set(LINKER_FLAGS "-Wl,-gc-sections") -set(CMAKE_EXE_LINKER_FLAGS ${LINKER_FLAGS}) -set(CMAKE_C_FLAGS ${C_FLAGS}) -set(CMAKE_CXX_LINKER_FLAGS ${C_FLAGS}) - -# where is the target environment -set(CMAKE_FIND_ROOT_PATH get_file_component(${C_COMPILER} PATH)) - -# search for programs in the build host directories -set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -# for libraries and headers in the target directories -set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) -set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) - -# enable static linking -#set(LDFLAGS "--disable-shared") diff --git a/cmake/toolchains/Toolchain-gcc-arm-linux-gnueabihf.cmake b/cmake/toolchains/Toolchain-gcc-arm-linux-gnueabihf.cmake deleted file mode 100644 index f190f81ea1..0000000000 --- a/cmake/toolchains/Toolchain-gcc-arm-linux-gnueabihf.cmake +++ /dev/null @@ -1,74 +0,0 @@ -# defines: -# -# NM -# OBJCOPY -# LD -# CXX_COMPILER -# C_COMPILER -# CMAKE_SYSTEM_NAME -# CMAKE_SYSTEM_VERSION -# LINKER_FLAGS -# CMAKE_EXE_LINKER_FLAGS -# CMAKE_FIND_ROOT_PATH -# CMAKE_FIND_ROOT_PATH_MODE_PROGRAM -# CMAKE_FIND_ROOT_PATH_MODE_LIBRARY -# CMAKE_FIND_ROOT_PATH_MODE_INCLUDE - -include(CMakeForceCompiler) - -# this one is important -set(CMAKE_SYSTEM_NAME Generic) - -#this one not so much -set(CMAKE_SYSTEM_VERSION 1) - -# specify the cross compiler -find_program(C_COMPILER arm-linux-gnueabihf-gcc) - -if(NOT C_COMPILER) - message(STATUS "Make sure to: apt-get install arm-linux-gnueabihf-gcc") - message(FATAL_ERROR "could not find arm-linux-gnueabihf-gcc compiler") -endif() -cmake_force_c_compiler(${C_COMPILER} GNU) - -find_program(CXX_COMPILER arm-linux-gnueabihf-g++) - -if(NOT CXX_COMPILER) - message(FATAL_ERROR "could not find arm-linux-gnueabihf-g++ compiler") -endif() -cmake_force_cxx_compiler(${CXX_COMPILER} GNU) - -# compiler tools -foreach(tool objcopy nm ld) - string(TOUPPER ${tool} TOOL) - find_program(${TOOL} arm-linux-gnueabihf-${tool}) - if(NOT ${TOOL}) - message(FATAL_ERROR "could not find arm-linux-gnueabihf-${tool}") - endif() -endforeach() - -# os tools -foreach(tool echo grep rm mkdir nm cp touch make unzip) - string(TOUPPER ${tool} TOOL) - find_program(${TOOL} ${tool}) - if(NOT ${TOOL}) - message(FATAL_ERROR "could not find ${TOOL}") - endif() -endforeach() - -set(LINKER_FLAGS "-Wl,-gc-sections") -set(CMAKE_EXE_LINKER_FLAGS ${LINKER_FLAGS}) -set(CMAKE_C_FLAGS ${C_FLAGS}) -set(CMAKE_CXX_LINKER_FLAGS ${C_FLAGS} -mfloat-abi=hard -mcpu=cortex-a9 -mfpu=neon-vfpv3 -O3 -funsafe-math-optimizations -mthumb-interwork -ftree-vectorize) - -# where is the target environment -set(CMAKE_FIND_ROOT_PATH get_file_component(${C_COMPILER} PATH)) - -# search for programs in the build host directories -set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -# for libraries and headers in the target directories -set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) -set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) - -# enable static linking -#set(LDFLAGS "--disable-shared") diff --git a/eclipse.cproject b/eclipse.cproject index 56a06884bc..dfd1ee0065 100644 --- a/eclipse.cproject +++ b/eclipse.cproject @@ -34,8 +34,8 @@ <listOptionValue builtIn="false" value=""${workspace_loc:/PX4-Firmware/src/include}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/PX4-Firmware/uORB/topics}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/PX4-Firmware}""/> - <listOptionValue builtIn="false" value=""${git_work_tree}/build/posix_sitl_default/""/> - <listOptionValue builtIn="false" value=""${git_work_tree}/build/posix_sitl_default/src/modules/systemlib/param""/> + <listOptionValue builtIn="false" value=""${git_work_tree}/build/px4sitl_default/""/> + <listOptionValue builtIn="false" value=""${git_work_tree}/build/px4sitl_default/src/modules/systemlib/param""/> </option> <option id="gnu.cpp.compiler.option.preprocessor.def.1050909243" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols"> <listOptionValue builtIn="false" value="__PX4_POSIX=1"/> @@ -55,8 +55,8 @@ <listOptionValue builtIn="false" value=""${workspace_loc:/PX4-Firmware/src/include}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/PX4-Firmware/uORB/topics}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/PX4-Firmware}""/> - <listOptionValue builtIn="false" value=""${git_work_tree}/build/posix_sitl_default/""/> - <listOptionValue builtIn="false" value=""${git_work_tree}/build/posix_sitl_default/src/modules/systemlib/param""/> + <listOptionValue builtIn="false" value=""${git_work_tree}/build/px4sitl_default/""/> + <listOptionValue builtIn="false" value=""${git_work_tree}/build/px4sitl_default/src/modules/systemlib/param""/> </option> <option id="gnu.c.compiler.option.preprocessor.def.symbols.734675451" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols"> <listOptionValue builtIn="false" value="__PX4_POSIX=1"/> @@ -83,8 +83,8 @@ <listOptionValue builtIn="false" value=""${workspace_loc:/PX4-Firmware/src/include}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/PX4-Firmware/uORB/topics}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/PX4-Firmware}""/> - <listOptionValue builtIn="false" value=""${git_work_tree}/build/posix_sitl_default/""/> - <listOptionValue builtIn="false" value=""${git_work_tree}/build/posix_sitl_default/src/modules/systemlib/param""/> + <listOptionValue builtIn="false" value=""${git_work_tree}/build/px4sitl_default/""/> + <listOptionValue builtIn="false" value=""${git_work_tree}/build/px4sitl_default/src/modules/systemlib/param""/> </option> <inputType id="cdt.managedbuild.tool.gnu.assembler.input.674673703" superClass="cdt.managedbuild.tool.gnu.assembler.input"/> </tool> @@ -132,10 +132,10 @@ <useDefaultCommand>true</useDefaultCommand> <runAllBuilders>true</runAllBuilders> </target> - <target name="posix_sitl_default" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder"> + <target name="px4sitl_default" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder"> <buildCommand>make</buildCommand> <buildArguments/> - <buildTarget>posix_sitl_default</buildTarget> + <buildTarget>px4sitl_default</buildTarget> <stopOnError>true</stopOnError> <useDefaultCommand>true</useDefaultCommand> <runAllBuilders>true</runAllBuilders> diff --git a/eclipse.project b/eclipse.project index 383d0487b8..c9dc730213 100644 --- a/eclipse.project +++ b/eclipse.project @@ -59,11 +59,11 @@ <variableList> <variable> <name>uORB_LOC</name> - <value>$%7BPROJECT_LOC%7D/build/posix_sitl_default/uORB</value> + <value>$%7BPROJECT_LOC%7D/build/px4sitl_default/uORB</value> </variable> <variable> <name>uORB_SRC</name> - <value>$%7BPROJECT_LOC%7D/build/posix_sitl_default/msg/topics_sources</value> + <value>$%7BPROJECT_LOC%7D/build/px4sitl_default/msg/topics_sources</value> </variable> </variableList> </projectDescription> diff --git a/platforms/nuttx/CMakeLists.txt b/platforms/nuttx/CMakeLists.txt index feeb309cc4..8c514ddba2 100644 --- a/platforms/nuttx/CMakeLists.txt +++ b/platforms/nuttx/CMakeLists.txt @@ -35,9 +35,7 @@ include(cygwin_cygpath) add_subdirectory(src) -if (NOT FW_NAME) - set(FW_NAME ${CONFIG}.elf) -endif() +set(FW_NAME ${PX4_BOARD_VENDOR}${PX4_BOARD_MODEL}_${PX4_BOARD_LABEL}.elf) add_executable(${FW_NAME} ${PX4_SOURCE_DIR}/src/platforms/empty.c) add_dependencies(${FW_NAME} git_nuttx nuttx_build) @@ -66,10 +64,6 @@ if (CONFIG_NET) target_link_libraries(nuttx_fs INTERFACE nuttx_net) endif() -if (NOT LD_SCRIPT) - set(LD_SCRIPT ld.script) -endif() - file(RELATIVE_PATH PX4_BINARY_DIR_REL ${CMAKE_CURRENT_BINARY_DIR} ${PX4_BINARY_DIR}) # only in the cygwin environment: convert absolute linker script path to mixed windows (C:/...) @@ -95,7 +89,7 @@ target_link_libraries(${FW_NAME} PRIVATE -fno-exceptions -fno-rtti - -Wl,--script=${PX4_BINARY_DIR_CYG}/NuttX/nuttx/configs/${BOARD}/scripts/${LD_SCRIPT} + -Wl,--script=${PX4_BINARY_DIR_CYG}/NuttX/nuttx/configs/${PX4_BOARD}/scripts/ld.script -Wl,-Map=${CONFIG}.map -Wl,--warn-common -Wl,--gc-sections @@ -123,31 +117,29 @@ string(REPLACE "nuttx_" "" fw_name_short ${FW_NAME}) set(fw_file ${PX4_BINARY_DIR}/${fw_name_short}) string(REPLACE ".elf" ".px4" fw_file ${fw_file}) -add_custom_command(OUTPUT ${PX4_BINARY_DIR_REL}/${BOARD}.bin - COMMAND ${OBJCOPY} -O binary ${PX4_BINARY_DIR_REL}/${FW_NAME} ${PX4_BINARY_DIR_REL}/${BOARD}.bin +add_custom_command(OUTPUT ${PX4_BINARY_DIR_REL}/${PX4_BOARD}.bin + COMMAND ${CMAKE_OBJCOPY} -O binary ${PX4_BINARY_DIR_REL}/${FW_NAME} ${PX4_BINARY_DIR_REL}/${PX4_BOARD}.bin DEPENDS ${FW_NAME} ) -if (NOT FW_PROTOTYPE) - set(FW_PROTOTYPE ${BOARD}) -endif() +set(FW_PROTOTYPE ${PX4_BOARD_VENDOR}${PX4_BOARD_MODEL}) if (TARGET parameters_xml AND TARGET airframes_xml) add_custom_command(OUTPUT ${fw_file} COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_mkfw.py - --prototype ${PX4_SOURCE_DIR}/platforms/nuttx/Images/${FW_PROTOTYPE}.prototype + --prototype ${PX4_SOURCE_DIR}/boards/${PX4_BOARD_VENDOR}/${PX4_BOARD_MODEL}/firmware.prototype --git_identity ${PX4_SOURCE_DIR} --parameter_xml ${PX4_BINARY_DIR}/parameters.xml --airframe_xml ${PX4_BINARY_DIR}/airframes.xml - --image ${PX4_BINARY_DIR}/${BOARD}.bin > ${fw_file} - DEPENDS ${PX4_BINARY_DIR}/${BOARD}.bin parameters_xml airframes_xml + --image ${PX4_BINARY_DIR}/${PX4_BOARD}.bin > ${fw_file} + DEPENDS ${PX4_BINARY_DIR}/${PX4_BOARD}.bin parameters_xml airframes_xml COMMENT "Creating ${fw_file}" ) add_custom_target(px4 ALL DEPENDS ${fw_file}) # upload helper - if (${BOARD} STREQUAL "aerofc-v1") + if (${PX4_BOARD} STREQUAL "aerofc-v1") # TODO: should be set only in aero config add_custom_target(upload @@ -289,7 +281,7 @@ if (BLOATY_PROGRAM) # bloaty compare with last master build add_custom_target(bloaty_compare_master - COMMAND wget --no-verbose https://s3.amazonaws.com/px4-travis/Firmware/master/${FW_NAME} -O master_${FW_NAME} + COMMAND wget --no-verbose https://s3.amazonaws.com/px4-travis/Firmware/master/nuttx_${FW_NAME} -O master_${FW_NAME} COMMAND ${BLOATY_PROGRAM} -d symbols -n 50 -C full -s vm $<TARGET_FILE:${FW_NAME}> -- master_${FW_NAME} DEPENDS ${FW_NAME} WORKING_DIRECTORY ${PX4_BINARY_DIR} @@ -353,7 +345,7 @@ if(black_magic_probe_path) ) add_custom_target(blackmagic_console - COMMAND screen -t "${BOARD} console" ${black_magic_probe_console_path} 57600 8N1 + COMMAND screen -t "${PX4_BOARD} console" ${black_magic_probe_console_path} 57600 8N1 USES_TERMINAL ) diff --git a/platforms/nuttx/Debug/poor-mans-profiler.sh b/platforms/nuttx/Debug/poor-mans-profiler.sh index d1a7fd56ae..c5efc21c73 100755 --- a/platforms/nuttx/Debug/poor-mans-profiler.sh +++ b/platforms/nuttx/Debug/poor-mans-profiler.sh @@ -77,7 +77,7 @@ do shift done -[[ -z "$elf" ]] && die "Please specify the ELF file location, e.g.: build/nuttx_px4fmu-v4_default/nuttx_px4fmu-v4_default.elf" +[[ -z "$elf" ]] && die "Please specify the ELF file location, e.g.: build/px4fmu-v4_default/px4fmu-v4_default.elf" # # Temporary files diff --git a/platforms/nuttx/Images/px4flow-v2.prototype b/platforms/nuttx/Images/px4flow-v2.prototype deleted file mode 100644 index 5027fe8c27..0000000000 --- a/platforms/nuttx/Images/px4flow-v2.prototype +++ /dev/null @@ -1,13 +0,0 @@ -{ - "board_id": 24, - "magic": "FLOWv1", - "description": "Firmware for the PX4FlowV2 board", - "image": "", - "build_time": 0, - "summary": "PX4FLOWv2", - "version": "0.1", - "image_size": 0, - "image_maxsize": 2080768, - "git_identity": "", - "board_revision": 0 -} diff --git a/platforms/nuttx/Images/zubaxgnss-v1.prototype b/platforms/nuttx/Images/zubaxgnss-v1.prototype deleted file mode 100644 index 46d8c45f87..0000000000 --- a/platforms/nuttx/Images/zubaxgnss-v1.prototype +++ /dev/null @@ -1,13 +0,0 @@ -{ - "board_id": 26, - "magic": "ZUBAXGNSSFWv1", - "description": "Firmware for the ZUBAXGNSS board", - "image": "", - "build_time": 0, - "summary": "ZUBAXGNSSv1", - "version": "0.0", - "image_size": 0, - "image_maxsize": 253952, - "git_identity": "", - "board_revision": 0 -} diff --git a/platforms/nuttx/NuttX/CMakeLists.txt b/platforms/nuttx/NuttX/CMakeLists.txt index c263436f0d..ffa4312f2d 100644 --- a/platforms/nuttx/NuttX/CMakeLists.txt +++ b/platforms/nuttx/NuttX/CMakeLists.txt @@ -3,17 +3,11 @@ cmake_minimum_required(VERSION 3.2) px4_add_git_submodule(TARGET git_nuttx PATH "nuttx") px4_add_git_submodule(TARGET git_nuttx_apps PATH "apps") -if(NOT BOARD) - message(FATAL_ERROR "BOARD must be set (eg px4fmu-v2)") +if(NOT PX4_BOARD) + message(FATAL_ERROR "PX4_BOARD must be set (eg px4fmu-v2)") endif() -if(NOT nuttx_config_type) - # default to nsh if not specified - set(nuttx_config_type "nsh") -endif() - -project(NuttX_${BOARD} LANGUAGES ASM C CXX) -message(STATUS "NuttX: " ${BOARD} " " ${nuttx_config_type} " " ${CMAKE_SYSTEM_PROCESSOR}) +project(NuttX_${PX4_BOARD} LANGUAGES ASM C CXX) if (CMAKE_HOST_APPLE OR CMAKE_HOST_WIN32) # copy with rsync and create file dependencies @@ -39,8 +33,10 @@ file(GLOB_RECURSE copy_apps_files ${CMAKE_CURRENT_SOURCE_DIR}/apps/*) set(NUTTX_DIR ${CMAKE_CURRENT_BINARY_DIR}/nuttx) -set(NUTTX_CONFIG_DIR ${PX4_SOURCE_DIR}/platforms/nuttx/nuttx-configs) -configure_file(${NUTTX_CONFIG_DIR}/Make.defs.in ${NUTTX_DIR}/Make.defs) +set(NUTTX_CONFIG_DIR ${PX4_BOARD_DIR}/nuttx-config) + +set(NUTTX_CONFIGS_DIR ${PX4_SOURCE_DIR}/platforms/nuttx/nuttx-configs) +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Make.defs.in ${NUTTX_DIR}/Make.defs) # copy nuttx to build directory file(RELATIVE_PATH CP_SRC ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/nuttx) @@ -66,24 +62,23 @@ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/apps_copy.stamp set(APPS_DIR ${CMAKE_CURRENT_BINARY_DIR}/apps) # copy PX4 board config into nuttx -file(GLOB_RECURSE board_config_files ${NUTTX_CONFIG_DIR}/${BOARD}) -file(RELATIVE_PATH CP_SRC ${CMAKE_SOURCE_DIR} ${NUTTX_CONFIG_DIR}/${BOARD}) -file(RELATIVE_PATH CP_DST ${CMAKE_SOURCE_DIR} ${NUTTX_DIR}/configs) add_custom_command( OUTPUT ${NUTTX_DIR}/.config - COMMAND ${CMAKE_COMMAND} -E copy ${NUTTX_CONFIG_DIR}/${BOARD}/${nuttx_config_type}/defconfig ${NUTTX_DIR}/.config + COMMAND ${CMAKE_COMMAND} -E copy ${NUTTX_CONFIG_DIR}/${NUTTX_CONFIG}/defconfig ${NUTTX_DIR}/.config COMMAND ${CMAKE_COMMAND} -E remove -f ${NUTTX_DIR}/include/nuttx/config.h - COMMAND ${CMAKE_COMMAND} -E make_directory ${NUTTX_DIR}/configs/${BOARD}/src - COMMAND cd ${CMAKE_SOURCE_DIR} && ${cp_cmd} ${cp_opts} ${CP_SRC} ${CP_DST} + COMMAND ${CMAKE_COMMAND} -E remove_directory ${NUTTX_DIR}/configs/${PX4_BOARD} + COMMAND ${CMAKE_COMMAND} -E copy_directory ${NUTTX_CONFIG_DIR}/ ${NUTTX_DIR}/configs/${PX4_BOARD}/ + COMMAND ${CMAKE_COMMAND} -E make_directory ${NUTTX_DIR}/configs/${PX4_BOARD}/src + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/nsh_romfsimg.h ${NUTTX_DIR}/configs/${PX4_BOARD}/include DEPENDS - ${NUTTX_CONFIG_DIR}/${BOARD}/${nuttx_config_type}/defconfig - ${board_config_files} + ${NUTTX_CONFIG_DIR}/${NUTTX_CONFIG}/defconfig + ${NUTTX_CONFIG_DIR}/include/board.h + ${NUTTX_CONFIG_DIR}/scripts/ld.script ${CMAKE_CURRENT_BINARY_DIR}/nuttx_copy.stamp ${CMAKE_CURRENT_BINARY_DIR}/apps_copy.stamp WORKING_DIRECTORY ${NUTTX_DIR}/tools - COMMENT "Copying NuttX config ${BOARD} and configuring" + COMMENT "Copying NuttX config ${NUTTX_CONFIG} and configuring" ) -add_custom_target(nuttx_configure DEPENDS ${NUTTX_DIR}/.config) # verbose build settings (V=1 or VERBOSE=1) option(PX4_NUTTX_VERBOSE "PX4 NuttX verbose build" off) @@ -106,11 +101,11 @@ endif() # context add_custom_command(OUTPUT ${NUTTX_DIR}/include/nuttx/version.h ${NUTTX_DIR}/include/nuttx/config.h COMMAND make ${nuttx_build_options} --no-print-directory context ${nuttx_build_output} - DEPENDS nuttx_configure ${NUTTX_DIR}/.config + DEPENDS ${NUTTX_DIR}/.config WORKING_DIRECTORY ${NUTTX_DIR} ${nuttx_build_uses_terminal} ) -add_custom_target(nuttx_context DEPENDS ${NUTTX_DIR}/include/nuttx/version.h) +add_custom_target(nuttx_context DEPENDS ${NUTTX_DIR}/include/nuttx/version.h ${NUTTX_DIR}/include/nuttx/config.h) # library of NuttX libraries add_library(nuttx_build INTERFACE) @@ -126,9 +121,10 @@ if (CONFIG_NSH_LIBRARY) COMMAND rm -f ${APPS_DIR}/builtin/builtin_list.h COMMAND ${CMAKE_COMMAND} -E touch builtins_clean.stamp DEPENDS - nuttx_configure - nuttx_context - ${PX4_SOURCE_DIR}/cmake/configs/${CONFIG}.cmake + ${NUTTX_DIR}/.config + ${NUTTX_DIR}/include/nuttx/version.h + ${NUTTX_DIR}/include/nuttx/config.h + ${PX4_CONFIG_FILE} ) foreach(module ${module_libraries}) @@ -140,7 +136,7 @@ if (CONFIG_NSH_LIBRARY) add_custom_command(OUTPUT ${APPS_DIR}/builtin/registry/px4_${MAIN}_main.bdat COMMAND echo "{ \"${MAIN}\", ${PRIORITY}, ${STACK_MAIN}, ${MAIN}_main }," > ${APPS_DIR}/builtin/registry/px4_${MAIN}_main.bdat COMMAND ${CMAKE_COMMAND} -E touch ${APPS_DIR}/builtin/registry/.updated - DEPENDS nuttx_context builtins_clean.stamp + DEPENDS builtins_clean.stamp ${NUTTX_DIR}/include/nuttx/version.h ${NUTTX_DIR}/include/nuttx/config.h VERBATIM ) list(APPEND nuttx_builtin_list ${APPS_DIR}/builtin/registry/px4_${MAIN}_main.bdat) @@ -148,7 +144,7 @@ if (CONFIG_NSH_LIBRARY) add_custom_command(OUTPUT ${APPS_DIR}/builtin/registry/px4_${MAIN}_main.pdat COMMAND echo "int ${MAIN}_main(int argc, char *argv[]);" > ${APPS_DIR}/builtin/registry/px4_${MAIN}_main.pdat COMMAND ${CMAKE_COMMAND} -E touch ${APPS_DIR}/builtin/registry/.updated - DEPENDS nuttx_context builtins_clean.stamp + DEPENDS builtins_clean.stamp ${NUTTX_DIR}/include/nuttx/version.h ${NUTTX_DIR}/include/nuttx/config.h VERBATIM ) list(APPEND nuttx_builtin_list ${APPS_DIR}/builtin/registry/px4_${MAIN}_main.pdat) @@ -163,7 +159,7 @@ endif() add_custom_command(OUTPUT ${APPS_DIR}/libapps.a ${APPS_DIR}/platform/.built COMMAND find ${APPS_DIR} -name \*.o -delete COMMAND make ${nuttx_build_options} --no-print-directory -C ../apps TOPDIR="${NUTTX_DIR}" libapps.a ${nuttx_build_output} - DEPENDS nuttx_context ${nuttx_builtin_list} + DEPENDS ${nuttx_builtin_list} ${NUTTX_DIR}/include/nuttx/version.h ${NUTTX_DIR}/include/nuttx/config.h WORKING_DIRECTORY ${NUTTX_DIR} ${nuttx_build_uses_terminal} ) @@ -182,7 +178,7 @@ function(add_nuttx_dir nuttx_lib nuttx_lib_dir kernel extra) add_custom_command(OUTPUT ${NUTTX_DIR}/${nuttx_lib_dir}/lib${nuttx_lib}.a COMMAND find ${nuttx_lib_dir} -type f -name *.o -delete COMMAND make -C ${nuttx_lib_dir} ${nuttx_build_options} --no-print-directory all TOPDIR=${NUTTX_DIR} KERNEL=${kernel} EXTRADEFINES=${extra} ${nuttx_build_output} - DEPENDS ${nuttx_lib_files} nuttx_context + DEPENDS ${nuttx_lib_files} ${NUTTX_DIR}/include/nuttx/version.h ${NUTTX_DIR}/include/nuttx/config.h WORKING_DIRECTORY ${NUTTX_DIR} ${nuttx_build_uses_terminal} ) @@ -210,32 +206,32 @@ endif() # oldconfig helper add_custom_target(oldconfig - COMMAND make --no-print-directory --silent -C ${NUTTX_DIR} CONFIG_ARCH_BOARD=${BOARD} oldconfig - COMMAND cp ${NUTTX_DIR}/.config ${NUTTX_CONFIG_DIR}/${BOARD}/${nuttx_config_type}/defconfig - COMMAND ${PX4_SOURCE_DIR}/platforms/nuttx/NuttX/tools/nuttx_defconf_tool.sh ${NUTTX_CONFIG_DIR}/${BOARD}/${nuttx_config_type}/defconfig - DEPENDS nuttx_configure + COMMAND make --no-print-directory --silent -C ${NUTTX_DIR} CONFIG_ARCH_BOARD=${PX4_BOARD} oldconfig + COMMAND cp ${NUTTX_DIR}/.config ${NUTTX_CONFIG_DIR}/${NUTTX_CONFIG}/defconfig + COMMAND ${PX4_SOURCE_DIR}/platforms/nuttx/NuttX/tools/nuttx_defconf_tool.sh ${NUTTX_CONFIG_DIR}/${NUTTX_CONFIG}/defconfig + DEPENDS ${NUTTX_DIR}/.config WORKING_DIRECTORY ${NUTTX_DIR} - COMMENT "Running NuttX make oldconfig for ${BOARD} with ${nuttx_config_type}" + COMMENT "Running NuttX make oldconfig for ${NUTTX_CONFIG}" USES_TERMINAL ) # menuconfig helper add_custom_target(menuconfig - COMMAND make --no-print-directory --silent -C ${NUTTX_DIR} CONFIG_ARCH_BOARD=${BOARD} menuconfig - COMMAND cp ${NUTTX_DIR}/.config ${NUTTX_CONFIG_DIR}/${BOARD}/${nuttx_config_type}/defconfig - COMMAND cd ${PX4_SOURCE_DIR} && platforms/nuttx/NuttX/tools/nuttx_defconf_tool.sh ${NUTTX_CONFIG_DIR}/${BOARD}/${nuttx_config_type}/defconfig - DEPENDS nuttx_configure + COMMAND make --no-print-directory --silent -C ${NUTTX_DIR} CONFIG_ARCH_BOARD=${PX4_BOARD} menuconfig + COMMAND cp ${NUTTX_DIR}/.config ${NUTTX_CONFIG_DIR}/${NUTTX_CONFIG}/defconfig + COMMAND cd ${PX4_SOURCE_DIR} && platforms/nuttx/NuttX/tools/nuttx_defconf_tool.sh ${NUTTX_CONFIG_DIR}/${NUTTX_CONFIG}/defconfig + DEPENDS ${NUTTX_DIR}/.config WORKING_DIRECTORY ${NUTTX_DIR} - COMMENT "Running NuttX make menuconfig for ${BOARD} with ${nuttx_config_type}" + COMMENT "Running NuttX make menuconfig for ${NUTTX_CONFIG}" USES_TERMINAL ) # qconfig helper add_custom_target(qconfig - COMMAND make --no-print-directory --silent -C ${NUTTX_DIR} CONFIG_ARCH_BOARD=${BOARD} qconfig - COMMAND cp .config ${NUTTX_CONFIG_DIR}/${BOARD}/${nuttx_config_type}/defconfig - DEPENDS nuttx_configure + COMMAND make --no-print-directory --silent -C ${NUTTX_DIR} CONFIG_ARCH_BOARD=${PX4_BOARD} qconfig + COMMAND cp .config ${NUTTX_CONFIG_DIR}/${NUTTX_CONFIG}/defconfig + DEPENDS ${NUTTX_DIR}/.config WORKING_DIRECTORY ${NUTTX_DIR} - COMMENT "Running NuttX make qconfig for ${BOARD} with ${nuttx_config_type}" + COMMENT "Running NuttX make qconfig for ${NUTTX_CONFIG}" USES_TERMINAL ) diff --git a/platforms/nuttx/nuttx-configs/Make.defs.in b/platforms/nuttx/NuttX/Make.defs.in similarity index 79% rename from platforms/nuttx/nuttx-configs/Make.defs.in rename to platforms/nuttx/NuttX/Make.defs.in index dc0ec85fdf..6a8234f7c0 100644 --- a/platforms/nuttx/nuttx-configs/Make.defs.in +++ b/platforms/nuttx/NuttX/Make.defs.in @@ -36,10 +36,10 @@ include $(TOPDIR)/.config include $(TOPDIR)/tools/Config.mk -CC = ${C_COMPILER} -CXX = ${CXX_COMPILER} -CPP = ${C_COMPILER} -E -LD = ${LD} +CC = ${CMAKE_C_COMPILER} +CXX = ${CMAKE_CXX_COMPILER} +CPP = ${CMAKE_C_COMPILER} -E +LD = ${CMAKE_LD} AR = ${CMAKE_AR} rcs NM = ${CMAKE_NM} OBJCOPY = ${CMAKE_OBJCOPY} @@ -48,12 +48,10 @@ OBJDUMP = ${CMAKE_OBJDUMP} # Include paths with Cygwin path conversion ifneq (, $(findstring CYGWIN, $(shell uname))) WINTOOL = y - PX4INCLUDES = -I"$(shell cygpath -w ${PX4_SOURCE_DIR}/src/include)" - ARCHINCLUDES = $(PX4INCLUDES) -I. -isystem "$(shell cygpath -w $(TOPDIR)/include)" + ARCHINCLUDES = -I. -isystem "$(shell cygpath -w $(TOPDIR)/include)" ARCHXXINCLUDES = $(ARCHINCLUDES) -isystem "$(shell cygpath -w $(TOPDIR)/include/cxx)" else - PX4INCLUDES = -I${PX4_SOURCE_DIR}/src/include - ARCHINCLUDES = $(PX4INCLUDES) -I. -isystem $(TOPDIR)/include + ARCHINCLUDES = -I. -isystem $(TOPDIR)/include ARCHXXINCLUDES = $(ARCHINCLUDES) -isystem $(TOPDIR)/include/cxx endif @@ -64,20 +62,41 @@ ifeq ($(WINTOOL),y) MKDEP = $(TOPDIR)/tools/mknulldeps.sh endif +FLAGS = -Os -g2 \ + -fdata-sections \ + -ffunction-sections \ + -fno-builtin-printf \ + -fno-common \ + -fno-strength-reduce \ + -fno-strict-aliasing \ + -fomit-frame-pointer \ + -Wall \ + -Werror \ + -Wextra \ + -Wlogical-op \ + -Wno-cpp \ + -Wno-format-truncation \ + -Wno-maybe-uninitialized \ + -Wno-missing-field-initializers \ + -Wno-sign-compare \ + -Wno-type-limits \ + -Wno-unused-parameter \ + -Wpointer-arith + # enable precise stack overflow tracking ifeq ($(CONFIG_ARMV7M_STACKCHECK),y) - INSTRUMENTATIONDEFINES = -finstrument-functions -ffixed-r10 + FLAGS += -finstrument-functions -ffixed-r10 endif -CFLAGS = -Os -g2 ${CMAKE_C_FLAGS} $(ARCHINCLUDES) $(INSTRUMENTATIONDEFINES) \ +CFLAGS = $(ARCHINCLUDES) \ + -std=gnu99 \ + ${CMAKE_C_FLAGS} \ + $(FLAGS) \ -Wno-bad-function-cast \ - -Wno-cpp \ -Wno-float-equal \ - -Wno-format-truncation \ -Wno-implicit-fallthrough \ -Wno-implicit-function-declaration \ -Wno-logical-op \ - -Wno-maybe-uninitialized \ -Wno-missing-declarations \ -Wno-missing-field-initializers \ -Wno-missing-prototypes \ @@ -87,11 +106,15 @@ CFLAGS = -Os -g2 ${CMAKE_C_FLAGS} $(ARCHINCLUDES) $(INSTRUMENTATIONDEFINES) \ -Wno-sign-compare \ -Wno-type-limits -CXXFLAGS = -Os -g2 ${CMAKE_CXX_FLAGS} $(ARCHXXINCLUDES) $(INSTRUMENTATIONDEFINES) \ +CXXFLAGS = $(ARCHXXINCLUDES) \ + -std=gnu++11 \ + ${CMAKE_CXX_FLAGS} \ + $(FLAGS) \ -fcheck-new \ -fno-builtin \ + -fno-exceptions \ + -fno-rtti \ -Wno-double-promotion \ - -Wno-maybe-uninitialized \ -Wno-missing-declarations AFLAGS = $(CFLAGS) -D__ASSEMBLY__ diff --git a/platforms/nuttx/nuttx-configs/aerocore2/include/nsh_romfsimg.h b/platforms/nuttx/NuttX/nsh_romfsimg.h similarity index 100% rename from platforms/nuttx/nuttx-configs/aerocore2/include/nsh_romfsimg.h rename to platforms/nuttx/NuttX/nsh_romfsimg.h diff --git a/platforms/nuttx/NuttX/tools/new_nuttx_px_config.sh b/platforms/nuttx/NuttX/tools/new_nuttx_px_config.sh deleted file mode 100755 index 1a24f337ce..0000000000 --- a/platforms/nuttx/NuttX/tools/new_nuttx_px_config.sh +++ /dev/null @@ -1,173 +0,0 @@ -#! /bin/bash - -function fatal -{ - echo "$0: ERROR: $*" - exit 1 -} - -# Find out what the base directory is. -BASEDIR="$(dirname $(dirname $(readlink -en "$0")))" -echo "BASEDIR=\"$BASEDIR\"" -striplen=$((${#BASEDIR} + 2)) - -# BASEDIR may not contain a space, that's just too hard to get to work. -expr index "$BASEDIR" " " >/dev/null && fatal "it is not supported that BASEDIR contains a space." - -# Make sure that worked. -test -f $BASEDIR/cmake/posix/px4_impl_posix.cmake || fatal "Failed to determine BASEDIR: '\$BASEDIR/cmake/posix/px4_impl_posix.cmake' is not a regular file." - -# Did we get two arguments? -if [[ $# -lt 2 ]]; then - echo "Usage:" - echo " $0 PROTOTYPE NEWNAME" - echo - echo "For example: $0 px4fmu-v4 awesome_new_board-v2" - exit 1 -fi - -# Parse command line parameters. -oldname= -newname= -while [[ $# -gt 0 ]] -do - case $1 in - -*) - fatal "Unknown option $1" - ;; - *) - if [ -z "$oldname" ]; then - oldname="$1" - elif [ -z "$newname" ]; then - newname="$1" - else - fatal "Too many arguments." - fi - ;; - esac - shift -done - -echo "PROTOTYPE = \"$oldname\"" - -# Does that look like an existing old name? -if [ ! -f $BASEDIR/platforms/nuttx/Images/$oldname.prototype ]; then - fatal "\"$oldname\" doesn't look like an existing board name (there is no $BASEDIR/platforms/nuttx/Images/$oldname.prototype)" -fi -if [ ! -d $BASEDIR/src/drivers/boards/$oldname ]; then - fatal "\"$oldname\" doesn't look like an existing board name (no such directory $BASEDIR/src/drivers/boards/$oldname)" -fi -if [ ! -f $BASEDIR/cmake/configs/nuttx_"$oldname"_default.cmake -a ! -f $BASEDIR/cmake/configs/nuttx_"$oldname"_bootloader.cmake ]; then - fatal "\"$oldname\" doesn't look like an existing board name (there is neither a $BASEDIR/cmake/configs/nuttx_"$oldname"_default.cmake nor a $BASEDIR/cmake/configs/nuttx_"$oldname"_bootloader.cmake)" -fi -if [ ! -d $BASEDIR/platforms/nuttx/nuttx-configs/$oldname ]; then - fatal "\"$oldname\" doesn't look like an existing board name (no such directory $BASEDIR/platforms/nuttx/nuttx-configs/$oldname)" -fi - -# Does the new name look like a new name? -if [[ $newname =~ ^[[:alnum:]_-]+$ ]]; then - echo "NEWNAME = \"$newname\"" -else - fatal "NEWNAME may only contain alpha numeric characters, a dash or an underscore." -fi - -# Change directory to BASEDIR. -cd "$BASEDIR" || fatal "Could not change directory to $BASEDIR" - -# Make sure we don't accidently overwrite stuff. -if [ -f platforms/nuttx/Images/$newname.prototype -o \ - -f cmake/configs/nuttx_"$newname"_default.cmake -o \ - -f cmake/configs/nuttx_"$newname"_bootloader.cmake -o \ - -d src/drivers/boards/$newname -o \ - -d nuttx-configs/$newname ]; then - echo "\"$newname\" already exists! Please first delete it with the following command (in $BASEDIR):" - echo "rm -rf platforms/nuttx/Images/$newname.prototype cmake/configs/nuttx_"$newname"_default.cmake cmake/configs/nuttx_"$newname"_bootloader.cmake src/drivers/boards/$newname nuttx-configs/$newname" - exit 1 -fi - -# Capitalize names. -oldboard=$(echo "$oldname" | tr '[:lower:]-' '[:upper:]_') -newboard=$(echo "$newname" | tr '[:lower:]-' '[:upper:]_') - -# Do we have a default and/or bootloader? -[ ! -e cmake/configs/nuttx_"$oldname"_default.cmake ]; have_default=$? -[ ! -e cmake/configs/nuttx_"$oldname"_bootloader.cmake ]; have_bootloader=$? - -function insertAfter # file line newText -{ - local file="$1" line="$2" newText="$3" - sed -i -e "/$line/a"$'\\\n'"$newText" "$file" -} - -for k in default bootloader; do - eval needit=\$have_$k; - if [[ $needit -eq 1 ]]; then - # Copy cmake/configs/file(s). - cp "cmake/configs/nuttx_${oldname}_${k}.cmake" "cmake/configs/nuttx_${newname}_${k}.cmake" - git add "cmake/configs/nuttx_${newname}_${k}.cmake" - sed -i -e "s%drivers/boards/${oldname}%drivers/boards/${newname}%" "cmake/configs/nuttx_${newname}_${k}.cmake" - # If Makefile does not already have it, add 'check_$newname_[default|bootloader]' - # to targets checks_[default|bootloader]s respectivily. - if ! grep '^'$'\t'"check_${newname}_${k}"' \\$' Makefile >/dev/null; then - insertAfter Makefile "^checks_${k}s:" $'\t'"check_${newname}_${k}"' \\' - fi - fi -done - -# Copy remaining files. -cp platforms/nuttx/Images/${oldname}.prototype platforms/nuttx/Images/${newname}.prototype -git add platforms/nuttx/Images/${newname}.prototype -cp -r nuttx-configs/${oldname} nuttx-configs/${newname} -git add nuttx-configs/${newname} -cp -r src/drivers/boards/${oldname} src/drivers/boards/${newname} -git add src/drivers/boards/${newname} -if [[ $have_bootloader -eq 1 ]]; then - cp cmake/configs/uavcan_board_ident/${oldname}.cmake cmake/configs/uavcan_board_ident/${newname}.cmake - git add cmake/configs/uavcan_board_ident/${newname}.cmake - sed -i -r -e 's%\\"([^\\]*)\\"%\\"FIXME (was: \1)\\"%' cmake/configs/uavcan_board_ident/${newname}.cmake -fi - -# Rename certain files. - -TYPE_RE='(buttons|can|timer_config|i2c|init|led|pwr|sdio|spi|usb)' -oldstem=$(find "src/drivers/boards/$oldname" -type f -name '*.c' -o -name '*.cpp' | grep -E "_$TYPE_RE.[cp]*$" | sed -r -e 's%.*/%%;s%_'"$TYPE_RE"'\.[cp]*$%%' | sort -u | head -n 1) -newstem=$(echo "$newname" | sed -e 's/-v[0-9]*$//' | tr '[:upper:]-' '[:lower:]_') - -echo "oldstem=\"$oldstem\"" -echo "newstem=\"$newstem\"" - -FILES=$(find src/drivers/boards/${newname} -regextype egrep -regex ".*/$oldstem[0-9]*_$TYPE_RE\.[cp]*") -for f in $FILES; do - nf=$(echo $f | sed -r -e 's%^(.*/)'"$oldstem"'([0-9]*_'"$TYPE_RE"'\.[cp]*)$%\1'"$newstem"'\2%') - if [[ "$f" != "$nf" ]]; then - git mv "$f" "$nf" - fi - git add "$nf" - bf=$(basename "$f") - bnf=$(basename "$nf") - sed -i -e "s%$bf%$bnf%" "$nf" -done - -oldconfig=CONFIG_ARCH_BOARD_$oldboard -newconfig=CONFIG_ARCH_BOARD_$newboard - -# Fixup copied files. -sed -i -r -e 's%(MODULE[[:space:]]+.*)'"$oldname"'%\1'"$newname"'%;s%^([[:space:]]+)'"$oldstem"'([0-9]*_'"$TYPE_RE"'\.)%\1'"$newstem"'\2%' "src/drivers/boards/${newname}/CMakeLists.txt" -sed -i -r -e 's%"'"$oldboard"'"%"'"$newboard"'"%' "src/drivers/boards/${newname}/board_config.h" -sed -i -r -e 's%'"$oldname"'%'"$newname"'%' "nuttx-configs/${newname}/nsh/Make.defs" -sed -i -r -e 's%'"$oldname"'%'"$newname"'%;s%'"$oldconfig"'%'"$newconfig"'%;s%(CONFIG_CDCACM_PRODUCTSTR=)"([^"]*)"%\1"FIXME (was: \2)"%' "nuttx-configs/${newname}/nsh/defconfig" - -# If src/modules/gpio_led/gpio_led.c does not already contain it, -# add defined($newconfig) where defined($oldconfig) exists. -if ! grep 'defined('"${newconfig}"')' 'src/modules/gpio_led/gpio_led.c' >/dev/null; then - insertAfter src/modules/gpio_led/gpio_led.c "defined(${oldconfig})"' || \\$' $'\t'"defined(${newconfig})"' || \\' - sed -i -e 's/\(defined('"${oldconfig}"')$\)/\1 || \\'$'\\n\\t'"defined(${newconfig})/" 'src/modules/gpio_led/gpio_led.c' -fi - -# Make some changes to platforms/nuttx/Images/$(newname).prototype -sed -i -r -e 's%("(magic|description|summary)": ")([^"]*)(",).*%\1FIXME (was: \3)\4%' "platforms/nuttx/Images/${newname}.prototype" - -echo "*** The following files contain a reference to $oldconfig (this might take a while):" -find . -path './build/*' -o -path './.git' -o -name 'defconfig' -prune -o -type f -exec grep -l -- "$oldconfig" {} \; -echo "*** Run 'git diff' to check the changes that this script already made relative to the copied prototype files." -echo "*** Use 'git status' to see other (added) files, that likely need fixing." diff --git a/platforms/nuttx/cmake/Platform/Generic-arm-none-eabi-gcc-cortex-m3.cmake b/platforms/nuttx/cmake/Platform/Generic-arm-none-eabi-gcc-cortex-m3.cmake new file mode 100644 index 0000000000..7bd10f10c7 --- /dev/null +++ b/platforms/nuttx/cmake/Platform/Generic-arm-none-eabi-gcc-cortex-m3.cmake @@ -0,0 +1,6 @@ + +set(cpu_flags "-mcpu=cortex-m3 -mthumb -march=armv7-m") + +set(CMAKE_C_FLAGS "${cpu_flags}") +set(CMAKE_CXX_FLAGS "${cpu_flags}") +set(CMAKE_ASM_FLAGS "${cpu_flags} -D__ASSEMBLY__") diff --git a/platforms/nuttx/cmake/Platform/Generic-arm-none-eabi-gcc-cortex-m4.cmake b/platforms/nuttx/cmake/Platform/Generic-arm-none-eabi-gcc-cortex-m4.cmake new file mode 100644 index 0000000000..65bcaa4e8e --- /dev/null +++ b/platforms/nuttx/cmake/Platform/Generic-arm-none-eabi-gcc-cortex-m4.cmake @@ -0,0 +1,6 @@ + +set(cpu_flags "-mcpu=cortex-m4 -mthumb -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard") + +set(CMAKE_C_FLAGS "${cpu_flags}") +set(CMAKE_CXX_FLAGS "${cpu_flags}") +set(CMAKE_ASM_FLAGS "${cpu_flags} -D__ASSEMBLY__") diff --git a/platforms/nuttx/cmake/Platform/Generic-arm-none-eabi-gcc-cortex-m7.cmake b/platforms/nuttx/cmake/Platform/Generic-arm-none-eabi-gcc-cortex-m7.cmake new file mode 100644 index 0000000000..acf074ed8b --- /dev/null +++ b/platforms/nuttx/cmake/Platform/Generic-arm-none-eabi-gcc-cortex-m7.cmake @@ -0,0 +1,6 @@ + +set(cpu_flags "-mcpu=cortex-m7 -mthumb -mfpu=fpv5-sp-d16 -mfloat-abi=hard") + +set(CMAKE_C_FLAGS "${cpu_flags}") +set(CMAKE_CXX_FLAGS "${cpu_flags}") +set(CMAKE_ASM_FLAGS "${cpu_flags} -D__ASSEMBLY__") diff --git a/platforms/nuttx/cmake/Toolchain-arm-none-eabi.cmake b/platforms/nuttx/cmake/Toolchain-arm-none-eabi.cmake new file mode 100644 index 0000000000..7378b8b592 --- /dev/null +++ b/platforms/nuttx/cmake/Toolchain-arm-none-eabi.cmake @@ -0,0 +1,48 @@ +# arm-none-eabi-gcc toolchain + +set(CMAKE_SYSTEM_NAME Generic) +set(CMAKE_SYSTEM_VERSION 1) + +set(triple arm-none-eabi) +set(CMAKE_LIBRARY_ARCHITECTURE ${triple}) +set(TOOLCHAIN_PREFIX ${triple}) + +set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc) +set(CMAKE_C_COMPILER_TARGET ${triple}) + +set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++) +set(CMAKE_CXX_COMPILER_TARGET ${triple}) + +set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER}) + +# needed for test compilation +set(CMAKE_EXE_LINKER_FLAGS_INIT "--specs=nosys.specs") + +# compiler tools +foreach(tool nm ld objcopy ranlib strip) + string(TOUPPER ${tool} TOOL) + find_program(CMAKE_${TOOL} ${TOOLCHAIN_PREFIX}-${tool}) + if(CMAKE-${TOOL} MATCHES "NOTFOUND") + message(FATAL_ERROR "could not find ${TOOLCHAIN_PREFIX}-${tool}") + endif() +endforeach() + +set(CMAKE_FIND_ROOT_PATH get_file_component(${CMAKE_C_COMPILER} PATH)) +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) + +# os tools +foreach(tool grep genromfs make) + string(TOUPPER ${tool} TOOL) + find_program(${TOOL} ${tool}) + if(NOT ${TOOL}) + message(FATAL_ERROR "could not find ${tool}") + endif() +endforeach() + +# optional compiler tools +foreach(tool gdb gdbtui) + string(TOUPPER ${tool} TOOL) + find_program(${TOOL} arm-none-eabi-${tool}) +endforeach() diff --git a/platforms/nuttx/cmake/px4_add_board_os.cmake b/platforms/nuttx/cmake/px4_add_board_os.cmake new file mode 100644 index 0000000000..052a4912c9 --- /dev/null +++ b/platforms/nuttx/cmake/px4_add_board_os.cmake @@ -0,0 +1,130 @@ +############################################################################ +# +# Copyright (c) 2018 PX4 Development Team. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name PX4 nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +#============================================================================= +# +# Defined functions in this file +# +# utility functions +# +# * px4_add_board_os +# + +include(px4_base) + +#============================================================================= +# +# px4_add_board_os +# +# This function creates a PX4 board. +# +# Usage: +# px4_add_board_os( +# BOARD <string> +# OS <string> +# [ TOOLCHAIN ] <string> +# ) +# +# Input: +# BOARD : name of board +# OS : posix, nuttx, qurt +# +# +# Example: +# px4_add_board_os( +# BOARD px4fmu-v2_default +# OS nuttx +# ) +# +function(px4_add_board_os) + + px4_parse_function_args( + NAME px4_add_board_os + ONE_VALUE + VENDOR + MODEL + LABEL + BOARD_OVERRIDE + PLATFORM + TOOLCHAIN + ARCH + ROMFSROOT + IO + BOOTLOADER + UAVCAN_INTERFACES + MULTI_VALUE + DRIVERS + MODULES + SYSTEMCMDS + EXAMPLES + SERIAL_PORTS + DF_DRIVERS # DriverFramework drivers + OPTIONS + CONSTRAINED_FLASH + ROMFS + TESTING + ARGN ${ARGN}) + + if(NOT CMAKE_TOOLCHAIN_FILE) + set(CMAKE_TOOLCHAIN_FILE Toolchain-arm-none-eabi CACHE INTERNAL "toolchain file" FORCE) + endif() + + if(LABEL MATCHES "stackcheck") + set(NUTTX_CONFIG "stackcheck" CACHE INTERNAL "NuttX config" FORCE) + else() + set(NUTTX_CONFIG "nsh" CACHE INTERNAL "NuttX config" FORCE) + endif() + + # ROMFS + if(ROMFS) + if (NOT DEFINED ROMFSROOT) + set(config_romfs_root px4fmu_common) + else() + set(config_romfs_root ${ROMFSROOT}) + endif() + set(config_romfs_root ${config_romfs_root} CACHE INTERNAL "ROMFS root" FORCE) + endif() + + # IO board placed in ROMFS + if(IO) + set(config_io_board ${IO} CACHE INTERNAL "IO" FORCE) + endif() + + if(UAVCAN_INTERFACES) + set(config_uavcan_num_ifaces ${UAVCAN_INTERFACES} CACHE INTERNAL "UAVCAN interfaces" FORCE) + endif() + + include(px4_impl_os) + px4_os_prebuild_targets(OUT prebuild_targets BOARD ${PX4_BOARD}) + +endfunction() diff --git a/platforms/nuttx/cmake/px4_impl_os.cmake b/platforms/nuttx/cmake/px4_impl_os.cmake index d46e0bba64..9472ac7704 100644 --- a/platforms/nuttx/cmake/px4_impl_os.cmake +++ b/platforms/nuttx/cmake/px4_impl_os.cmake @@ -35,85 +35,13 @@ # # Defined functions in this file # -# OS Specific Functions -# -# * px4_nuttx_make_uavcan_bootloadable -# -# Required OS Inteface Functions +# Required OS Interface Functions # # * px4_os_add_flags # * px4_os_prebuild_targets # -include(common/px4_base) - -#============================================================================= -# -# px4_nuttx_make_uavcan_bootloadable -# -# This function adds a uavcan boot loadable target. -# -# Usage: -# px4_nuttx_make_uavcan_bootloadable( -# BOARD <board> -# BIN <input bin file>) -# HWNAME <uavcan name> -# HW_MAJOR <number> -# HW_MINOR <number> -# SW_MAJOR <number> -# SW_MINOR <number>) -# -# Input: -# BOARD : the board -# BIN : the bin file to generate the bootloadable image from -# HWNAME : the uavcan name -# HW_MAJOR : the major hardware revision -# HW_MINOR : the minor hardware revision -# SW_MAJOR : the major software revision -# SW_MINOR : the minor software revision -# -# Output: -# OUT : None -# -# Example: -# px4_nuttx_make_uavcan_bootloadable( -# BOARD ${BOARD} -# BIN ${CMAKE_CURRENT_BINARY_DIR}/firmware_nuttx -# HWNAME ${uavcanblid_name} -# HW_MAJOR ${uavcanblid_hw_version_major} -# HW_MINOR ${uavcanblid_hw_version_minor} -# SW_MAJOR ${uavcanblid_sw_version_major} -# SW_MINOR ${uavcanblid_sw_version_minor} -# ) -# -function(px4_nuttx_make_uavcan_bootloadable) - px4_parse_function_args( - NAME px4_nuttx_make_uavcan_bootloadable - ONE_VALUE BOARD BIN HWNAME HW_MAJOR HW_MINOR SW_MAJOR SW_MINOR - REQUIRED BOARD BIN HWNAME HW_MAJOR HW_MINOR SW_MAJOR SW_MINOR - ARGN ${ARGN}) - - string(REPLACE "\"" "" HWNAME ${HWNAME}) - - execute_process( - COMMAND git rev-list HEAD --max-count=1 --abbrev=8 --abbrev-commit - OUTPUT_VARIABLE uavcanbl_git_desc - OUTPUT_STRIP_TRAILING_WHITESPACE - WORKING_DIRECTORY ${PX4_SOURCE_DIR} - ) - - if ("${uavcanbl_git_desc}" STREQUAL "") - set(uavcanbl_git_desc ffffffff) - endif() - set(uavcan_bl_imange_name ${HWNAME}-${HW_MAJOR}.${HW_MINOR}-${SW_MAJOR}.${SW_MINOR}.${uavcanbl_git_desc}.uavcan.bin) - message(STATUS "Generating UAVCAN Bootable as ${uavcan_bl_imange_name}") - add_custom_command(OUTPUT ${uavcan_bl_imange_name} - COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/make_can_boot_descriptor.py - -v --use-git-hash ${BIN} ${uavcan_bl_imange_name} - DEPENDS ${BIN} - ) - add_custom_target(build_uavcan_bl_${BOARD} ALL DEPENDS ${uavcan_bl_imange_name}) -endfunction() +include(px4_base) #============================================================================= # @@ -163,11 +91,11 @@ function(px4_os_add_flags) px4_parse_function_args( NAME px4_os_add_flags ONE_VALUE ${inout_vars} BOARD - REQUIRED ${inout_vars} BOARD + REQUIRED ${inout_vars} ARGN ${ARGN}) px4_add_common_flags( - BOARD ${BOARD} + BOARD ${PX4_BOARD} C_FLAGS ${C_FLAGS} CXX_FLAGS ${CXX_FLAGS} OPTIMIZATION_FLAGS ${OPTIMIZATION_FLAGS} @@ -217,7 +145,7 @@ endfunction() # px4_os_prebuild_targets # # This function generates os dependent targets - +# # Usage: # px4_os_prebuild_targets( # OUT <out-list_of_targets> @@ -237,15 +165,15 @@ function(px4_os_prebuild_targets) px4_parse_function_args( NAME px4_os_prebuild_targets ONE_VALUE OUT BOARD - REQUIRED OUT BOARD + REQUIRED OUT ARGN ${ARGN}) - add_library(${OUT} INTERFACE) - target_link_libraries(${OUT} INTERFACE nuttx_cxx nuttx_c nuttx_fs nuttx_mm nuttx_sched m gcc) - add_dependencies(${OUT} DEPENDS nuttx_context uorb_headers) + add_library(prebuild_targets INTERFACE) + target_link_libraries(prebuild_targets INTERFACE nuttx_cxx nuttx_c nuttx_fs nuttx_mm nuttx_sched m gcc) + add_dependencies(prebuild_targets DEPENDS nuttx_context uorb_headers) # parse nuttx config options for cmake - file(STRINGS ${PX4_SOURCE_DIR}/platforms/nuttx/nuttx-configs/${BOARD}/${nuttx_config_type}/defconfig ConfigContents) + file(STRINGS ${PX4_BOARD_DIR}/nuttx-config/${NUTTX_CONFIG}/defconfig ConfigContents) foreach(NameAndValue ${ConfigContents}) # Strip leading spaces string(REGEX REPLACE "^[ ]+" "" NameAndValue ${NameAndValue}) @@ -261,72 +189,8 @@ function(px4_os_prebuild_targets) string(REPLACE "\"" "" Value ${Value}) # Set the variable - set(${Name} ${Value} PARENT_SCOPE) + #message(STATUS "${Name} ${Value}") + set(${Name} ${Value} CACHE INTERNAL "NUTTX DEFCONFIG: ${Name}" FORCE) endif() endforeach() endfunction() - -#============================================================================= -# -# px4_nuttx_configure -# -# This function sets the nuttx configuration -# -# Usage: -# px4_nuttx_configure( -# HWCLASS <m3|m4> -# [ROMFS <y|n> -# ROMFSROOT <root>] -# ) -# -# Input: -# HWCLASS : the class of hardware -# CONFIG : the nuttx configuration to use -# ROMFS : whether or not to use incllude theROMFS -# ROMFSROOT : If ROMFS used set the root the default is px4fmu_common -# -# Output: -# OUT : None -# -# Example: -# px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y) -# -function(px4_nuttx_configure) - px4_parse_function_args( - NAME px4_nuttx_configure - ONE_VALUE HWCLASS CONFIG ROMFS ROMFSROOT IO - REQUIRED HWCLASS - ARGN ${ARGN}) - - # HWCLASS -> CMAKE_SYSTEM_PROCESSOR - if(HWCLASS STREQUAL "m7") - set(CMAKE_SYSTEM_PROCESSOR "cortex-m7" PARENT_SCOPE) - elseif(HWCLASS STREQUAL "m4") - set(CMAKE_SYSTEM_PROCESSOR "cortex-m4" PARENT_SCOPE) - elseif(HWCLASS STREQUAL "m3") - set(CMAKE_SYSTEM_PROCESSOR "cortex-m3" PARENT_SCOPE) - endif() - set(CMAKE_SYSTEM_PROCESSOR ${CMAKE_SYSTEM_PROCESSOR} CACHE INTERNAL "system processor" FORCE) - set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake CACHE INTERNAL "toolchain file" FORCE) - - if (CONFIG) - set(nuttx_config_type ${CONFIG}) - set(nuttx_config_type ${nuttx_config_type} PARENT_SCOPE) - endif() - - # ROMFS - if("${ROMFS}" STREQUAL "y") - if (NOT DEFINED ROMFSROOT) - set(config_romfs_root px4fmu_common) - else() - set(config_romfs_root ${ROMFSROOT}) - endif() - set(config_romfs_root ${config_romfs_root} PARENT_SCOPE) - endif() - - # IO board placed in ROMFS - if(config_romfs_root) - set(config_io_board ${IO} PARENT_SCOPE) - endif() -endfunction() - diff --git a/platforms/nuttx/nuttx-configs/auav-x21/include/nsh_romfsimg.h b/platforms/nuttx/nuttx-configs/auav-x21/include/nsh_romfsimg.h deleted file mode 100644 index 15e4e7a8d5..0000000000 --- a/platforms/nuttx/nuttx-configs/auav-x21/include/nsh_romfsimg.h +++ /dev/null @@ -1,42 +0,0 @@ -/**************************************************************************** - * - * Copyright (C) 2013 PX4 Development Team. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name PX4 nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/** - * nsh_romfsetc.h - * - * This file is a stub for 'make export' purposes; the actual ROMFS - * must be supplied by the library client. - */ - -extern unsigned char romfs_img[]; -extern unsigned int romfs_img_len; diff --git a/platforms/nuttx/nuttx-configs/av-x-v1/include/nsh_romfsimg.h b/platforms/nuttx/nuttx-configs/av-x-v1/include/nsh_romfsimg.h deleted file mode 100644 index beb1a924cf..0000000000 --- a/platforms/nuttx/nuttx-configs/av-x-v1/include/nsh_romfsimg.h +++ /dev/null @@ -1,42 +0,0 @@ -/**************************************************************************** - * - * Copyright (C) 2016 PX4 Development Team. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name PX4 nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/** - * nsh_romfsetc.h - * - * This file is a stub for 'make export' purposes; the actual ROMFS - * must be supplied by the library client. - */ - -extern unsigned char romfs_img[]; -extern unsigned int romfs_img_len; diff --git a/platforms/nuttx/nuttx-configs/crazyflie/include/nsh_romfsimg.h b/platforms/nuttx/nuttx-configs/crazyflie/include/nsh_romfsimg.h deleted file mode 100644 index 15e4e7a8d5..0000000000 --- a/platforms/nuttx/nuttx-configs/crazyflie/include/nsh_romfsimg.h +++ /dev/null @@ -1,42 +0,0 @@ -/**************************************************************************** - * - * Copyright (C) 2013 PX4 Development Team. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name PX4 nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/** - * nsh_romfsetc.h - * - * This file is a stub for 'make export' purposes; the actual ROMFS - * must be supplied by the library client. - */ - -extern unsigned char romfs_img[]; -extern unsigned int romfs_img_len; diff --git a/platforms/nuttx/nuttx-configs/mindpx-v2/include/nsh_romfsimg.h b/platforms/nuttx/nuttx-configs/mindpx-v2/include/nsh_romfsimg.h deleted file mode 100644 index 15e4e7a8d5..0000000000 --- a/platforms/nuttx/nuttx-configs/mindpx-v2/include/nsh_romfsimg.h +++ /dev/null @@ -1,42 +0,0 @@ -/**************************************************************************** - * - * Copyright (C) 2013 PX4 Development Team. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name PX4 nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/** - * nsh_romfsetc.h - * - * This file is a stub for 'make export' purposes; the actual ROMFS - * must be supplied by the library client. - */ - -extern unsigned char romfs_img[]; -extern unsigned int romfs_img_len; diff --git a/platforms/nuttx/nuttx-configs/nxphlite-v3/include/nsh_romfsimg.h b/platforms/nuttx/nuttx-configs/nxphlite-v3/include/nsh_romfsimg.h deleted file mode 100644 index 78a11ced5e..0000000000 --- a/platforms/nuttx/nuttx-configs/nxphlite-v3/include/nsh_romfsimg.h +++ /dev/null @@ -1,42 +0,0 @@ -/**************************************************************************** - * - * Copyright (C) 2016, 2017 PX4 Development Team. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name PX4 nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/** - * nsh_romfsetc.h - * - * This file is a stub for 'make export' purposes; the actual ROMFS - * must be supplied by the library client. - */ - -extern unsigned char romfs_img[]; -extern unsigned int romfs_img_len; diff --git a/platforms/nuttx/nuttx-configs/omnibus-f4sd/include/nsh_romfsimg.h b/platforms/nuttx/nuttx-configs/omnibus-f4sd/include/nsh_romfsimg.h deleted file mode 100644 index a382a57fa6..0000000000 --- a/platforms/nuttx/nuttx-configs/omnibus-f4sd/include/nsh_romfsimg.h +++ /dev/null @@ -1,42 +0,0 @@ -/**************************************************************************** - * - * Copyright (C) 2018 PX4 Development Team. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name PX4 nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/** - * nsh_romfsetc.h - * - * This file is a stub for 'make export' purposes; the actual ROMFS - * must be supplied by the library client. - */ - -extern unsigned char romfs_img[]; -extern unsigned int romfs_img_len; diff --git a/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/Kconfig b/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/Kconfig deleted file mode 100644 index 42f0796535..0000000000 --- a/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/Kconfig +++ /dev/null @@ -1,22 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see misc/tools/kconfig-language.txt. -# - -if ARCH_BOARD_PX4_SAME70XPLAINED_V1 - -config BOARD_HAS_PROBES - bool "Board provides GPIO or other Hardware for signaling to timing analyze." - default y - ---help--- - This board provides GPIO FMU-CH1-4 as PROBE_1-4 to provide timing signals from selected drivers. - -config BOARD_USE_PROBES - bool "Enable the use the board provided GPIO FMU-CH1-4 as PROBE_1-4 to provide timing signals from selected drivers" - default n - depends on BOARD_HAS_PROBES - - ---help--- - Select to use GPIO FMU-CH1-4 to provide timing signals from selected drivers. - -endif diff --git a/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/include/nsh_romfsimg.h b/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/include/nsh_romfsimg.h deleted file mode 100644 index 15e4e7a8d5..0000000000 --- a/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/include/nsh_romfsimg.h +++ /dev/null @@ -1,42 +0,0 @@ -/**************************************************************************** - * - * Copyright (C) 2013 PX4 Development Team. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name PX4 nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/** - * nsh_romfsetc.h - * - * This file is a stub for 'make export' purposes; the actual ROMFS - * must be supplied by the library client. - */ - -extern unsigned char romfs_img[]; -extern unsigned int romfs_img_len; diff --git a/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/nsh/setenv.sh b/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/nsh/setenv.sh deleted file mode 100755 index 45dc13b84f..0000000000 --- a/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/nsh/setenv.sh +++ /dev/null @@ -1,80 +0,0 @@ -#!/bin/bash -# configs/samv7-xult/nsh/Make.defs -# -# Copyright (C) 2015 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <gnutt@nuttx.org> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# - -if [ "$_" = "$0" ] ; then - echo "You must source this script, not run it!" 1>&2 - exit 1 -fi - -WD=`pwd` -if [ ! -x "setenv.sh" ]; then - echo "This script must be executed from the top-level NuttX build directory" - exit 1 -fi - -if [ -z "${PATH_ORIG}" ]; then - export PATH_ORIG="${PATH}" -fi - -# This is the Cygwin path to the location where I installed the Atmel GCC -# toolchain under Windows. You will also have to edit this if you install -# this toolchain in any other location -#export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/Atmel/Atmel Toolchain/ARM GCC/Native/4.7.3.99/arm-gnu-toolchain/bin" - -# This is the Cygwin path to the location where I installed the CodeSourcery -# toolchain under windows. You will also have to edit this if you install -# the CodeSourcery toolchain in any other location -#export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++ Lite/bin" -#export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_EABI/bin" -# export TOOLCHAIN_BIN="/cygdrive/c/Users/MyName/MentorGraphics/Sourcery_CodeBench_Lite_for_ARM_EABI/bin" - -# This is the location where I installed the ARM "GNU Tools for ARM Embedded Processors" -# You can this free toolchain here https://launchpad.net/gcc-arm-embedded -export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/GNU Tools ARM Embedded/4.9 2015q2/bin" - -# This is the path to the location where I installed the devkitARM toolchain -# You can get this free toolchain from http://devkitpro.org/ or http://sourceforge.net/projects/devkitpro/ -#export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/devkitARM/bin" - -# This is the Cygwin path to the location where I build the buildroot -# toolchain. -# export TOOLCHAIN_BIN="${WD}/../buildroot/build_arm_nofpu/staging_dir/bin" - -# The same70-xplained/tools directory -export TOOL_DIR="${WD}/configs/same70-xplained/tools" - -# Add the path to the toolchain and tools directory to the PATH varialble -export PATH="${TOOLCHAIN_BIN}:${TOOL_DIR}:/sbin:/usr/sbin:${PATH_ORIG}" - -echo "PATH : ${PATH}" diff --git a/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/scripts/flash-dtcm.ld b/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/scripts/flash-dtcm.ld deleted file mode 100644 index 83bb3fb0f8..0000000000 --- a/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/scripts/flash-dtcm.ld +++ /dev/null @@ -1,123 +0,0 @@ -/**************************************************************************** - * configs/same70-xplained/scripts/flash-dtcm.ld - * - * Copyright (C) 2015 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/* The SAME70Q21 has 2048Kb of FLASH beginning at address 0x0040:0000 and - * 384Kb of SRAM beginining at 0x2040:0000 - * - * When booting from FLASH, FLASH memory is aliased to address 0x0000:0000 - * where the code expects to begin execution by jumping to the entry point in - * the 0x0400:0000 address range (Assuming that ITCM is not enable). - * - * NOTE: that the DTCM address of 0x2000:0000 is used for SRAM. If DTCM is - * disabled, then the accesses will actually occur on the AHB bus. - */ - -MEMORY -{ - flash (rx) : ORIGIN = 0x00400000, LENGTH = 2048K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 384K -} - -OUTPUT_ARCH(arm) -EXTERN(_vectors) -ENTRY(_stext) - -SECTIONS -{ - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash - - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash - - .ARM.extab : { - *(.ARM.extab*) - } > flash - - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); - - _eronly = ABSOLUTE(.); - - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash - - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - . = ALIGN(4); - _ebss = ABSOLUTE(.); - } > sram - - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } -} diff --git a/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/scripts/flash-sram.ld b/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/scripts/flash-sram.ld deleted file mode 100644 index 075933f6ae..0000000000 --- a/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/scripts/flash-sram.ld +++ /dev/null @@ -1,120 +0,0 @@ -/**************************************************************************** - * configs/same70-xplained/scripts/flash-sram.ld - * - * Copyright (C) 2015 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/* The SAME70Q21 has 2048Kb of FLASH beginning at address 0x0040:0000 and - * 384Kb of SRAM beginining at 0x2040:0000 - * - * When booting from FLASH, FLASH memory is aliased to address 0x0000:0000 - * where the code expects to begin execution by jumping to the entry point in - * the 0x0400:0000 address range (Assuming that ITCM is not enable). - */ - -MEMORY -{ - flash (rx) : ORIGIN = 0x00400000, LENGTH = 2048K - sram (rwx) : ORIGIN = 0x20400000, LENGTH = 384K -} - -OUTPUT_ARCH(arm) -EXTERN(_vectors) -ENTRY(_stext) - -SECTIONS -{ - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > flash - - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > flash - - .ARM.extab : { - *(.ARM.extab*) - } > flash - - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); - - _eronly = ABSOLUTE(.); - - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash - - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - . = ALIGN(4); - _ebss = ABSOLUTE(.); - } > sram - - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } -} diff --git a/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/scripts/gnu-elf.ld b/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/scripts/gnu-elf.ld deleted file mode 100644 index d811db5a69..0000000000 --- a/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/scripts/gnu-elf.ld +++ /dev/null @@ -1,129 +0,0 @@ -/**************************************************************************** - * configs/same70-xplained/scripts/gnu-elf.ld - * - * Copyright (C) 2015 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -SECTIONS -{ - .text 0x00000000 : - { - _stext = . ; - *(.text) - *(.text.*) - *(.gnu.warning) - *(.stub) - *(.glue_7) - *(.glue_7t) - *(.jcr) - - /* C++ support: The .init and .fini sections contain specific logic - * to manage static constructors and destructors. - */ - - *(.gnu.linkonce.t.*) - *(.init) /* Old ABI */ - *(.fini) /* Old ABI */ - _etext = . ; - } - - .rodata : - { - _srodata = . ; - *(.rodata) - *(.rodata1) - *(.rodata.*) - *(.gnu.linkonce.r*) - _erodata = . ; - } - - .data : - { - _sdata = . ; - *(.data) - *(.data1) - *(.data.*) - *(.gnu.linkonce.d*) - _edata = . ; - } - - /* C++ support. For each global and static local C++ object, - * GCC creates a small subroutine to construct the object. Pointers - * to these routines (not the routines themselves) are stored as - * simple, linear arrays in the .ctors section of the object file. - * Similarly, pointers to global/static destructor routines are - * stored in .dtors. - */ - - .ctors : - { - _sctors = . ; - *(.ctors) /* Old ABI: Unallocated */ - *(.init_array) /* New ABI: Allocated */ - _edtors = . ; - } - - .dtors : - { - _sdtors = . ; - *(.dtors) /* Old ABI: Unallocated */ - *(.fini_array) /* New ABI: Allocated */ - _edtors = . ; - } - - .bss : - { - _sbss = . ; - *(.bss) - *(.bss.*) - *(.sbss) - *(.sbss.*) - *(.gnu.linkonce.b*) - *(COMMON) - _ebss = . ; - } - - /* Stabs debugging sections. */ - - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } -} diff --git a/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/scripts/kernel-space.ld b/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/scripts/kernel-space.ld deleted file mode 100644 index 8864c96b9e..0000000000 --- a/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/scripts/kernel-space.ld +++ /dev/null @@ -1,111 +0,0 @@ -/**************************************************************************** - * configs/same70-xplained/scripts/kernel-space.ld - * - * Copyright (C) 2015 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/* NOTE: This depends on the memory.ld script having been included prior to - * this script. - */ - -OUTPUT_ARCH(arm) -EXTERN(_vectors) -ENTRY(_stext) - -SECTIONS -{ - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > kflash - - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > kflash - - .ARM.extab : { - *(.ARM.extab*) - } > kflash - - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > kflash - - __exidx_end = ABSOLUTE(.); - - _eronly = ABSOLUTE(.); - - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > ksram AT > kflash - - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > ksram - - /* Stabs debugging sections */ - - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } -} diff --git a/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/scripts/memory.ld b/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/scripts/memory.ld deleted file mode 100644 index 65673b3d84..0000000000 --- a/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/scripts/memory.ld +++ /dev/null @@ -1,84 +0,0 @@ -/**************************************************************************** - * configs/same70-xplained/scripts/memory.ld - * - * Copyright (C) 2015 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/* The SAME70Q21 has 2048Kb of FLASH beginning at address 0x0040:0000 and - * 384Kb of SRAM beginining at 0x2040:0000 - * - * When booting from FLASH, FLASH memory is aliased to address 0x0000:0000 - * where the code expects to begin execution by jumping to the entry point in - * the 0x0400:0000 address range. - * - * NOTE: that the DTCM address of 0x2000:0000 is used for SRAM. If DTCM is - * disabled, then the accesses will actually occur on the AHB bus. - * - * The user space partition will be spanned with a single region of size - * 2**n bytes. The alignment of the user-space region must be the same. - * As a consequence, as the user-space increases in size, the alignment - * requirement also increases. The sizes below give the largest possible - * user address spaces (but leave far too much for the OS). - * - * The solution to this wasted memory is to (1) use more than one region to - * span the user spaces, or (2) poke holes in a larger region to trim it - * to fit better. - * - * A detailed memory map for the 384KB SRAM region is as follows: - * - * 0x20000 0000: Kernel .data region. Typical size: 0.1KB - * ------- ---- Kernel .bss region. Typical size: 1.8KB - * 0x20000 0800: Kernel IDLE thread stack (approximate). Size is - * determined by CONFIG_IDLETHREAD_STACKSIZE and - * adjustments for alignment. Typical is 1KB. - * ------- ---- Padded to 4KB - * 0x20002 0000: User .data region. Size is variable. - * ------- ---- User .bss region Size is variable. - * 0x20000 2000: Beginning of kernel heap. Size determined by - * CONFIG_MM_KERNEL_HEAPSIZE. - * ------- ---- Beginning of user heap. Can vary with other settings. - * 0x20004 0000: End+1 of mappable internal SRAM - */ - -MEMORY -{ - /* 2048KiB of internal FLASH */ - - kflash (rx) : ORIGIN = 0x00400000, LENGTH = 1M - uflash (rx) : ORIGIN = 0x00500000, LENGTH = 1M - - /* 384Kb of internal SRAM */ - - ksram (rwx) : ORIGIN = 0x20000000, LENGTH = 128K - usram (rwx) : ORIGIN = 0x20020000, LENGTH = 128K - xsram (rwx) : ORIGIN = 0x20040000, LENGTH = 128K -} diff --git a/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/scripts/user-space.ld b/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/scripts/user-space.ld deleted file mode 100644 index bdb149ca83..0000000000 --- a/platforms/nuttx/nuttx-configs/px4-same70xplained-v1/scripts/user-space.ld +++ /dev/null @@ -1,126 +0,0 @@ -/**************************************************************************** - * configs/same70-xplained/scripts/user-space.ld - * - * Copyright (C) 2015 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/* NOTE: This depends on the memory.ld script having been included prior to - * this script. - */ - -/* Make sure that the critical memory management functions are in user-space. - * the user heap memory manager will reside in user-space but be usable both - * by kernel- and user-space code - */ - -EXTERN(umm_initialize) -EXTERN(umm_addregion) -EXTERN(umm_trysemaphore) -EXTERN(umm_givesemaphore) - -EXTERN(malloc) -EXTERN(realloc) -EXTERN(zalloc) -EXTERN(free) - -OUTPUT_ARCH(arm) -SECTIONS -{ - .userspace : { - *(.userspace) - } > uflash - - .text : { - _stext = ABSOLUTE(.); - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.glue_7) - *(.glue_7t) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - } > uflash - - .init_section : { - _sinit = ABSOLUTE(.); - *(.init_array .init_array.*) - _einit = ABSOLUTE(.); - } > uflash - - .ARM.extab : { - *(.ARM.extab*) - } > uflash - - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > uflash - - __exidx_end = ABSOLUTE(.); - - _eronly = ABSOLUTE(.); - - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > usram AT > uflash - - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - _ebss = ABSOLUTE(.); - } > usram - - /* Stabs debugging sections */ - - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } -} diff --git a/platforms/nuttx/nuttx-configs/px4-stm32f4discovery/include/nsh_romfsimg.h b/platforms/nuttx/nuttx-configs/px4-stm32f4discovery/include/nsh_romfsimg.h deleted file mode 100644 index 15e4e7a8d5..0000000000 --- a/platforms/nuttx/nuttx-configs/px4-stm32f4discovery/include/nsh_romfsimg.h +++ /dev/null @@ -1,42 +0,0 @@ -/**************************************************************************** - * - * Copyright (C) 2013 PX4 Development Team. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name PX4 nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/** - * nsh_romfsetc.h - * - * This file is a stub for 'make export' purposes; the actual ROMFS - * must be supplied by the library client. - */ - -extern unsigned char romfs_img[]; -extern unsigned int romfs_img_len; diff --git a/platforms/nuttx/nuttx-configs/px4flow-v2/Kconfig b/platforms/nuttx/nuttx-configs/px4flow-v2/Kconfig deleted file mode 100644 index 2d524c4685..0000000000 --- a/platforms/nuttx/nuttx-configs/px4flow-v2/Kconfig +++ /dev/null @@ -1,22 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see misc/tools/kconfig-language.txt. -# - -if CONFIG_ARCH_BOARD_PX4FLOW_V2 - -config BOARD_HAS_PROBES - bool "Board provides GPIO or other Hardware for signaling to timing analyze." - default y - ---help--- - This board provides ADDR[0:2] as PROBE_1-3 to provide timing signals from selected drivers. - -config BOARD_USE_PROBES - bool "Enable the use provides ADDR[0:2] as PROBE_1-3 to provide timing signals from selected drivers" - default n - depends on BOARD_HAS_PROBES - - ---help--- - Select to use GPIO provides ADDR[0:2] as PROBE_1-3 to provide timing signals from selected drivers. - -endif diff --git a/platforms/nuttx/nuttx-configs/px4flow-v2/include/README.txt b/platforms/nuttx/nuttx-configs/px4flow-v2/include/README.txt deleted file mode 100755 index 5860f79ae2..0000000000 --- a/platforms/nuttx/nuttx-configs/px4flow-v2/include/README.txt +++ /dev/null @@ -1,2 +0,0 @@ -This directory contains header files unique to the -PX4 Flow V1 board using the STM32F427VIT7 Rev_C silicon (no PB12 silicon bug, full 2M Flash available) diff --git a/platforms/nuttx/nuttx-configs/px4flow-v2/nsh/defconfig b/platforms/nuttx/nuttx-configs/px4flow-v2/nsh/defconfig deleted file mode 100644 index 7d076bbd79..0000000000 --- a/platforms/nuttx/nuttx-configs/px4flow-v2/nsh/defconfig +++ /dev/null @@ -1,1004 +0,0 @@ -# -# Automatically generated file; DO NOT EDIT. -# Nuttx/ Configuration -# - -# -# Build Setup -# -# CONFIG_EXPERIMENTAL is not set -CONFIG_DEFAULT_SMALL=y -CONFIG_HOST_LINUX=y -# CONFIG_HOST_OSX is not set -# CONFIG_HOST_WINDOWS is not set -# CONFIG_HOST_OTHER is not set - -# -# Build Configuration -# -CONFIG_APPS_DIR="../apps" -CONFIG_BUILD_FLAT=y -# CONFIG_BUILD_2PASS is not set - -# -# Binary Output Formats -# -# CONFIG_RRLOAD_BINARY is not set -# CONFIG_INTELHEX_BINARY is not set -# CONFIG_MOTOROLA_SREC is not set -CONFIG_RAW_BINARY=y -# CONFIG_UBOOT_UIMAGE is not set - -# -# Customize Header Files -# -# CONFIG_ARCH_STDINT_H is not set -# CONFIG_ARCH_STDBOOL_H is not set -CONFIG_ARCH_MATH_H=y -# CONFIG_ARCH_FLOAT_H is not set -# CONFIG_ARCH_STDARG_H is not set - -# -# Debug Options -# -# CONFIG_DEBUG_FEATURES is not set -CONFIG_ARCH_HAVE_HEAPCHECK=y -CONFIG_DEBUG_VERBOSE=y - -# -# Subsystem Debug Options -# -# CONFIG_DEBUG_AUDIO is not set -# CONFIG_DEBUG_BINFMT is not set -# CONFIG_DEBUG_FS is not set -# CONFIG_DEBUG_GRAPHICS is not set -# CONFIG_DEBUG_LIB is not set -# CONFIG_DEBUG_MM is not set -# CONFIG_DEBUG_SCHED is not set - -# -# OS Function Debug Options -# -# CONFIG_DEBUG_DMA is not set -# CONFIG_DEBUG_HEAP is not set -# CONFIG_DEBUG_IRQ is not set - -# -# Driver Debug Options -# -# CONFIG_DEBUG_ANALOG is not set -# CONFIG_DEBUG_GPIO is not set -CONFIG_ARCH_HAVE_STACKCHECK=y -CONFIG_STACK_COLORATION=y -CONFIG_DEBUG_SYMBOLS=y -CONFIG_ARCH_HAVE_CUSTOMOPT=y -# CONFIG_DEBUG_NOOPT is not set -# CONFIG_DEBUG_CUSTOMOPT is not set -CONFIG_DEBUG_FULLOPT=y - -# -# System Type -# -CONFIG_ARCH_ARM=y -# CONFIG_ARCH_AVR is not set -# CONFIG_ARCH_HC is not set -# CONFIG_ARCH_MIPS is not set -# CONFIG_ARCH_RGMP is not set -# CONFIG_ARCH_SH is not set -# CONFIG_ARCH_SIM is not set -# CONFIG_ARCH_X86 is not set -# CONFIG_ARCH_Z16 is not set -# CONFIG_ARCH_Z80 is not set -CONFIG_ARCH="arm" - -# -# ARM Options -# -# CONFIG_ARCH_CHIP_A1X is not set -# CONFIG_ARCH_CHIP_C5471 is not set -# CONFIG_ARCH_CHIP_CALYPSO is not set -# CONFIG_ARCH_CHIP_DM320 is not set -# CONFIG_ARCH_CHIP_EFM32 is not set -# CONFIG_ARCH_CHIP_IMX is not set -# CONFIG_ARCH_CHIP_KINETIS is not set -# CONFIG_ARCH_CHIP_KL is not set -# CONFIG_ARCH_CHIP_LM is not set -# CONFIG_ARCH_CHIP_TIVA is not set -# CONFIG_ARCH_CHIP_LPC11XX is not set -# CONFIG_ARCH_CHIP_LPC17XX is not set -# CONFIG_ARCH_CHIP_LPC214X is not set -# CONFIG_ARCH_CHIP_LPC2378 is not set -# CONFIG_ARCH_CHIP_LPC31XX is not set -# CONFIG_ARCH_CHIP_LPC43XX is not set -# CONFIG_ARCH_CHIP_NUC1XX is not set -# CONFIG_ARCH_CHIP_SAMA5 is not set -# CONFIG_ARCH_CHIP_SAMD is not set -# CONFIG_ARCH_CHIP_SAML is not set -# CONFIG_ARCH_CHIP_SAM34 is not set -# CONFIG_ARCH_CHIP_SAMV7 is not set -CONFIG_ARCH_CHIP_STM32=y -# CONFIG_ARCH_CHIP_STM32F7 is not set -# CONFIG_ARCH_CHIP_STR71X is not set -# CONFIG_ARCH_CHIP_MOXART is not set -# CONFIG_ARCH_ARM7TDMI is not set -# CONFIG_ARCH_ARM926EJS is not set -# CONFIG_ARCH_ARM920T is not set -# CONFIG_ARCH_CORTEXM0 is not set -# CONFIG_ARCH_CORTEXM3 is not set -CONFIG_ARCH_CORTEXM4=y -# CONFIG_ARCH_CORTEXM7 is not set -# CONFIG_ARCH_CORTEXA5 is not set -# CONFIG_ARCH_CORTEXA8 is not set -CONFIG_ARCH_FAMILY="armv7-m" -CONFIG_ARCH_CHIP="stm32" -CONFIG_ARMV7M_USEBASEPRI=y -CONFIG_ARCH_HAVE_CMNVECTOR=y -CONFIG_ARMV7M_CMNVECTOR=y -# CONFIG_ARMV7M_LAZYFPU is not set -CONFIG_ARCH_HAVE_FPU=y -# CONFIG_ARCH_HAVE_DPFPU is not set -CONFIG_ARCH_FPU=y -# CONFIG_ARMV7M_MPU is not set -# CONFIG_DEBUG_HARDFAULT is not set - -# -# ARMV7M Configuration Options -# -# CONFIG_ARMV7M_HAVE_ICACHE is not set -# CONFIG_ARMV7M_HAVE_DCACHE is not set -# CONFIG_ARMV7M_HAVE_ITCM is not set -# CONFIG_ARMV7M_HAVE_DTCM is not set -# CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT is not set -# CONFIG_ARMV7M_TOOLCHAIN_CODEREDL is not set -CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL=y -# CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL is not set -CONFIG_ARMV7M_HAVE_STACKCHECK=y -# CONFIG_ARMV7M_STACKCHECK is not set -# CONFIG_ARMV7M_ITMSYSLOG is not set -# CONFIG_SERIAL_TERMIOS is not set - -# -# STM32 Configuration Options -# -# CONFIG_ARCH_CHIP_STM32L151C6 is not set -# CONFIG_ARCH_CHIP_STM32L151C8 is not set -# CONFIG_ARCH_CHIP_STM32L151CB is not set -# CONFIG_ARCH_CHIP_STM32L151R6 is not set -# CONFIG_ARCH_CHIP_STM32L151R8 is not set -# CONFIG_ARCH_CHIP_STM32L151RB is not set -# CONFIG_ARCH_CHIP_STM32L151V6 is not set -# CONFIG_ARCH_CHIP_STM32L151V8 is not set -# CONFIG_ARCH_CHIP_STM32L151VB is not set -# CONFIG_ARCH_CHIP_STM32L152C6 is not set -# CONFIG_ARCH_CHIP_STM32L152C8 is not set -# CONFIG_ARCH_CHIP_STM32L152CB is not set -# CONFIG_ARCH_CHIP_STM32L152R6 is not set -# CONFIG_ARCH_CHIP_STM32L152R8 is not set -# CONFIG_ARCH_CHIP_STM32L152RB is not set -# CONFIG_ARCH_CHIP_STM32L152V6 is not set -# CONFIG_ARCH_CHIP_STM32L152V8 is not set -# CONFIG_ARCH_CHIP_STM32L152VB is not set -# CONFIG_ARCH_CHIP_STM32L162ZD is not set -# CONFIG_ARCH_CHIP_STM32L162VE is not set -# CONFIG_ARCH_CHIP_STM32F100C8 is not set -# CONFIG_ARCH_CHIP_STM32F100CB is not set -# CONFIG_ARCH_CHIP_STM32F100R8 is not set -# CONFIG_ARCH_CHIP_STM32F100RB is not set -# CONFIG_ARCH_CHIP_STM32F100RC is not set -# CONFIG_ARCH_CHIP_STM32F100RD is not set -# CONFIG_ARCH_CHIP_STM32F100RE is not set -# CONFIG_ARCH_CHIP_STM32F100V8 is not set -# CONFIG_ARCH_CHIP_STM32F100VB is not set -# CONFIG_ARCH_CHIP_STM32F100VC is not set -# CONFIG_ARCH_CHIP_STM32F100VD is not set -# CONFIG_ARCH_CHIP_STM32F100VE is not set -# CONFIG_ARCH_CHIP_STM32F102CB is not set -# CONFIG_ARCH_CHIP_STM32F103T8 is not set -# CONFIG_ARCH_CHIP_STM32F103TB is not set -# CONFIG_ARCH_CHIP_STM32F103C4 is not set -# CONFIG_ARCH_CHIP_STM32F103C8 is not set -# CONFIG_ARCH_CHIP_STM32F103CB is not set -# CONFIG_ARCH_CHIP_STM32F103R8 is not set -# CONFIG_ARCH_CHIP_STM32F103RB is not set -# CONFIG_ARCH_CHIP_STM32F103RC is not set -# CONFIG_ARCH_CHIP_STM32F103RD is not set -# CONFIG_ARCH_CHIP_STM32F103RE is not set -# CONFIG_ARCH_CHIP_STM32F103RG is not set -# CONFIG_ARCH_CHIP_STM32F103V8 is not set -# CONFIG_ARCH_CHIP_STM32F103VB is not set -# CONFIG_ARCH_CHIP_STM32F103VC is not set -# CONFIG_ARCH_CHIP_STM32F103VE is not set -# CONFIG_ARCH_CHIP_STM32F103ZE is not set -# CONFIG_ARCH_CHIP_STM32F105VB is not set -# CONFIG_ARCH_CHIP_STM32F107VC is not set -# CONFIG_ARCH_CHIP_STM32F205RG is not set -# CONFIG_ARCH_CHIP_STM32F207IG is not set -# CONFIG_ARCH_CHIP_STM32F207ZE is not set -# CONFIG_ARCH_CHIP_STM32F302K6 is not set -# CONFIG_ARCH_CHIP_STM32F302K8 is not set -# CONFIG_ARCH_CHIP_STM32F302CB is not set -# CONFIG_ARCH_CHIP_STM32F302CC is not set -# CONFIG_ARCH_CHIP_STM32F302RB is not set -# CONFIG_ARCH_CHIP_STM32F302RC is not set -# CONFIG_ARCH_CHIP_STM32F302VB is not set -# CONFIG_ARCH_CHIP_STM32F302VC is not set -# CONFIG_ARCH_CHIP_STM32F303K6 is not set -# CONFIG_ARCH_CHIP_STM32F303K8 is not set -# CONFIG_ARCH_CHIP_STM32F303C6 is not set -# CONFIG_ARCH_CHIP_STM32F303C8 is not set -# CONFIG_ARCH_CHIP_STM32F303CB is not set -# CONFIG_ARCH_CHIP_STM32F303CC is not set -# CONFIG_ARCH_CHIP_STM32F303RB is not set -# CONFIG_ARCH_CHIP_STM32F303RC is not set -# CONFIG_ARCH_CHIP_STM32F303RD is not set -# CONFIG_ARCH_CHIP_STM32F303RE is not set -# CONFIG_ARCH_CHIP_STM32F303VB is not set -# CONFIG_ARCH_CHIP_STM32F303VC is not set -# CONFIG_ARCH_CHIP_STM32F372C8 is not set -# CONFIG_ARCH_CHIP_STM32F372R8 is not set -# CONFIG_ARCH_CHIP_STM32F372V8 is not set -# CONFIG_ARCH_CHIP_STM32F372CB is not set -# CONFIG_ARCH_CHIP_STM32F372RB is not set -# CONFIG_ARCH_CHIP_STM32F372VB is not set -# CONFIG_ARCH_CHIP_STM32F372CC is not set -# CONFIG_ARCH_CHIP_STM32F372RC is not set -# CONFIG_ARCH_CHIP_STM32F372VC is not set -# CONFIG_ARCH_CHIP_STM32F373C8 is not set -# CONFIG_ARCH_CHIP_STM32F373R8 is not set -# CONFIG_ARCH_CHIP_STM32F373V8 is not set -# CONFIG_ARCH_CHIP_STM32F373CB is not set -# CONFIG_ARCH_CHIP_STM32F373RB is not set -# CONFIG_ARCH_CHIP_STM32F373VB is not set -# CONFIG_ARCH_CHIP_STM32F373CC is not set -# CONFIG_ARCH_CHIP_STM32F373RC is not set -# CONFIG_ARCH_CHIP_STM32F373VC is not set -# CONFIG_ARCH_CHIP_STM32F401RE is not set -# CONFIG_ARCH_CHIP_STM32F411RE is not set -# CONFIG_ARCH_CHIP_STM32F405RG is not set -# CONFIG_ARCH_CHIP_STM32F405VG is not set -# CONFIG_ARCH_CHIP_STM32F405ZG is not set -# CONFIG_ARCH_CHIP_STM32F407VE is not set -# CONFIG_ARCH_CHIP_STM32F407VG is not set -# CONFIG_ARCH_CHIP_STM32F407ZE is not set -# CONFIG_ARCH_CHIP_STM32F407ZG is not set -# CONFIG_ARCH_CHIP_STM32F407IE is not set -# CONFIG_ARCH_CHIP_STM32F407IG is not set -CONFIG_ARCH_CHIP_STM32F427V=y -# CONFIG_ARCH_CHIP_STM32F427Z is not set -# CONFIG_ARCH_CHIP_STM32F427I is not set -# CONFIG_ARCH_CHIP_STM32F429V is not set -# CONFIG_ARCH_CHIP_STM32F429Z is not set -# CONFIG_ARCH_CHIP_STM32F429I is not set -# CONFIG_ARCH_CHIP_STM32F429B is not set -# CONFIG_ARCH_CHIP_STM32F429N is not set -# CONFIG_ARCH_CHIP_STM32F446M is not set -# CONFIG_ARCH_CHIP_STM32F446R is not set -# CONFIG_ARCH_CHIP_STM32F446V is not set -# CONFIG_ARCH_CHIP_STM32F446Z is not set -# CONFIG_STM32_STM32L15XX is not set -# CONFIG_STM32_ENERGYLITE is not set -# CONFIG_STM32_STM32F10XX is not set -# CONFIG_STM32_VALUELINE is not set -# CONFIG_STM32_CONNECTIVITYLINE is not set -# CONFIG_STM32_PERFORMANCELINE is not set -# CONFIG_STM32_USBACCESSLINE is not set -# CONFIG_STM32_HIGHDENSITY is not set -# CONFIG_STM32_MEDIUMDENSITY is not set -# CONFIG_STM32_LOWDENSITY is not set -# CONFIG_STM32_STM32F20XX is not set -# CONFIG_STM32_STM32F205 is not set -# CONFIG_STM32_STM32F207 is not set -# CONFIG_STM32_STM32F30XX is not set -# CONFIG_STM32_STM32F37XX is not set -CONFIG_STM32_STM32F4XXX=y -# CONFIG_STM32_STM32F401 is not set -# CONFIG_STM32_STM32F411 is not set -# CONFIG_STM32_STM32F405 is not set -# CONFIG_STM32_STM32F407 is not set -CONFIG_STM32_STM32F427=y -# CONFIG_STM32_STM32F429 is not set -# CONFIG_STM32_STM32F446 is not set -# CONFIG_STM32_DFU is not set - -# -# STM32 Peripheral Support -# -CONFIG_STM32_HAVE_CCM=y -# CONFIG_STM32_HAVE_USBDEV is not set -CONFIG_STM32_HAVE_OTGFS=y -CONFIG_STM32_HAVE_FSMC=y -CONFIG_STM32_HAVE_USART3=y -CONFIG_STM32_HAVE_UART4=y -CONFIG_STM32_HAVE_UART5=y -CONFIG_STM32_HAVE_USART6=y -CONFIG_STM32_HAVE_UART7=y -CONFIG_STM32_HAVE_UART8=y -CONFIG_STM32_HAVE_TIM1=y -CONFIG_STM32_HAVE_TIM5=y -CONFIG_STM32_HAVE_TIM6=y -CONFIG_STM32_HAVE_TIM7=y -CONFIG_STM32_HAVE_TIM8=y -CONFIG_STM32_HAVE_TIM9=y -CONFIG_STM32_HAVE_TIM10=y -CONFIG_STM32_HAVE_TIM11=y -CONFIG_STM32_HAVE_TIM12=y -CONFIG_STM32_HAVE_TIM13=y -CONFIG_STM32_HAVE_TIM14=y -# CONFIG_STM32_HAVE_TIM15 is not set -# CONFIG_STM32_HAVE_TIM16 is not set -# CONFIG_STM32_HAVE_TIM17 is not set -CONFIG_STM32_HAVE_ADC2=y -CONFIG_STM32_HAVE_ADC3=y -# CONFIG_STM32_HAVE_ADC4 is not set -# CONFIG_STM32_HAVE_ADC1_DMA is not set -# CONFIG_STM32_HAVE_ADC2_DMA is not set -# CONFIG_STM32_HAVE_ADC3_DMA is not set -# CONFIG_STM32_HAVE_ADC4_DMA is not set -CONFIG_STM32_HAVE_CAN1=y -CONFIG_STM32_HAVE_CAN2=y -CONFIG_STM32_HAVE_RNG=y -CONFIG_STM32_HAVE_ETHMAC=y -CONFIG_STM32_HAVE_SPI2=y -CONFIG_STM32_HAVE_SPI3=y -CONFIG_STM32_HAVE_SPI4=y -CONFIG_STM32_HAVE_SPI5=y -CONFIG_STM32_HAVE_SPI6=y -# CONFIG_STM32_HAVE_SAIPLL is not set -# CONFIG_STM32_HAVE_I2SPLL is not set -# CONFIG_STM32_ADC1 is not set -# CONFIG_STM32_ADC2 is not set -# CONFIG_STM32_ADC3 is not set -# CONFIG_STM32_BKPSRAM is not set -# CONFIG_STM32_CAN1 is not set -# CONFIG_STM32_CAN2 is not set -# CONFIG_STM32_CCMDATARAM is not set -# CONFIG_STM32_CRC is not set -# CONFIG_STM32_CRYP is not set -CONFIG_STM32_DMA1=y -CONFIG_STM32_DMA2=y -# CONFIG_STM32_DAC1 is not set -# CONFIG_STM32_DAC2 is not set -# CONFIG_STM32_DCMI is not set -# CONFIG_STM32_ETHMAC is not set -# CONFIG_STM32_FSMC is not set -# CONFIG_STM32_HASH is not set -# CONFIG_STM32_I2C1 is not set -# CONFIG_STM32_I2C2 is not set -# CONFIG_STM32_I2C3 is not set -# CONFIG_STM32_OTGFS is not set -# CONFIG_STM32_OTGHS is not set -CONFIG_STM32_PWR=y -# CONFIG_STM32_RNG is not set -# CONFIG_STM32_SDIO is not set -# CONFIG_STM32_SPI1 is not set -# CONFIG_STM32_SPI2 is not set -# CONFIG_STM32_SPI3 is not set -# CONFIG_STM32_SPI4 is not set -# CONFIG_STM32_SPI5 is not set -# CONFIG_STM32_SPI6 is not set -CONFIG_STM32_SYSCFG=y -# CONFIG_STM32_TIM1 is not set -# CONFIG_STM32_TIM2 is not set -CONFIG_STM32_TIM3=y -# CONFIG_STM32_TIM4 is not set -# CONFIG_STM32_TIM5 is not set -# CONFIG_STM32_TIM6 is not set -# CONFIG_STM32_TIM7 is not set -# CONFIG_STM32_TIM8 is not set -# CONFIG_STM32_TIM9 is not set -# CONFIG_STM32_TIM10 is not set -# CONFIG_STM32_TIM11 is not set -# CONFIG_STM32_TIM12 is not set -# CONFIG_STM32_TIM13 is not set -# CONFIG_STM32_TIM14 is not set -# CONFIG_STM32_USART1 is not set -# CONFIG_STM32_USART2 is not set -CONFIG_STM32_USART3=y -# CONFIG_STM32_UART4 is not set -# CONFIG_STM32_UART5 is not set -# CONFIG_STM32_USART6 is not set -# CONFIG_STM32_UART7 is not set -# CONFIG_STM32_UART8 is not set -# CONFIG_STM32_IWDG is not set -# CONFIG_STM32_WWDG is not set -# CONFIG_STM32_NOEXT_VECTORS is not set - -# -# Alternate Pin Mapping -# -CONFIG_STM32_FLASH_PREFETCH=y -# CONFIG_STM32_JTAG_DISABLE is not set -CONFIG_STM32_JTAG_FULL_ENABLE=y -# CONFIG_STM32_JTAG_NOJNTRST_ENABLE is not set -# CONFIG_STM32_JTAG_SW_ENABLE is not set -CONFIG_STM32_DISABLE_IDLE_SLEEP_DURING_DEBUG=y -CONFIG_STM32_FORCEPOWER=y -# CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG is not set -CONFIG_STM32_CCMEXCLUDE=y -# CONFIG_STM32_DMACAPABLE is not set -# CONFIG_STM32_TIM3_PWM is not set -CONFIG_STM32_USART=y -CONFIG_STM32_SERIALDRIVER=y - -# -# U[S]ART Configuration -# -# CONFIG_USART3_RS485 is not set -CONFIG_STM32_USART3_SERIALDRIVER=y -CONFIG_USART3_RXDMA=y -CONFIG_SERIAL_DISABLE_REORDERING=y -# CONFIG_STM32_FLOWCONTROL_BROKEN is not set -# CONFIG_STM32_USART_SINGLEWIRE is not set -# CONFIG_STM32_HAVE_RTC_COUNTER is not set -# CONFIG_STM32_HAVE_RTC_SUBSECONDS is not set - -# -# USB FS Host Configuration -# - -# -# USB HS Host Configuration -# - -# -# USB Host Debug Configuration -# - -# -# USB Device Configuration -# - -# -# Architecture Options -# -# CONFIG_ARCH_NOINTC is not set -# CONFIG_ARCH_VECNOTIRQ is not set -CONFIG_ARCH_DMA=y -CONFIG_ARCH_HAVE_IRQPRIO=y -# CONFIG_ARCH_L2CACHE is not set -# CONFIG_ARCH_HAVE_COHERENT_DCACHE is not set -# CONFIG_ARCH_HAVE_ADDRENV is not set -# CONFIG_ARCH_NEED_ADDRENV_MAPPING is not set -CONFIG_ARCH_HAVE_VFORK=y -# CONFIG_ARCH_HAVE_MMU is not set -CONFIG_ARCH_HAVE_MPU=y -# CONFIG_ARCH_NAND_HWECC is not set -# CONFIG_ARCH_HAVE_EXTCLK is not set -# CONFIG_ARCH_HAVE_POWEROFF is not set -CONFIG_ARCH_HAVE_RESET=y -# CONFIG_ARCH_USE_MPU is not set -# CONFIG_ARCH_IRQPRIO is not set -CONFIG_ARCH_STACKDUMP=y -# CONFIG_ENDIAN_BIG is not set -# CONFIG_ARCH_IDLE_CUSTOM is not set -# CONFIG_ARCH_HAVE_RAMFUNCS is not set -CONFIG_ARCH_HAVE_RAMVECTORS=y -# CONFIG_ARCH_RAMVECTORS is not set - -# -# Board Settings -# -CONFIG_BOARD_LOOPSPERMSEC=5483 -# CONFIG_ARCH_CALIBRATION is not set - -# -# Interrupt options -# -CONFIG_ARCH_HAVE_INTERRUPTSTACK=y -CONFIG_ARCH_INTERRUPTSTACK=360 -CONFIG_ARCH_HAVE_HIPRI_INTERRUPT=y -# CONFIG_ARCH_HIPRI_INTERRUPT is not set - -# -# Boot options -# -# CONFIG_BOOT_RUNFROMEXTSRAM is not set -CONFIG_BOOT_RUNFROMFLASH=y -# CONFIG_BOOT_RUNFROMISRAM is not set -# CONFIG_BOOT_RUNFROMSDRAM is not set -# CONFIG_BOOT_COPYTORAM is not set - -# -# Boot Memory Configuration -# -CONFIG_RAM_START=0x20000000 -CONFIG_RAM_SIZE=20480 -# CONFIG_ARCH_HAVE_SDRAM is not set - -# -# Board Selection -# -# CONFIG_ARCH_BOARD_MAPLE is not set -CONFIG_ARCH_BOARD_PX4FLOW_V2=y -# CONFIG_ARCH_BOARD_CUSTOM is not set -CONFIG_ARCH_BOARD="px4flow-v2" - -# -# Custom Board Configuration -# -# CONFIG_BOARD_CRASHDUMP is not set -# CONFIG_BOARD_CUSTOM_LEDS is not set -# CONFIG_BOARD_CUSTOM_BUTTONS is not set - -# -# Common Board Options -# -CONFIG_ARCH_HAVE_LEDS=y -CONFIG_ARCH_LEDS=y - -# -# Board-Specific Options -# -CONFIG_LIB_BOARDCTL=y -CONFIG_BOARDCTL_RESET=y -# CONFIG_BOARDCTL_UNIQUEID is not set -# CONFIG_BOARDCTL_USBDEVCTRL is not set -# CONFIG_BOARDCTL_TSCTEST is not set -# CONFIG_BOARDCTL_ADCTEST is not set -# CONFIG_BOARDCTL_PWMTEST is not set -# CONFIG_BOARDCTL_GRAPHICS is not set -# CONFIG_BOARDCTL_IOCTL is not set -CONFIG_BOARD_HAS_PROBES=y -# CONFIG_BOARD_USE_PROBES is not set - -# -# RTOS Features -# -# CONFIG_DISABLE_OS_API is not set - -# -# Clocks and Timers -# -CONFIG_START_YEAR=2016 -CONFIG_START_MONTH=11 -CONFIG_START_DAY=30 -CONFIG_ARCH_HAVE_TICKLESS=y -# CONFIG_SCHED_TICKLESS is not set -CONFIG_USEC_PER_TICK=10000 -# CONFIG_SYSTEM_TIME64 is not set -# CONFIG_CLOCK_MONOTONIC is not set -# CONFIG_JULIAN_TIME is not set -CONFIG_MAX_WDOGPARMS=2 -CONFIG_PREALLOC_WDOGS=4 -CONFIG_WDOG_INTRESERVE=2 -CONFIG_PREALLOC_TIMERS=2 - -# -# Tasks and Scheduling -# -# CONFIG_INIT_NONE is not set -CONFIG_INIT_ENTRYPOINT=y -# CONFIG_INIT_FILEPATH is not set -CONFIG_USER_ENTRYPOINT="flow_start" -CONFIG_RR_INTERVAL=0 -# CONFIG_SCHED_SPORADIC is not set -CONFIG_TASK_NAME_SIZE=12 -CONFIG_MAX_TASKS=4 -# CONFIG_SCHED_HAVE_PARENT is not set -CONFIG_SCHED_WAITPID=y - -# -# Pthread Options -# -# CONFIG_PTHREAD_MUTEX_TYPES is not set -CONFIG_NPTHREAD_KEYS=0 - -# -# Performance Monitoring -# -# CONFIG_SCHED_CPULOAD is not set -CONFIG_SCHED_INSTRUMENTATION=y - -# -# Files and I/O -# -CONFIG_DEV_CONSOLE=y -# CONFIG_FDCLONE_DISABLE is not set -CONFIG_FDCLONE_STDIO=y -CONFIG_SDCLONE_DISABLE=y -CONFIG_NFILE_DESCRIPTORS=5 -CONFIG_NFILE_STREAMS=1 -CONFIG_NAME_MAX=8 -CONFIG_PRIORITY_INHERITANCE=y -CONFIG_SEM_PREALLOCHOLDERS=4 -CONFIG_SEM_NNESTPRIO=4 - -# -# RTOS hooks -# -CONFIG_BOARD_INITIALIZE=y -# CONFIG_BOARD_INITTHREAD is not set -# CONFIG_SCHED_STARTHOOK is not set -CONFIG_SCHED_ATEXIT=y -CONFIG_SCHED_ATEXIT_MAX=1 -# CONFIG_SCHED_ONEXIT is not set - -# -# Signal Numbers -# -CONFIG_SIG_SIGUSR1=1 -CONFIG_SIG_SIGUSR2=2 -CONFIG_SIG_SIGALARM=3 -CONFIG_SIG_SIGCONDTIMEDOUT=16 - -# -# POSIX Message Queue Options -# -CONFIG_PREALLOC_MQ_MSGS=4 -CONFIG_MQ_MAXMSGSIZE=8 - -# -# Work Queue Support -# -# CONFIG_SCHED_WORKQUEUE is not set -# CONFIG_SCHED_HPWORK is not set -# CONFIG_SCHED_LPWORK is not set - -# -# Stack and heap information -# -CONFIG_IDLETHREAD_STACKSIZE=272 -CONFIG_USERMAIN_STACKSIZE=1024 -CONFIG_PTHREAD_STACK_MIN=516 -CONFIG_PTHREAD_STACK_DEFAULT=516 -# CONFIG_LIB_SYSCALL is not set - -# -# Device Drivers -# -# CONFIG_DISABLE_POLL is not set -# CONFIG_DEV_NULL is not set -# CONFIG_DEV_ZERO is not set -# CONFIG_LOOP is not set - -# -# Buffering -# -# CONFIG_DRVR_WRITEBUFFER is not set -# CONFIG_DRVR_READAHEAD is not set -# CONFIG_RAMDISK is not set -# CONFIG_CAN is not set -# CONFIG_ARCH_HAVE_PWM_PULSECOUNT is not set -# CONFIG_PWM is not set -CONFIG_ARCH_HAVE_I2CRESET=y -# CONFIG_I2C is not set -# CONFIG_SPI is not set -# CONFIG_I2S is not set - -# -# Timer Driver Support -# -# CONFIG_TIMER is not set -# CONFIG_RTC is not set -# CONFIG_WATCHDOG is not set -# CONFIG_ANALOG is not set -# CONFIG_AUDIO_DEVICES is not set -# CONFIG_VIDEO_DEVICES is not set -# CONFIG_BCH is not set -# CONFIG_INPUT is not set -# CONFIG_IOEXPANDER is not set -# CONFIG_LCD is not set -# CONFIG_MMCSD is not set -# CONFIG_MTD is not set -# CONFIG_EEPROM is not set -# CONFIG_PIPES is not set -# CONFIG_PM is not set -# CONFIG_POWER is not set -# CONFIG_SENSORS is not set -# CONFIG_SERCOMM_CONSOLE is not set -CONFIG_SERIAL=y -# CONFIG_DEV_LOWCONSOLE is not set -# CONFIG_16550_UART is not set -# CONFIG_UART_SERIALDRIVER is not set -# CONFIG_UART0_SERIALDRIVER is not set -# CONFIG_UART1_SERIALDRIVER is not set -# CONFIG_UART2_SERIALDRIVER is not set -# CONFIG_UART3_SERIALDRIVER is not set -# CONFIG_UART4_SERIALDRIVER is not set -# CONFIG_UART5_SERIALDRIVER is not set -# CONFIG_UART6_SERIALDRIVER is not set -# CONFIG_UART7_SERIALDRIVER is not set -# CONFIG_UART8_SERIALDRIVER is not set -# CONFIG_SCI0_SERIALDRIVER is not set -# CONFIG_SCI1_SERIALDRIVER is not set -# CONFIG_USART0_SERIALDRIVER is not set -# CONFIG_USART1_SERIALDRIVER is not set -# CONFIG_USART2_SERIALDRIVER is not set -CONFIG_USART3_SERIALDRIVER=y -# CONFIG_USART4_SERIALDRIVER is not set -# CONFIG_USART5_SERIALDRIVER is not set -# CONFIG_USART6_SERIALDRIVER is not set -# CONFIG_USART7_SERIALDRIVER is not set -# CONFIG_USART8_SERIALDRIVER is not set -# CONFIG_OTHER_UART_SERIALDRIVER is not set - -# -# USART Configuration -# -CONFIG_MCU_SERIAL=y -CONFIG_STANDARD_SERIAL=y -CONFIG_SERIAL_NPOLLWAITERS=2 -# CONFIG_SERIAL_IFLOWCONTROL is not set -# CONFIG_SERIAL_OFLOWCONTROL is not set -# CONFIG_SERIAL_TIOCSERGSTRUCT is not set -CONFIG_ARCH_HAVE_SERIAL_TERMIOS=y -CONFIG_USART3_SERIAL_CONSOLE=y -# CONFIG_OTHER_SERIAL_CONSOLE is not set -# CONFIG_NO_SERIAL_CONSOLE is not set - -# -# USART3 Configuration -# -CONFIG_USART3_RXBUFSIZE=32 -CONFIG_USART3_TXBUFSIZE=32 -CONFIG_USART3_BAUD=115200 -CONFIG_USART3_BITS=8 -CONFIG_USART3_PARITY=0 -CONFIG_USART3_2STOP=0 -# CONFIG_USART3_IFLOWCONTROL is not set -# CONFIG_USART3_OFLOWCONTROL is not set -# CONFIG_USBDEV is not set -# CONFIG_USBHOST is not set -# CONFIG_WIRELESS is not set - -# -# System Logging Device Options -# - -# -# System Logging -# -# CONFIG_RAMLOG is not set -# CONFIG_CONSOLE_SYSLOG is not set - -# -# Networking Support -# -# CONFIG_ARCH_HAVE_NET is not set -# CONFIG_ARCH_HAVE_PHY is not set -# CONFIG_NET is not set - -# -# Crypto API -# -# CONFIG_CRYPTO is not set - -# -# File Systems -# - -# -# File system configuration -# -# CONFIG_DISABLE_MOUNTPOINT is not set -# CONFIG_FS_AUTOMOUNTER is not set -# CONFIG_DISABLE_PSEUDOFS_OPERATIONS is not set -# CONFIG_FS_READABLE is not set -# CONFIG_FS_WRITABLE is not set -# CONFIG_FS_NAMED_SEMAPHORES is not set -CONFIG_FS_MQUEUE_MPATH="/var/mqueue" -# CONFIG_FS_RAMMAP is not set -# CONFIG_FS_FAT is not set -# CONFIG_FS_NXFFS is not set -# CONFIG_FS_ROMFS is not set -# CONFIG_FS_SMARTFS is not set -# CONFIG_FS_BINFS is not set -# CONFIG_FS_PROCFS is not set -# CONFIG_FS_UNIONFS is not set - -# -# System Logging -# -# CONFIG_SYSLOG is not set -# CONFIG_SYSLOG_TIMESTAMP is not set - -# -# Graphics Support -# -# CONFIG_NX is not set - -# -# Memory Management -# -# CONFIG_MM_SMALL is not set -CONFIG_MM_REGIONS=1 -# CONFIG_ARCH_HAVE_HEAP2 is not set -# CONFIG_GRAN is not set - -# -# Audio Support -# -# CONFIG_AUDIO is not set - -# -# Binary Loader -# -# CONFIG_BINFMT_DISABLE is not set -# CONFIG_BINFMT_EXEPATH is not set -# CONFIG_NXFLAT is not set -# CONFIG_ELF is not set -CONFIG_BUILTIN=y -# CONFIG_PIC is not set -CONFIG_SYMTAB_ORDEREDBYNAME=y - -# -# Library Routines -# - -# -# Standard C Library Options -# -CONFIG_STDIO_BUFFER_SIZE=64 -CONFIG_STDIO_LINEBUFFER=y -CONFIG_NUNGET_CHARS=2 -CONFIG_LIB_HOMEDIR="/" -# CONFIG_NOPRINTF_FIELDWIDTH is not set -# CONFIG_LIBC_FLOATINGPOINT is not set -CONFIG_LIBC_LONG_LONG=y -# CONFIG_LIBC_IOCTL_VARIADIC is not set -CONFIG_LIB_RAND_ORDER=1 -# CONFIG_EOL_IS_CR is not set -# CONFIG_EOL_IS_LF is not set -# CONFIG_EOL_IS_BOTH_CRLF is not set -CONFIG_EOL_IS_EITHER_CRLF=y -# CONFIG_LIBC_EXECFUNCS is not set -CONFIG_POSIX_SPAWN_PROXY_STACKSIZE=394 -CONFIG_TASK_SPAWN_DEFAULT_STACKSIZE=394 -# CONFIG_LIBC_STRERROR is not set -# CONFIG_LIBC_PERROR_STDOUT is not set -CONFIG_ARCH_LOWPUTC=y -# CONFIG_LIBC_LOCALTIME is not set -# CONFIG_TIME_EXTENDED is not set -CONFIG_LIB_SENDFILE_BUFSIZE=0 -# CONFIG_ARCH_ROMGETC is not set -# CONFIG_ARCH_OPTIMIZED_FUNCTIONS is not set -# CONFIG_LIBC_NETDB is not set - -# -# Non-standard Library Support -# -# CONFIG_LIB_KBDCODEC is not set -# CONFIG_LIB_SLCDCODEC is not set - -# -# Basic CXX Support -# -CONFIG_C99_BOOL8=y -CONFIG_HAVE_CXX=y -CONFIG_HAVE_CXXINITIALIZE=y -# CONFIG_CXX_NEWLONG is not set - -# -# uClibc++ Standard C++ Library -# -# CONFIG_UCLIBCXX is not set - -# -# Application Configuration -# - -# -# Built-In Applications -# -CONFIG_BUILTIN_PROXY_STACKSIZE=392 - -# -# Examples -# -# CONFIG_EXAMPLES_BUTTONS is not set -# CONFIG_EXAMPLES_CONFIGDATA is not set -# CONFIG_EXAMPLES_CPUHOG is not set -# CONFIG_EXAMPLES_CXXTEST is not set -# CONFIG_EXAMPLES_DHCPD is not set -# CONFIG_EXAMPLES_ELF is not set -# CONFIG_EXAMPLES_FTPC is not set -# CONFIG_EXAMPLES_FTPD is not set -# CONFIG_EXAMPLES_HELLO is not set -# CONFIG_EXAMPLES_HELLOXX is not set -# CONFIG_EXAMPLES_JSON is not set -# CONFIG_EXAMPLES_HIDKBD is not set -# CONFIG_EXAMPLES_KEYPADTEST is not set -# CONFIG_EXAMPLES_IGMP is not set -# CONFIG_EXAMPLES_MM is not set -# CONFIG_EXAMPLES_MODBUS is not set -# CONFIG_EXAMPLES_MOUNT is not set -# CONFIG_EXAMPLES_NRF24L01TERM is not set -# CONFIG_EXAMPLES_NSH is not set -CONFIG_EXAMPLES_NULL=y -# CONFIG_EXAMPLES_NX is not set -# CONFIG_EXAMPLES_NXTERM is not set -# CONFIG_EXAMPLES_NXFFS is not set -# CONFIG_EXAMPLES_NXHELLO is not set -# CONFIG_EXAMPLES_NXIMAGE is not set -# CONFIG_EXAMPLES_NXLINES is not set -# CONFIG_EXAMPLES_NXTEXT is not set -# CONFIG_EXAMPLES_OSTEST is not set -# CONFIG_EXAMPLES_PIPE is not set -# CONFIG_EXAMPLES_POLL is not set -# CONFIG_EXAMPLES_PPPD is not set -# CONFIG_EXAMPLES_POSIXSPAWN is not set -# CONFIG_EXAMPLES_QENCODER is not set -# CONFIG_EXAMPLES_RGMP is not set -# CONFIG_EXAMPLES_SENDMAIL is not set -# CONFIG_EXAMPLES_SERIALBLASTER is not set -# CONFIG_EXAMPLES_SERIALRX is not set -# CONFIG_EXAMPLES_SERLOOP is not set -# CONFIG_EXAMPLES_SLCD is not set -# CONFIG_EXAMPLES_SMART is not set -# CONFIG_EXAMPLES_TCPECHO is not set -# CONFIG_EXAMPLES_TELNETD is not set -# CONFIG_EXAMPLES_TIFF is not set -# CONFIG_EXAMPLES_TOUCHSCREEN is not set -# CONFIG_EXAMPLES_WEBSERVER is not set -# CONFIG_EXAMPLES_USBSERIAL is not set -# CONFIG_EXAMPLES_USBTERM is not set -# CONFIG_EXAMPLES_WATCHDOG is not set - -# -# Graphics Support -# -# CONFIG_TIFF is not set -# CONFIG_GRAPHICS_TRAVELER is not set - -# -# Interpreters -# -# CONFIG_INTERPRETERS_FICL is not set -# CONFIG_INTERPRETERS_PCODE is not set -# CONFIG_INTERPRETERS_MICROPYTHON is not set - -# -# FreeModBus -# -# CONFIG_MODBUS is not set - -# -# Network Utilities -# -# CONFIG_NETUTILS_CODECS is not set -# CONFIG_NETUTILS_FTPC is not set -# CONFIG_NETUTILS_JSON is not set -# CONFIG_NETUTILS_SMTP is not set - -# -# NSH Library -# -# CONFIG_NSH_LIBRARY is not set - -# -# NxWidgets/NxWM -# - -# -# Platform-specific Support -# -# CONFIG_PLATFORM_CONFIGDATA is not set - -# -# System Libraries and NSH Add-Ons -# -# CONFIG_SYSTEM_FREE is not set -# CONFIG_SYSTEM_CLE is not set -# CONFIG_SYSTEM_CUTERM is not set -# CONFIG_SYSTEM_INSTALL is not set -# CONFIG_SYSTEM_HEX2BIN is not set -# CONFIG_SYSTEM_INIFILE is not set -# CONFIG_SYSTEM_RAMTEST is not set -# CONFIG_READLINE_HAVE_EXTMATCH is not set -CONFIG_SYSTEM_READLINE=y -CONFIG_READLINE_ECHO=y -# CONFIG_READLINE_TABCOMPLETION is not set -# CONFIG_READLINE_CMD_HISTORY is not set -# CONFIG_SYSTEM_RAMTRON is not set -# CONFIG_SYSTEM_SDCARD is not set -# CONFIG_SYSTEM_SUDOKU is not set -# CONFIG_SYSTEM_VI is not set -# CONFIG_SYSTEM_STACKMONITOR is not set -# CONFIG_SYSTEM_ZMODEM is not set - -# -# The following line is needed because the upstream tools that generates -# the include/nuttx/include/config.h file adds logic that relies on this -# and our build flags include -Werror=undef -# -CONFIG_NSOCKET_DESCRIPTORS=0 \ No newline at end of file diff --git a/platforms/nuttx/nuttx-configs/px4flow-v2/scripts/ld.script b/platforms/nuttx/nuttx-configs/px4flow-v2/scripts/ld.script deleted file mode 100644 index cc7f1f5804..0000000000 --- a/platforms/nuttx/nuttx-configs/px4flow-v2/scripts/ld.script +++ /dev/null @@ -1,158 +0,0 @@ -/**************************************************************************** - * nuttx-configs/px4cannode-v1/scripts/ld.script - * - * Copyright (C) 2015 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/* The STM32F427 has 2048KiB of FLASH beginning at address 0x0800:0000 and - * 256KiB of SRAM. SRAM is split up into three blocks: - * - * 1) 112KiB of SRAM beginning at address 0x2000:0000 - * 2) 16KiB of SRAM beginning at address 0x2001:c000 - * 3) 64KiB of SRAM beginning at address 0x2002:0000 - * 4) 64KiB of TCM SRAM beginning at address 0x1000:0000 - * - * When booting from FLASH, FLASH memory is aliased to address 0x0000:0000 - * where the code expects to begin execution by jumping to the entry point in - * the 0x0800:0000 address range. - * - * The bootloader only uses the first 16KiB of flash. - */ - -MEMORY -{ - flash (rx) : ORIGIN = 0x08004000, LENGTH = 2032K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 192K - ccsram (rwx) : ORIGIN = 0x10000000, LENGTH = 64K -} - -OUTPUT_ARCH(arm) - -ENTRY(__start) /* treat __start as the anchor for dead code stripping */ -EXTERN(_vectors) /* force the vectors to be included in the output */ -/* - * Ensure that abort() is present in the final object. The exception handling - * code pulled in by libgcc.a requires it (and that code cannot be easily avoided). - */ -EXTERN(abort) - -SECTIONS -{ - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - . = ALIGN(8); - /* - * This section positions the app_descriptor_t used - * by the make_can_boot_descriptor.py tool to set - * the application image's descriptor so that the - * uavcan bootloader has the ability to validate the - * image crc, size etc - */ - KEEP(*(.app_descriptor)) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - /* - * This is a hack to make the newlib libm __errno() call - * use the NuttX get_errno_ptr() function. - */ - __errno = get_errno_ptr; - } > flash - -/* - * Init functions (static constructors and the like) - */ - .init_section : { - _sinit = ABSOLUTE(.); - KEEP(*(.init_array .init_array.*)) - _einit = ABSOLUTE(.); - } > flash - - /* - * Construction data for parameters. - */ - __param ALIGN(4): { - __param_start = ABSOLUTE(.); - KEEP(*(__param)) - __param_end = ABSOLUTE(.); - } > flash - - .ARM.extab : { - *(.ARM.extab*) - } > flash - - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); - - _eronly = ABSOLUTE(.); - - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash - - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - . = ALIGN(4); - _ebss = ABSOLUTE(.); - } > sram - - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } -} diff --git a/platforms/nuttx/nuttx-configs/px4fmu-v2/include/nsh_romfsimg.h b/platforms/nuttx/nuttx-configs/px4fmu-v2/include/nsh_romfsimg.h deleted file mode 100644 index 15e4e7a8d5..0000000000 --- a/platforms/nuttx/nuttx-configs/px4fmu-v2/include/nsh_romfsimg.h +++ /dev/null @@ -1,42 +0,0 @@ -/**************************************************************************** - * - * Copyright (C) 2013 PX4 Development Team. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name PX4 nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/** - * nsh_romfsetc.h - * - * This file is a stub for 'make export' purposes; the actual ROMFS - * must be supplied by the library client. - */ - -extern unsigned char romfs_img[]; -extern unsigned int romfs_img_len; diff --git a/platforms/nuttx/nuttx-configs/px4fmu-v4/include/nsh_romfsimg.h b/platforms/nuttx/nuttx-configs/px4fmu-v4/include/nsh_romfsimg.h deleted file mode 100644 index 15e4e7a8d5..0000000000 --- a/platforms/nuttx/nuttx-configs/px4fmu-v4/include/nsh_romfsimg.h +++ /dev/null @@ -1,42 +0,0 @@ -/**************************************************************************** - * - * Copyright (C) 2013 PX4 Development Team. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name PX4 nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/** - * nsh_romfsetc.h - * - * This file is a stub for 'make export' purposes; the actual ROMFS - * must be supplied by the library client. - */ - -extern unsigned char romfs_img[]; -extern unsigned int romfs_img_len; diff --git a/platforms/nuttx/nuttx-configs/px4fmu-v4pro/include/nsh_romfsimg.h b/platforms/nuttx/nuttx-configs/px4fmu-v4pro/include/nsh_romfsimg.h deleted file mode 100644 index 15e4e7a8d5..0000000000 --- a/platforms/nuttx/nuttx-configs/px4fmu-v4pro/include/nsh_romfsimg.h +++ /dev/null @@ -1,42 +0,0 @@ -/**************************************************************************** - * - * Copyright (C) 2013 PX4 Development Team. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name PX4 nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/** - * nsh_romfsetc.h - * - * This file is a stub for 'make export' purposes; the actual ROMFS - * must be supplied by the library client. - */ - -extern unsigned char romfs_img[]; -extern unsigned int romfs_img_len; diff --git a/platforms/nuttx/nuttx-configs/px4fmu-v5/include/nsh_romfsimg.h b/platforms/nuttx/nuttx-configs/px4fmu-v5/include/nsh_romfsimg.h deleted file mode 100644 index beb1a924cf..0000000000 --- a/platforms/nuttx/nuttx-configs/px4fmu-v5/include/nsh_romfsimg.h +++ /dev/null @@ -1,42 +0,0 @@ -/**************************************************************************** - * - * Copyright (C) 2016 PX4 Development Team. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name PX4 nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/** - * nsh_romfsetc.h - * - * This file is a stub for 'make export' purposes; the actual ROMFS - * must be supplied by the library client. - */ - -extern unsigned char romfs_img[]; -extern unsigned int romfs_img_len; diff --git a/platforms/nuttx/nuttx-configs/px4nucleoF767ZI-v1/include/nsh_romfsimg.h b/platforms/nuttx/nuttx-configs/px4nucleoF767ZI-v1/include/nsh_romfsimg.h deleted file mode 100644 index beb1a924cf..0000000000 --- a/platforms/nuttx/nuttx-configs/px4nucleoF767ZI-v1/include/nsh_romfsimg.h +++ /dev/null @@ -1,42 +0,0 @@ -/**************************************************************************** - * - * Copyright (C) 2016 PX4 Development Team. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name PX4 nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/** - * nsh_romfsetc.h - * - * This file is a stub for 'make export' purposes; the actual ROMFS - * must be supplied by the library client. - */ - -extern unsigned char romfs_img[]; -extern unsigned int romfs_img_len; diff --git a/platforms/nuttx/nuttx-configs/zubaxgnss-v1/Kconfig b/platforms/nuttx/nuttx-configs/zubaxgnss-v1/Kconfig deleted file mode 100644 index 25a063c823..0000000000 --- a/platforms/nuttx/nuttx-configs/zubaxgnss-v1/Kconfig +++ /dev/null @@ -1,22 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see misc/tools/kconfig-language.txt. -# - -if CONFIG_ARCH_BOARD_ZUBAX_GNSS_V1 - -config BOARD_HAS_PROBES - bool "Board provides GPIO or other Hardware for signaling to timing analyze." - default y - ---help--- - This board provides GPIO PB5-9 as PROBE_1-5 to provide timing signals from selected drivers. - -config BOARD_USE_PROBES - bool "Enable the use provides GPIO PB5-9 as PROBE_1-5 to provide timing signals from selected drivers" - default n - depends on BOARD_HAS_PROBES - - ---help--- - Select to use GPIO provides GPIO PB5-9 to provide timing signals from selected drivers. - -endif diff --git a/platforms/nuttx/nuttx-configs/zubaxgnss-v1/include/README.txt b/platforms/nuttx/nuttx-configs/zubaxgnss-v1/include/README.txt deleted file mode 100755 index faee2376aa..0000000000 --- a/platforms/nuttx/nuttx-configs/zubaxgnss-v1/include/README.txt +++ /dev/null @@ -1,4 +0,0 @@ -This directory contains header files unique to the -Zubax GNSS board - -https://github.com/Zubax/zubax_gnss diff --git a/platforms/nuttx/nuttx-configs/zubaxgnss-v1/include/board.h b/platforms/nuttx/nuttx-configs/zubaxgnss-v1/include/board.h deleted file mode 100755 index 66af3b4111..0000000000 --- a/platforms/nuttx/nuttx-configs/zubaxgnss-v1/include/board.h +++ /dev/null @@ -1,251 +0,0 @@ -/************************************************************************************ - * nuttx-configs/zubaxgnss-v1/include/board.h - * - * Copyright (C) 2015 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * David Sidrane <david_s5@nscdg.com> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ************************************************************************************/ - -#ifndef __CONFIGS_ZUBAXGNSS_V1_INCLUDE_BOARD_H -#define __CONFIGS_ZUBAXGNSS_V1_INCLUDE_BOARD_H - -/************************************************************************************ - * Included Files - ************************************************************************************/ - -#include <nuttx/config.h> - -#ifndef __ASSEMBLY__ -# include <stdint.h> -#endif -#include "stm32_rcc.h" -#include "stm32_sdio.h" -#include "stm32.h" - -/************************************************************************************ - * Pre-processor Definitions - ************************************************************************************/ -/* Clocking *************************************************************************/ - -/* HSI - 8 MHz RC factory-trimmed - * LSI - 40 KHz RC (30-60KHz, uncalibrated) - * HSE - On-board crystal frequency is 8MHz - * LSE - 32.768 kHz - */ - -#define STM32_BOARD_XTAL 8000000ul - -#define STM32_HSI_FREQUENCY 8000000ul -#define STM32_LSI_FREQUENCY 40000 -#define STM32_HSE_FREQUENCY STM32_BOARD_XTAL -#define STM32_LSE_FREQUENCY 32768 - -/* PLL source is HSE/2, PLL multipler is 10: PLL frequency is 8MHz (XTAL) x 10 = 40MHz */ - -#define STM32_PLL_PREDIV2 RCC_CFGR2_PREDIV2d2 /* 8MHz / 2 => 4MHz */ -#define STM32_PLL_PLL2MUL RCC_CFGR2_PLL2MULx10 /* 4MHz * 10 => 40MHz */ -#define STM32_PLL_PREDIV1 RCC_CFGR2_PREDIV1d5 /* 40MHz / 5 => 8MHz */ -#define STM32_PLL_PLLMUL RCC_CFGR_PLLMUL_CLKx9 /* 8MHz * 9 => 72Mhz */ -#define STM32_PLL_FREQUENCY (9*STM32_BOARD_XTAL) - -/* SYCLLK and HCLK are the PLL frequency */ - -#define STM32_SYSCLK_FREQUENCY STM32_PLL_FREQUENCY -#define STM32_HCLK_FREQUENCY STM32_PLL_FREQUENCY -#define STM32_BOARD_HCLK STM32_HCLK_FREQUENCY /* same as above, to satisfy compiler */ - -/* APB2 clock (PCLK2) is HCLK (72MHz) */ - -#define STM32_RCC_CFGR_PPRE2 RCC_CFGR_PPRE2_HCLK -#define STM32_PCLK2_FREQUENCY STM32_HCLK_FREQUENCY -#define STM32_APB2_CLKIN (STM32_PCLK2_FREQUENCY) /* Timers 2-7, 12-14 */ - -/* APB2 timers 1 and 8 will receive PCLK2. */ - -#define STM32_APB2_TIM1_CLKIN (STM32_PCLK2_FREQUENCY) -#define STM32_APB2_TIM8_CLKIN (STM32_PCLK2_FREQUENCY) - -/* APB1 clock (PCLK1) is HCLK/2 (36MHz) */ - -#define STM32_RCC_CFGR_PPRE1 RCC_CFGR_PPRE1_HCLKd2 -#define STM32_PCLK1_FREQUENCY (STM32_HCLK_FREQUENCY/2) - -/* APB1 timers 2-4 will be twice PCLK1 */ - -#define STM32_APB1_TIM2_CLKIN (2*STM32_PCLK1_FREQUENCY) -#define STM32_APB1_TIM3_CLKIN (2*STM32_PCLK1_FREQUENCY) -#define STM32_APB1_TIM4_CLKIN (2*STM32_PCLK1_FREQUENCY) -#define STM32_APB1_TIM5_CLKIN (2*STM32_PCLK1_FREQUENCY) -#define STM32_APB1_TIM6_CLKIN (2*STM32_PCLK1_FREQUENCY) -#define STM32_APB1_TIM7_CLKIN (2*STM32_PCLK1_FREQUENCY) - -/* Timer Frequencies, if APBx is set to 1, frequency is same to APBx - * otherwise frequency is 2xAPBx. - * Note: TIM1,8 are on APB2, others on APB1 - */ - -#define BOARD_TIM1_FREQUENCY STM32_APB2_TIM1_CLKIN -#define BOARD_TIM2_FREQUENCY STM32_APB1_TIM2_CLKIN -#define BOARD_TIM3_FREQUENCY STM32_APB1_TIM3_CLKIN -#define BOARD_TIM4_FREQUENCY STM32_APB1_TIM4_CLKIN -#define BOARD_TIM5_FREQUENCY STM32_APB1_TIM5_CLKIN -#define BOARD_TIM6_FREQUENCY STM32_APB1_TIM6_CLKIN -#define BOARD_TIM7_FREQUENCY STM32_APB1_TIM7_CLKIN -#define BOARD_TIM8_FREQUENCY STM32_APB2_TIM8_CLKIN - - - -/* Leds *************************************************************************/ - -/* LED index values for use with board_setled() */ - -#define BOARD_LED2 0 -#define BOARD_LED_GREEN BOARD_LED2 /* INFO */ -#define BOARD_LED3 1 -#define BOARD_LED_RED BOARD_LED3 /* CAN1 */ -#define BOARD_LED4 2 -#define BOARD_LED_BLUE BOARD_LED4 /* CAN2 */ -#define BOARD_NLEDS 3 - -/* LED bits for use with board_setleds() */ - -#define BOARD_LED_RED_BIT (1 << BOARD_LED_RED) -#define BOARD_LED_GREEN_BIT (1 << BOARD_LED_GREEN) -#define BOARD_LED_BLUE_BIT (1 << BOARD_LED_BLUE) - -/* TODO:define these - * These LEDs are not used by the board port unless CONFIG_ARCH_LEDS is - * - * defined. In that case, the usage by the board port is as follows: - * - * SYMBOL Meaning LED state - * Red Green Blue - * ------------------------ -------------------------- ------ ------ ----*/ - -#define LED_STARTED 0 /* NuttX has been started OFF OFF OFF */ -#define LED_HEAPALLOCATE 1 /* Heap has been allocated OFF OFF ON */ -#define LED_IRQSENABLED 2 /* Interrupts enabled OFF ON OFF */ -#define LED_STACKCREATED 3 /* Idle stack created OFF ON ON */ -#define LED_INIRQ 4 /* In an interrupt N/C GLOW N/C */ -#define LED_SIGNAL 5 /* In a signal handler N/C GLOW N/C */ -#define LED_ASSERTION 6 /* An assertion failed GLOW GLOW N/C */ -#define LED_PANIC 7 /* The system has crashed Blk OFF N/C */ -#define LED_IDLE 8 /* MCU is is sleep mode ON OFF OFF */ - -/* - * Thus if the blue is statically on, NuttX has successfully booted and is, - * apparently, running normally. If the Red LED is flashing at - * approximately 2Hz, then a fatal error has been detected and the system - * has halted. - * - */ - - -#if defined(CONFIG_BOARD_USE_PROBES) -# define PROBE_N(n) (1<<((n)-1)) -# define PROBE_1 (GPIO_OUTPUT|GPIO_CNF_OUTPP | GPIO_MODE_50MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTC|GPIO_PIN1) -# define PROBE_2 (GPIO_OUTPUT|GPIO_CNF_OUTPP | GPIO_MODE_50MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTC|GPIO_PIN2) -# define PROBE_3 (GPIO_OUTPUT|GPIO_CNF_OUTPP | GPIO_MODE_50MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTC|GPIO_PIN3) - -# define PROBE_INIT(mask) \ - do { \ - if ((mask)& PROBE_N(1)) { stm32_configgpio(PROBE_1); } \ - if ((mask)& PROBE_N(2)) { stm32_configgpio(PROBE_2); } \ - if ((mask)& PROBE_N(3)) { stm32_configgpio(PROBE_3); } \ - } while(0) - -# define PROBE(n,s) do {stm32_gpiowrite(PROBE_##n,(s));}while(0) -# define PROBE_MARK(n) PROBE(n,false);PROBE(n,true) -#else -# define PROBE_INIT(mask) -# define PROBE(n,s) -# define PROBE_MARK(n) -#endif - -/************************************************************************************ - * Public Data - ************************************************************************************/ - -#ifndef __ASSEMBLY__ - -#undef EXTERN -#if defined(__cplusplus) -#define EXTERN extern "C" -extern "C" -{ -#else -#define EXTERN extern -#endif - -/************************************************************************************ - * Public Function Prototypes - ************************************************************************************/ -/************************************************************************************ - * Name: stm32_boardinitialize - * - * Description: - * All STM32 architectures must provide the following entry point. This entry point - * is called early in the initialization -- after all memory has been configured - * and mapped but before any devices have been initialized. - * - ************************************************************************************/ - -void stm32_boardinitialize(void); - -/************************************************************************************ - * Name: stm32_ledinit, stm32_setled, and stm32_setleds - * - * Description: - * If CONFIG_ARCH_LEDS is defined, then NuttX will control the on-board LEDs. If - * CONFIG_ARCH_LEDS is not defined, then the following interfaces are available to - * control the LEDs from user applications. - * - ************************************************************************************/ - -#ifndef CONFIG_ARCH_LEDS -void stm32_led_initialize(void); -void stm32_setled(int led, bool ledon); -void stm32_setleds(uint8_t ledset); -#endif - -#if !defined(CONFIG_NSH_LIBRARY) -int app_archinitialize(void); -#else -#define app_archinitialize() (-ENOSYS) -#endif - -#undef EXTERN -#if defined(__cplusplus) -} -#endif - -#endif /* __ASSEMBLY__ */ -#endif /* __CONFIGS_ZUBAXGNSS_V1_INCLUDE_BOARD_H */ diff --git a/platforms/nuttx/nuttx-configs/zubaxgnss-v1/nsh/defconfig b/platforms/nuttx/nuttx-configs/zubaxgnss-v1/nsh/defconfig deleted file mode 100644 index 92c69269e1..0000000000 --- a/platforms/nuttx/nuttx-configs/zubaxgnss-v1/nsh/defconfig +++ /dev/null @@ -1,1070 +0,0 @@ -# -# Automatically generated file; DO NOT EDIT. -# Nuttx/ Configuration -# - -# -# Build Setup -# -# CONFIG_EXPERIMENTAL is not set -CONFIG_DEFAULT_SMALL=y -CONFIG_HOST_LINUX=y -# CONFIG_HOST_OSX is not set -# CONFIG_HOST_WINDOWS is not set -# CONFIG_HOST_OTHER is not set - -# -# Build Configuration -# -CONFIG_APPS_DIR="../apps" -CONFIG_BUILD_FLAT=y -# CONFIG_BUILD_2PASS is not set - -# -# Binary Output Formats -# -# CONFIG_RRLOAD_BINARY is not set -# CONFIG_INTELHEX_BINARY is not set -# CONFIG_MOTOROLA_SREC is not set -CONFIG_RAW_BINARY=y -# CONFIG_UBOOT_UIMAGE is not set -# CONFIG_DFU_BINARY is not set - -# -# Customize Header Files -# -# CONFIG_ARCH_STDINT_H is not set -# CONFIG_ARCH_STDBOOL_H is not set -# CONFIG_ARCH_MATH_H is not set -# CONFIG_ARCH_FLOAT_H is not set -# CONFIG_ARCH_STDARG_H is not set -# CONFIG_ARCH_DEBUG_H is not set - -# -# Debug Options -# -# CONFIG_DEBUG_ALERT is not set -# CONFIG_DEBUG_FEATURES is not set -CONFIG_ARCH_HAVE_STACKCHECK=y -CONFIG_STACK_COLORATION=y -CONFIG_ARCH_HAVE_HEAPCHECK=y -# CONFIG_HEAP_COLORATION is not set -CONFIG_DEBUG_SYMBOLS=y -CONFIG_ARCH_HAVE_CUSTOMOPT=y -# CONFIG_DEBUG_NOOPT is not set -CONFIG_DEBUG_CUSTOMOPT=y -# CONFIG_DEBUG_FULLOPT is not set -CONFIG_DEBUG_OPTLEVEL="-Os" - -# -# System Type -# -CONFIG_ARCH_ARM=y -# CONFIG_ARCH_AVR is not set -# CONFIG_ARCH_HC is not set -# CONFIG_ARCH_MIPS is not set -# CONFIG_ARCH_MISOC is not set -# CONFIG_ARCH_RENESAS is not set -# CONFIG_ARCH_RISCV is not set -# CONFIG_ARCH_SIM is not set -# CONFIG_ARCH_X86 is not set -# CONFIG_ARCH_XTENSA is not set -# CONFIG_ARCH_Z16 is not set -# CONFIG_ARCH_Z80 is not set -CONFIG_ARCH="arm" - -# -# ARM Options -# -# CONFIG_ARCH_CHIP_A1X is not set -# CONFIG_ARCH_CHIP_C5471 is not set -# CONFIG_ARCH_CHIP_DM320 is not set -# CONFIG_ARCH_CHIP_EFM32 is not set -# CONFIG_ARCH_CHIP_IMX1 is not set -# CONFIG_ARCH_CHIP_IMX6 is not set -# CONFIG_ARCH_CHIP_KINETIS is not set -# CONFIG_ARCH_CHIP_KL is not set -# CONFIG_ARCH_CHIP_LC823450 is not set -# CONFIG_ARCH_CHIP_LM is not set -# CONFIG_ARCH_CHIP_TIVA is not set -# CONFIG_ARCH_CHIP_LPC11XX is not set -# CONFIG_ARCH_CHIP_LPC17XX is not set -# CONFIG_ARCH_CHIP_LPC214X is not set -# CONFIG_ARCH_CHIP_LPC2378 is not set -# CONFIG_ARCH_CHIP_LPC31XX is not set -# CONFIG_ARCH_CHIP_LPC43XX is not set -# CONFIG_ARCH_CHIP_MOXART is not set -# CONFIG_ARCH_CHIP_NUC1XX is not set -# CONFIG_ARCH_CHIP_SAMA5 is not set -# CONFIG_ARCH_CHIP_SAMD is not set -# CONFIG_ARCH_CHIP_SAML is not set -# CONFIG_ARCH_CHIP_SAM34 is not set -# CONFIG_ARCH_CHIP_SAMV7 is not set -CONFIG_ARCH_CHIP_STM32=y -# CONFIG_ARCH_CHIP_STM32F0 is not set -# CONFIG_ARCH_CHIP_STM32F7 is not set -# CONFIG_ARCH_CHIP_STM32L4 is not set -# CONFIG_ARCH_CHIP_STR71X is not set -# CONFIG_ARCH_CHIP_TMS570 is not set -# CONFIG_ARCH_CHIP_XMC4 is not set -# CONFIG_ARCH_ARM7TDMI is not set -# CONFIG_ARCH_ARM926EJS is not set -# CONFIG_ARCH_ARM920T is not set -# CONFIG_ARCH_CORTEXM0 is not set -# CONFIG_ARCH_CORTEXM23 is not set -CONFIG_ARCH_CORTEXM3=y -# CONFIG_ARCH_CORTEXM33 is not set -# CONFIG_ARCH_CORTEXM4 is not set -# CONFIG_ARCH_CORTEXM7 is not set -# CONFIG_ARCH_CORTEXA5 is not set -# CONFIG_ARCH_CORTEXA8 is not set -# CONFIG_ARCH_CORTEXA9 is not set -# CONFIG_ARCH_CORTEXR4 is not set -# CONFIG_ARCH_CORTEXR4F is not set -# CONFIG_ARCH_CORTEXR5 is not set -# CONFIG_ARCH_CORTEXR5F is not set -# CONFIG_ARCH_CORTEXR7 is not set -# CONFIG_ARCH_CORTEXR7F is not set -CONFIG_ARCH_FAMILY="armv7-m" -CONFIG_ARCH_CHIP="stm32" -CONFIG_ARMV7M_USEBASEPRI=y -CONFIG_ARCH_HAVE_CMNVECTOR=y -# CONFIG_ARMV7M_CMNVECTOR is not set -# CONFIG_ARMV7M_LAZYFPU is not set -# CONFIG_ARCH_HAVE_FPU is not set -# CONFIG_ARCH_HAVE_DPFPU is not set -# CONFIG_ARCH_HAVE_TRUSTZONE is not set -CONFIG_ARM_HAVE_MPU_UNIFIED=y -# CONFIG_ARM_MPU is not set - -# -# ARMV7M Configuration Options -# -# CONFIG_ARMV7M_HAVE_ICACHE is not set -# CONFIG_ARMV7M_HAVE_DCACHE is not set -# CONFIG_ARMV7M_HAVE_ITCM is not set -# CONFIG_ARMV7M_HAVE_DTCM is not set -# CONFIG_ARMV7M_TOOLCHAIN_IARL is not set -# CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT is not set -# CONFIG_ARMV7M_TOOLCHAIN_CODEREDL is not set -# CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL is not set -CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL=y -# CONFIG_ARMV7M_TOOLCHAIN_CLANGL is not set -CONFIG_ARMV7M_HAVE_STACKCHECK=y -# CONFIG_ARMV7M_STACKCHECK is not set -# CONFIG_ARMV7M_ITMSYSLOG is not set - -# -# STM32 Configuration Options -# -# CONFIG_ARCH_CHIP_STM32L151C6 is not set -# CONFIG_ARCH_CHIP_STM32L151C8 is not set -# CONFIG_ARCH_CHIP_STM32L151CB is not set -# CONFIG_ARCH_CHIP_STM32L151R6 is not set -# CONFIG_ARCH_CHIP_STM32L151R8 is not set -# CONFIG_ARCH_CHIP_STM32L151RB is not set -# CONFIG_ARCH_CHIP_STM32L151V6 is not set -# CONFIG_ARCH_CHIP_STM32L151V8 is not set -# CONFIG_ARCH_CHIP_STM32L151VB is not set -# CONFIG_ARCH_CHIP_STM32L152C6 is not set -# CONFIG_ARCH_CHIP_STM32L152C8 is not set -# CONFIG_ARCH_CHIP_STM32L152CB is not set -# CONFIG_ARCH_CHIP_STM32L152R6 is not set -# CONFIG_ARCH_CHIP_STM32L152R8 is not set -# CONFIG_ARCH_CHIP_STM32L152RB is not set -# CONFIG_ARCH_CHIP_STM32L152V6 is not set -# CONFIG_ARCH_CHIP_STM32L152V8 is not set -# CONFIG_ARCH_CHIP_STM32L152VB is not set -# CONFIG_ARCH_CHIP_STM32L152CC is not set -# CONFIG_ARCH_CHIP_STM32L152RC is not set -# CONFIG_ARCH_CHIP_STM32L152VC is not set -# CONFIG_ARCH_CHIP_STM32L162ZD is not set -# CONFIG_ARCH_CHIP_STM32L162VE is not set -# CONFIG_ARCH_CHIP_STM32F100C8 is not set -# CONFIG_ARCH_CHIP_STM32F100CB is not set -# CONFIG_ARCH_CHIP_STM32F100R8 is not set -# CONFIG_ARCH_CHIP_STM32F100RB is not set -# CONFIG_ARCH_CHIP_STM32F100RC is not set -# CONFIG_ARCH_CHIP_STM32F100RD is not set -# CONFIG_ARCH_CHIP_STM32F100RE is not set -# CONFIG_ARCH_CHIP_STM32F100V8 is not set -# CONFIG_ARCH_CHIP_STM32F100VB is not set -# CONFIG_ARCH_CHIP_STM32F100VC is not set -# CONFIG_ARCH_CHIP_STM32F100VD is not set -# CONFIG_ARCH_CHIP_STM32F100VE is not set -# CONFIG_ARCH_CHIP_STM32F102CB is not set -# CONFIG_ARCH_CHIP_STM32F103T8 is not set -# CONFIG_ARCH_CHIP_STM32F103TB is not set -# CONFIG_ARCH_CHIP_STM32F103C4 is not set -# CONFIG_ARCH_CHIP_STM32F103C8 is not set -# CONFIG_ARCH_CHIP_STM32F103CB is not set -# CONFIG_ARCH_CHIP_STM32F103R8 is not set -# CONFIG_ARCH_CHIP_STM32F103RB is not set -# CONFIG_ARCH_CHIP_STM32F103RC is not set -# CONFIG_ARCH_CHIP_STM32F103RD is not set -# CONFIG_ARCH_CHIP_STM32F103RE is not set -# CONFIG_ARCH_CHIP_STM32F103RG is not set -# CONFIG_ARCH_CHIP_STM32F103V8 is not set -# CONFIG_ARCH_CHIP_STM32F103VB is not set -# CONFIG_ARCH_CHIP_STM32F103VC is not set -# CONFIG_ARCH_CHIP_STM32F103VE is not set -# CONFIG_ARCH_CHIP_STM32F103ZE is not set -CONFIG_ARCH_CHIP_STM32F105VB=y -# CONFIG_ARCH_CHIP_STM32F105RB is not set -# CONFIG_ARCH_CHIP_STM32F107VC is not set -# CONFIG_ARCH_CHIP_STM32F205RG is not set -# CONFIG_ARCH_CHIP_STM32F207IG is not set -# CONFIG_ARCH_CHIP_STM32F207ZE is not set -# CONFIG_ARCH_CHIP_STM32F302K6 is not set -# CONFIG_ARCH_CHIP_STM32F302K8 is not set -# CONFIG_ARCH_CHIP_STM32F302CB is not set -# CONFIG_ARCH_CHIP_STM32F302CC is not set -# CONFIG_ARCH_CHIP_STM32F302RB is not set -# CONFIG_ARCH_CHIP_STM32F302RC is not set -# CONFIG_ARCH_CHIP_STM32F302VB is not set -# CONFIG_ARCH_CHIP_STM32F302VC is not set -# CONFIG_ARCH_CHIP_STM32F303K6 is not set -# CONFIG_ARCH_CHIP_STM32F303K8 is not set -# CONFIG_ARCH_CHIP_STM32F303C6 is not set -# CONFIG_ARCH_CHIP_STM32F303C8 is not set -# CONFIG_ARCH_CHIP_STM32F303CB is not set -# CONFIG_ARCH_CHIP_STM32F303CC is not set -# CONFIG_ARCH_CHIP_STM32F303RB is not set -# CONFIG_ARCH_CHIP_STM32F303RC is not set -# CONFIG_ARCH_CHIP_STM32F303RD is not set -# CONFIG_ARCH_CHIP_STM32F303RE is not set -# CONFIG_ARCH_CHIP_STM32F303VB is not set -# CONFIG_ARCH_CHIP_STM32F303VC is not set -# CONFIG_ARCH_CHIP_STM32F334K4 is not set -# CONFIG_ARCH_CHIP_STM32F334K6 is not set -# CONFIG_ARCH_CHIP_STM32F334K8 is not set -# CONFIG_ARCH_CHIP_STM32F334C4 is not set -# CONFIG_ARCH_CHIP_STM32F334C6 is not set -# CONFIG_ARCH_CHIP_STM32F334C8 is not set -# CONFIG_ARCH_CHIP_STM32F334R4 is not set -# CONFIG_ARCH_CHIP_STM32F334R6 is not set -# CONFIG_ARCH_CHIP_STM32F334R8 is not set -# CONFIG_ARCH_CHIP_STM32F372C8 is not set -# CONFIG_ARCH_CHIP_STM32F372R8 is not set -# CONFIG_ARCH_CHIP_STM32F372V8 is not set -# CONFIG_ARCH_CHIP_STM32F372CB is not set -# CONFIG_ARCH_CHIP_STM32F372RB is not set -# CONFIG_ARCH_CHIP_STM32F372VB is not set -# CONFIG_ARCH_CHIP_STM32F372CC is not set -# CONFIG_ARCH_CHIP_STM32F372RC is not set -# CONFIG_ARCH_CHIP_STM32F372VC is not set -# CONFIG_ARCH_CHIP_STM32F373C8 is not set -# CONFIG_ARCH_CHIP_STM32F373R8 is not set -# CONFIG_ARCH_CHIP_STM32F373V8 is not set -# CONFIG_ARCH_CHIP_STM32F373CB is not set -# CONFIG_ARCH_CHIP_STM32F373RB is not set -# CONFIG_ARCH_CHIP_STM32F373VB is not set -# CONFIG_ARCH_CHIP_STM32F373CC is not set -# CONFIG_ARCH_CHIP_STM32F373RC is not set -# CONFIG_ARCH_CHIP_STM32F373VC is not set -# CONFIG_ARCH_CHIP_STM32F401RE is not set -# CONFIG_ARCH_CHIP_STM32F410RB is not set -# CONFIG_ARCH_CHIP_STM32F411RE is not set -# CONFIG_ARCH_CHIP_STM32F411VE is not set -# CONFIG_ARCH_CHIP_STM32F405RG is not set -# CONFIG_ARCH_CHIP_STM32F405VG is not set -# CONFIG_ARCH_CHIP_STM32F405ZG is not set -# CONFIG_ARCH_CHIP_STM32F407VE is not set -# CONFIG_ARCH_CHIP_STM32F407VG is not set -# CONFIG_ARCH_CHIP_STM32F407ZE is not set -# CONFIG_ARCH_CHIP_STM32F407ZG is not set -# CONFIG_ARCH_CHIP_STM32F407IE is not set -# CONFIG_ARCH_CHIP_STM32F407IG is not set -# CONFIG_ARCH_CHIP_STM32F427V is not set -# CONFIG_ARCH_CHIP_STM32F427Z is not set -# CONFIG_ARCH_CHIP_STM32F427I is not set -# CONFIG_ARCH_CHIP_STM32F429V is not set -# CONFIG_ARCH_CHIP_STM32F429Z is not set -# CONFIG_ARCH_CHIP_STM32F429I is not set -# CONFIG_ARCH_CHIP_STM32F429B is not set -# CONFIG_ARCH_CHIP_STM32F429N is not set -# CONFIG_ARCH_CHIP_STM32F446M is not set -# CONFIG_ARCH_CHIP_STM32F446R is not set -# CONFIG_ARCH_CHIP_STM32F446V is not set -# CONFIG_ARCH_CHIP_STM32F446Z is not set -# CONFIG_ARCH_CHIP_STM32F469A is not set -# CONFIG_ARCH_CHIP_STM32F469I is not set -# CONFIG_ARCH_CHIP_STM32F469B is not set -# CONFIG_ARCH_CHIP_STM32F469N is not set -CONFIG_STM32_FLASH_CONFIG_DEFAULT=y -# CONFIG_STM32_FLASH_CONFIG_4 is not set -# CONFIG_STM32_FLASH_CONFIG_6 is not set -# CONFIG_STM32_FLASH_CONFIG_8 is not set -# CONFIG_STM32_FLASH_CONFIG_B is not set -# CONFIG_STM32_FLASH_CONFIG_C is not set -# CONFIG_STM32_FLASH_CONFIG_D is not set -# CONFIG_STM32_FLASH_CONFIG_E is not set -# CONFIG_STM32_FLASH_CONFIG_F is not set -# CONFIG_STM32_FLASH_CONFIG_G is not set -# CONFIG_STM32_FLASH_CONFIG_I is not set -# CONFIG_STM32_STM32L15XX is not set -# CONFIG_STM32_ENERGYLITE is not set -CONFIG_STM32_STM32F10XX=y -# CONFIG_STM32_VALUELINE is not set -CONFIG_STM32_CONNECTIVITYLINE=y -# CONFIG_STM32_PERFORMANCELINE is not set -# CONFIG_STM32_USBACCESSLINE is not set -# CONFIG_STM32_HIGHDENSITY is not set -# CONFIG_STM32_MEDIUMDENSITY is not set -# CONFIG_STM32_LOWDENSITY is not set -# CONFIG_STM32_STM32F20XX is not set -# CONFIG_STM32_STM32F205 is not set -# CONFIG_STM32_STM32F207 is not set -# CONFIG_STM32_STM32F30XX is not set -# CONFIG_STM32_STM32F302 is not set -# CONFIG_STM32_STM32F303 is not set -# CONFIG_STM32_STM32F33XX is not set -# CONFIG_STM32_STM32F37XX is not set -# CONFIG_STM32_STM32F4XXX is not set -# CONFIG_STM32_STM32F401 is not set -# CONFIG_STM32_STM32F410 is not set -# CONFIG_STM32_STM32F411 is not set -# CONFIG_STM32_STM32F405 is not set -# CONFIG_STM32_STM32F407 is not set -# CONFIG_STM32_STM32F427 is not set -# CONFIG_STM32_STM32F429 is not set -# CONFIG_STM32_STM32F446 is not set -# CONFIG_STM32_STM32F469 is not set -# CONFIG_STM32_DFU is not set - -# -# STM32 Peripheral Support -# -# CONFIG_STM32_HAVE_CCM is not set -# CONFIG_STM32_HAVE_USBDEV is not set -CONFIG_STM32_HAVE_OTGFS=y -# CONFIG_STM32_HAVE_FSMC is not set -# CONFIG_STM32_HAVE_HRTIM1 is not set -# CONFIG_STM32_HAVE_LTDC is not set -CONFIG_STM32_HAVE_USART3=y -CONFIG_STM32_HAVE_UART4=y -CONFIG_STM32_HAVE_UART5=y -# CONFIG_STM32_HAVE_USART6 is not set -# CONFIG_STM32_HAVE_UART7 is not set -# CONFIG_STM32_HAVE_UART8 is not set -CONFIG_STM32_HAVE_TIM1=y -# CONFIG_STM32_HAVE_TIM2 is not set -CONFIG_STM32_HAVE_TIM3=y -CONFIG_STM32_HAVE_TIM4=y -CONFIG_STM32_HAVE_TIM5=y -CONFIG_STM32_HAVE_TIM6=y -CONFIG_STM32_HAVE_TIM7=y -# CONFIG_STM32_HAVE_TIM8 is not set -# CONFIG_STM32_HAVE_TIM9 is not set -# CONFIG_STM32_HAVE_TIM10 is not set -# CONFIG_STM32_HAVE_TIM11 is not set -# CONFIG_STM32_HAVE_TIM12 is not set -# CONFIG_STM32_HAVE_TIM13 is not set -# CONFIG_STM32_HAVE_TIM14 is not set -# CONFIG_STM32_HAVE_TIM15 is not set -# CONFIG_STM32_HAVE_TIM16 is not set -# CONFIG_STM32_HAVE_TIM17 is not set -CONFIG_STM32_HAVE_ADC2=y -# CONFIG_STM32_HAVE_ADC3 is not set -# CONFIG_STM32_HAVE_ADC4 is not set -# CONFIG_STM32_HAVE_ADC1_DMA is not set -# CONFIG_STM32_HAVE_ADC2_DMA is not set -# CONFIG_STM32_HAVE_ADC3_DMA is not set -# CONFIG_STM32_HAVE_ADC4_DMA is not set -# CONFIG_STM32_HAVE_SDADC1 is not set -# CONFIG_STM32_HAVE_SDADC2 is not set -# CONFIG_STM32_HAVE_SDADC3 is not set -# CONFIG_STM32_HAVE_SDADC1_DMA is not set -# CONFIG_STM32_HAVE_SDADC2_DMA is not set -# CONFIG_STM32_HAVE_SDADC3_DMA is not set -CONFIG_STM32_HAVE_CAN1=y -CONFIG_STM32_HAVE_CAN2=y -# CONFIG_STM32_HAVE_COMP1 is not set -# CONFIG_STM32_HAVE_COMP2 is not set -# CONFIG_STM32_HAVE_COMP3 is not set -# CONFIG_STM32_HAVE_COMP4 is not set -# CONFIG_STM32_HAVE_COMP5 is not set -# CONFIG_STM32_HAVE_COMP6 is not set -# CONFIG_STM32_HAVE_COMP7 is not set -CONFIG_STM32_HAVE_DAC1=y -CONFIG_STM32_HAVE_DAC2=y -# CONFIG_STM32_HAVE_RNG is not set -CONFIG_STM32_HAVE_ETHMAC=y -CONFIG_STM32_HAVE_I2C2=y -# CONFIG_STM32_HAVE_I2C3 is not set -CONFIG_STM32_HAVE_SPI2=y -CONFIG_STM32_HAVE_SPI3=y -# CONFIG_STM32_HAVE_I2S3 is not set -# CONFIG_STM32_HAVE_SPI4 is not set -# CONFIG_STM32_HAVE_SPI5 is not set -# CONFIG_STM32_HAVE_SPI6 is not set -# CONFIG_STM32_HAVE_SAIPLL is not set -# CONFIG_STM32_HAVE_I2SPLL is not set -# CONFIG_STM32_HAVE_OPAMP1 is not set -# CONFIG_STM32_HAVE_OPAMP2 is not set -# CONFIG_STM32_HAVE_OPAMP3 is not set -# CONFIG_STM32_HAVE_OPAMP4 is not set -# CONFIG_STM32_ADC1 is not set -# CONFIG_STM32_ADC2 is not set -# CONFIG_STM32_BKP is not set -# CONFIG_STM32_CAN1 is not set -# CONFIG_STM32_CAN2 is not set -# CONFIG_STM32_CRC is not set -# CONFIG_STM32_DMA1 is not set -# CONFIG_STM32_DMA2 is not set -# CONFIG_STM32_DAC1 is not set -# CONFIG_STM32_DAC2 is not set -# CONFIG_STM32_ETHMAC is not set -# CONFIG_STM32_I2C1 is not set -# CONFIG_STM32_I2C2 is not set -# CONFIG_STM32_OPAMP is not set -# CONFIG_STM32_OTGFS is not set -# CONFIG_STM32_PWR is not set -# CONFIG_STM32_SPI1 is not set -# CONFIG_STM32_SPI2 is not set -# CONFIG_STM32_SPI3 is not set -CONFIG_STM32_SYSCFG=y -CONFIG_STM32_TIM1=y -# CONFIG_STM32_TIM2 is not set -# CONFIG_STM32_TIM3 is not set -# CONFIG_STM32_TIM4 is not set -# CONFIG_STM32_TIM5 is not set -# CONFIG_STM32_TIM6 is not set -# CONFIG_STM32_TIM7 is not set -# CONFIG_STM32_USART1 is not set -# CONFIG_STM32_USART2 is not set -# CONFIG_STM32_USART3 is not set -# CONFIG_STM32_UART4 is not set -# CONFIG_STM32_UART5 is not set -# CONFIG_STM32_IWDG is not set -# CONFIG_STM32_WWDG is not set -CONFIG_STM32_NOEXT_VECTORS=y - -# -# Alternate Pin Mapping -# -# CONFIG_STM32_TIM1_NO_REMAP is not set -# CONFIG_STM32_TIM1_FULL_REMAP is not set -CONFIG_STM32_TIM1_PARTIAL_REMAP=y -# CONFIG_STM32_FLASH_WORKAROUND_DATA_CACHE_CORRUPTION_ON_RWW is not set -# CONFIG_STM32_JTAG_DISABLE is not set -CONFIG_STM32_JTAG_FULL_ENABLE=y -# CONFIG_STM32_JTAG_NOJNTRST_ENABLE is not set -# CONFIG_STM32_JTAG_SW_ENABLE is not set -CONFIG_STM32_DISABLE_IDLE_SLEEP_DURING_DEBUG=y -# CONFIG_STM32_FORCEPOWER is not set -# CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG is not set - -# -# Timer Configuration -# -# CONFIG_STM32_ONESHOT is not set -# CONFIG_STM32_FREERUN is not set -# CONFIG_STM32_TIM1_PWM is not set -# CONFIG_STM32_TIM1_CAP is not set -# CONFIG_STM32_TIM3_CAP is not set -# CONFIG_STM32_TIM4_CAP is not set -# CONFIG_STM32_TIM5_CAP is not set -CONFIG_STM32_HAVE_RTC_COUNTER=y -# CONFIG_STM32_HAVE_RTC_SUBSECONDS is not set - -# -# USB FS Host Configuration -# - -# -# USB HS Host Configuration -# - -# -# USB Host Debug Configuration -# - -# -# USB Device Configuration -# -# CONFIG_ARCH_TOOLCHAIN_IAR is not set -CONFIG_ARCH_TOOLCHAIN_GNU=y - -# -# Architecture Options -# -# CONFIG_ARCH_NOINTC is not set -# CONFIG_ARCH_VECNOTIRQ is not set -# CONFIG_ARCH_DMA is not set -CONFIG_ARCH_HAVE_IRQPRIO=y -# CONFIG_ARCH_L2CACHE is not set -# CONFIG_ARCH_HAVE_COHERENT_DCACHE is not set -# CONFIG_ARCH_HAVE_ADDRENV is not set -# CONFIG_ARCH_NEED_ADDRENV_MAPPING is not set -# CONFIG_ARCH_HAVE_MULTICPU is not set -CONFIG_ARCH_HAVE_VFORK=y -# CONFIG_ARCH_HAVE_MMU is not set -CONFIG_ARCH_HAVE_MPU=y -# CONFIG_ARCH_NAND_HWECC is not set -# CONFIG_ARCH_HAVE_EXTCLK is not set -# CONFIG_ARCH_HAVE_POWEROFF is not set -CONFIG_ARCH_HAVE_RESET=y -# CONFIG_ARCH_HAVE_RTC_SUBSECONDS is not set -# CONFIG_ARCH_USE_MPU is not set -# CONFIG_ARCH_IRQPRIO is not set -# CONFIG_ARCH_STACKDUMP is not set -# CONFIG_ENDIAN_BIG is not set -# CONFIG_ARCH_IDLE_CUSTOM is not set -# CONFIG_ARCH_HAVE_RAMFUNCS is not set -CONFIG_ARCH_HAVE_RAMVECTORS=y -# CONFIG_ARCH_RAMVECTORS is not set -# CONFIG_ARCH_MINIMAL_VECTORTABLE is not set - -# -# Board Settings -# -CONFIG_BOARD_LOOPSPERMSEC=5483 -# CONFIG_ARCH_CALIBRATION is not set - -# -# Interrupt options -# -CONFIG_ARCH_HAVE_INTERRUPTSTACK=y -CONFIG_ARCH_INTERRUPTSTACK=3072 -CONFIG_ARCH_HAVE_HIPRI_INTERRUPT=y -# CONFIG_ARCH_HIPRI_INTERRUPT is not set - -# -# Boot options -# -# CONFIG_BOOT_RUNFROMEXTSRAM is not set -CONFIG_BOOT_RUNFROMFLASH=y -# CONFIG_BOOT_RUNFROMISRAM is not set -# CONFIG_BOOT_RUNFROMSDRAM is not set -# CONFIG_BOOT_COPYTORAM is not set - -# -# Boot Memory Configuration -# -CONFIG_RAM_START=0x20000000 -CONFIG_RAM_SIZE=20480 -# CONFIG_ARCH_HAVE_SDRAM is not set - -# -# Board Selection -# -CONFIG_ARCH_BOARD_ZUBAXGNSS_V1=y -CONFIG_ARCH_BOARD="zubaxgnss-v1" - -# -# Custom Board Configuration -# -# CONFIG_BOARD_CRASHDUMP is not set -# CONFIG_BOARD_CUSTOM_LEDS is not set -# CONFIG_BOARD_CUSTOM_BUTTONS is not set - -# -# Common Board Options -# -CONFIG_ARCH_HAVE_LEDS=y -# CONFIG_ARCH_LEDS is not set -# CONFIG_ARCH_HAVE_BUTTONS is not set -# CONFIG_ARCH_BUTTONS is not set -# CONFIG_ARCH_HAVE_IRQBUTTONS is not set -CONFIG_BOARD_HAS_PROBES=y -# CONFIG_BOARD_USE_PROBES is not set - -# -# Board-Specific Options -# -# CONFIG_BOARD_CRASHDUMP is not set -# CONFIG_LIB_BOARDCTL is not set - -# -# RTOS Features -# -CONFIG_DISABLE_OS_API=y -CONFIG_DISABLE_POSIX_TIMERS=y -CONFIG_DISABLE_PTHREAD=y -CONFIG_DISABLE_SIGNALS=y -CONFIG_DISABLE_MQUEUE=y -CONFIG_DISABLE_ENVIRON=y - -# -# Clocks and Timers -# -CONFIG_ARCH_HAVE_TICKLESS=y -# CONFIG_SCHED_TICKLESS is not set -CONFIG_USEC_PER_TICK=10000 -# CONFIG_SYSTEM_TIME64 is not set -# CONFIG_CLOCK_MONOTONIC is not set -CONFIG_ARCH_HAVE_TIMEKEEPING=y -# CONFIG_JULIAN_TIME is not set -CONFIG_START_YEAR=2016 -CONFIG_START_MONTH=11 -CONFIG_START_DAY=30 -CONFIG_MAX_WDOGPARMS=1 -CONFIG_PREALLOC_WDOGS=1 -CONFIG_WDOG_INTRESERVE=0 -CONFIG_PREALLOC_TIMERS=0 - -# -# Tasks and Scheduling -# -# CONFIG_SPINLOCK is not set -# CONFIG_INIT_NONE is not set -CONFIG_INIT_ENTRYPOINT=y -CONFIG_USER_ENTRYPOINT="main" -CONFIG_RR_INTERVAL=0 -# CONFIG_SCHED_SPORADIC is not set -CONFIG_TASK_NAME_SIZE=0 -CONFIG_MAX_TASKS=0 -# CONFIG_SCHED_HAVE_PARENT is not set -# CONFIG_SCHED_WAITPID is not set - -# -# Performance Monitoring -# -# CONFIG_SCHED_CPULOAD is not set -# CONFIG_SCHED_INSTRUMENTATION is not set - -# -# Files and I/O -# -# CONFIG_DEV_CONSOLE is not set -CONFIG_FDCLONE_DISABLE=y -CONFIG_FDCLONE_STDIO=y -CONFIG_SDCLONE_DISABLE=y -CONFIG_NFILE_DESCRIPTORS=0 -CONFIG_NFILE_STREAMS=0 -CONFIG_NAME_MAX=0 -# CONFIG_PRIORITY_INHERITANCE is not set - -# -# RTOS hooks -# -# CONFIG_BOARD_INITIALIZE is not set -# CONFIG_SCHED_STARTHOOK is not set -# CONFIG_SCHED_ATEXIT is not set -# CONFIG_SCHED_ONEXIT is not set -# CONFIG_MODULE is not set - -# -# Work queue support -# - -# -# Stack and heap information -# -CONFIG_IDLETHREAD_STACKSIZE=4096 -CONFIG_USERMAIN_STACKSIZE=880 -CONFIG_PTHREAD_STACK_MIN=256 -CONFIG_PTHREAD_STACK_DEFAULT=464 -# CONFIG_LIB_SYSCALL is not set - -# -# Device Drivers -# -CONFIG_DISABLE_POLL=y -# CONFIG_DEV_NULL is not set -# CONFIG_DEV_ZERO is not set -# CONFIG_DEV_URANDOM is not set -# CONFIG_DEV_LOOP is not set - -# -# Buffering -# -# CONFIG_DRVR_WRITEBUFFER is not set -# CONFIG_DRVR_READAHEAD is not set -# CONFIG_RAMDISK is not set -# CONFIG_CAN is not set -# CONFIG_ARCH_HAVE_PWM_PULSECOUNT is not set -# CONFIG_ARCH_HAVE_PWM_MULTICHAN is not set -# CONFIG_PWM is not set -CONFIG_ARCH_HAVE_I2CRESET=y -# CONFIG_I2C is not set -# CONFIG_ARCH_HAVE_SPI_CRCGENERATION is not set -# CONFIG_ARCH_HAVE_SPI_CS_CONTROL is not set -CONFIG_ARCH_HAVE_SPI_BITORDER=y -# CONFIG_SPI is not set -# CONFIG_I2S is not set - -# -# Timer Driver Support -# -# CONFIG_TIMER is not set -# CONFIG_ONESHOT is not set -# CONFIG_RTC is not set -# CONFIG_WATCHDOG is not set -# CONFIG_ANALOG is not set -# CONFIG_AUDIO_DEVICES is not set -# CONFIG_VIDEO_DEVICES is not set -# CONFIG_BCH is not set -# CONFIG_INPUT is not set - -# -# IO Expander/GPIO Support -# -# CONFIG_IOEXPANDER is not set -# CONFIG_DEV_GPIO is not set - -# -# LCD Driver Support -# -# CONFIG_LCD is not set -# CONFIG_SLCD is not set - -# -# LED Support -# -# CONFIG_RGBLED is not set -# CONFIG_PCA9635PW is not set -# CONFIG_NCP5623C is not set -# CONFIG_MMCSD is not set -# CONFIG_MODEM is not set -# CONFIG_MTD is not set -# CONFIG_EEPROM is not set -# CONFIG_PIPES is not set -# CONFIG_PM is not set -# CONFIG_DRIVERS_SMPS is not set -# CONFIG_POWER is not set -# CONFIG_SENSORS is not set -# CONFIG_SERIAL is not set -# CONFIG_USBDEV is not set -# CONFIG_USBHOST is not set -# CONFIG_USBMISC is not set -# CONFIG_HAVE_USBTRACE is not set -# CONFIG_DRIVERS_WIRELESS is not set -# CONFIG_DRIVERS_CONTACTLESS is not set - -# -# System Logging -# -# CONFIG_ARCH_SYSLOG is not set -# CONFIG_SYSLOG_WRITE is not set -# CONFIG_RAMLOG is not set -# CONFIG_SYSLOG_INTBUFFER is not set -# CONFIG_SYSLOG_TIMESTAMP is not set -# CONFIG_SYSLOG_SERIAL_CONSOLE is not set -# CONFIG_SYSLOG_CHAR is not set -CONFIG_SYSLOG_NONE=y -# CONFIG_SYSLOG_FILE is not set -# CONFIG_SYSLOG_CHARDEV is not set - -# -# Networking Support -# -# CONFIG_ARCH_HAVE_NET is not set -# CONFIG_ARCH_HAVE_PHY is not set -# CONFIG_NET is not set - -# -# Crypto API -# -# CONFIG_CRYPTO is not set - -# -# File Systems -# - -# -# File system configuration -# -CONFIG_DISABLE_MOUNTPOINT=y -CONFIG_DISABLE_PSEUDOFS_OPERATIONS=y -# CONFIG_FS_READABLE is not set -# CONFIG_FS_WRITABLE is not set -# CONFIG_FS_NAMED_SEMAPHORES is not set -# CONFIG_FS_RAMMAP is not set -# CONFIG_FS_PROCFS is not set -# CONFIG_FS_UNIONFS is not set - -# -# Graphics Support -# -# CONFIG_NX is not set - -# -# Memory Management -# -CONFIG_MM_SMALL=y -CONFIG_MM_REGIONS=1 -# CONFIG_ARCH_HAVE_HEAP2 is not set -# CONFIG_GRAN is not set - -# -# Common I/O Buffer Support -# -# CONFIG_MM_IOB is not set - -# -# Audio Support -# -# CONFIG_AUDIO is not set - -# -# Wireless Support -# -# CONFIG_WIRELESS is not set - -# -# Binary Loader -# -CONFIG_BINFMT_DISABLE=y -# CONFIG_PIC is not set -CONFIG_SYMTAB_ORDEREDBYNAME=y - -# -# Library Routines -# - -# -# Standard C Library Options -# - -# -# Standard C I/O -# -CONFIG_STDIO_DISABLE_BUFFERING=y -CONFIG_NUNGET_CHARS=0 -# CONFIG_NOPRINTF_FIELDWIDTH is not set -# CONFIG_LIBC_FLOATINGPOINT is not set -# CONFIG_LIBC_LONG_LONG is not set -# CONFIG_LIBC_SCANSET is not set -# CONFIG_EOL_IS_CR is not set -# CONFIG_EOL_IS_LF is not set -# CONFIG_EOL_IS_BOTH_CRLF is not set -CONFIG_EOL_IS_EITHER_CRLF=y -# CONFIG_MEMCPY_VIK is not set -# CONFIG_LIBM is not set - -# -# Architecture-Specific Support -# -# CONFIG_ARCH_LOWPUTC is not set -# CONFIG_ARCH_ROMGETC is not set -# CONFIG_LIBC_ARCH_MEMCPY is not set -# CONFIG_LIBC_ARCH_MEMCMP is not set -# CONFIG_LIBC_ARCH_MEMMOVE is not set -# CONFIG_LIBC_ARCH_MEMSET is not set -# CONFIG_LIBC_ARCH_STRCHR is not set -# CONFIG_LIBC_ARCH_STRCMP is not set -# CONFIG_LIBC_ARCH_STRCPY is not set -# CONFIG_LIBC_ARCH_STRNCPY is not set -# CONFIG_LIBC_ARCH_STRLEN is not set -# CONFIG_LIBC_ARCH_STRNLEN is not set -# CONFIG_LIBC_ARCH_ELF is not set -# CONFIG_ARMV7M_MEMCPY is not set - -# -# stdlib Options -# -CONFIG_LIB_RAND_ORDER=1 - -# -# Program Execution Options -# -CONFIG_POSIX_SPAWN_PROXY_STACKSIZE=768 -CONFIG_TASK_SPAWN_DEFAULT_STACKSIZE=768 - -# -# errno Decode Support -# -# CONFIG_LIBC_STRERROR is not set -# CONFIG_LIBC_PERROR_STDOUT is not set - -# -# memcpy/memset Options -# -CONFIG_MEMSET_OPTSPEED=y -CONFIG_MEMSET_64BIT=y -# CONFIG_LIBC_DLLFCN is not set -# CONFIG_LIBC_MODLIB is not set -# CONFIG_LIBC_WCHAR is not set -# CONFIG_LIBC_LOCALE is not set - -# -# Time/Time Zone Support -# -# CONFIG_TIME_EXTENDED is not set -CONFIG_ARCH_HAVE_TLS=y - -# -# Thread Local Storage (TLS) -# -# CONFIG_TLS is not set - -# -# Network-Related Options -# -# CONFIG_LIBC_IPv4_ADDRCONV is not set -# CONFIG_LIBC_IPv6_ADDRCONV is not set -# CONFIG_LIBC_NETDB is not set - -# -# NETDB Support -# -# CONFIG_LIBC_IOCTL_VARIADIC is not set -CONFIG_LIB_SENDFILE_BUFSIZE=0 - -# -# Non-standard Library Support -# -# CONFIG_LIB_CRC64_FAST is not set -# CONFIG_LIB_KBDCODEC is not set -# CONFIG_LIB_SLCDCODEC is not set -# CONFIG_LIB_HEX2BIN is not set - -# -# Basic CXX Support -# -CONFIG_C99_BOOL8=y -CONFIG_HAVE_CXX=y -# CONFIG_CXX_NEWLONG is not set - -# -# LLVM C++ Library (libcxx) -# -# CONFIG_LIBCXX is not set - -# -# uClibc++ Standard C++ Library -# -# CONFIG_UCLIBCXX is not set - -# -# Application Configuration -# - -# -# CAN Utilities -# - -# -# Examples -# -# CONFIG_EXAMPLES_CCTYPE is not set -# CONFIG_EXAMPLES_CHAT is not set -# CONFIG_EXAMPLES_CONFIGDATA is not set -# CONFIG_EXAMPLES_CXXTEST is not set -# CONFIG_EXAMPLES_DHCPD is not set -# CONFIG_EXAMPLES_ELF is not set -# CONFIG_EXAMPLES_FTPC is not set -# CONFIG_EXAMPLES_FTPD is not set -# CONFIG_EXAMPLES_HELLO is not set -# CONFIG_EXAMPLES_HELLOXX is not set -# CONFIG_EXAMPLES_HIDKBD is not set -# CONFIG_EXAMPLES_IGMP is not set -# CONFIG_EXAMPLES_JSON is not set -# CONFIG_EXAMPLES_MEDIA is not set -# CONFIG_EXAMPLES_MM is not set -# CONFIG_EXAMPLES_MODBUS is not set -# CONFIG_EXAMPLES_MOUNT is not set -# CONFIG_EXAMPLES_NSH is not set -CONFIG_EXAMPLES_NULL=y -# CONFIG_EXAMPLES_NXFFS is not set -# CONFIG_EXAMPLES_NXHELLO is not set -# CONFIG_EXAMPLES_NXIMAGE is not set -# CONFIG_EXAMPLES_NX is not set -# CONFIG_EXAMPLES_NXLINES is not set -# CONFIG_EXAMPLES_NXTERM is not set -# CONFIG_EXAMPLES_NXTEXT is not set -# CONFIG_EXAMPLES_PCA9635 is not set -# CONFIG_EXAMPLES_POSIXSPAWN is not set -# CONFIG_EXAMPLES_POWERMONITOR is not set -# CONFIG_EXAMPLES_PPPD is not set -# CONFIG_EXAMPLES_RFID_READUID is not set -# CONFIG_EXAMPLES_RGBLED is not set -# CONFIG_EXAMPLES_SENDMAIL is not set -# CONFIG_EXAMPLES_SERIALBLASTER is not set -# CONFIG_EXAMPLES_SERIALRX is not set -# CONFIG_EXAMPLES_SERLOOP is not set -# CONFIG_EXAMPLES_SLCD is not set -# CONFIG_EXAMPLES_SMART is not set -# CONFIG_EXAMPLES_SMP is not set -# CONFIG_EXAMPLES_STAT is not set -# CONFIG_EXAMPLES_TCPECHO is not set -# CONFIG_EXAMPLES_TIFF is not set -# CONFIG_EXAMPLES_TOUCHSCREEN is not set -# CONFIG_EXAMPLES_WATCHDOG is not set -# CONFIG_EXAMPLES_WEBSERVER is not set -# CONFIG_EXAMPLES_XBC_TEST is not set - -# -# File System Utilities -# -# CONFIG_FSUTILS_INIFILE is not set - -# -# GPS Utilities -# -# CONFIG_GPSUTILS_MINMEA_LIB is not set - -# -# Graphics Support -# -# CONFIG_TIFF is not set -# CONFIG_GRAPHICS_TRAVELER is not set - -# -# Interpreters -# -# CONFIG_INTERPRETERS_FICL is not set -# CONFIG_INTERPRETERS_MICROPYTHON is not set -# CONFIG_INTERPRETERS_MINIBASIC is not set -# CONFIG_INTERPRETERS_PCODE is not set - -# -# FreeModBus -# -# CONFIG_MODBUS is not set - -# -# Network Utilities -# -# CONFIG_NETUTILS_CODECS is not set -# CONFIG_NETUTILS_ESP8266 is not set -# CONFIG_NETUTILS_FTPC is not set -# CONFIG_NETUTILS_JSON is not set -# CONFIG_NETUTILS_SMTP is not set - -# -# NSH Library -# -# CONFIG_NSH_LIBRARY is not set - -# -# NxWidgets/NxWM -# - -# -# Platform-specific Support -# -# CONFIG_PLATFORM_CONFIGDATA is not set -CONFIG_HAVE_CXXINITIALIZE=y - -# -# System Libraries and NSH Add-Ons -# -# CONFIG_SYSTEM_CLE is not set -# CONFIG_SYSTEM_CUTERM is not set -# CONFIG_SYSTEM_FREE is not set -# CONFIG_SYSTEM_HEX2BIN is not set -# CONFIG_SYSTEM_HEXED is not set -# CONFIG_SYSTEM_INSTALL is not set -# CONFIG_SYSTEM_RAMTEST is not set -# CONFIG_READLINE_HAVE_EXTMATCH is not set -# CONFIG_SYSTEM_READLINE is not set -# CONFIG_SYSTEM_STACKMONITOR is not set -# CONFIG_SYSTEM_SUDOKU is not set -# CONFIG_SYSTEM_TEE is not set -# CONFIG_SYSTEM_UBLOXMODEM is not set -# CONFIG_SYSTEM_VI is not set -# CONFIG_SYSTEM_ZMODEM is not set - -# -# Wireless Libraries and NSH Add-Ons -# - -# -# IEEE 802.15.4 applications -# -# CONFIG_IEEE802154_LIBMAC is not set -# CONFIG_IEEE802154_LIBUTILS is not set -# CONFIG_IEEE802154_I8SAK is not set diff --git a/platforms/nuttx/nuttx-configs/zubaxgnss-v1/scripts/ld.script b/platforms/nuttx/nuttx-configs/zubaxgnss-v1/scripts/ld.script deleted file mode 100644 index 6f71caf2ea..0000000000 --- a/platforms/nuttx/nuttx-configs/zubaxgnss-v1/scripts/ld.script +++ /dev/null @@ -1,153 +0,0 @@ -/**************************************************************************** - * nuttx-configs/zubaxgnss-v1/scripts/ld.script - * - * Copyright (C) 2015 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/* The STM32F105RCT6 has 256KiB of FLASH beginning at address 0x0800:0000 and - * 64KiB of SRAM beginning at address 0x2000:0000. When booting from FLASH, - * FLASH memory is aliased to address 0x0000:0000 where the code expects to - * begin execution by jumping to the entry point in the 0x0800:0000 address - * range. - * - * The first 8KiB of flash is reserved for the bootloader. - */ - -MEMORY -{ - flash (rx) : ORIGIN = 0x08002000, LENGTH = 248K - sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K -} - -OUTPUT_ARCH(arm) - -ENTRY(__start) /* treat __start as the anchor for dead code stripping */ -EXTERN(_vectors) /* force the vectors to be included in the output */ -/* - * Ensure that abort() is present in the final object. The exception handling - * code pulled in by libgcc.a requires it (and that code cannot be easily avoided). - */ -EXTERN(abort) - -SECTIONS -{ - .text : { - _stext = ABSOLUTE(.); - *(.vectors) - . = ALIGN(8); - /* - * This section positions the app_descriptor_t used - * by the make_can_boot_descriptor.py tool to set - * the application image's descriptor so that the - * uavcan bootloader has the ability to validate the - * image crc, size etc - */ - KEEP(*(.app_descriptor)) - *(.text .text.*) - *(.fixup) - *(.gnu.warning) - *(.rodata .rodata.*) - *(.gnu.linkonce.t.*) - *(.got) - *(.gcc_except_table) - *(.gnu.linkonce.r.*) - _etext = ABSOLUTE(.); - /* - * This is a hack to make the newlib libm __errno() call - * use the NuttX get_errno_ptr() function. - */ - __errno = get_errno_ptr; - } > flash - -/* - * Init functions (static constructors and the like) - */ - .init_section : { - _sinit = ABSOLUTE(.); - KEEP(*(.init_array .init_array.*)) - _einit = ABSOLUTE(.); - } > flash - - /* - * Construction data for parameters. - */ - __param ALIGN(4): { - __param_start = ABSOLUTE(.); - KEEP(*(__param)) - __param_end = ABSOLUTE(.); - } > flash - - .ARM.extab : { - *(.ARM.extab*) - } > flash - - __exidx_start = ABSOLUTE(.); - .ARM.exidx : { - *(.ARM.exidx*) - } > flash - __exidx_end = ABSOLUTE(.); - - _eronly = ABSOLUTE(.); - - /* The STM32F103CB has 20Kb of SRAM beginning at the following address */ - - .data : { - _sdata = ABSOLUTE(.); - *(.data .data.*) - *(.gnu.linkonce.d.*) - CONSTRUCTORS - _edata = ABSOLUTE(.); - } > sram AT > flash - - .bss : { - _sbss = ABSOLUTE(.); - *(.bss .bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - . = ALIGN(4); - _ebss = ABSOLUTE(.); - } > sram - - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } -} diff --git a/platforms/nuttx/src/px4_layer/CMakeLists.txt b/platforms/nuttx/src/px4_layer/CMakeLists.txt index 98f4065751..19dd2da806 100644 --- a/platforms/nuttx/src/px4_layer/CMakeLists.txt +++ b/platforms/nuttx/src/px4_layer/CMakeLists.txt @@ -32,7 +32,7 @@ ############################################################################ # skip for px4_layer support on an IO board -if (NOT ${BOARD} MATCHES "px4io") +if (NOT ${PX4_BOARD} MATCHES "px4io") add_library(px4_layer px4_nuttx_tasks.c diff --git a/platforms/posix/CMakeLists.txt b/platforms/posix/CMakeLists.txt index ef2dbfe39f..c8d56e7c27 100644 --- a/platforms/posix/CMakeLists.txt +++ b/platforms/posix/CMakeLists.txt @@ -21,7 +21,7 @@ px4_posix_generate_alias( PREFIX ${PX4_SHELL_COMMAND_PREFIX} ) -if (("${BOARD}" STREQUAL "eagle") OR ("${BOARD}" STREQUAL "excelsior")) +if (("${PX4_BOARD}" STREQUAL "atlflighteagle") OR ("${PX4_BOARD}" STREQUAL "atlflightexcelsior")) include(fastrpc) include(linux_app) @@ -55,7 +55,7 @@ if (("${BOARD}" STREQUAL "eagle") OR ("${BOARD}" STREQUAL "excelsior")) ) else() - px4_add_executable(px4 + add_executable(px4 src/main.cpp apps.cpp ) @@ -101,7 +101,7 @@ px4_posix_generate_symlinks( TARGET px4 ) -if ("${BOARD}" STREQUAL "rpi") +if (("${PX4_BOARD}" MATCHES "raspberrypi") OR ("${PX4_BOARD}" MATCHES "navio2")) add_custom_target(upload COMMAND rsync -arh --progress ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} ${PX4_SOURCE_DIR}/posix-configs/rpi/*.config ${PX4_SOURCE_DIR}/ROMFS pi@"$ENV{AUTOPILOT_HOST}":/home/pi DEPENDS px4 @@ -109,7 +109,7 @@ if ("${BOARD}" STREQUAL "rpi") USES_TERMINAL ) -elseif ("${BOARD}" STREQUAL "bbblue") +elseif ("${PX4_BOARD}" MATCHES "bbblue") target_link_libraries(px4 PRIVATE robotcontrol) add_custom_target(upload @@ -119,7 +119,7 @@ elseif ("${BOARD}" STREQUAL "bbblue") USES_TERMINAL ) -elseif ("${BOARD}" STREQUAL "bebop") +elseif ("${PX4_BOARD}" MATCHES "bebop") add_custom_target(upload COMMAND ${PX4_SOURCE_DIR}/Tools/adb_upload_to_bebop.sh ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/. /data/ftp/internal_000 @@ -128,7 +128,7 @@ elseif ("${BOARD}" STREQUAL "bebop") USES_TERMINAL ) -elseif ("${BOARD}" STREQUAL "sitl") +elseif ("${PX4_BOARD}" MATCHES "sitl") include(sitl_target) if(BUILD_TESTING) @@ -178,9 +178,9 @@ elseif ("${BOARD}" STREQUAL "sitl") # sitl_gazebo built plugins install( DIRECTORY - ${PROJECT_SOURCE_DIR}/build/posix_sitl_default/build_gazebo + ${PROJECT_SOURCE_DIR}/build/px4sitl_default/build_gazebo DESTINATION - ${PROJECT_NAME}/build/posix_sitl_default + ${PROJECT_NAME}/build/px4sitl_default FILES_MATCHING PATTERN "CMakeFiles" EXCLUDE PATTERN "*.so" @@ -204,14 +204,4 @@ elseif ("${BOARD}" STREQUAL "sitl") ${PROJECT_NAME}/Tools/sitl_gazebo ) -elseif (("${BOARD}" STREQUAL "eagle") OR ("${BOARD}" STREQUAL "excelsior")) - - # package all libs? - #install( - # FILES - # $ENV{HEXAGON_ARM_SYSROOT}/usr/lib/libadsprpc.so - # DESTINATION - # lib - # ) - endif() diff --git a/platforms/posix/cmake/Platform/Linux-arm-linux-gnueabihf-cortex-a53.cmake b/platforms/posix/cmake/Platform/Linux-arm-linux-gnueabihf-cortex-a53.cmake new file mode 100644 index 0000000000..0efdba6458 --- /dev/null +++ b/platforms/posix/cmake/Platform/Linux-arm-linux-gnueabihf-cortex-a53.cmake @@ -0,0 +1,6 @@ + +set(cpu_flags "-mcpu=cortex-a53 -mfpu=neon -mfloat-abi=hard") + +set(CMAKE_C_FLAGS "${cpu_flags}") +set(CMAKE_CXX_FLAGS "${cpu_flags}") +set(CMAKE_ASM_FLAGS "${cpu_flags} -D__ASSEMBLY__") diff --git a/platforms/posix/cmake/Platform/Linux-arm-linux-gnueabihf-cortex-a8.cmake b/platforms/posix/cmake/Platform/Linux-arm-linux-gnueabihf-cortex-a8.cmake new file mode 100644 index 0000000000..dc2ada647b --- /dev/null +++ b/platforms/posix/cmake/Platform/Linux-arm-linux-gnueabihf-cortex-a8.cmake @@ -0,0 +1,6 @@ + +set(cpu_flags "-mcpu=cortex-a9 -mfpu=neon-vfpv3 -mfloat-abi=hard -mthumb-interwork") + +set(CMAKE_C_FLAGS "${cpu_flags}") +set(CMAKE_CXX_FLAGS "${cpu_flags}") +set(CMAKE_ASM_FLAGS "${cpu_flags} -D__ASSEMBLY__") diff --git a/platforms/posix/cmake/Platform/Linux-arm-linux-gnueabihf-cortex-a9.cmake b/platforms/posix/cmake/Platform/Linux-arm-linux-gnueabihf-cortex-a9.cmake new file mode 100644 index 0000000000..7b9b3e665f --- /dev/null +++ b/platforms/posix/cmake/Platform/Linux-arm-linux-gnueabihf-cortex-a9.cmake @@ -0,0 +1,6 @@ + +set(cpu_flags "-mcpu=cortex-a8 -mfpu=neon-vfpv3 -mfloat-abi=hard -mthumb-interwork") + +set(CMAKE_C_FLAGS "${cpu_flags}") +set(CMAKE_CXX_FLAGS "${cpu_flags}") +set(CMAKE_ASM_FLAGS "${cpu_flags} -D__ASSEMBLY__") diff --git a/platforms/posix/cmake/Toolchain-arm-linux-gnueabihf.cmake b/platforms/posix/cmake/Toolchain-arm-linux-gnueabihf.cmake new file mode 100644 index 0000000000..9f68b2202c --- /dev/null +++ b/platforms/posix/cmake/Toolchain-arm-linux-gnueabihf.cmake @@ -0,0 +1,45 @@ +# arm-linux-gnueabihf-gcc toolchain + +set(CMAKE_SYSTEM_NAME Linux) +set(CMAKE_SYSTEM_VERSION 1) + +set(triple arm-linux-gnueabihf) +set(CMAKE_LIBRARY_ARCHITECTURE ${triple}) +set(TOOLCHAIN_PREFIX ${triple}) + +set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc) +set(CMAKE_C_COMPILER_TARGET ${triple}) + +set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++) +set(CMAKE_CXX_COMPILER_TARGET ${triple}) + +set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER}) + +# compiler tools +foreach(tool nm ld objcopy ranlib strip) + string(TOUPPER ${tool} TOOL) + find_program(CMAKE_${TOOL} ${TOOLCHAIN_PREFIX}-${tool}) + if(CMAKE-${TOOL} MATCHES "NOTFOUND") + message(FATAL_ERROR "could not find ${TOOLCHAIN_PREFIX}-${tool}") + endif() +endforeach() + +set(CMAKE_FIND_ROOT_PATH get_file_component(${CMAKE_C_COMPILER} PATH)) +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) + +# os tools +foreach(tool grep make) + string(TOUPPER ${tool} TOOL) + find_program(${TOOL} ${tool}) + if(NOT ${TOOL}) + message(FATAL_ERROR "could not find ${tool}") + endif() +endforeach() + +# optional compiler tools +foreach(tool gdb gdbtui) + string(TOUPPER ${tool} TOOL) + find_program(${TOOL} ${TOOLCHAIN_PREFIX}-${tool}) +endforeach() diff --git a/cmake/toolchains/Toolchain-native.cmake b/platforms/posix/cmake/Toolchain-native.cmake similarity index 100% rename from cmake/toolchains/Toolchain-native.cmake rename to platforms/posix/cmake/Toolchain-native.cmake diff --git a/platforms/posix/cmake/px4_add_board_os.cmake b/platforms/posix/cmake/px4_add_board_os.cmake new file mode 100644 index 0000000000..90d4acca8a --- /dev/null +++ b/platforms/posix/cmake/px4_add_board_os.cmake @@ -0,0 +1,106 @@ +############################################################################ +# +# Copyright (c) 2018 PX4 Development Team. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name PX4 nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +#============================================================================= +# +# Defined functions in this file +# +# utility functions +# +# * px4_add_board_os +# + +include(px4_base) + +#============================================================================= +# +# px4_add_board_os +# +# This function creates a PX4 board. +# +# Usage: +# px4_add_board_os( +# BOARD <string> +# OS <string> +# [ TOOLCHAIN ] <string> +# ) +# +# Input: +# BOARD : name of board +# OS : posix, nuttx, qurt +# +# +# Example: +# px4_add_board_os( +# BOARD px4fmu-v2_default +# OS nuttx +# ) +# +function(px4_add_board_os) + + px4_parse_function_args( + NAME px4_add_board_os + ONE_VALUE + VENDOR + MODEL + LABEL + PLATFORM + TOOLCHAIN + ARCH + ROMFSROOT + IO + BOOTLOADER + UAVCAN_INTERFACES + MULTI_VALUE + DRIVERS + MODULES + SYSTEMCMDS + EXAMPLES + SERIAL_PORTS + DF_DRIVERS # DriverFramework drivers + OPTIONS + CONSTRAINED_FLASH + ROMFS + TESTING + REQUIRED + ARGN ${ARGN}) + + if(NOT CMAKE_TOOLCHAIN_FILE) + # default to native toolchain + set(CMAKE_TOOLCHAIN_FILE Toolchain-native CACHE INTERNAL "toolchain file" FORCE) + endif() + + include(px4_impl_os) + px4_os_prebuild_targets(OUT prebuild_targets BOARD ${PX4_BOARD}) + +endfunction() diff --git a/platforms/posix/cmake/px4_impl_os.cmake b/platforms/posix/cmake/px4_impl_os.cmake index d21bccd3fc..acbc0d2937 100644 --- a/platforms/posix/cmake/px4_impl_os.cmake +++ b/platforms/posix/cmake/px4_impl_os.cmake @@ -45,8 +45,7 @@ # * px4_os_prebuild_targets # -include(common/px4_base) -list(APPEND CMAKE_MODULE_PATH ${PX4_SOURCE_DIR}/cmake/posix) +include(px4_base) # This makes it possible to dynamically load code which depends on symbols # inside the px4 executable. @@ -155,9 +154,7 @@ function(px4_posix_generate_alias) ) endif() endforeach() - configure_file(${PX4_SOURCE_DIR}/platforms/posix/src/px4-alias.sh_in - ${OUT} - ) + configure_file(${PX4_SOURCE_DIR}/platforms/posix/src/px4-alias.sh_in ${OUT}) endfunction() @@ -198,6 +195,7 @@ function(px4_posix_generate_symlinks) set(${property} ${${property}_DEFAULT}) endif() endforeach() + if (MAIN) set(ln_name "${PREFIX}${MAIN}") add_custom_command(TARGET ${TARGET} @@ -262,7 +260,7 @@ function(px4_os_add_flags) ARGN ${ARGN}) px4_add_common_flags( - BOARD ${BOARD} + BOARD ${PX4_BOARD} C_FLAGS ${C_FLAGS} CXX_FLAGS ${CXX_FLAGS} OPTIMIZATION_FLAGS ${OPTIMIZATION_FLAGS} @@ -292,8 +290,8 @@ function(px4_os_add_flags) message(FATAL_ERROR "PX4 Firmware requires XCode 8 or newer on Mac OS. Version installed on this system: ${CMAKE_CXX_COMPILER_VERSION}") endif() - EXEC_PROGRAM(uname ARGS -v OUTPUT_VARIABLE DARWIN_VERSION) - STRING(REGEX MATCH "[0-9]+" DARWIN_VERSION ${DARWIN_VERSION}) + execute_process(COMMAND uname -v OUTPUT_VARIABLE DARWIN_VERSION) + string(REGEX MATCH "[0-9]+" DARWIN_VERSION ${DARWIN_VERSION}) # message(STATUS "PX4 Darwin Version: ${DARWIN_VERSION}") if (DARWIN_VERSION LESS 16) add_definitions( @@ -318,7 +316,7 @@ function(px4_os_add_flags) endif() # This block sets added_c_flags (appends to others). - if ("${BOARD}" STREQUAL "eagle") + if ("${PX4_BOARD}" STREQUAL "eagle") if ("$ENV{HEXAGON_ARM_SYSROOT}" STREQUAL "") message(FATAL_ERROR "HEXAGON_ARM_SYSROOT not set") @@ -339,7 +337,7 @@ function(px4_os_add_flags) --sysroot=${HEXAGON_ARM_SYSROOT} ) # This block sets added_c_flags (appends to others). - elseif ("${BOARD}" STREQUAL "excelsior") + elseif ("${PX4_BOARD}" STREQUAL "excelsior") if ("$ENV{HEXAGON_ARM_SYSROOT}" STREQUAL "") message(FATAL_ERROR "HEXAGON_ARM_SYSROOT not set") @@ -359,7 +357,14 @@ function(px4_os_add_flags) ${excelsior_flags} ) - elseif ("${BOARD}" STREQUAL "rpi") + elseif ("${PX4_BOARD}" STREQUAL "rpi") + + add_definitions( + -D__PX4_POSIX_RPI + -D__DF_LINUX # For DriverFramework + -D__DF_RPI # For DriverFramework + ) + set(RPI_COMPILE_FLAGS -mcpu=cortex-a53 -mfpu=neon -mfloat-abi=hard) list(APPEND added_c_flags ${RPI_COMPILE_FLAGS}) list(APPEND added_cxx_flags ${RPI_COMPILE_FLAGS}) @@ -387,11 +392,41 @@ function(px4_os_add_flags) -L${CXX_COMPILER_PATH}/arm-linux-gnueabihf/libc/usr/lib ) ENDIF() - elseif ("${BOARD}" STREQUAL "bebop") + elseif ("${PX4_BOARD}" STREQUAL "bebop") + + add_definitions( + -D__PX4_POSIX_BEBOP + -D__DF_LINUX # Define needed DriverFramework + -D__DF_BEBOP # Define needed DriverFramework + ) + # TODO: Wmissing-field-initializers ignored on older toolchain, can be removed eventually list(APPEND added_cxx_flags -Wno-missing-field-initializers) - - elseif ("${BOARD}" STREQUAL "bbblue") + + elseif ("${PX4_BOARD}" MATCHES "ocpoc") + + add_definitions( + -D__PX4_POSIX_OCPOC + -D__DF_LINUX # For DriverFramework + -D__DF_OCPOC # For DriverFramework + -D__PX4_POSIX + ) + + elseif ("${PX4_BOARD}" STREQUAL "bbblue") + + add_definitions( + -D__PX4_POSIX_BBBLUE + -D__PX4_POSIX + -D__DF_LINUX # For DriverFramework + -D__DF_BBBLUE # For DriverFramework + -DRC_AUTOPILOT_EXT # Enable extensions in Robotics Cape Library + #-DDEBUG_BUILD + + #optional __DF_BBBLUE_USE_RC_BMP280_IMP + -D__DF_BBBLUE_USE_RC_BMP280_IMP + -D__PX4_BBBLUE_DEFAULT_MAVLINK_WIFI="wlan" + ) + set(BBBLUE_COMPILE_FLAGS -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=hard -mtune=cortex-a8) list(APPEND added_c_flags ${BBBLUE_COMPILE_FLAGS}) list(APPEND added_cxx_flags ${BBBLUE_COMPILE_FLAGS}) @@ -414,7 +449,6 @@ function(px4_os_add_flags) # output foreach(var ${inout_vars}) string(TOLOWER ${var} lower_var) - #message(STATUS "posix: set(${${var}} ${${${var}}} ${added_${lower_var}} PARENT_SCOPE)") set(${${var}} ${${${var}}} ${added_${lower_var}} PARENT_SCOPE) endforeach() @@ -433,7 +467,7 @@ endfunction() # ) # # Input: -# BOARD : board +# BOARD : board # # Output: # OUT : the target list @@ -445,9 +479,10 @@ function(px4_os_prebuild_targets) px4_parse_function_args( NAME px4_os_prebuild_targets ONE_VALUE OUT BOARD - REQUIRED OUT BOARD + REQUIRED OUT ARGN ${ARGN}) - add_library(${OUT} INTERFACE) - add_dependencies(${OUT} DEPENDS uorb_headers) + add_library(prebuild_targets INTERFACE) + add_dependencies(prebuild_targets DEPENDS uorb_headers) + endfunction() diff --git a/platforms/posix/src/px4_layer/CMakeLists.txt b/platforms/posix/src/px4_layer/CMakeLists.txt index 661da197fb..bbb71b48a6 100644 --- a/platforms/posix/src/px4_layer/CMakeLists.txt +++ b/platforms/posix/src/px4_layer/CMakeLists.txt @@ -33,7 +33,7 @@ set(EXTRA_DEPENDS) if("${CONFIG_SHMEM}" STREQUAL "1") - set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PX4_SOURCE_DIR}/cmake/cmake_hexagon") + list(APPEND CMAKE_MODULE_PATH "${PX4_SOURCE_DIR}/boards/atlflight/cmake_hexagon") include(hexagon_sdk) include_directories(${HEXAGON_SDK_INCLUDES}) include_directories(${PX4_BINARY_DIR}/platforms/posix) diff --git a/platforms/qurt/CMakeLists.txt b/platforms/qurt/CMakeLists.txt index 64387f780b..3c46461e2d 100644 --- a/platforms/qurt/CMakeLists.txt +++ b/platforms/qurt/CMakeLists.txt @@ -1,4 +1,5 @@ -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PX4_SOURCE_DIR}/cmake/cmake_hexagon") + +list(APPEND CMAKE_MODULE_PATH "${PX4_SOURCE_DIR}/boards/atlflight/cmake_hexagon") include(toolchain/Toolchain-qurt) include(fastrpc) include(qurt_lib) diff --git a/platforms/qurt/cmake/px4_add_board_os.cmake b/platforms/qurt/cmake/px4_add_board_os.cmake new file mode 100644 index 0000000000..975aec42dd --- /dev/null +++ b/platforms/qurt/cmake/px4_add_board_os.cmake @@ -0,0 +1,101 @@ +############################################################################ +# +# Copyright (c) 2018 PX4 Development Team. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name PX4 nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +#============================================================================= +# +# Defined functions in this file +# +# utility functions +# +# * px4_add_board_os +# + +include(px4_base) + +#============================================================================= +# +# px4_add_board_os +# +# This function creates a PX4 board. +# +# Usage: +# px4_add_board_os( +# BOARD <string> +# OS <string> +# [ TOOLCHAIN ] <string> +# ) +# +# Input: +# BOARD : name of board +# OS : posix, nuttx, qurt +# +# +# Example: +# px4_add_board_os( +# BOARD px4fmu-v2_default +# OS nuttx +# ) +# +function(px4_add_board_os) + + px4_parse_function_args( + NAME px4_add_board_os + ONE_VALUE + VENDOR + MODEL + LABEL + PLATFORM + TOOLCHAIN + ARCH + ROMFSROOT + IO + BOOTLOADER + UAVCAN_INTERFACES + MULTI_VALUE + DRIVERS + MODULES + SYSTEMCMDS + EXAMPLES + SERIAL_PORTS + DF_DRIVERS # DriverFramework drivers + OPTIONS + CONSTRAINED_FLASH + ROMFS + TESTING + REQUIRED + ARGN ${ARGN}) + + include(px4_impl_os) + px4_os_prebuild_targets(OUT prebuild_targets BOARD ${PX4_BOARD}) + +endfunction() diff --git a/platforms/qurt/cmake/px4_impl_os.cmake b/platforms/qurt/cmake/px4_impl_os.cmake index d5797f8337..8e4db781e3 100644 --- a/platforms/qurt/cmake/px4_impl_os.cmake +++ b/platforms/qurt/cmake/px4_impl_os.cmake @@ -49,8 +49,7 @@ # * px4_os_prebuild_targets # -include(common/px4_base) -list(APPEND CMAKE_MODULE_PATH ${PX4_SOURCE_DIR}/cmake/qurt) +include(px4_base) #============================================================================= # @@ -152,7 +151,7 @@ function(px4_os_add_flags) ARGN ${ARGN}) px4_add_common_flags( - BOARD ${BOARD} + BOARD ${PX4_BOARD} C_FLAGS ${C_FLAGS} CXX_FLAGS ${CXX_FLAGS} OPTIMIZATION_FLAGS ${OPTIMIZATION_FLAGS} @@ -205,7 +204,6 @@ function(px4_os_add_flags) foreach(var ${inout_vars}) string(TOLOWER ${var} lower_var) set(${${var}} ${${${var}}} ${added_${lower_var}} PARENT_SCOPE) - #message(STATUS "qurt: set(${${var}} ${${${var}}} ${added_${lower_var}} PARENT_SCOPE)") endforeach() endfunction() @@ -223,7 +221,7 @@ endfunction() # ) # # Input: -# BOARD : board +# BOARD : board # # Output: # OUT : the target list @@ -235,9 +233,10 @@ function(px4_os_prebuild_targets) px4_parse_function_args( NAME px4_os_prebuild_targets ONE_VALUE OUT BOARD - REQUIRED OUT BOARD + REQUIRED OUT ARGN ${ARGN}) - add_library(${OUT} INTERFACE) - add_dependencies(${OUT} DEPENDS uorb_headers) + add_library(prebuild_targets INTERFACE) + add_dependencies(prebuild_targets DEPENDS uorb_headers) + endfunction() diff --git a/platforms/qurt/include/board_config.h b/platforms/qurt/include/board_config.h index 6834fc28c3..7631af9347 100644 --- a/platforms/qurt/include/board_config.h +++ b/platforms/qurt/include/board_config.h @@ -13,4 +13,4 @@ #define BOARD_HAS_NO_RESET #define BOARD_HAS_NO_BOOTLOADER -#include "../common/board_common.h" +#include <drivers/boards/common/board_common.h> diff --git a/platforms/qurt/src/px4_layer/CMakeLists.txt b/platforms/qurt/src/px4_layer/CMakeLists.txt index b7b1fd83c7..87affa5a40 100644 --- a/platforms/qurt/src/px4_layer/CMakeLists.txt +++ b/platforms/qurt/src/px4_layer/CMakeLists.txt @@ -31,7 +31,7 @@ # ############################################################################ -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PX4_SOURCE_DIR}/cmake/cmake_hexagon") +list(APPEND CMAKE_MODULE_PATH "${PX4_SOURCE_DIR}/boards/atlflight/cmake_hexagon") include(hexagon_sdk) include_directories(${HEXAGON_8074_INCLUDES}) diff --git a/src/drivers/bbblue_adc/CMakeLists.txt b/src/drivers/bbblue_adc/CMakeLists.txt index e85e9f45f3..8cb424ec2a 100644 --- a/src/drivers/bbblue_adc/CMakeLists.txt +++ b/src/drivers/bbblue_adc/CMakeLists.txt @@ -30,7 +30,7 @@ # POSSIBILITY OF SUCH DAMAGE. # ############################################################################ -if ("${BOARD}" STREQUAL "bbblue") +if ("${PX4_BOARD}" STREQUAL "bbblue") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-error") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error") diff --git a/src/drivers/boards/CMakeLists.txt b/src/drivers/boards/CMakeLists.txt index 3ff910cc31..0b2ad7992e 100644 --- a/src/drivers/boards/CMakeLists.txt +++ b/src/drivers/boards/CMakeLists.txt @@ -31,11 +31,4 @@ # ############################################################################ -if (BOARD) - add_subdirectory(common) - add_subdirectory(${BOARD}) -else() - message(FATAL_ERROR "BOARD not defined") -endif() - - +add_subdirectory(common) diff --git a/src/drivers/boards/common/CMakeLists.txt b/src/drivers/boards/common/CMakeLists.txt index ce63d8d4eb..0650762097 100644 --- a/src/drivers/boards/common/CMakeLists.txt +++ b/src/drivers/boards/common/CMakeLists.txt @@ -32,7 +32,7 @@ ############################################################################ # common board drivers (currently only for nuttx fmu boards) -if (${OS} MATCHES "nuttx" AND NOT ${BOARD} MATCHES "io") +if ((${PX4_PLATFORM} MATCHES "nuttx") AND NOT ${PX4_BOARD} MATCHES "io") px4_add_library(drivers_boards_common board_crashdump.c diff --git a/src/drivers/boards/common/board_common.h b/src/drivers/boards/common/board_common.h index 12bcf0b294..1e4afa8623 100644 --- a/src/drivers/boards/common/board_common.h +++ b/src/drivers/boards/common/board_common.h @@ -255,7 +255,7 @@ # else /* Use PX4IO FW search paths defaults based on version */ # if BOARD_USES_PX4IO_VERSION == 2 -# define PX4IO_FW_SEARCH_PATHS {"/etc/extras/px4io-v2.bin", "/fs/microsd/px4io2.bin", "/fs/microsd/px4io.bin", nullptr } +# define PX4IO_FW_SEARCH_PATHS {"/etc/extras/px4io-v2_default.bin", "/fs/microsd/px4io2.bin", "/fs/microsd/px4io.bin", nullptr } # endif # endif #endif diff --git a/src/drivers/boards/common/stm32/CMakeLists.txt b/src/drivers/boards/common/stm32/CMakeLists.txt index 088003db7b..11c0107e2b 100644 --- a/src/drivers/boards/common/stm32/CMakeLists.txt +++ b/src/drivers/boards/common/stm32/CMakeLists.txt @@ -31,18 +31,11 @@ # ############################################################################ -set(SRCS +add_library(drivers_boards_common_arch board_identity.c + board_mcu_version.c + board_reset.c + board_hw_rev_ver.c ) - -if (NOT ${LABEL} STREQUAL "bootloader") - list(APPEND SRCS - board_mcu_version.c - board_reset.c - board_hw_rev_ver.c - ) -endif() - -add_library(drivers_boards_common_arch ${SRCS}) add_dependencies(drivers_boards_common_arch prebuild_targets) target_link_libraries(drivers_boards_common_arch PRIVATE nuttx_arch) diff --git a/src/drivers/boards/px4flow-v2/board_config.h b/src/drivers/boards/px4flow-v2/board_config.h deleted file mode 100644 index a9241548db..0000000000 --- a/src/drivers/boards/px4flow-v2/board_config.h +++ /dev/null @@ -1,385 +0,0 @@ -/**************************************************************************** - * - * Copyright (c) 2012-2015 PX4 Development Team. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name PX4 nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/** - * @file board_config.h - * - * PX4FLOWv2 internal definitions - */ - -#pragma once - -/**************************************************************************************************** - * Included Files - ****************************************************************************************************/ - -#include <px4_config.h> -#include <nuttx/compiler.h> -#include <stdint.h> - -/************************************************************************************ - * Definitions - ************************************************************************************/ - -#if STM32_NSPI < 1 -# undef CONFIG_STM32_SPI1 -# undef CONFIG_STM32_SPI2 -#elif STM32_NSPI < 2 -# undef CONFIG_STM32_SPI2 -#endif - -/* High-resolution timer - */ -#define HRT_TIMER 8 /* use timer1 for the HRT */ -#define HRT_TIMER_CHANNEL 8 /* use capture/compare channel */ - -/* GPIO *********************************************************************** - * - * GPIO Function MPU Board - * Pin # Name - * -- ----- -------------------------------- ---------------------- - * - * PA[00] PA0/TIM2_CH1/TIM5_CH1/USART2_CTS/UART4_TX 23 TIM5_CH1 - * PA[01] PA1/TIM2_CH2/TIM5_CH2/USART2_RTS/UART4_RX 24 TIM5_CH2 NC. - * PA[02] PA2/TIM2_CH3/TIM5_CH3/TIM9_CH1/USART2_TX 25 TIM5_CH3_EXPOSURE - * PA[03] PA3/TIM2_CH4/TIM5_CH4/TIM9_CH2/USART2_RX 26 TIM5_CH4_STANDBY - * PA[04] PA4/SPI1_NSS/SPI3_NSS/DCMI_HSYNC/LCD_VSYNC 29 DCMI_HSYNC - * PA[05] PA5/TIM2_CH1/TIM2_ETR/TIM8_CH1N/SPI1_SCK 30 CAM_NRESET - * PA[06] PA6/TIM3_CH1/SPI1_MISO/TIM13_CH1/DCMI_PIXCLK 31 DCMI_PIXCK - * PA[07] PA7/TIM1,8_CH1N/TIM3_CH2/SPI1_MOSI/TIM14_CH1 32 SPI1_MOSI--- - * PA[08] PA8/MCO1/TIM1_CH1/I2C3_SCL/USART1_CK/LCD_R6/ 67 MPU_CS - * PA[09] PA9/TIM1_CH2/USART1_TX/DCMI_D0/OTG_FS_VBUS 68 VBUS - * PA[10] PA10/TIM1_CH3/USART1_RX/OTG_FS_ID/DCMI_D1 69 OTG_FS_ID - * PA[11] PA11/TIM1_CH4/USART1_CTS/CAN1_RX/LCD_R4/OTG_FS_DM 70 OTG_FS_N - * PA[12] PA12/TIM1_ETR/USART1_RTS/CAN1_TX/LCD_R5/OTG_FS_DP 71 OTG_FS_P - * PA[13] PA13/JTMS-SWDIO 72 JTMS-SWDIO - * PA[14] PA14/JTCK-SWCLK 76 JTCK-SWCLK - * PA[15] PA15/JTDI/TIM2_CH1/TIM2_ETR/SPI1_NSS 77 JTDI - * - */ -/* - * PB[00] PB0/TIM1_CH2N/TIM3_CH3/TIM8_CH2N/OTG_HS_ULPI_D1 35 PRES_DRDY--- - * PB[01] PB1/TIM1,8_CH3N/TIM3_CH4/LCD_R6/OTG_HS_ULPI_D2 36 MAG_DRDY--- - * PB[02] PB2/BOOT1 37 PB2-BOOT1 - * PB[03] PB3/JTDO/TRACESWO/TIM2_CH2/SPI1_SCK/SPI3_SCK 89 JTDO - * PB[04] PB4/NJTRST/TIM3_CH1/SPI1_MISO/SPI3_MISO 90 JTRST - * PB[05] PB5/TIM3_CH2/SPI1_MOSI/SPI3_MOSI/CAN2_RX/DCMI_D10 91 PCM1_D10 N.C - * PB[06] PB6/TIM4_CH1/I2C1_SCL/USART1_TX/CAN2_TX/DCMI_D5 92 PCMI_D5 - * PB[07] PB7/TIM4_CH2/I2C1_SDA/USART1_RX/FMC_NL/DCMI_VSYNC 93 DCMI_VSYNC - * PB[08] PB8/TIM4_CH3/TIM10_CH1/I2C1_SCL/CAN1_RX/DCMI_D6 95 J2C1_SCL - * PB[09] PB9/TIM2_CH3/I2C2_SCL/SPI2_SCK/I2S2_CK/USART3_TX/ 96 J2C1_SDA - * PB[10] PB10/TIM2_CH3/I2C2_SCL/SPI2_SCK/I2S2_CK/USART3_TX 47 J2C2_SCL - * PB[11] PB11/TIM2_CH4/I2C2_SDA/USART3_RX/OTG_HS_ULPI_D4 48 J2C2_SDA - * PB[12] PB12/TIM1_BKIN/I2C2_SMBA/SPI2_NSS/CAN2_RX 51 SPI2_NSS - * PB[13] PB13/TIM1_CH1N/SPI2_SCK/USART3_CTS/CAN2_TX 52 SPI2_SCK - * PB[14] PB14/TIM1,8_CH2N/SPI2_MISO/USART3_RTS/TIM12_CH1 53 SPI2_MISO - * PB[15] PB15/TIM1_CH3N/TIM8_CH3N/SPI2_MOSI/TIM12_CH2 54 SPI2_MOSI - - - * PC[00] PC0/OTG_HS_ULPI_STP/FMC_SDNWE 15 ADC123_IN10 - * PC[01] PC1/ETH_MDC 16 ADC123_IN11 - * PC[02] PC2/SPI2_MISO/I2S2ext_SD 17 ADC123_IN12 - * PC[03] PC3/SPI2_MOSI/I2S2_SD 18 ADC123_IN13 - * PC[04] PC4/ETH_MII_RXD0/ETH_RMII_RXD0 33 ADC123_IN4 - * PC[05] PC5/ETH_MII_RXD1/ETH_RMII_RXD1 34 ADC123_IN5 - * PC[06] PC6/TIM3_CH1/TIM8_CH1/USART6_TX/SDIO_D6/DCMI_D0 63 DCMI_O0 - * PC[07] PC7/TIM3_CH2/TIM8_CH2/USART6_RX/SDIO_D7/DCMI_D1 64 DCMI_O1 - * PC[08] PC8/TIM3_CH3/TIM8_CH3/USART6_CK/SDIO_D0/DCMI_D2 65 TIM8_CH3_MASTERCLOCK - * PC[09] PC9/MCO2/TIM3_CH3/TIM8_CH4/SDIO_D1/DCMI_D3 66 TIM8_CH4_LED_OUT - * PC[10] PC10/SPI3_SCK/USART3_TX/UART4_TX/SDIO_D2/DCMI_D8 78 DCMI_D8 - * PC[11] PC11/SPI3_MISO/USART3_RX/UART4_RX/SDIO_D3DCMI_D4 78 UART4_RX - * PC[12] PC12/SPI3_MOSI/USART3_CK/UART5_TX/SDIO_CK/DCMI_D9 80 DCMI_09 - * PC[13] PC13 7 ADDR0 NC - * PC[14] PC14 8 ADDR1 NC - * PC[15] PC15 9 ADDR2 NC - - * PD[00] PD0/CAN1_RX/FMC_D2 81 CAN1_RX - * PD[01] PD1/CAN1_TX/FMC_D3 82 CAN1_TX - * PD[02] PD2/TIM3_ETR/UARTS_RX/SDIO_CMD/DCMI_D11 83 DCMI_D11_UARTS_RX NC - * PD[03] PD3/SPI2_SCK/USART2_CTS/FMC_CLK/DCMI_D5/LCD_G7 84 UART5_CTS - * PD[04] PD4/USART2_RTS/FMC_NOE 85 USART2_RTS - * PD[05] PD5/USART2_TX/FMC_NWE 86 USART2_TX - * PD[06] PD6/SPI3_MOSI/SAI1_SD_A/USART2_RX/DCMI_D10/LCD_B2 87 USART2_RX - * PD[07] PD7/USART2_CK/FMC_NE1/FMC_NCE2 88 USART2_CK NC - * PD[08] PD8/USART3_TX/FMC_D13 55 USART3_TX - * PD[09] PD9/USART3_RX/FMC_D14 56 USART3_RX - * PD[10] PD10/USART3_CK/FMC_D15/LCD_B3 57 USART3_CK - * PD[11] PD11/USART3_CTS/FMC_A16 58 USART3_CTS - * PD[12] PD12/TIM4_CH1/USART3_RTS/FMC_A17 59 USART3_RTS - * PD[13] PD13/TIM4_CH2/FMC_A18 60 PWM - * PD[14] PD14/TIM4_CH3/FMC_D0 61 POWER - * PD[15] PD15/TIM4_CH4/FMC_D1 62 PWM_EN - - * PE[00] PE0/TIM4_ETR/UART8_RX/FMC_NBL0/DCMI_D2 97 DCMI_D2 - * PE[01] PE1/UART8_Tx/FMC_NBL1/DCMI_D3 98 DCMI_D3 - * PE[02] PE2/TRACECLK/SPI4_SCK/SAI1_MCLK_A/FMC_A23 1 LED_AMBER - * PE[03] PE3/TRACED0/SAI1_SD_B/FMC_A19 2 LED_BLUE - * PE[04] PE4/TRACED1/SPI4_NSS/SAI1_FS_A/DCMI_D4/LCD_B0 3 DCMI_D4 - * PE[05] PE5/TRACED2/TIM9_CH1/SPI4_MISO/DCMI_D6/LCD_G0 4 DCMI_D6 - * PE[06] PE6/TRACED3/TIM9_CH2/SPI4_MOSI/DCMI_D7/LCD_G1 5 DCMI_D7 - * PE[07] PE7/TIM1_ETR/UART7_Rx/FMC_D4 38 LED RED - * PE[08] PE8/TIM1_CH1N/UART7_Tx/FMC_D5 39 US_FN1 - * PE[09] PE9/TIM1_CH1/FMC_D6 40 RED_LED - * PE[10] PE10/TIM1_CH2N/FMC_D7 41 US_EN2 - * PE[11] PE11/TIM1_CH2/8PI4_NSS/FMC_D8/LCD_G3 42 GREEN_LED - * PE[12] PE12/TIM1_CH3N/SPI4_SCK/FMC_D9/LCD_B4 43 UDD_3U3 - * PE[13] PE13/TIM1_CH3/SPI4_MISO/FMC_D10/LCD_DE 44 BLUE_LED - * PE[14] PE14/TIM1_CH4/SPI4_MOSI/FMC_D11/LCD_CLK 45 GND - * PE[15] PE15/TIM1_BKIN/FMC_D12/LCD_R7 46 GND -*/ - - - - -/* GPIO *********************************************************************** - * - * GPIO Function MPU Board - * Pin # Name - * -- ----- -------------------------------- ---------------------- - * - * PB0 - */ - -/* GPIO *********************************************************************** - * - * GPIO Function MPU Board - * Pin # Name - * -- ----- -------------------------------- ---------------------- - * - * PC0 - */ - -/* CAN ************************************************************************ * - * - * GPIO Function MPU Board - * Pin # Name - * -- ----- -------------------------------- ------------------------ - * - * PD[00] PD0/TIM4_CH3/I2C1_SCL/CAN1_RX 81 CAN1_RX - * PD[01] PD1/TIM4_CH4/I2C1_SDA/CAN1_TX 82 CAN1_TX - * - */ - -/* GPIO *********************************************************************** - * - * GPIO Function MPU Board - * Pin # Name - * -- ----- -------------------------------- ---------------------- - * - */ - -#define GPIO_WAIT_GETNODEINFO (GPIO_INPUT | GPIO_PULLUP | GPIO_PORTC | GPIO_PIN13) - - -/* LEDs *********************************************************************** - * - * GPIO Function MPU Board - * Pin # Name - * -- ----- -------------------------------- ---------------------- - * PE[09] PE9/TIM1_CH1/FMC_D6 40 RED_LED - * PE[11] PE11/TIM1_CH2/8PI4_NSS/FMC_D8/LCD_G3 42 GREEN_LED - * PE[13] PE13/TIM1_CH3/SPI4_MISO/FMC_D10/LCD_DE 44 BLUE_LED - * - */ - -#define GPIO_LED1 (GPIO_OUTPUT | GPIO_PUSHPULL | GPIO_SPEED_2MHz | \ - GPIO_PORTE | GPIO_PIN9 | GPIO_OUTPUT_SET) -#define GPIO_LED2 (GPIO_OUTPUT | GPIO_PUSHPULL | GPIO_SPEED_2MHz | \ - GPIO_PORTE | GPIO_PIN11 | GPIO_OUTPUT_SET) -#define GPIO_LED3 (GPIO_OUTPUT | GPIO_PUSHPULL | GPIO_SPEED_2MHz | \ - GPIO_PORTE | GPIO_PIN13 | GPIO_OUTPUT_SET) - -#define GPIO_TIM1_CH1OUT GPIO_TIM1_CH1OUT_2 /* Red */ -#define GPIO_TIM1_CH2OUT GPIO_TIM1_CH2OUT_2 /* Green */ -#define GPIO_TIM1_CH3OUT GPIO_TIM1_CH3OUT_2 /* Blue */ - -#define MIS_WIRED_V20 -/* todo:remove this */ -#if defined(MIS_WIRED_V20) -#pragma message "Built with MIS_WIRED_V20 set Fix this when New HW comes out" -/* The first proto (PCB) had red and Blow swapped */ -# define GPIO_LED_RED GPIO_LED3 -# define GPIO_LED_GREEN GPIO_LED2 -# define GPIO_LED_BLUE GPIO_LED1 -#else -/* This is the corrected wiring */ -# define GPIO_LED_RED GPIO_LED1 -# define GPIO_LED_GREEN GPIO_LED2 -# define GPIO_LED_BLUE GPIO_LED3 -#endif - -#define BOARD_NAME "PX4FLOW_V2" - -__BEGIN_DECLS - -/************************************************************************************ - * Public Types - ************************************************************************************/ - -/************************************************************************************ - * Public data - ************************************************************************************/ - -#ifndef __ASSEMBLY__ - -/************************************************************************************ - * Public Functions - ************************************************************************************/ - -/************************************************************************************ - * Name: stm32_spiinitialize - * - * Description: - * Called to configure SPI chip select GPIO pins. - * - ************************************************************************************/ - -#if defined(CONFIG_STM32_SPI1) || defined(CONFIG_STM32_SPI2) || \ - defined(CONFIG_STM32_SPI3) -void weak_function board_spiinitialize(void); -#endif - -/************************************************************************************ - * Name: stm32_usbinitialize - * - * Description: - * Called to setup USB-related GPIO pins. - * - ************************************************************************************/ - -void stm32_usbinitialize(void); - -/************************************************************************************ - * Name: stm32_usb_set_pwr_callback() - * - * Description: - * Called to setup set a call back for USB power state changes. - * - * Inputs: - * pwr_changed_handler: An interrupt handler that will be called on VBUS power - * state changes. - * - ************************************************************************************/ - -void stm32_usb_set_pwr_callback(xcpt_t pwr_changed_handler); - -/**************************************************************************** - * Name: stm32_led_initialize - * - * Description: - * This functions is called very early in initialization to perform board- - * specific initialization of LED-related resources. This includes such - * things as, for example, configure GPIO pins to drive the LEDs and also - * putting the LEDs in their correct initial state. - * - * NOTE: In most architectures, LED initialization() is called from - * board-specific initialization and should, therefore, have the name - * <arch>_led_intialize(). But there are a few architectures where the - * LED initialization function is still called from common chip - * architecture logic. This interface is not, however, a common board - * interface in any event and the name board_autoled_initialization is - * deprecated. - * - * Input Parameters: - * None - * - * Returned Value: - * None - * - ****************************************************************************/ - -#ifdef CONFIG_ARCH_LEDS -void board_autoled_initialize(void); -#endif - -/************************************************************************************ - * Name: stm32_can_initialize - * - * Description: - * Called at application startup time to initialize the CAN functionality. - * - ************************************************************************************/ - -#if defined(CONFIG_CAN) && (defined(CONFIG_STM32_CAN1) || defined(CONFIG_STM32_CAN2)) -int board_can_initialize(void); -#endif - -/************************************************************************************ - * Name: board_button_initialize - * - * Description: - * Called at application startup time to initialize the Buttons functionality. - * - ************************************************************************************/ - -#if defined(CONFIG_ARCH_BUTTONS) -void board_button_initialize(void); -#endif - -/**************************************************************************** - * Name: usbmsc_archinitialize - * - * Description: - * Called from the application system/usbmc or the boards_nsh if the - * application is not included. - * Perform architecture specific initialization. This function must - * configure the block device to export via USB. This function must be - * provided by architecture-specific logic in order to use this add-on. - * - ****************************************************************************/ - -#if !defined(CONFIG_NSH_BUILTIN_APPS) && !defined(CONFIG_SYSTEM_USBMSC) -int usbmsc_archinitialize(void); -#endif - -/**************************************************************************** - * Name: composite_archinitialize - * - * Description: - * Called from the application system/composite or the boards_nsh if the - * application is not included. - * Perform architecture specific initialization. This function must - * configure the block device to export via USB. This function must be - * provided by architecture-specific logic in order to use this add-on. - * - ****************************************************************************/ - -#if !defined(CONFIG_NSH_BUILTIN_APPS) && !defined(CONFIG_SYSTEM_COMPOSITE) -extern int composite_archinitialize(void); -#endif - -#include "../common/board_common.h" - -#endif /* __ASSEMBLY__ */ - -__END_DECLS diff --git a/src/drivers/boards/px4flow-v2/init.c b/src/drivers/boards/px4flow-v2/init.c deleted file mode 100644 index 2ff3fb6e54..0000000000 --- a/src/drivers/boards/px4flow-v2/init.c +++ /dev/null @@ -1,190 +0,0 @@ -/**************************************************************************** - * - * Copyright (c) 2012-2015 PX4 Development Team. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name PX4 nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/** - * @file px4flow_init.c - * - * PX4FLOW-specific early startup code. This file implements the - * board_app_initialize() function that is called early by nsh during startup. - * - * Code here is run before the rcS script is invoked; it should start required - * subsystems and perform board-specific initialization. - */ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <px4_config.h> - -#include <stdbool.h> -#include <stdio.h> -#include <debug.h> -#include <errno.h> - -#include "platform/cxxinitialize.h" -#include <nuttx/board.h> -#include <nuttx/spi/spi.h> -#include <nuttx/i2c/i2c_master.h> -#include <nuttx/mmcsd.h> -#include <nuttx/analog/adc.h> - -#include <stm32.h> -#include "board_config.h" -#include "stm32_uart.h" - -#include <arch/board/board.h> - -#include <drivers/drv_hrt.h> -#include <drivers/drv_board_led.h> - -#include <systemlib/cpuload.h> - -#if defined(CONFIG_HAVE_CXX) && defined(CONFIG_HAVE_CXXINITIALIZE) -#endif - -#include "board_config.h" - -/* todo: This is constant but not proper */ -__BEGIN_DECLS -extern void led_off(int led); -__END_DECLS - - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/* Configuration ************************************************************/ - -/* Debug ********************************************************************/ - -/**************************************************************************** - * Protected Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/************************************************************************************ - * Name: stm32_boardinitialize - * - * Description: - * All STM32 architectures must provide the following entry point. This entry point - * is called early in the initialization -- after all memory has been configured - * and mapped but before any devices have been initialized. - * - ************************************************************************************/ - -__EXPORT void stm32_boardinitialize(void) -{ - /* configure LEDs */ - board_autoled_initialize(); -#if defined(CONFIG_STM32_SPI1) || defined(CONFIG_STM32_SPI2) || \ - defined(CONFIG_STM32_SPI3) - board_spiinitialize(); -#endif -} - - -__EXPORT void board_initialize(void) -{ -} - -/**************************************************************************** - * Name: board_app_initialize - * - * Description: - * Perform application specific initialization. This function is never - * called directly from application code, but only indirectly via the - * (non-standard) boardctl() interface using the command BOARDIOC_INIT. - * - * Input Parameters: - * arg - The boardctl() argument is passed to the board_app_initialize() - * implementation without modification. The argument has no - * meaning to NuttX; the meaning of the argument is a contract - * between the board-specific initalization logic and the the - * matching application logic. The value cold be such things as a - * mode enumeration value, a set of DIP switch switch settings, a - * pointer to configuration data read from a file or serial FLASH, - * or whatever you would like to do with it. Every implementation - * should accept zero/NULL as a default configuration. - * - * Returned Value: - * Zero (OK) is returned on success; a negated errno value is returned on - * any failure to indicate the nature of the failure. - * - ****************************************************************************/ - - -__EXPORT int board_app_initialize(uintptr_t arg) -{ - int result = OK; - -#if defined(CONFIG_HAVE_CXX) && defined(CONFIG_HAVE_CXXINITIALIZE) - - /* run C++ ctors before we go any further */ - - up_cxxinitialize(); - -# if defined(CONFIG_EXAMPLES_NSH_CXXINITIALIZE) -# error CONFIG_EXAMPLES_NSH_CXXINITIALIZE Must not be defined! Use CONFIG_HAVE_CXX and CONFIG_HAVE_CXXINITIALIZE. -# endif - -#else -# error platform is dependent on c++ both CONFIG_HAVE_CXX and CONFIG_HAVE_CXXINITIALIZE must be defined. -#endif - - /* configure the high-resolution time/callout interface */ - hrt_init(); - - /* set up the serial DMA polling */ - static struct hrt_call serial_dma_call; - struct timespec ts; - - /* - * Poll at 1ms intervals for received bytes that have not triggered - * a DMA event. - */ - ts.tv_sec = 0; - ts.tv_nsec = 1000000; - - hrt_call_every(&serial_dma_call, - ts_to_abstime(&ts), - ts_to_abstime(&ts), - (hrt_callout)stm32_serial_dma_poll, - NULL); - - return result; -} diff --git a/src/drivers/boards/px4flow-v2/led.c b/src/drivers/boards/px4flow-v2/led.c deleted file mode 100644 index decfad3ac5..0000000000 --- a/src/drivers/boards/px4flow-v2/led.c +++ /dev/null @@ -1,192 +0,0 @@ -/**************************************************************************** - * - * Copyright (c) 2012-2015 PX4 Development Team. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name PX4 nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/** - * @file px4flow_led.c - * - * PX4ESC LED backend. - */ - -#include <px4_config.h> - -#include <stdbool.h> -#include <nuttx/board.h> - -#include "stm32.h" -#include "board_config.h" - -#include <arch/board/board.h> - -#include <systemlib/px4_macros.h> - -/* - * Ideally we'd be able to get these from up_internal.h, - * but since we want to be able to disable the NuttX use - * of leds for system indication at will and there is no - * separate switch, we need to build independent of the - * CONFIG_ARCH_LEDS configuration switch. - */ -__BEGIN_DECLS -extern void led_init(void); -extern void led_on(int led); -extern void led_off(int led); -extern void led_toggle(int led); -__END_DECLS - -static uint16_t g_ledmap[] = { - GPIO_LED_RED, // Indexed by BOARD_LED_RED - GPIO_LED_GREEN, // Indexed by BOARD_LED_GREEN - GPIO_LED_BLUE, // Indexed by BOARD_LED_BLUE -}; - -__EXPORT void led_init(void) -{ - /* Configure LED GPIOs for output */ - for (size_t l = 0; l < arraySize(g_ledmap); l++) { - stm32_configgpio(g_ledmap[l]); - } -} - -__EXPORT void board_autoled_initialize(void) -{ - led_init(); -} - -static void phy_set_led(int led, bool state) -{ - /* Pull Down to switch on */ - stm32_gpiowrite(g_ledmap[led], !state); -} - -static bool phy_get_led(int led) -{ - - return !stm32_gpioread(g_ledmap[led]); -} - -__EXPORT void led_on(int led) -{ - phy_set_led(led, true); -} - -__EXPORT void led_off(int led) -{ - phy_set_led(led, false); -} - -__EXPORT void led_toggle(int led) -{ - - phy_set_led(led, !phy_get_led(led)); -} - -static bool g_initialized; - -// Nuttx Usages - -__EXPORT -void board_autoled_on(int led) -{ - switch (led) { - default: - case LED_STARTED: - case LED_HEAPALLOCATE: - phy_set_led(BOARD_LED_BLUE, true); - break; - - case LED_IRQSENABLED: - phy_set_led(BOARD_LED_GREEN, true); - break; - - case LED_STACKCREATED: - phy_set_led(BOARD_LED_GREEN, true); - phy_set_led(BOARD_LED_BLUE, true); - g_initialized = true; - break; - - case LED_INIRQ: - case LED_SIGNAL: - phy_set_led(BOARD_LED_GREEN, true); - break; - - case LED_ASSERTION: - phy_set_led(BOARD_LED_RED, true); - phy_set_led(BOARD_LED_GREEN, true); - break; - - case LED_PANIC: - phy_set_led(BOARD_LED_RED, true); - break; - - case LED_IDLE : /* IDLE */ - phy_set_led(BOARD_LED_RED, true); - phy_set_led(BOARD_LED_BLUE, true); - break; - } -} - -/**************************************************************************** - * Name: board_autoled_off - ****************************************************************************/ - - -__EXPORT void board_autoled_off(int led) -{ - switch (led) { - default: - case LED_STARTED: - case LED_HEAPALLOCATE: - case LED_IRQSENABLED: - phy_set_led(BOARD_LED_BLUE, false); - - case LED_STACKCREATED: - break; - - case LED_INIRQ: - case LED_SIGNAL: - case LED_ASSERTION: - phy_set_led(BOARD_LED_RED, false); - phy_set_led(BOARD_LED_GREEN, false); - - break; - - case LED_PANIC: - phy_set_led(BOARD_LED_RED, false); - phy_set_led(BOARD_LED_GREEN, false); - break; - - case LED_IDLE: /* IDLE */ - phy_set_led(BOARD_LED_GREEN, g_initialized); - break; - } -} diff --git a/src/drivers/boards/zubaxgnss-v1/board_config.h b/src/drivers/boards/zubaxgnss-v1/board_config.h deleted file mode 100644 index d0fe26efaf..0000000000 --- a/src/drivers/boards/zubaxgnss-v1/board_config.h +++ /dev/null @@ -1,247 +0,0 @@ -/**************************************************************************** - * - * Copyright (c) 2012-2015 PX4 Development Team. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name PX4 nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/** - * @file board_config.h - * - * ZUBAXGNSSv1 internal definitions - */ - -#pragma once - -/**************************************************************************************************** - * Included Files - ****************************************************************************************************/ - -#include <px4_config.h> -#include <nuttx/compiler.h> -#include <stdint.h> - -/************************************************************************************ - * Definitions - ************************************************************************************/ - -#if STM32_NSPI < 1 -# undef CONFIG_STM32_SPI1 -# undef CONFIG_STM32_SPI2 -#elif STM32_NSPI < 2 -# undef CONFIG_STM32_SPI2 -#endif - -/* High-resolution timer - */ -#define HRT_TIMER 1 /* use timer1 for the HRT */ -#define HRT_TIMER_CHANNEL 1 /* use capture/compare channel */ -#define HRT_PPM_CHANNEL 3 /* use capture/compare channel 3 */ -#define GPIO_PPM_IN (GPIO_ALT|GPIO_CNF_INPULLUP|GPIO_PORTB|GPIO_PIN12) - -/* LEDs *********************************************************************** - * - * GPIO Function MPU Board - * Pin # Name - * -- ----- -------------------------------- ---------------------- - * - * PB[00] ADC12_IN8/TIM3_CH3/ETH_MII_RXD2/TIM1_CH2N 26 LED4 - * PC[04] ADC12_IN14/ETH_MII_RXD0(8)/ETH_RMII_RXD0 24 LED3 - * PC[05] ADC12_IN15/ETH_MII_RXD1(8)/ETH_RMII_RXD1 25 LED2 - */ - -#define GPIO_LED2 (GPIO_OUTPUT | GPIO_CNF_OUTPP | GPIO_MODE_50MHz | \ - GPIO_PORTC | GPIO_PIN5 | GPIO_OUTPUT_CLEAR) -#define GPIO_LED_CAN1 GPIO_LED2 - -#define GPIO_LED3 (GPIO_OUTPUT | GPIO_CNF_OUTPP | GPIO_MODE_50MHz | \ - GPIO_PORTC | GPIO_PIN4 | GPIO_OUTPUT_CLEAR) -#define GPIO_LED_CAN2 GPIO_LED3 - -#define GPIO_LED4 (GPIO_OUTPUT | GPIO_CNF_OUTPP | GPIO_MODE_50MHz | \ - GPIO_PORTB | GPIO_PIN0 | GPIO_OUTPUT_CLEAR) -#define GPIO_LED_INFO GPIO_LED4 - -/* SPI *************************************************************************** - * - * GPIO Function MPU Board - * Pin # Name - * -- ----- -------------------------------- ---------------------------- - * - * PC[09] PA4/SPI1_NSS/USART2_CK/ADC4 20 D10(#SS1) - * PD[02] PD2/TIM3_ETR 54 D25(MMC_CS) - */ - -#define GPIO_SPI1_SSn (GPIO_OUTPUT | GPIO_CNF_OUTPP | GPIO_MODE_50MHz | \ - GPIO_PORTA | GPIO_PIN4 | GPIO_OUTPUT_SET) -#define USER_CSn GPIO_SPI1_SSn - -__BEGIN_DECLS - -/************************************************************************************ - * Public Types - ************************************************************************************/ - -/************************************************************************************ - * Public data - ************************************************************************************/ - -#ifndef __ASSEMBLY__ - -/************************************************************************************ - * Public Functions - ************************************************************************************/ - -/************************************************************************************ - * Name: stm32_spiinitialize - * - * Description: - * Called to configure SPI chip select GPIO pins. - * - ************************************************************************************/ - -#if defined(CONFIG_STM32_SPI1) || defined(CONFIG_STM32_SPI2) || \ - defined(CONFIG_STM32_SPI3) -void weak_function board_spiinitialize(void); -#endif - -/************************************************************************************ - * Name: stm32_usbinitialize - * - * Description: - * Called to setup USB-related GPIO pins. - * - ************************************************************************************/ - -void stm32_usbinitialize(void); - -/************************************************************************************ - * Name: stm32_usb_set_pwr_callback() - * - * Description: - * Called to setup set a call back for USB power state changes. - * - * Inputs: - * pwr_changed_handler: An interrupt handler that will be called on VBUS power - * state changes. - * - ************************************************************************************/ - -void stm32_usb_set_pwr_callback(xcpt_t pwr_changed_handler); - -/**************************************************************************** - * Name: stm32_led_initialize - * - * Description: - * This functions is called very early in initialization to perform board- - * specific initialization of LED-related resources. This includes such - * things as, for example, configure GPIO pins to drive the LEDs and also - * putting the LEDs in their correct initial state. - * - * NOTE: In most architectures, LED initialization() is called from - * board-specific initialization and should, therefore, have the name - * <arch>_led_intialize(). But there are a few architectures where the - * LED initialization function is still called from common chip - * architecture logic. This interface is not, however, a common board - * interface in any event and the name board_autoled_initialization is - * deprecated. - * - * Input Parameters: - * None - * - * Returned Value: - * None - * - ****************************************************************************/ - -#ifdef CONFIG_ARCH_LEDS -void board_autoled_initialize(void); -#endif - -/************************************************************************************ - * Name: stm32_can_initialize - * - * Description: - * Called at application startup time to initialize the CAN functionality. - * - ************************************************************************************/ - -#if defined(CONFIG_CAN) && (defined(CONFIG_STM32_CAN1) || defined(CONFIG_STM32_CAN2)) -int board_can_initialize(void); -#endif - -/************************************************************************************ - * Name: board_button_initialize - * - * Description: - * Called at application startup time to initialize the Buttons functionality. - * - ************************************************************************************/ - -#if defined(CONFIG_ARCH_BUTTONS) -void board_button_initialize(void); -#endif - -/**************************************************************************** - * Name: usbmsc_archinitialize - * - * Description: - * Called from the application system/usbmc or the boards_nsh if the - * application is not included. - * Perform architecture specific initialization. This function must - * configure the block device to export via USB. This function must be - * provided by architecture-specific logic in order to use this add-on. - * - ****************************************************************************/ - -#if !defined(CONFIG_NSH_BUILTIN_APPS) && !defined(CONFIG_SYSTEM_USBMSC) -int usbmsc_archinitialize(void); -#endif - -/**************************************************************************** - * Name: composite_archinitialize - * - * Description: - * Called from the application system/composite or the boards_nsh if the - * application is not included. - * Perform architecture specific initialization. This function must - * configure the block device to export via USB. This function must be - * provided by architecture-specific logic in order to use this add-on. - * - ****************************************************************************/ - -#if !defined(CONFIG_NSH_BUILTIN_APPS) && !defined(CONFIG_SYSTEM_COMPOSITE) -extern int composite_archinitialize(void); -#endif - -#include "../common/board_common.h" - -#endif /* __ASSEMBLY__ */ - -__END_DECLS diff --git a/src/drivers/boards/zubaxgnss-v1/gnss_init.c b/src/drivers/boards/zubaxgnss-v1/gnss_init.c deleted file mode 100644 index 55a101a3ae..0000000000 --- a/src/drivers/boards/zubaxgnss-v1/gnss_init.c +++ /dev/null @@ -1,186 +0,0 @@ -/**************************************************************************** - * - * Copyright (c) 2012-2015 PX4 Development Team. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name PX4 nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/** - * @file zubax_gnss_init.c - * - * ZUBAXGNSS-specific early startup code. This file implements the - * board_app_initialize() function that is called early by nsh during startup. - * - * Code here is run before the rcS script is invoked; it should start required - * subsystems and perform board-specific initialization. - */ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <px4_config.h> - -#include <stdbool.h> -#include <stdio.h> -#include <debug.h> -#include <errno.h> - -#include "platform/cxxinitialize.h" -#include <nuttx/board.h> -#include <nuttx/spi/spi.h> -#include <nuttx/i2c/i2c_master.h> -#include <nuttx/mmcsd.h> -#include <nuttx/analog/adc.h> - -#include <stm32.h> -#include "board_config.h" -#include "stm32_uart.h" - -#include <arch/board/board.h> - -#include <drivers/drv_hrt.h> -#include <drivers/drv_board_led.h> - -#include <systemlib/cpuload.h> - -#if defined(CONFIG_HAVE_CXX) && defined(CONFIG_HAVE_CXXINITIALIZE) -#endif - -#include "board_config.h" - -/* todo: This is constant but not proper */ -__BEGIN_DECLS -extern void led_off(int led); -__END_DECLS - - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/* Configuration ************************************************************/ - -/* Debug ********************************************************************/ - -/**************************************************************************** - * Protected Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/************************************************************************************ - * Name: stm32_boardinitialize - * - * Description: - * All STM32 architectures must provide the following entry point. This entry point - * is called early in the initialization -- after all memory has been configured - * and mapped but before any devices have been initialized. - * - ************************************************************************************/ - -__EXPORT void stm32_boardinitialize(void) -{ - /* configure LEDs */ - board_autoled_initialize(); -} - - -__EXPORT void board_initialize(void) -{ -} - -/**************************************************************************** - * Name: board_app_initialize - * - * Description: - * Perform application specific initialization. This function is never - * called directly from application code, but only indirectly via the - * (non-standard) boardctl() interface using the command BOARDIOC_INIT. - * - * Input Parameters: - * arg - The boardctl() argument is passed to the board_app_initialize() - * implementation without modification. The argument has no - * meaning to NuttX; the meaning of the argument is a contract - * between the board-specific initalization logic and the the - * matching application logic. The value cold be such things as a - * mode enumeration value, a set of DIP switch switch settings, a - * pointer to configuration data read from a file or serial FLASH, - * or whatever you would like to do with it. Every implementation - * should accept zero/NULL as a default configuration. - * - * Returned Value: - * Zero (OK) is returned on success; a negated errno value is returned on - * any failure to indicate the nature of the failure. - * - ****************************************************************************/ - - -__EXPORT int board_app_initialize(uintptr_t arg) -{ - int result = OK; - -#if defined(CONFIG_HAVE_CXX) && defined(CONFIG_HAVE_CXXINITIALIZE) - - /* run C++ ctors before we go any further */ - - up_cxxinitialize(); - -# if defined(CONFIG_EXAMPLES_NSH_CXXINITIALIZE) -# error CONFIG_EXAMPLES_NSH_CXXINITIALIZE Must not be defined! Use CONFIG_HAVE_CXX and CONFIG_HAVE_CXXINITIALIZE. -# endif - -#else -# error platform is dependent on c++ both CONFIG_HAVE_CXX and CONFIG_HAVE_CXXINITIALIZE must be defined. -#endif - - /* configure the high-resolution time/callout interface */ - hrt_init(); - - /* set up the serial DMA polling */ - static struct hrt_call serial_dma_call; - struct timespec ts; - - /* - * Poll at 1ms intervals for received bytes that have not triggered - * a DMA event. - */ - ts.tv_sec = 0; - ts.tv_nsec = 1000000; - - hrt_call_every(&serial_dma_call, - ts_to_abstime(&ts), - ts_to_abstime(&ts), - (hrt_callout)stm32_serial_dma_poll, - NULL); - - return result; -} diff --git a/src/drivers/boards/zubaxgnss-v1/gnss_led.c b/src/drivers/boards/zubaxgnss-v1/gnss_led.c deleted file mode 100644 index a3558ce795..0000000000 --- a/src/drivers/boards/zubaxgnss-v1/gnss_led.c +++ /dev/null @@ -1,191 +0,0 @@ -/**************************************************************************** - * - * Copyright (c) 2012-2015 PX4 Development Team. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name PX4 nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/** - * @file zubax_gnss_led.c - * - * zubax_gnss LED backend. - */ - -#include <px4_config.h> - -#include <stdbool.h> -#include <nuttx/board.h> - -#include "stm32.h" -#include "board_config.h" - -#include <arch/board/board.h> - -#include <systemlib/px4_macros.h> - -/* - * Ideally we'd be able to get these from up_internal.h, - * but since we want to be able to disable the NuttX use - * of leds for system indication at will and there is no - * separate switch, we need to build independent of the - * CONFIG_ARCH_LEDS configuration switch. - */ -__BEGIN_DECLS -extern void led_init(void); -extern void led_on(int led); -extern void led_off(int led); -extern void led_toggle(int led); -__END_DECLS - -static uint16_t g_ledmap[] = { - GPIO_LED_INFO, // Indexed by BOARD_LED_GREEN - GPIO_LED_CAN1, // Indexed by BOARD_LED_RED - GPIO_LED_CAN2, // Indexed by BOARD_LED_BLUE - yes Blue -}; - -__EXPORT void led_init(void) -{ - /* Configure LED1-2 GPIOs for output */ - for (size_t l = 0; l < arraySize(g_ledmap); l++) { - stm32_configgpio(g_ledmap[l]); - } -} - -__EXPORT void board_autoled_initialize(void) -{ - led_init(); -} - -static void phy_set_led(int led, bool state) -{ - /* Pull Up to switch on */ - stm32_gpiowrite(g_ledmap[led], state); -} - -static bool phy_get_led(int led) -{ - - return !stm32_gpioread(g_ledmap[led]); -} - -__EXPORT void led_on(int led) -{ - phy_set_led(led, true); -} - -__EXPORT void led_off(int led) -{ - phy_set_led(led, false); -} - -__EXPORT void led_toggle(int led) -{ - - phy_set_led(led, !phy_get_led(led)); -} - -static bool g_initialized; - -// Nuttx Usages - -void board_autoled_on(int led) -{ - switch (led) { - default: - case LED_STARTED: - case LED_HEAPALLOCATE: - phy_set_led(BOARD_LED_BLUE, true); - break; - - case LED_IRQSENABLED: - phy_set_led(BOARD_LED_GREEN, true); - break; - - case LED_STACKCREATED: - phy_set_led(BOARD_LED_GREEN, true); - phy_set_led(BOARD_LED_BLUE, true); - g_initialized = true; - break; - - case LED_INIRQ: - case LED_SIGNAL: - phy_set_led(BOARD_LED_GREEN, true); - break; - - case LED_ASSERTION: - phy_set_led(BOARD_LED_RED, true); - phy_set_led(BOARD_LED_GREEN, true); - break; - - case LED_PANIC: - phy_set_led(BOARD_LED_RED, true); - break; - - case LED_IDLE : /* IDLE */ - phy_set_led(BOARD_LED_RED, true); - phy_set_led(BOARD_LED_BLUE, true); - break; - } -} - -/**************************************************************************** - * Name: board_autoled_off - ****************************************************************************/ - - -__EXPORT void board_autoled_off(int led) -{ - switch (led) { - default: - case LED_STARTED: - case LED_HEAPALLOCATE: - case LED_IRQSENABLED: - phy_set_led(BOARD_LED_BLUE, false); - - case LED_STACKCREATED: - break; - - case LED_INIRQ: - case LED_SIGNAL: - case LED_ASSERTION: - phy_set_led(BOARD_LED_RED, false); - phy_set_led(BOARD_LED_GREEN, false); - - break; - - case LED_PANIC: - phy_set_led(BOARD_LED_RED, false); - phy_set_led(BOARD_LED_GREEN, false); - break; - - case LED_IDLE: /* IDLE */ - phy_set_led(BOARD_LED_GREEN, g_initialized); - break; - } -} diff --git a/src/drivers/distance_sensor/sf0x/CMakeLists.txt b/src/drivers/distance_sensor/sf0x/CMakeLists.txt index f26411f4b2..a40f07907d 100644 --- a/src/drivers/distance_sensor/sf0x/CMakeLists.txt +++ b/src/drivers/distance_sensor/sf0x/CMakeLists.txt @@ -33,12 +33,13 @@ px4_add_module( MODULE drivers__sf0x MAIN sf0x - COMPILE_FLAGS SRCS sf0x.cpp sf0x_parser.cpp MODULE_CONFIG module.yaml - DEPENDS ) +if(PX4_TESTING) + add_subdirectory(sf0x_tests) +endif() diff --git a/src/drivers/px4io/CMakeLists.txt b/src/drivers/px4io/CMakeLists.txt index 13461cfdde..9a3a040b34 100644 --- a/src/drivers/px4io/CMakeLists.txt +++ b/src/drivers/px4io/CMakeLists.txt @@ -49,20 +49,20 @@ px4_add_module( # include the px4io binary in ROMFS message(STATUS "Building and including ${config_io_board}") -set(fw_io_exe "${PX4_SOURCE_DIR}/build/nuttx_${config_io_board}_default/nuttx_${config_io_board}_default.elf") -set(fw_io_bin "${PX4_BINARY_DIR}/romfs_extras/${config_io_board}.bin" CACHE FILEPATH "px4io binary path") +include(ExternalProject) +ExternalProject_Add(px4io_firmware + SOURCE_DIR ${CMAKE_SOURCE_DIR} + DOWNLOAD_COMMAND "" + UPDATE_COMMAND "" + CMAKE_ARGS -DCONFIG=${config_io_board} + INSTALL_COMMAND "" + USES_TERMINAL_BUILD true +) -file(GLOB_RECURSE px4io_driver_files ${PX4_SOURCE_DIR}/src/drivers/boards/${config_io_board}/*) -file(GLOB_RECURSE px4io_config_files ${PX4_SOURCE_DIR}/platforms/nuttx/NuttX/configs/${config_io_board}/*) -file(GLOB_RECURSE px4io_firmware_files ${PX4_SOURCE_DIR}/src/modules/px4iofirmware/*) -file(GLOB_RECURSE px4io_rc_files ${PX4_SOURCE_DIR}/src/lib/rc/*) -add_custom_command(OUTPUT ${fw_io_exe} - COMMAND make --no-print-directory nuttx_${config_io_board}_default - DEPENDS ${px4io_driver_files} ${px4io_config_files} ${px4io_firmware_files} ${px4io_rc_files} - WORKING_DIRECTORY ${PX4_SOURCE_DIR} - COMMENT "Building ${config_io_board}" - USES_TERMINAL - ) +ExternalProject_Get_Property(px4io_firmware BINARY_DIR) + +set(fw_io_exe "${BINARY_DIR}/${config_io_board}.elf") +set(fw_io_bin "${PX4_BINARY_DIR}/romfs_extras/${config_io_board}.bin" CACHE FILEPATH "px4io binary path") file(RELATIVE_PATH fw_io_exe_relative ${CMAKE_CURRENT_BINARY_DIR} ${fw_io_exe}) file(RELATIVE_PATH fw_io_bin_relative ${CMAKE_CURRENT_BINARY_DIR} ${fw_io_bin}) @@ -70,7 +70,7 @@ file(RELATIVE_PATH fw_io_bin_relative ${CMAKE_CURRENT_BINARY_DIR} ${fw_io_bin}) add_custom_command(OUTPUT ${fw_io_bin} COMMAND ${CMAKE_COMMAND} -E make_directory ${PX4_BINARY_DIR}/romfs_extras COMMAND ${CMAKE_OBJCOPY} -O binary ${fw_io_exe_relative} ${fw_io_bin_relative} - DEPENDS ${fw_io_exe} + DEPENDS px4io_firmware COMMENT "Copying ${config_io_board} to ROMFS extras" ) add_custom_target(copy_px4io_bin DEPENDS ${fw_io_bin}) diff --git a/src/lib/cdev/CMakeLists.txt b/src/lib/cdev/CMakeLists.txt index 1f5a981fd4..1f65c76cc4 100644 --- a/src/lib/cdev/CMakeLists.txt +++ b/src/lib/cdev/CMakeLists.txt @@ -32,7 +32,7 @@ ############################################################################ set(SRCS_PLATFORM) -if (${OS} STREQUAL "nuttx") +if (${PX4_PLATFORM} STREQUAL "nuttx") list(APPEND SRCS_PLATFORM nuttx/cdev_platform.cpp ) diff --git a/src/lib/controllib/CMakeLists.txt b/src/lib/controllib/CMakeLists.txt index e3077f2253..860ce49e15 100644 --- a/src/lib/controllib/CMakeLists.txt +++ b/src/lib/controllib/CMakeLists.txt @@ -42,4 +42,8 @@ px4_add_library(controllib BlockLimitSym.cpp BlockLowPass.cpp BlockLowPass2.cpp -) \ No newline at end of file +) + +if(PX4_TESTING) + add_subdirectory(controllib_test) +endif() diff --git a/src/lib/drivers/device/CMakeLists.txt b/src/lib/drivers/device/CMakeLists.txt index e175e467b7..e6dca23d79 100644 --- a/src/lib/drivers/device/CMakeLists.txt +++ b/src/lib/drivers/device/CMakeLists.txt @@ -32,7 +32,7 @@ ############################################################################ set(SRCS_PLATFORM) -if (${OS} STREQUAL "nuttx") +if (${PX4_PLATFORM} STREQUAL "nuttx") if ("${CONFIG_I2C}" STREQUAL "y") list(APPEND SRCS_PLATFORM nuttx/I2C.cpp) endif() @@ -53,7 +53,7 @@ px4_add_library(drivers__device ${SRCS_PLATFORM} ) -if (${OS} STREQUAL "nuttx") +if (${PX4_PLATFORM} STREQUAL "nuttx") target_link_libraries(drivers__device PRIVATE nuttx_arch) endif() diff --git a/src/lib/parameters/CMakeLists.txt b/src/lib/parameters/CMakeLists.txt index 79684d6810..bfac359edb 100644 --- a/src/lib/parameters/CMakeLists.txt +++ b/src/lib/parameters/CMakeLists.txt @@ -39,6 +39,7 @@ endif() # get full path for each module get_property(module_list GLOBAL PROPERTY PX4_MODULE_PATHS) + if (DISABLE_PARAMS_MODULE_SCOPING) # search all directories with .c files (potentially containing parameters) file(GLOB_RECURSE new_list @@ -49,20 +50,7 @@ if (DISABLE_PARAMS_MODULE_SCOPING) get_filename_component(dir_path ${file_path} PATH) list(APPEND module_list "${dir_path}") endforeach() - list(REMOVE_DUPLICATES module_list) else() - foreach(module ${config_module_list}) - # include all subdirectories as well - file(GLOB children RELATIVE ${PX4_SOURCE_DIR}/src/${module} ${PX4_SOURCE_DIR}/src/${module}/*) - foreach(child ${children}) - if(IS_DIRECTORY ${PX4_SOURCE_DIR}/src/${module}/${child}) - list(APPEND module_list ${PX4_SOURCE_DIR}/src/${module}/${child}) - endif() - endforeach() - - list(APPEND module_list ${PX4_SOURCE_DIR}/src/${module}) - endforeach() - list(APPEND module_list ${external_module_paths}) endif() @@ -96,7 +84,7 @@ add_custom_command(OUTPUT ${parameters_xml} --xml ${parameters_xml} --inject-xml ${CMAKE_CURRENT_SOURCE_DIR}/parameters_injected.xml --overrides ${PARAM_DEFAULT_OVERRIDES} - --board ${BOARD} + --board ${PX4_BOARD} #--verbose DEPENDS ${param_src_files} @@ -132,12 +120,12 @@ else() list(APPEND SRCS parameters.cpp) endif() -if(${OS} STREQUAL "nuttx") +if(${PX4_PLATFORM} STREQUAL "nuttx") add_subdirectory(flashparams) endif() # TODO: find a better way to do this -if (NOT "${CONFIG}" MATCHES "px4io") +if (NOT "${PX4_BOARD}" MATCHES "px4io") add_library(parameters ${SRCS} px4_parameters.c @@ -157,6 +145,6 @@ else() endif() add_dependencies(parameters prebuild_targets) -if(${OS} STREQUAL "nuttx") +if(${PX4_PLATFORM} STREQUAL "nuttx") target_link_libraries(parameters PRIVATE flashparams tinybson) endif() diff --git a/src/lib/rc/CMakeLists.txt b/src/lib/rc/CMakeLists.txt index a517286221..1295729495 100644 --- a/src/lib/rc/CMakeLists.txt +++ b/src/lib/rc/CMakeLists.txt @@ -41,3 +41,7 @@ add_library(rc ) target_compile_options(rc PRIVATE -Wno-unused-result) target_link_libraries(rc PRIVATE prebuild_targets) + +if(PX4_TESTING AND (${PX4_PLATFORM} MATCHES "posix")) + add_subdirectory(rc_tests) +endif() diff --git a/src/lib/rc/rc_tests/RCTest.cpp b/src/lib/rc/rc_tests/RCTest.cpp index ba6fba2046..edc757f6d0 100644 --- a/src/lib/rc/rc_tests/RCTest.cpp +++ b/src/lib/rc/rc_tests/RCTest.cpp @@ -3,6 +3,7 @@ #include <systemlib/err.h> #include <stdio.h> +#include <string.h> #include <unistd.h> #include <drivers/drv_hrt.h> diff --git a/src/modules/commander/CMakeLists.txt b/src/modules/commander/CMakeLists.txt index a60fe3a828..83708af04d 100644 --- a/src/modules/commander/CMakeLists.txt +++ b/src/modules/commander/CMakeLists.txt @@ -30,6 +30,9 @@ # POSSIBILITY OF SUCH DAMAGE. # ############################################################################ + +add_subdirectory(failure_detector) + px4_add_module( MODULE modules__commander MAIN commander @@ -52,10 +55,14 @@ px4_add_module( rc_calibration.cpp rc_check.cpp state_machine_helper.cpp - failure_detector/FailureDetector.cpp DEPENDS circuit_breaker df_driver_framework + failure_detector git_ecl ecl_geo ) + +if(PX4_TESTING) + add_subdirectory(commander_tests) +endif() diff --git a/src/drivers/boards/px4flow-v2/CMakeLists.txt b/src/modules/commander/failure_detector/CMakeLists.txt similarity index 93% rename from src/drivers/boards/px4flow-v2/CMakeLists.txt rename to src/modules/commander/failure_detector/CMakeLists.txt index bb7b1066a3..8c68bc6d71 100644 --- a/src/drivers/boards/px4flow-v2/CMakeLists.txt +++ b/src/modules/commander/failure_detector/CMakeLists.txt @@ -1,6 +1,6 @@ ############################################################################ # -# Copyright (c) 2015 PX4 Development Team. All rights reserved. +# Copyright (c) 2018 PX4 Development Team. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -31,8 +31,6 @@ # ############################################################################ -px4_add_library(drivers_board - can.c - init.c - led.c +px4_add_library(failure_detector + FailureDetector.cpp ) diff --git a/src/modules/mavlink/CMakeLists.txt b/src/modules/mavlink/CMakeLists.txt index 1b82aee2fa..5aecb2a653 100644 --- a/src/modules/mavlink/CMakeLists.txt +++ b/src/modules/mavlink/CMakeLists.txt @@ -70,3 +70,7 @@ px4_add_module( version UNITY_BUILD ) + +if(PX4_TESTING) + add_subdirectory(mavlink_tests) +endif() diff --git a/src/modules/micrortps_bridge/CMakeLists.txt b/src/modules/micrortps_bridge/CMakeLists.txt index 364f5b2325..533ee53ebb 100644 --- a/src/modules/micrortps_bridge/CMakeLists.txt +++ b/src/modules/micrortps_bridge/CMakeLists.txt @@ -76,7 +76,7 @@ if (GENERATE_RTPS_BRIDGE) ############################################################################### # micro-cdr serialization ############################################################################### - include(common/px4_git) + include(px4_git) px4_add_git_submodule(TARGET git_micro_cdr PATH micro-CDR) add_subdirectory(micro-CDR) diff --git a/src/modules/simulator/CMakeLists.txt b/src/modules/simulator/CMakeLists.txt index 437a418658..f47d3da71e 100644 --- a/src/modules/simulator/CMakeLists.txt +++ b/src/modules/simulator/CMakeLists.txt @@ -48,7 +48,7 @@ configure_file(simulator_config.h.in simulator_config.h @ONLY) include_directories(${CMAKE_CURRENT_BINARY_DIR}) set(SIMULATOR_SRCS simulator.cpp) -if (NOT ${OS} STREQUAL "qurt") +if (NOT ${PX4_PLATFORM} STREQUAL "qurt") list(APPEND SIMULATOR_SRCS simulator_mavlink.cpp) endif() diff --git a/src/modules/systemlib/CMakeLists.txt b/src/modules/systemlib/CMakeLists.txt index 0427d42f1c..1dccad1454 100644 --- a/src/modules/systemlib/CMakeLists.txt +++ b/src/modules/systemlib/CMakeLists.txt @@ -40,7 +40,7 @@ set(SRCS otp.c ) -if(${OS} STREQUAL "nuttx") +if(${PX4_PLATFORM} STREQUAL "nuttx") list(APPEND SRCS print_load_nuttx.c ) @@ -51,7 +51,7 @@ else() endif() # TODO: find a better way to do this -if (NOT "${CONFIG}" MATCHES "px4io") +if (NOT "${PX4_BOARD}" MATCHES "px4io") px4_add_library(systemlib ${SRCS}) else() add_library(systemlib ${PX4_SOURCE_DIR}/src/platforms/empty.c) diff --git a/src/modules/uORB/CMakeLists.txt b/src/modules/uORB/CMakeLists.txt index af1ad1be3e..8ffeeffebe 100644 --- a/src/modules/uORB/CMakeLists.txt +++ b/src/modules/uORB/CMakeLists.txt @@ -50,3 +50,7 @@ px4_add_module( DEPENDS uorb_msgs ) + +if(PX4_TESTING) + add_subdirectory(uORB_tests) +endif() diff --git a/src/modules/uavcan/CMakeLists.txt b/src/modules/uavcan/CMakeLists.txt index 7e3b2208f6..0a6fb2427e 100644 --- a/src/modules/uavcan/CMakeLists.txt +++ b/src/modules/uavcan/CMakeLists.txt @@ -35,21 +35,22 @@ px4_add_git_submodule(TARGET git_uavcan PATH "libuavcan") set(UAVCAN_USE_CPP03 ON CACHE BOOL "uavcan cpp03") -# The default is the stm32 -if(NOT UAVCAN_PLATFORM) - set(UAVCAN_PLATFORM stm32 CACHE STRING "uavcan platform") -endif() +if(CONFIG_ARCH_CHIP) -# The default timer the 5 -if(NOT UAVCAN_TIMER) - set(UAVCAN_TIMER 5) + if (${CONFIG_ARCH_CHIP} MATCHES "kinetis") + set(UAVCAN_PLATFORM "kinetis") + set(UAVCAN_TIMER 1) + elseif (${CONFIG_ARCH_CHIP} MATCHES "stm32") + set(UAVCAN_PLATFORM "stm32") + set(UAVCAN_TIMER 5) # The default timer the 5 + endif() endif() if(NOT config_uavcan_num_ifaces) message(FATAL_ERROR "config_uavcan_num_ifaces not set") endif() -string(TOUPPER "${OS}" OS_UPPER) +string(TOUPPER "${PX4_PLATFORM}" OS_UPPER) string(TOUPPER "${UAVCAN_PLATFORM}" UAVCAN_PLATFORM_UPPER) add_definitions( -DUAVCAN_CPP_VERSION=UAVCAN_CPP03 diff --git a/src/modules/uavcanesc/CMakeLists.txt b/src/modules/uavcanesc/CMakeLists.txt index e9f94456af..e7af4c6c90 100644 --- a/src/modules/uavcanesc/CMakeLists.txt +++ b/src/modules/uavcanesc/CMakeLists.txt @@ -36,7 +36,7 @@ px4_add_git_submodule(TARGET git_uavcan PATH "../uavcan/libuavcan") set(UAVCAN_USE_CPP03 ON CACHE BOOL "uavcan cpp03") set(UAVCAN_PLATFORM stm32 CACHE STRING "uavcan platform") -string(TOUPPER "${OS}" OS_UPPER) +string(TOUPPER "${PX4_PLATFORM}" OS_UPPER) add_definitions( -DUAVCAN_CPP_VERSION=UAVCAN_CPP03 -DUAVCAN_MAX_NETWORK_SIZE_HINT=16 diff --git a/src/modules/uavcannode/CMakeLists.txt b/src/modules/uavcannode/CMakeLists.txt index bf6373edbf..863a19e44b 100644 --- a/src/modules/uavcannode/CMakeLists.txt +++ b/src/modules/uavcannode/CMakeLists.txt @@ -36,7 +36,7 @@ px4_add_git_submodule(TARGET git_uavcan PATH "../uavcan/libuavcan") set(UAVCAN_USE_CPP03 ON CACHE BOOL "uavcan cpp03") set(UAVCAN_PLATFORM stm32 CACHE STRING "uavcan platform") -string(TOUPPER "${OS}" OS_UPPER) +string(TOUPPER "${PX4_PLATFORM}" OS_UPPER) add_definitions( -DUAVCAN_CPP_VERSION=UAVCAN_CPP03 -DUAVCAN_MAX_NETWORK_SIZE_HINT=16 diff --git a/src/platforms/common/CMakeLists.txt b/src/platforms/common/CMakeLists.txt index fcd2eb5b04..5639e5b915 100644 --- a/src/platforms/common/CMakeLists.txt +++ b/src/platforms/common/CMakeLists.txt @@ -33,7 +33,7 @@ set(SRCS) -if (NOT "${OS}" MATCHES "qurt" AND NOT "${CONFIG}" MATCHES "px4io") +if (NOT "${PX4_PLATFORM}" MATCHES "qurt" AND NOT "${PX4_BOARD}" MATCHES "io-v2") list(APPEND SRCS px4_log.c ) diff --git a/src/platforms/common/work_queue/CMakeLists.txt b/src/platforms/common/work_queue/CMakeLists.txt index 22eef45761..f47f0b5829 100644 --- a/src/platforms/common/work_queue/CMakeLists.txt +++ b/src/platforms/common/work_queue/CMakeLists.txt @@ -32,7 +32,7 @@ ############################################################################ # nuttx uses internal work queue currently -if (NOT "${OS}" MATCHES "nuttx") +if (NOT "${PX4_PLATFORM}" MATCHES "nuttx") add_library(work_queue dq_addlast.c diff --git a/src/systemcmds/tests/CMakeLists.txt b/src/systemcmds/tests/CMakeLists.txt index 2914e58fef..88ff7ce09b 100644 --- a/src/systemcmds/tests/CMakeLists.txt +++ b/src/systemcmds/tests/CMakeLists.txt @@ -75,7 +75,7 @@ set(srcs tests_main.c ) -if(${OS} STREQUAL "nuttx") +if(${PX4_PLATFORM} STREQUAL "nuttx") list(APPEND srcs test_time.c test_uart_break.c diff --git a/test/rostest_px4_run.sh b/test/rostest_px4_run.sh index c80c2ab7eb..44f4f8b882 100755 --- a/test/rostest_px4_run.sh +++ b/test/rostest_px4_run.sh @@ -4,7 +4,7 @@ DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) PX4_SRC_DIR=${DIR}/.. source /opt/ros/kinetic/setup.bash -source ${PX4_SRC_DIR}/Tools/setup_gazebo.bash ${PX4_SRC_DIR} ${PX4_SRC_DIR}/build/posix_sitl_default +source ${PX4_SRC_DIR}/Tools/setup_gazebo.bash ${PX4_SRC_DIR} ${PX4_SRC_DIR}/build/px4sitl_default export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:${PX4_SRC_DIR}:${PX4_SRC_DIR}/Tools/sitl_gazebo -- GitLab