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.
This commit is contained in:
Brown
2026-09-15 16:59:33 +10:00
committed by Peter Barker
parent 0252d304ed
commit 7cc52a61a3
2 changed files with 9 additions and 9 deletions
+2 -2
View File
@@ -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
+7 -7
View File
@@ -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);