From 7cc52a61a3d4d046ce23b4a1249c751c6407ab4e Mon Sep 17 00:00:00 2001 From: Brown Date: Thu, 23 Jul 2026 00:35:32 -0700 Subject: [PATCH] AP_BoardConfig: rename board type for Holybro Pixhawk6X Rev8 Rename the ICM45686-specific board type to Rev8 while preserving enum value 43, and use a board-independent name for the compatible IMU slot probe. --- libraries/AP_BoardConfig/AP_BoardConfig.h | 4 ++-- libraries/AP_BoardConfig/board_drivers.cpp | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/libraries/AP_BoardConfig/AP_BoardConfig.h b/libraries/AP_BoardConfig/AP_BoardConfig.h index 24e5d79ebbd..d13e7dbe5ba 100644 --- a/libraries/AP_BoardConfig/AP_BoardConfig.h +++ b/libraries/AP_BoardConfig/AP_BoardConfig.h @@ -69,7 +69,7 @@ public: FMUV6_BOARD_HOLYBRO_6X = 40, FMUV6_BOARD_CUAV_6X = 41, FMUV6_BOARD_HOLYBRO_6X_REV6 = 42, - FMUV6_BOARD_HOLYBRO_6X_45686 = 43, + FMUV6_BOARD_HOLYBRO_6X_REV8 = 43, PX4_BOARD_OLDDRIVERS = 100, }; @@ -282,7 +282,7 @@ private: void board_autodetect(void); void detect_fmuv6_variant(void); bool probe_lsm6dsv_family(const char *devname); - bool probe_holybro_6x_imu_slot(const char *icm_devname, const char *lsm6_devname); + bool probe_compatible_imu_slot(const char *icm_devname, const char *lsm6_devname); bool check_ms5611(const char* devname); #endif // AP_FEATURE_BOARD_DETECT diff --git a/libraries/AP_BoardConfig/board_drivers.cpp b/libraries/AP_BoardConfig/board_drivers.cpp index f8eaee22382..d96ea3a72ff 100644 --- a/libraries/AP_BoardConfig/board_drivers.cpp +++ b/libraries/AP_BoardConfig/board_drivers.cpp @@ -94,7 +94,7 @@ void AP_BoardConfig::board_setup_drivers(void) case PX4_BOARD_AEROFC: case FMUV6_BOARD_HOLYBRO_6X: case FMUV6_BOARD_HOLYBRO_6X_REV6: - case FMUV6_BOARD_HOLYBRO_6X_45686: + case FMUV6_BOARD_HOLYBRO_6X_REV8: case FMUV6_BOARD_CUAV_6X: break; default: @@ -475,7 +475,7 @@ bool AP_BoardConfig::probe_lsm6dsv_family(const char *devname) return false; } -bool AP_BoardConfig::probe_holybro_6x_imu_slot(const char *icm_devname, const char *lsm6_devname) +bool AP_BoardConfig::probe_compatible_imu_slot(const char *icm_devname, const char *lsm6_devname) { return spi_check_register(icm_devname, INV3REG_456_WHOAMI, INV3_WHOAMI_ICM45686) || probe_lsm6dsv_family(lsm6_devname); @@ -498,11 +498,11 @@ void AP_BoardConfig::detect_fmuv6_variant() state.board_type.set_and_notify(FMUV6_BOARD_CUAV_6X); DEV_PRINTF("Detected CUAV 6X\n"); AP_Param::load_defaults_file("@ROMFS/param/CUAV_V6X_defaults.parm", false); - } else if (probe_holybro_6x_imu_slot("icm45686-1", "lsm6dsv-1") && - probe_holybro_6x_imu_slot("icm45686-2", "lsm6dsv-2") && - probe_holybro_6x_imu_slot("icm45686-3", "lsm6dsv-3")) { - state.board_type.set_and_notify(FMUV6_BOARD_HOLYBRO_6X_45686); - DEV_PRINTF("Detected Holybro 6X_45686\n"); + } else if (probe_compatible_imu_slot("icm45686-1", "lsm6dsv-1") && + probe_compatible_imu_slot("icm45686-2", "lsm6dsv-2") && + probe_compatible_imu_slot("icm45686-3", "lsm6dsv-3")) { + state.board_type.set_and_notify(FMUV6_BOARD_HOLYBRO_6X_REV8); + DEV_PRINTF("Detected Holybro 6X_Rev8\n"); } else if (spi_check_register("iim42652", INV3REG_WHOAMI, INV3_WHOAMI_IIM42652) && spi_check_register("icm45686", INV3REG_456_WHOAMI, INV3_WHOAMI_ICM45686)) { state.board_type.set_and_notify(FMUV6_BOARD_HOLYBRO_6X_REV6);