From 59d288aec6cbd174ed8ab9a54d3fdde78e28b978 Mon Sep 17 00:00:00 2001 From: Henry Wurzburg Date: Sun, 15 Oct 2023 08:19:04 -0500 Subject: [PATCH 1/3] hwdef:fix bug in AtomRCF405NAVI,fix some bds that aren't building --- .../AP_HAL_ChibiOS/hwdef/AtomRCF405NAVI/hwdef.dat | 11 ++++++----- .../AP_HAL_ChibiOS/hwdef/FlywooF405Pro/hwdef.dat | 3 +++ .../AP_HAL_ChibiOS/hwdef/KakuteF7Mini/hwdef.dat | 4 +--- .../AP_HAL_ChibiOS/hwdef/MatekF405-TE/hwdef.dat | 5 +++-- .../AP_HAL_ChibiOS/hwdef/MatekF405-Wing/hwdef.dat | 12 +----------- .../AP_HAL_ChibiOS/hwdef/SpeedyBeeF405Mini/hwdef.dat | 3 +++ libraries/AP_HAL_ChibiOS/hwdef/omnibusf4/hwdef.dat | 3 +-- .../AP_HAL_ChibiOS/hwdef/omnibusf4pro/hwdef.dat | 7 +------ .../AP_HAL_ChibiOS/hwdef/revo-mini-i2c/hwdef.dat | 2 ++ libraries/AP_HAL_ChibiOS/hwdef/revo-mini/hwdef.dat | 1 + 10 files changed, 22 insertions(+), 29 deletions(-) diff --git a/libraries/AP_HAL_ChibiOS/hwdef/AtomRCF405NAVI/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/AtomRCF405NAVI/hwdef.dat index fbf64d1e824ea..fb4eaad060b41 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/AtomRCF405NAVI/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/AtomRCF405NAVI/hwdef.dat @@ -114,11 +114,11 @@ PA12 OTG_FS_DP OTG1 PC8 TIM3_CH3 TIM3 PWM(1) GPIO(50) PC9 TIM3_CH4 TIM3 PWM(2) GPIO(51) PA8 TIM1_CH1 TIM1 PWM(3) GPIO(52) -PB1 TIM1_CH3N TIM1 PWM(4) GPIO(53) +PB1 TIM8_CH3N TIM8 PWM(4) GPIO(53) PA15 TIM2_CH1 TIM2 PWM(5) GPIO(54) PB10 TIM2_CH3 TIM2 PWM(6) GPIO(55) PB11 TIM2_CH4 TIM2 PWM(7) GPIO(56) -PB0 TIM1_CH2N TIM1 PWM(8) GPIO(57) +PB0 TIM8_CH2N TIM8 PWM(8) GPIO(57) PB7 TIM4_CH2 TIM4 PWM(9) GPIO(58) # LED strip define HAL_STORAGE_SIZE 15360 @@ -157,9 +157,10 @@ ROMFS_WILDCARD libraries/AP_OSD/fonts/font0.bin define AP_PARAM_MAX_EMBEDDED_PARAM 256 # save some flash -include ../include/minimal_GPS.inc +include ../include/minimize_fpv_osd.inc include ../include/save_some_flash.inc -define AP_BATTERY_SMBUS_ENABLED 0 + define HAL_PARACHUTE_ENABLED 0 define HAL_SPRAYER_ENABLED 0 -define AP_BATTERY_SYNTHETIC_CURRENT_ENABLED 0 + + diff --git a/libraries/AP_HAL_ChibiOS/hwdef/FlywooF405Pro/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/FlywooF405Pro/hwdef.dat index 31007d5c35b27..7b5af147f8850 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/FlywooF405Pro/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/FlywooF405Pro/hwdef.dat @@ -151,3 +151,6 @@ define HAL_COMPASS_AUTO_ROT_DEFAULT 2 define HAL_DEFAULT_INS_FAST_SAMPLE 3 # Motor order implies Betaflight/X for standard ESCs define HAL_FRAME_TYPE_DEFAULT 12 + +include ../include/minimize_fpv_osd.inc +AUTOBUILD_TARGETS Copter diff --git a/libraries/AP_HAL_ChibiOS/hwdef/KakuteF7Mini/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/KakuteF7Mini/hwdef.dat index b75699ac4cecc..561fc3011616a 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/KakuteF7Mini/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/KakuteF7Mini/hwdef.dat @@ -152,9 +152,6 @@ ROMFS_WILDCARD libraries/AP_OSD/fonts/font0.bin define STM32_PWM_USE_ADVANCED TRUE -# disable SMBUS battery monitors to save flash -define AP_BATTERY_SMBUS_ENABLED 0 - # disable parachute and sprayer to save flash define HAL_PARACHUTE_ENABLED 0 define HAL_SPRAYER_ENABLED 0 @@ -166,3 +163,4 @@ define HAL_MOUNT_ENABLED 0 # save some flash include ../include/save_some_flash.inc +include ../include/minimize_fpv_osd.inc diff --git a/libraries/AP_HAL_ChibiOS/hwdef/MatekF405-TE/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/MatekF405-TE/hwdef.dat index 3df3c125b0cc5..a69d9a94cf9ca 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/MatekF405-TE/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/MatekF405-TE/hwdef.dat @@ -176,9 +176,10 @@ define HAL_GYROFFT_ENABLED 0 # --------------------- save flash ---------------------- # save some flash +include ../include/minimize_fpv_osd.inc include ../include/save_some_flash.inc include ../include/no_bootloader_DFU.inc -define AP_BATTERY_SMBUS_ENABLED 0 + define HAL_PARACHUTE_ENABLED 0 define HAL_SPRAYER_ENABLED 0 define AP_GRIPPER_ENABLED 0 @@ -188,4 +189,4 @@ define HAL_NMEA_OUTPUT_ENABLED 0 define HAL_BUTTON_ENABLED 0 define AP_NOTIFY_OREOLED_ENABLED 0 define HAL_PICCOLO_CAN_ENABLE 0 -define AP_BATTERY_SYNTHETIC_CURRENT_ENABLED 0 + diff --git a/libraries/AP_HAL_ChibiOS/hwdef/MatekF405-Wing/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/MatekF405-Wing/hwdef.dat index bb6c015ff8ca4..089fd07fdfebd 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/MatekF405-Wing/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/MatekF405-Wing/hwdef.dat @@ -182,13 +182,6 @@ ROMFS_WILDCARD libraries/AP_OSD/fonts/font0.bin define STM32_PWM_USE_ADVANCED TRUE -# disable SMBUS battery monitors to save flash -define AP_BATTERY_SMBUS_ENABLED 0 - -# disable parachute and sprayer to save flash -define HAL_PARACHUTE_ENABLED 0 -define HAL_SPRAYER_ENABLED 0 - # reduce max size of embedded params for apj_tool.py define AP_PARAM_MAX_EMBEDDED_PARAM 1024 define HAL_GYROFFT_ENABLED 0 @@ -196,8 +189,6 @@ define HAL_GYROFFT_ENABLED 0 # save some flash include ../include/save_some_flash.inc define AP_GRIPPER_ENABLED 0 -define AP_BATTERY_SYNTHETIC_CURRENT_ENABLED 0 -define AP_BATTERY_SMBUS_ENABLED 0 define HAL_PARACHUTE_ENABLED 0 define HAL_SPRAYER_ENABLED 0 define HAL_RUNCAM_ENABLED 0 @@ -207,6 +198,5 @@ define HAL_BUTTON_ENABLED 0 define AP_NOTIFY_OREOLED_ENABLED 0 define HAL_PICCOLO_CAN_ENABLE 0 -# only include ublox GPS driver -include ../include/minimal_GPS.inc +include ../include/minimize_fpv_osd.inc diff --git a/libraries/AP_HAL_ChibiOS/hwdef/SpeedyBeeF405Mini/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/SpeedyBeeF405Mini/hwdef.dat index 9717ab8d56a2a..ac554bd046779 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/SpeedyBeeF405Mini/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/SpeedyBeeF405Mini/hwdef.dat @@ -150,3 +150,6 @@ define HAL_COMPASS_AUTO_ROT_DEFAULT 2 define HAL_DEFAULT_INS_FAST_SAMPLE 3 # Motor order implies Betaflight/X for standard ESCs define HAL_FRAME_TYPE_DEFAULT 12 + +include ../include/minimize_fpv_osd.inc +AUTOBUILD_TARGETS Copter diff --git a/libraries/AP_HAL_ChibiOS/hwdef/omnibusf4/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/omnibusf4/hwdef.dat index b62ed7ff9acd6..c7f3eb3e2add1 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/omnibusf4/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/omnibusf4/hwdef.dat @@ -16,5 +16,4 @@ APJ_BOARD_ID 1002 PC8 SBUS_INVERT_RX OUTPUT LOW PC9 SBUS_INVERT_TX OUTPUT LOW -# only include ublox GPS driver -include ../include/minimal_GPS.inc + diff --git a/libraries/AP_HAL_ChibiOS/hwdef/omnibusf4pro/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/omnibusf4pro/hwdef.dat index 887519de6afcb..d3ed1d6f22151 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/omnibusf4pro/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/omnibusf4pro/hwdef.dat @@ -150,9 +150,6 @@ define STM32_PWM_USE_ADVANCED TRUE #font for the osd ROMFS_WILDCARD libraries/AP_OSD/fonts/font0.bin -# disable SMBUS monitors to save flash -define AP_BATTERY_SMBUS_ENABLED 0 - # disable parachute and sprayer to save flash define HAL_PARACHUTE_ENABLED 0 define HAL_SPRAYER_ENABLED 0 @@ -162,7 +159,5 @@ define AP_PARAM_MAX_EMBEDDED_PARAM 1024 # save some flash include ../include/save_some_flash.inc -define AP_BATTERY_SYNTHETIC_CURRENT_ENABLED 0 -# only include ublox GPS driver -include ../include/minimal_GPS.inc +include ../include/minimize_fpv_osd.inc diff --git a/libraries/AP_HAL_ChibiOS/hwdef/revo-mini-i2c/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/revo-mini-i2c/hwdef.dat index 0902d3f9f4a77..b7a2ebc1277a2 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/revo-mini-i2c/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/revo-mini-i2c/hwdef.dat @@ -153,3 +153,5 @@ define HAL_GYROFFT_ENABLED 0 # bootloader embedding / bootloader flashing not available define AP_BOOTLOADER_FLASHING_ENABLED 0 +include ../include/minimize_fpv_osd.inc + diff --git a/libraries/AP_HAL_ChibiOS/hwdef/revo-mini/hwdef.dat b/libraries/AP_HAL_ChibiOS/hwdef/revo-mini/hwdef.dat index 889689d5c84d3..0a9e00e28a25e 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/revo-mini/hwdef.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/revo-mini/hwdef.dat @@ -129,3 +129,4 @@ define HAL_LOGGING_DATAFLASH_ENABLED 1 define HAL_GYROFFT_ENABLED 0 +include ../include/minimize_fpv_osd.inc From c8676ac4b00b127bcfa1b6d9feb1b3ebf4142a69 Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Tue, 17 Oct 2023 13:55:17 +1100 Subject: [PATCH 2/3] AP_Beacon: fix example when Beacon not available simply print the fact that the beacon librar y isn't compiled in --- .../AP_Marvelmind_test/AP_Marvelmind_test.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/libraries/AP_Beacon/examples/AP_Marvelmind_test/AP_Marvelmind_test.cpp b/libraries/AP_Beacon/examples/AP_Marvelmind_test/AP_Marvelmind_test.cpp index a3dae7a7f163a..550899fbcc08d 100644 --- a/libraries/AP_Beacon/examples/AP_Marvelmind_test/AP_Marvelmind_test.cpp +++ b/libraries/AP_Beacon/examples/AP_Marvelmind_test/AP_Marvelmind_test.cpp @@ -16,7 +16,9 @@ void set_object_value_and_report(const void *object_pointer, const AP_HAL::HAL& hal = AP_HAL::get_HAL(); static AP_SerialManager serial_manager; +#if AP_BEACON_ENABLED AP_Beacon beacon; +#endif // try to set the object value but provide diagnostic if it failed void set_object_value_and_report(const void *object_pointer, @@ -31,14 +33,19 @@ void set_object_value_and_report(const void *object_pointer, void setup(void) { +#if AP_BEACON_ENABLED set_object_value_and_report(&beacon, beacon.var_info, "_TYPE", 2.0f); set_object_value_and_report(&serial_manager, serial_manager.var_info, "0_PROTOCOL", 13.0f); +#endif serial_manager.init(); +#if AP_BEACON_ENABLED beacon.init(); +#endif } void loop(void) { +#if AP_BEACON_ENABLED static int count = 0; beacon.update(); Vector3f pos; @@ -51,6 +58,10 @@ void loop(void) hal.scheduler->delay(1000); if (count == 3) exit(0); +#else + printf("Beacon not available\n"); + hal.scheduler->delay(1000); +#endif } AP_HAL_MAIN(); From 990c30163f555475f01f4175a5a628231437d34d Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Tue, 17 Oct 2023 13:58:12 +1100 Subject: [PATCH 3/3] Tools: Replay: correct compilation when AdvancedFailsafe not available --- Tools/Replay/Replay.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Tools/Replay/Replay.cpp b/Tools/Replay/Replay.cpp index 63c0cfba19106..a55a33a799d1b 100644 --- a/Tools/Replay/Replay.cpp +++ b/Tools/Replay/Replay.cpp @@ -100,8 +100,10 @@ const struct AP_Param::GroupInfo GCS_MAVLINK_Parameters::var_info[] = { }; GCS_Dummy _gcs; +#if AP_ADVANCEDFAILSAFE_ENABLED AP_AdvancedFailsafe *AP::advancedfailsafe() { return nullptr; } bool AP_AdvancedFailsafe::gcs_terminate(bool should_terminate, const char *reason) { return false; } +#endif // dummy method to avoid linking AP_Avoidance // AP_Avoidance *AP::ap_avoidance() { return nullptr; }