From 18c34069d5710534077754e537d0e8563190d5f4 Mon Sep 17 00:00:00 2001 From: LukeMike Date: Fri, 2 Feb 2018 18:17:25 +0100 Subject: [PATCH] VRBRAIN / mk: updated makefiles and ROMFS --- mk/VRBRAIN/ROMFS/init.d/rc.APM | 40 +------- mk/VRBRAIN/ROMFS/init.d/rc.error | 15 ++- mk/VRBRAIN/ROMFS/init.d/rcS | 68 +++---------- mk/VRBRAIN/config_vrbrain-v51_APM.mk | 4 +- mk/VRBRAIN/config_vrbrain-v52_APM.mk | 4 +- mk/VRBRAIN/config_vrbrain-v54_APM.mk | 4 +- mk/VRBRAIN/config_vrcore-v10_APM.mk | 4 +- mk/VRBRAIN/config_vrubrain-v51_APM.mk | 4 +- mk/VRBRAIN/config_vrubrain-v52_APM.mk | 4 +- mk/VRBRAIN/vrbrain_common.mk | 27 +----- mk/vrbrain_targets.mk | 134 ++++++++++++++++---------- 11 files changed, 125 insertions(+), 183 deletions(-) diff --git a/mk/VRBRAIN/ROMFS/init.d/rc.APM b/mk/VRBRAIN/ROMFS/init.d/rc.APM index 00e5a10464..4cd9cb0ca0 100644 --- a/mk/VRBRAIN/ROMFS/init.d/rc.APM +++ b/mk/VRBRAIN/ROMFS/init.d/rc.APM @@ -50,7 +50,6 @@ then echo "Created APM directory" fi -echo "Starting uORB" if uorb start then echo "uorb started OK" @@ -58,45 +57,11 @@ else sh /etc/init.d/rc.error fi -echo "Starting ADC" -if adc start -then - echo "ADC started OK" -else - sh /etc/init.d/rc.error -fi - -echo "Starting MTD driver" -if mtd start /fs/mtd -then - echo "MTD driver started OK" -else - echo "MTD driver start failed" - sh /etc/init.d/rc.error -fi - -echo "MTD driver read test" -if mtd readtest /fs/mtd -then - echo "MTD driver readtest OK" -else - echo "MTD driver failed to read" - sh /etc/init.d/rc.error -fi - -echo "FMU mode PWM" -if fmu mode_pwm -then - echo "Set FMU mode_pwm" -fi - - -echo "Starting ArduPilot" +echo Starting ArduPilot if ArduPilot start then - echo "ArduPilot started OK" + echo ArduPilot started OK else - echo "ArduPilot start failed" sh /etc/init.d/rc.error fi @@ -104,4 +69,3 @@ echo "Exiting from nsh shell" exit echo "rc.APM finished" - diff --git a/mk/VRBRAIN/ROMFS/init.d/rc.error b/mk/VRBRAIN/ROMFS/init.d/rc.error index 9407754d8a..8c82168ba5 100644 --- a/mk/VRBRAIN/ROMFS/init.d/rc.error +++ b/mk/VRBRAIN/ROMFS/init.d/rc.error @@ -7,8 +7,15 @@ then rgbled rgb 16 0 0 fi -nshterm /dev/ttyACM0 & -sleep 1 -nshterm /dev/ttyS0 & -sleep 1 +if [ $NSH_ERROR_UART1 != none ] +then + nshterm $NSH_ERROR_UART1 & + sleep 1 +fi +if [ $NSH_ERROR_UART2 != none ] +then + nshterm $NSH_ERROR_UART2 & + sleep 1 +fi + exit diff --git a/mk/VRBRAIN/ROMFS/init.d/rcS b/mk/VRBRAIN/ROMFS/init.d/rcS index 7cd3d8c309..cb2d3f349d 100644 --- a/mk/VRBRAIN/ROMFS/init.d/rcS +++ b/mk/VRBRAIN/ROMFS/init.d/rcS @@ -13,26 +13,9 @@ # add them to the per-configuration scripts instead. # -# -# Default to auto-start mode. An init script on the microSD card -# can change this to prevent automatic startup of the flight script. -# -set MODE autostart set USB autoconnect - -# - -# - - -if rgbled start -then - set HAVE_RGBLED 1 - # show startup white - rgbled rgb 16 16 16 -else - set HAVE_RGBLED 0 -fi +set NSH_ERROR_UART1 /dev/ttyACM0 +set NSH_ERROR_UART2 /dev/ttyS0 # # Try to mount the microSD card. @@ -51,45 +34,20 @@ then fi else set HAVE_MICROSD 0 - echo "Trying format of microSD" - tone_alarm MBAGP - if mkfatfs /dev/mmcsd0 - then - echo "microSD card formatted" - if mount -t vfat /dev/mmcsd0 /fs/microsd - then - echo "format succeeded" - set HAVE_MICROSD 1 - if [ -f /etc/tones/startup ] - then - tone_alarm /etc/tones/startup - else - tone_alarm 1 - fi - else - echo "mount failed" - tone_alarm MNBG - if [ $HAVE_RGBLED == 1 ] - then - rgbled rgb 16 0 0 - fi - fi - else - echo "format failed" - tone_alarm MNBGG - if [ $HAVE_RGBLED == 1 ] - then - rgbled rgb 16 0 0 - fi - fi + tone_alarm MNBGG fi +# Look for an additional init script that allows changing the default +# behavior. Settings may be overriden in the following order: # -# Look for an init script on the microSD card. -# -# To prevent automatic startup in the current flight mode, -# the script should set MODE to some other value. -# +# board-specific file +# etc/rc on microSD card +# etc/rc.txt on microSD card +if [ -f /etc/init.d/rc.board ] +then + echo "[init] reading /etc/init.d/rc.board" + sh /etc/init.d/rc.board +fi if [ -f /fs/microsd/etc/rc ] then echo "[init] reading /fs/microsd/etc/rc" diff --git a/mk/VRBRAIN/config_vrbrain-v51_APM.mk b/mk/VRBRAIN/config_vrbrain-v51_APM.mk index 825189a0cd..0a34db4a03 100644 --- a/mk/VRBRAIN/config_vrbrain-v51_APM.mk +++ b/mk/VRBRAIN/config_vrbrain-v51_APM.mk @@ -3,6 +3,6 @@ # include $(SKETCHBOOK)/mk/VRBRAIN/vrbrain_common.mk -MODULES += drivers/mpu6000 -#MODULES += drivers/mpu9250 MODULES += drivers/boards/vrbrain-v51 + + diff --git a/mk/VRBRAIN/config_vrbrain-v52_APM.mk b/mk/VRBRAIN/config_vrbrain-v52_APM.mk index 19823ee2e6..c3e12404ae 100644 --- a/mk/VRBRAIN/config_vrbrain-v52_APM.mk +++ b/mk/VRBRAIN/config_vrbrain-v52_APM.mk @@ -3,6 +3,6 @@ # include $(SKETCHBOOK)/mk/VRBRAIN/vrbrain_common.mk -MODULES += drivers/mpu6000 -#MODULES += drivers/mpu9250 MODULES += drivers/boards/vrbrain-v52 +MODULES += drivers/pwm_input + diff --git a/mk/VRBRAIN/config_vrbrain-v54_APM.mk b/mk/VRBRAIN/config_vrbrain-v54_APM.mk index 9c7440721f..01e25f5727 100644 --- a/mk/VRBRAIN/config_vrbrain-v54_APM.mk +++ b/mk/VRBRAIN/config_vrbrain-v54_APM.mk @@ -3,6 +3,6 @@ # include $(SKETCHBOOK)/mk/VRBRAIN/vrbrain_common.mk -MODULES += drivers/mpu6000 -#MODULES += drivers/mpu9250 MODULES += drivers/boards/vrbrain-v54 +MODULES += drivers/pwm_input + diff --git a/mk/VRBRAIN/config_vrcore-v10_APM.mk b/mk/VRBRAIN/config_vrcore-v10_APM.mk index cf50b90554..0b99861197 100644 --- a/mk/VRBRAIN/config_vrcore-v10_APM.mk +++ b/mk/VRBRAIN/config_vrcore-v10_APM.mk @@ -3,6 +3,6 @@ # include $(SKETCHBOOK)/mk/VRBRAIN/vrbrain_common.mk -#MODULES += drivers/mpu6000 -MODULES += drivers/mpu9250 MODULES += drivers/boards/vrcore-v10 +MODULES += drivers/pwm_input + diff --git a/mk/VRBRAIN/config_vrubrain-v51_APM.mk b/mk/VRBRAIN/config_vrubrain-v51_APM.mk index 8842f20d10..a986810ad6 100644 --- a/mk/VRBRAIN/config_vrubrain-v51_APM.mk +++ b/mk/VRBRAIN/config_vrubrain-v51_APM.mk @@ -3,6 +3,6 @@ # include $(SKETCHBOOK)/mk/VRBRAIN/vrbrain_common.mk -MODULES += drivers/mpu6000 -#MODULES += drivers/mpu9250 MODULES += drivers/boards/vrubrain-v51 +MODULES += drivers/pwm_input + diff --git a/mk/VRBRAIN/config_vrubrain-v52_APM.mk b/mk/VRBRAIN/config_vrubrain-v52_APM.mk index a71473e0db..ee5465adf1 100644 --- a/mk/VRBRAIN/config_vrubrain-v52_APM.mk +++ b/mk/VRBRAIN/config_vrubrain-v52_APM.mk @@ -3,6 +3,6 @@ # include $(SKETCHBOOK)/mk/VRBRAIN/vrbrain_common.mk -MODULES += drivers/mpu6000 -#MODULES += drivers/mpu9250 MODULES += drivers/boards/vrubrain-v52 + + diff --git a/mk/VRBRAIN/vrbrain_common.mk b/mk/VRBRAIN/vrbrain_common.mk index 89ec0e6617..691f473bdb 100644 --- a/mk/VRBRAIN/vrbrain_common.mk +++ b/mk/VRBRAIN/vrbrain_common.mk @@ -17,20 +17,11 @@ MODULES += drivers/stm32/adc MODULES += drivers/stm32/tone_alarm MODULES += drivers/led MODULES += drivers/px4fmu -MODULES += drivers/hmc5883 -MODULES += drivers/ms5611 -MODULES += drivers/mb12xx -MODULES += drivers/ll40ls -MODULES += drivers/trone #MODULES += drivers/gps #MODULES += drivers/hil #MODULES += drivers/hott_telemetry #MODULES += drivers/blinkm #MODULES += modules/sensors -MODULES += drivers/mkblctrl -MODULES += drivers/batt_smbus -MODULES += drivers/pwm_input -MODULES += drivers/px4flow # # System commands @@ -38,22 +29,15 @@ MODULES += drivers/px4flow MODULES += systemcmds/bl_update MODULES += systemcmds/mixer MODULES += systemcmds/perf -MODULES += systemcmds/pwm MODULES += systemcmds/reboot MODULES += systemcmds/top #MODULES += systemcmds/tests MODULES += systemcmds/nshterm -MODULES += systemcmds/mtd -MODULES += systemcmds/ver +MODULES += systemcmds/mtd +MODULES += systemcmds/ver -ifneq ($(wildcard $(PX4_ROOT)/src/systemcmds/reflect),) -MODULES += systemcmds/reflect -endif -ifneq ($(wildcard $(PX4_ROOT)/src/systemcmds/motor_test),) -MODULES += systemcmds/motor_test -endif ifneq ($(wildcard $(PX4_ROOT)/src/systemcmds/usb_connected),) -MODULES += systemcmds/usb_connected +MODULES += systemcmds/usb_connected endif # @@ -62,9 +46,6 @@ endif MODULES += modules/systemlib MODULES += modules/systemlib/mixer MODULES += modules/uORB -MODULES += lib/mathlib/math/filter -MODULES += lib/mathlib -#MODULES += modules/uavcan # Note: auth disabled to keep us under 1MB flash because of STM32 bug #ifneq ($(wildcard $(PX4_ROOT)/src/systemcmds/auth),) @@ -75,8 +56,6 @@ MODULES += lib/mathlib #MODULES += modules/libtomcrypt #endif -MODULES += lib/conversion - # # Transitional support - add commands from the NuttX export archive. # diff --git a/mk/vrbrain_targets.mk b/mk/vrbrain_targets.mk index e7720388e6..b096fce7dd 100644 --- a/mk/vrbrain_targets.mk +++ b/mk/vrbrain_targets.mk @@ -8,9 +8,9 @@ ifneq ($(NUTTX_SRC),) $(error NUTTX_SRC found in config.mk - Please see http://dev.ardupilot.org/wiki/git-submodules/) endif -ifneq ($(UAVCAN_DIR),) -$(error UAVCAN_DIR found in config.mk - Please see http://dev.ardupilot.org/wiki/git-submodules/) -endif +#ifneq ($(UAVCAN_DIR),) +#$(error UAVCAN_DIR found in config.mk - Please see http://dev.ardupilot.org/wiki/git-submodules/) +#endif # these can be overridden in developer.mk VRBRAINFIRMWARE_DIRECTORY ?= $(SKETCHBOOK)/modules/PX4Firmware @@ -22,33 +22,27 @@ NUTTX_ROOT := $(shell cd $(VRBRAINNUTTX_DIRECTORY) && pwd) NUTTX_SRC := $(NUTTX_ROOT)/nuttx/ UAVCAN_DIR=$(shell cd $(UAVCAN_DIRECTORY) && pwd)/ -# warn if user has old PX4Firmware or PX4NuttX trees -ifneq ($(wildcard $(SKETCHBOOK)/../PX4Firmware),) -$(warning *** You have an old PX4Firmware tree - see http://dev.ardupilot.com/wiki/git-submodules/) -endif -ifneq ($(wildcard $(SKETCHBOOK)/../PX4NuttX),) -$(warning *** You have an old PX4NuttX tree - see http://dev.ardupilot.com/wiki/git-submodules/) -endif -ifneq ($(wildcard $(SKETCHBOOK)/../uavcan),) -$(warning *** You have an old uavcan tree - see http://dev.ardupilot.com/wiki/git-submodules/) -endif - NUTTX_GIT_VERSION ?= $(shell cd $(NUTTX_SRC) && git rev-parse HEAD | cut -c1-8) PX4_GIT_VERSION ?= $(shell cd $(VRBRAIN_ROOT) && git rev-parse HEAD | cut -c1-8) EXTRAFLAGS += -DNUTTX_GIT_VERSION="\"$(NUTTX_GIT_VERSION)\"" EXTRAFLAGS += -DPX4_GIT_VERSION="\"$(PX4_GIT_VERSION)\"" EXTRAFLAGS += -DUAVCAN=1 +EXTRAFLAGS += -D__STDC_FORMAT_MACROS # Add missing parts from libc and libstdc++ EXTRAFLAGS += -DHAVE_STD_NULLPTR_T=0 +EXTRAFLAGS += -DHAVE_ENDIAN_H=0 +EXTRAFLAGS += -DHAVE_BYTESWAP_H=0 EXTRAFLAGS += -DHAVE_OCLOEXEC=0 EXTRAFLAGS += -I$(BUILDROOT)/libraries/GCS_MAVLink/include/mavlink +EXTRAFLAGS += -I$(UAVCAN_DIRECTORY)/libuavcan/include +EXTRAFLAGS += -I$(UAVCAN_DIRECTORY)/libuavcan/include/dsdlc_generated -# we have different config files for vrbrain_v52, vrbrain_v54 VRBRAIN_MK_DIR=$(MK_DIR)/VRBRAIN +# we have different config files for vrbrain-v51, vrbrain-v52, vrbrain-v54, vrcore-v10, vrubrain-v51, vrubrain-v52 VRBRAIN_V51_CONFIG_FILE=config_vrbrain-v51_APM.mk VRBRAIN_V52_CONFIG_FILE=config_vrbrain-v52_APM.mk VRBRAIN_V54_CONFIG_FILE=config_vrbrain-v54_APM.mk @@ -56,15 +50,17 @@ VRCORE_V10_CONFIG_FILE=config_vrcore-v10_APM.mk VRUBRAIN_V51_CONFIG_FILE=config_vrubrain-v51_APM.mk VRUBRAIN_V52_CONFIG_FILE=config_vrubrain-v52_APM.mk -SKETCHFLAGS=$(SKETCHLIBINCLUDES) -DARDUPILOT_BUILD -DTESTS_MATHLIB_DISABLE -DCONFIG_HAL_BOARD=HAL_BOARD_VRBRAIN -DSKETCHNAME="\\\"$(SKETCH)\\\"" -DSKETCH_MAIN=ArduPilot_main -DAPM_BUILD_DIRECTORY=APM_BUILD_$(SKETCH) +# Since actual compiler mode is C++11, the library will default to UAVCAN_CPP11, but it will fail to compile +# because this platform lacks most of the standard library and STL. Hence we need to force C++03 mode. +SKETCHFLAGS=$(SKETCHLIBINCLUDES) -DUAVCAN_CPP_VERSION=UAVCAN_CPP03 -DUAVCAN_NO_ASSERTIONS -DUAVCAN_NULLPTR=nullptr -DARDUPILOT_BUILD -DTESTS_MATHLIB_DISABLE -DCONFIG_HAL_BOARD=HAL_BOARD_VRBRAIN -DSKETCHNAME="\\\"$(SKETCH)\\\"" -DSKETCH_MAIN=ArduPilot_main -DAPM_BUILD_DIRECTORY=APM_BUILD_$(SKETCH) -WARNFLAGS = -Wall -Wextra -Wlogical-op -Werror -Wno-unknown-pragmas -Wno-redundant-decls -Wno-psabi -Wno-packed -Wno-error=double-promotion -Wno-error=unused-variable -Wno-error=reorder -Wno-error=float-equal -Wno-error=pmf-conversions -Wno-error=missing-declarations -Wno-error=unused-function -Wno-trigraphs +WARNFLAGS = -Wall -Wextra -Wlogical-op -Werror -Wno-attributes -Wno-unknown-pragmas -Wno-redundant-decls -Wno-psabi -Wno-packed -Wno-error=double-promotion -Wno-error=unused-variable -Wno-error=reorder -Wno-error=float-equal -Wno-error=pmf-conversions -Wno-error=missing-declarations -Wno-error=unused-function -Wno-trigraphs OPTFLAGS = -fsingle-precision-constant # avoid VRBRAIN submodules export GIT_SUBMODULES_ARE_EVIL = 1 -PYTHONPATH=$(SKETCHBOOK)/mk/VRBRAIN/Tools/genmsg/src:$(SKETCHBOOK)/mk/VRBRAIN/Tools/gencpp/src +PYTHONPATH=$(VRBRAIN_ROOT)/Tools/genmsg/src:$(VRBRAIN_ROOT)/Tools/gencpp/src export PYTHONPATH VRBRAIN_MAKE = $(v)+ GIT_SUBMODULES_ARE_EVIL=1 ARDUPILOT_BUILD=1 $(MAKE) -C $(SKETCHBOOK) -f $(VRBRAIN_ROOT)/Makefile.make EXTRADEFINES="$(SKETCHFLAGS) $(WARNFLAGS) $(OPTFLAGS) "'$(EXTRAFLAGS)' APM_MODULE_DIR=$(SKETCHBOOK) SKETCHBOOK=$(SKETCHBOOK) CCACHE=$(CCACHE) VRBRAIN_ROOT=$(VRBRAIN_ROOT) NUTTX_SRC=$(NUTTX_SRC) MAXOPTIMIZATION="-Os" UAVCAN_DIR=$(UAVCAN_DIR) @@ -73,10 +69,10 @@ VRBRAIN_MAKE_ARCHIVES = $(MAKE) -C $(VRBRAIN_ROOT) -f $(VRBRAIN_ROOT)/Makefile.m HASHADDER_FLAGS += --ardupilot "$(SKETCHBOOK)" ifneq ($(wildcard $(VRBRAIN_ROOT)),) -HASHADDER_FLAGS += --px4 "$(VRBRAIN_ROOT)/" +HASHADDER_FLAGS += --px4 "$(VRBRAIN_ROOT)" endif ifneq ($(wildcard $(NUTTX_SRC)/..),) -HASHADDER_FLAGS += --nuttx "$(NUTTX_SRC)../" +HASHADDER_FLAGS += --nuttx "$(NUTTX_SRC)/.." endif HASHADDER_FLAGS += --uavcan "$(UAVCAN_DIR)" @@ -86,13 +82,14 @@ module_mk: $(RULEHDR) $(v) echo "# Auto-generated file - do not edit" > $(SKETCHBOOK)/module.mk.new $(v) echo "MODULE_COMMAND = ArduPilot" >> $(SKETCHBOOK)/module.mk.new - $(v) echo "SRCS = $(subst $(SKETCHBOOK)/,,$(wildcard $(SRCROOT)/*.cpp)) $(SKETCHLIBSRCSRELATIVE)" >> $(SKETCHBOOK)/module.mk.new + $(v) echo "SRCS = $(subst $(SKETCHBOOK)/,,$(wildcard $(SRCROOT)/*.cpp)) $(SKETCHLIBSRCSRELATIVE) $(LIBUAVCAN_SRC)" >> $(SKETCHBOOK)/module.mk.new $(v) echo "MODULE_STACKSIZE = 4096" >> $(SKETCHBOOK)/module.mk.new $(v) echo "EXTRACXXFLAGS = -Wframe-larger-than=1300" >> $(SKETCHBOOK)/module.mk.new $(v) cmp $(SKETCHBOOK)/module.mk $(SKETCHBOOK)/module.mk.new 2>/dev/null || mv $(SKETCHBOOK)/module.mk.new $(SKETCHBOOK)/module.mk $(v) rm -f $(SKETCHBOOK)/module.mk.new -vrbrain-v51: $(BUILDROOT)/make.flags CHECK_MODULES $(MAVLINK_HEADERS) $(VRBRAIN_ROOT)/Archives/vrbrain-v51.export $(SKETCHCPP) module_mk +vrbrain-v51: $(BUILDROOT)/make.flags CHECK_MODULES $(MAVLINK_HEADERS) $(UAVCAN_HEADERS) $(VRBRAIN_ROOT)/Archives/vrbrain-v51.export $(SKETCHCPP) module_mk + $(v) echo Building vrbrain-v51 $(RULEHDR) $(v) rm -f $(VRBRAIN_ROOT)/makefiles/nuttx/$(VRBRAIN_V51_CONFIG_FILE) $(v) cp $(VRBRAIN_MK_DIR)/$(VRBRAIN_V51_CONFIG_FILE) $(VRBRAIN_ROOT)/makefiles/nuttx/ @@ -104,7 +101,8 @@ vrbrain-v51: $(BUILDROOT)/make.flags CHECK_MODULES $(MAVLINK_HEADERS) $(VRBRAIN_ $(v) $(SKETCHBOOK)/Tools/scripts/add_git_hashes.py $(HASHADDER_FLAGS) "$(SKETCH)-vrbrain-v51.vrx" "$(SKETCH)-vrbrain-v51.vrx" $(v) echo "VRBRAIN $(SKETCH) Firmware is in $(SKETCH)-vrbrain-v51.vrx" -vrbrain-v52: $(BUILDROOT)/make.flags CHECK_MODULES $(MAVLINK_HEADERS) $(VRBRAIN_ROOT)/Archives/vrbrain-v52.export $(SKETCHCPP) module_mk +vrbrain-v52: $(BUILDROOT)/make.flags CHECK_MODULES $(MAVLINK_HEADERS) $(UAVCAN_HEADERS) $(VRBRAIN_ROOT)/Archives/vrbrain-v52.export $(SKETCHCPP) module_mk + $(v) echo Building vrbrain-v52 $(RULEHDR) $(v) rm -f $(VRBRAIN_ROOT)/makefiles/nuttx/$(VRBRAIN_V52_CONFIG_FILE) $(v) cp $(VRBRAIN_MK_DIR)/$(VRBRAIN_V52_CONFIG_FILE) $(VRBRAIN_ROOT)/makefiles/nuttx/ @@ -116,7 +114,8 @@ vrbrain-v52: $(BUILDROOT)/make.flags CHECK_MODULES $(MAVLINK_HEADERS) $(VRBRAIN_ $(v) $(SKETCHBOOK)/Tools/scripts/add_git_hashes.py $(HASHADDER_FLAGS) "$(SKETCH)-vrbrain-v52.vrx" "$(SKETCH)-vrbrain-v52.vrx" $(v) echo "VRBRAIN $(SKETCH) Firmware is in $(SKETCH)-vrbrain-v52.vrx" -vrbrain-v54: $(BUILDROOT)/make.flags CHECK_MODULES $(MAVLINK_HEADERS) $(VRBRAIN_ROOT)/Archives/vrbrain-v54.export $(SKETCHCPP) module_mk +vrbrain-v54: $(BUILDROOT)/make.flags CHECK_MODULES $(MAVLINK_HEADERS) $(UAVCAN_HEADERS) $(VRBRAIN_ROOT)/Archives/vrbrain-v54.export $(SKETCHCPP) module_mk + $(v) echo Building vrbrain-v54 $(RULEHDR) $(v) rm -f $(VRBRAIN_ROOT)/makefiles/nuttx/$(VRBRAIN_V54_CONFIG_FILE) $(v) cp $(VRBRAIN_MK_DIR)/$(VRBRAIN_V54_CONFIG_FILE) $(VRBRAIN_ROOT)/makefiles/nuttx/ @@ -128,7 +127,8 @@ vrbrain-v54: $(BUILDROOT)/make.flags CHECK_MODULES $(MAVLINK_HEADERS) $(VRBRAIN_ $(v) $(SKETCHBOOK)/Tools/scripts/add_git_hashes.py $(HASHADDER_FLAGS) "$(SKETCH)-vrbrain-v54.vrx" "$(SKETCH)-vrbrain-v54.vrx" $(v) echo "VRBRAIN $(SKETCH) Firmware is in $(SKETCH)-vrbrain-v54.vrx" -vrcore-v10: $(BUILDROOT)/make.flags CHECK_MODULES $(MAVLINK_HEADERS) $(VRBRAIN_ROOT)/Archives/vrcore-v10.export $(SKETCHCPP) module_mk +vrcore-v10: $(BUILDROOT)/make.flags CHECK_MODULES $(MAVLINK_HEADERS) $(UAVCAN_HEADERS) $(VRBRAIN_ROOT)/Archives/vrcore-v10.export $(SKETCHCPP) module_mk + $(v) echo Building vrcore-v10 $(RULEHDR) $(v) rm -f $(VRBRAIN_ROOT)/makefiles/nuttx/$(VRCORE_V10_CONFIG_FILE) $(v) cp $(VRBRAIN_MK_DIR)/$(VRCORE_V10_CONFIG_FILE) $(VRBRAIN_ROOT)/makefiles/nuttx/ @@ -140,7 +140,8 @@ vrcore-v10: $(BUILDROOT)/make.flags CHECK_MODULES $(MAVLINK_HEADERS) $(VRBRAIN_R $(v) $(SKETCHBOOK)/Tools/scripts/add_git_hashes.py $(HASHADDER_FLAGS) "$(SKETCH)-vrcore-v10.vrx" "$(SKETCH)-vrcore-v10.vrx" $(v) echo "VRBRAIN $(SKETCH) Firmware is in $(SKETCH)-vrcore-v10.vrx" -vrubrain-v51: $(BUILDROOT)/make.flags CHECK_MODULES $(MAVLINK_HEADERS) $(VRBRAIN_ROOT)/Archives/vrubrain-v51.export $(SKETCHCPP) module_mk +vrubrain-v51: $(BUILDROOT)/make.flags CHECK_MODULES $(MAVLINK_HEADERS) $(UAVCAN_HEADERS) $(VRBRAIN_ROOT)/Archives/vrubrain-v51.export $(SKETCHCPP) module_mk + $(v) echo Building vrubrain-v51 $(RULEHDR) $(v) rm -f $(VRBRAIN_ROOT)/makefiles/nuttx/$(VRUBRAIN_V51_CONFIG_FILE) $(v) cp $(VRBRAIN_MK_DIR)/$(VRUBRAIN_V51_CONFIG_FILE) $(VRBRAIN_ROOT)/makefiles/nuttx/ @@ -152,7 +153,8 @@ vrubrain-v51: $(BUILDROOT)/make.flags CHECK_MODULES $(MAVLINK_HEADERS) $(VRBRAIN $(v) $(SKETCHBOOK)/Tools/scripts/add_git_hashes.py $(HASHADDER_FLAGS) "$(SKETCH)-vrubrain-v51.vrx" "$(SKETCH)-vrubrain-v51.vrx" $(v) echo "VRBRAIN $(SKETCH) Firmware is in $(SKETCH)-vrubrain-v51.vrx" -vrubrain-v52: $(BUILDROOT)/make.flags CHECK_MODULES $(MAVLINK_HEADERS) $(VRBRAIN_ROOT)/Archives/vrubrain-v52.export $(SKETCHCPP) module_mk +vrubrain-v52: $(BUILDROOT)/make.flags CHECK_MODULES $(MAVLINK_HEADERS) $(UAVCAN_HEADERS) $(VRBRAIN_ROOT)/Archives/vrubrain-v52.export $(SKETCHCPP) module_mk + $(v) echo Building vrubrain-v52 $(RULEHDR) $(v) rm -f $(VRBRAIN_ROOT)/makefiles/nuttx/$(VRUBRAIN_V52_CONFIG_FILE) $(v) cp $(VRBRAIN_MK_DIR)/$(VRUBRAIN_V52_CONFIG_FILE) $(VRBRAIN_ROOT)/makefiles/nuttx/ @@ -163,10 +165,15 @@ vrubrain-v52: $(BUILDROOT)/make.flags CHECK_MODULES $(MAVLINK_HEADERS) $(VRBRAIN $(v) cp $(VRBRAIN_ROOT)/Images/vrubrain-v52_APM.px4 $(SKETCH)-vrubrain-v52.vrx $(v) $(SKETCHBOOK)/Tools/scripts/add_git_hashes.py $(HASHADDER_FLAGS) "$(SKETCH)-vrubrain-v52.vrx" "$(SKETCH)-vrubrain-v52.vrx" $(v) echo "VRBRAIN $(SKETCH) Firmware is in $(SKETCH)-vrubrain-v52.vrx" - - - -vrbrainStd: vrbrain-v51 vrbrain-v52 vrbrain-v54 vrcore-v10 vrubrain-v51 + +# force the 3 build types to not run in parallel. We got bad binaries with incorrect parameter handling +# when these were allowed to happen in parallel +vrbrainStd: + $(MAKE) vrbrain-v51 + $(MAKE) vrbrain-v52 + $(MAKE) vrbrain-v54 + $(MAKE) vrcore-v10 + $(MAKE) vrubrain-v51 vrbrainStdP: vrbrainPro: vrbrainProP: @@ -176,6 +183,7 @@ vrbrain: vrbrainStd vrbrainStdP vrbrainPro vrbrainProP vrbrain-clean: clean CHECK_MODULES vrbrain-archives-clean vrbrain-cleandep $(v) /bin/rm -rf $(VRBRAIN_ROOT)/makefiles/build $(VRBRAIN_ROOT)/Build $(VRBRAIN_ROOT)/Images/*.px4 $(VRBRAIN_ROOT)/Images/*.bin $(v) /bin/rm -rf $(VRBRAIN_ROOT)/src/modules/uORB/topics $(VRBRAIN_ROOT)/src/platforms/nuttx/px4_messages + $(v) /bin/rm -f $(SRCROOT)/*.o vrbrain-cleandep: clean $(v) mkdir -p $(VRBRAIN_ROOT)/Build @@ -183,35 +191,59 @@ vrbrain-cleandep: clean $(v) find $(UAVCAN_DIRECTORY) -type f -name '*.d' | xargs rm -f $(v) find $(SKETCHBOOK)/$(SKETCH) -type f -name '*.d' | xargs rm -f -vrbrain-v51-upload: vrbrain-v51 - $(RULEHDR) - $(v) $(VRBRAIN_MAKE) vrbrain-v51_APM upload -vrbrain-v52-upload: vrbrain-v52 - $(RULEHDR) - $(v) $(VRBRAIN_MAKE) vrbrain-v52_APM upload -vrbrain-v54-upload: vrbrain-v54 - $(RULEHDR) - $(v) $(VRBRAIN_MAKE) vrbrain-v54_APM upload -vrcore-v10-upload: vrcore-v10 - $(RULEHDR) - $(v) $(VRBRAIN_MAKE) vrcore-v10_APM upload -vrubrain-v51-upload: vrubrain-v51 - $(RULEHDR) - $(v) $(VRBRAIN_MAKE) vrubrain-v51_APM upload -vrubrain-v52-upload: vrubrain-v52 - $(RULEHDR) - $(v) $(VRBRAIN_MAKE) vrubrain-v52_APM upload -vrbrain-upload: vrbrain-v52-upload + + + + + + + + + + + + + + + + + + + + vrbrain-archives-clean: $(v) /bin/rm -rf $(VRBRAIN_ROOT)/Archives + + + + + + + + + + + + + + + + + + + + + + + # These targets can't run in parallel because they all need to generate a tool # to generate the config.h inside them. This could trigger races if done in # parallel, trying to generate the tool and replacing it while the header is already @@ -250,6 +282,7 @@ vrbrain-archives: $(v) $(PX4_MAKE_ARCHIVES) BOARDS="vrbrain-v51 vrbrain-v52 vrbrain-v54 vrcore-v10 vrubrain-v51 vrubrain-v52" vrbrain-info: module_mk + @echo "BUILDROOT $(BUILDROOT)" @echo "VRBRAINFIRMWARE_DIRECTORY $(VRBRAINFIRMWARE_DIRECTORY)" @echo "VRBRAINNUTTX_DIRECTORY $(VRBRAINNUTTX_DIRECTORY)" @echo "NUTTX_ROOT $(NUTTX_ROOT)" @@ -263,4 +296,5 @@ vrbrain-info: module_mk @echo "SKETCHLIBINCLUDES $(SKETCHLIBINCLUDES)" @echo "SKETCHLIBSRCSRELATIVE $(SKETCHLIBSRCSRELATIVE)" @echo "SRCS $(subst $(SKETCHBOOK)/,,$(wildcard $(SRCROOT)/*.cpp))" + @echo "SRCS $(wildcard $(SRCROOT)/*.cpp)" @echo "HASHADDER_FLAGS $(HASHADDER_FLAGS)" \ No newline at end of file