mirror of
https://github.com/ArduPilot/ardupilot.git
synced 2026-10-06 19:00:27 +08:00
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:
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user