ADS-B altitude filtering

Hi,

I’m trying to put altitude filtering into ArduPlane 3.9.7. I’ve got 3.9.7 and the latest ardupilot on github (3.10dev, which has altitude filtering) and they both build and upload to the plane. However, when I try to copy AP_ADSB, which contains the only files that were changed based on the github pull request, this doesn’t work and I get this error. Any suggestions?

Thanks!

Build failed
-> task in ‘objs/AP_ADSB/ArduPlane’ failed (exit status 1):
{task 7696301395312: cxx AP_ADSB.cpp -> AP_ADSB.cpp.5.o}
‘\Program Files (x86)\GNU Tools ARM Embedded\6 2017-q2-update\bin/arm-none-eabi-g++’ -std=gnu++11 -fdata-sections -ffunction-sections -fno-exceptions -fsigned-char -Wall -Wextra -Wformat -Wshadow -Wpointer-arith -Wcast-align -Wundef -Wno-unused-parameter -Wno-missing-field-initializers -Wno-reorder -Wno-redundant-decls -Wno-unknown-pragmas -Werror=format-security -Werror=array-bounds -Werror=uninitialized -Werror=init-self -Werror=switch -Werror=sign-compare -Wfatal-errors -Wno-trigraphs -Werror=unused-but-set-variable -Wlogical-op -Wframe-larger-than=1300 -fsingle-precision-constant -Wno-attributes -Wno-error=double-promotion -Wno-error=missing-declarations -Wno-error=float-equal -Wno-error=undef -Wno-error=cpp -Wno-cast-align -fno-exceptions -fno-rtti -fno-threadsafe-statics -Wall -Wextra -Wno-sign-compare -Wfloat-equal -Wpointer-arith -Wmissing-declarations -Wno-unused-parameter -Werror=array-bounds -Wfatal-errors -Werror=unused-variable -Werror=uninitialized -Werror=init-self -Wframe-larger-than=1024 -Werror=unused-but-set-variable -Wno-missing-field-initializers -Wno-trigraphs -Os -fno-strict-aliasing -fomit-frame-pointer -falign-functions=16 -ffunction-sections -fdata-sections -fno-strength-reduce -fno-builtin-printf -fno-builtin-fprintf -fno-builtin-vprintf -fno-builtin-vfprintf -fno-builtin-puts -mcpu=cortex-m4 -mno-thumb-interwork -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard -DCHIBIOS_BOARD_NAME=“fmuv3” -DCYGWIN_BUILD -MMD -Wno-error=cast-align -DUAVCAN_STM32_CHIBIOS=1 -DUAVCAN_STM32_NUM_IFACES=2 -include ap_config.h -Ilibraries -Ilibraries/GCS_MAVLink -Imodules/uavcan/libuavcan/include/dsdlc_generated -I. -I…/…/libraries -I…/…/libraries/AP_Common/missing -I…/…/modules/uavcan/libuavcan/include -I…/…/modules/uavcan/libuavcan_drivers/stm32/driver/include -I…/…/modules/ChibiOS/os/license -I…/…/modules/ChibiOS/os/common/startup/ARMCMx/compilers/GCC -I…/…/modules/ChibiOS/os/common/startup/ARMCMx/devices/STM32F4xx -I…/…/modules/ChibiOS/os/common/ext/CMSIS/include -I…/…/modules/ChibiOS/os/common/ext/CMSIS/ST/STM32F4xx -I…/…/modules/ChibiOS/os/rt/include -I…/…/modules/ChibiOS/os/common/oslib/include -I…/…/modules/ChibiOS/os/common/ports/ARMCMx -I…/…/modules/ChibiOS/os/common/ports/ARMCMx/compilers/GCC -I…/…/modules/ChibiOS/os/hal/osal/rt -I…/…/modules/ChibiOS/ext/fatfs/src -I…/…/modules/ChibiOS/os/hal/include -I…/…/modules/ChibiOS/os/hal/ports/common/ARMCMx -I…/…/modules/ChibiOS/os/hal/ports/STM32/STM32F4xx -I…/…/modules/ChibiOS/os/hal/ports/STM32/LLD/ADCv2 -I…/…/modules/ChibiOS/os/hal/ports/STM32/LLD/CANv1 -I…/…/modules/ChibiOS/os/hal/ports/STM32/LLD/DACv1 -I…/…/modules/ChibiOS/os/hal/ports/STM32/LLD/DMAv2 -I…/…/modules/ChibiOS/os/hal/ports/STM32/LLD/EXTIv1 -I…/…/modules/ChibiOS/os/hal/ports/STM32/LLD/GPIOv2 -I…/…/modules/ChibiOS/os/hal/ports/STM32/LLD/I2Cv1 -I…/…/modules/ChibiOS/os/hal/ports/STM32/LLD/MACv1 -I…/…/modules/ChibiOS/os/hal/ports/STM32/LLD/OTGv1 -I…/…/modules/ChibiOS/os/hal/ports/STM32/LLD/QUADSPIv1 -I…/…/modules/ChibiOS/os/hal/ports/STM32/LLD/RTCv2 -I…/…/modules/ChibiOS/os/hal/ports/STM32/LLD/SPIv1 -I…/…/modules/ChibiOS/os/hal/ports/STM32/LLD/SDIOv1 -I…/…/modules/ChibiOS/os/hal/ports/STM32/LLD/TIMv1 -I…/…/modules/ChibiOS/os/hal/ports/STM32/LLD/USARTv1 -I…/…/modules/ChibiOS/os/hal/ports/STM32/LLD/xWDGv1 -I…/…/modules/ChibiOS/os/hal/lib/streams -I…/…/modules/ChibiOS/os/various/cpp_wrappers -I…/…/libraries/AP_HAL_ChibiOS/hwdef/common -DSKETCHBOOK="/home/Liam/3.9.7" -DCONFIG_HAL_BOARD=HAL_BOARD_CHIBIOS -DHAVE_OCLOEXEC=0 -DHAVE_STD_NULLPTR_T=0 -DUAVCAN_CPP_VERSION=UAVCAN_CPP03 -DUAVCAN_NO_ASSERTIONS=1 -DUAVCAN_NULLPTR=nullptr -DAPM_BUILD_DIRECTORY=APM_BUILD_ArduPlane -DSKETCH=“ArduPlane” -DSKETCHNAME=“ArduPlane” …/…/libraries/AP_ADSB/AP_ADSB.cpp -c -olibraries/AP_ADSB/AP_ADSB.cpp.5.o

i think you will also need to update the sub-modules to those used on master

Thanks for your quick reply. I’ve used git submodule update --init --recursive, which didn’t work. Am I missing something?

Liam

you will have to pull in the submodule hash files from master. Update your modules folder than update the submodules again

Sorry, how do I do that? I’ve tried myself and everything I’ve done breaks the submodules.

I was able to fix this in the end by implementing the code slightly differently in 3.9.7. I’ve no idea as to why it wouldn’t work before when the same code worked fine in 3.10dev, but the problem is solved now. Thanks for your help though