From 8e0c57850dcc1a593a43c01a78ab8f8377fbb13b Mon Sep 17 00:00:00 2001 From: mateksys Date: Sat, 4 Sep 2021 22:25:27 +0800 Subject: [PATCH] add icm42605 in MatekH743 as substitution for icm20602 --- src/main/fc/settings.yaml | 2 +- src/main/target/MATEKH743/target.c | 5 +++-- src/main/target/MATEKH743/target.h | 29 +++++++++++++++++++---------- 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/src/main/fc/settings.yaml b/src/main/fc/settings.yaml index 09b66857ab1..ad2a2318ce5 100644 --- a/src/main/fc/settings.yaml +++ b/src/main/fc/settings.yaml @@ -307,7 +307,7 @@ groups: - name: gyro_to_use condition: USE_DUAL_GYRO min: 0 - max: 1 + max: 2 default_value: 0 - name: gyro_abg_alpha description: "Alpha factor for Gyro Alpha-Beta-Gamma filter" diff --git a/src/main/target/MATEKH743/target.c b/src/main/target/MATEKH743/target.c index 17288f9393e..e2c31e2592f 100644 --- a/src/main/target/MATEKH743/target.c +++ b/src/main/target/MATEKH743/target.c @@ -26,8 +26,9 @@ #include "drivers/pinio.h" #include "drivers/sensor.h" -BUSDEV_REGISTER_SPI_TAG(busdev_imu1_6000, DEVHW_MPU6000, IMU1_SPI_BUS, IMU1_CS_PIN, IMU1_EXTI_PIN, 0, DEVFLAGS_NONE, IMU1_ALIGN); -BUSDEV_REGISTER_SPI_TAG(busdev_imu2_6500, DEVHW_MPU6500, IMU2_SPI_BUS, IMU2_CS_PIN, IMU2_EXTI_PIN, 1, DEVFLAGS_NONE, IMU2_ALIGN); +BUSDEV_REGISTER_SPI_TAG(busdev_imu0, DEVHW_MPU6000, MPU6000_SPI_BUS, MPU6000_CS_PIN, MPU6000_EXTI_PIN, 0, DEVFLAGS_NONE, IMU_MPU6000_ALIGN); +BUSDEV_REGISTER_SPI_TAG(busdev_imu1, DEVHW_MPU6500, MPU6500_SPI_BUS, MPU6500_CS_PIN, MPU6500_EXTI_PIN, 1, DEVFLAGS_NONE, IMU_MPU6500_ALIGN); +BUSDEV_REGISTER_SPI_TAG(busdev_imu2, DEVHW_ICM42605, ICM42605_SPI_BUS, ICM42605_CS_PIN, ICM42605_EXTI_PIN, 2, DEVFLAGS_NONE, IMU_ICM42605_ALIGN); const timerHardware_t timerHardware[] = { DEF_TIM(TIM3, CH3, PB0, TIM_USE_MC_MOTOR | TIM_USE_FW_MOTOR, 0, 0), // S1 diff --git a/src/main/target/MATEKH743/target.h b/src/main/target/MATEKH743/target.h index 126ce22d184..9234a09c5a5 100644 --- a/src/main/target/MATEKH743/target.h +++ b/src/main/target/MATEKH743/target.h @@ -37,7 +37,7 @@ #define USE_EXTI #define USE_MPU_DATA_READY_SIGNAL -// *************** SPI1 IMU1 ************************* +// *************** SPI1 IMU0 MPU6000 **************** #define USE_SPI #define USE_SPI_DEVICE_1 #define SPI1_SCK_PIN PA5 @@ -46,12 +46,12 @@ #define USE_IMU_MPU6000 -#define IMU1_ALIGN CW0_DEG_FLIP -#define IMU1_SPI_BUS BUS_SPI1 -#define IMU1_CS_PIN PC15 -#define IMU1_EXTI_PIN PB2 +#define IMU_MPU6000_ALIGN CW0_DEG_FLIP +#define MPU6000_SPI_BUS BUS_SPI1 +#define MPU6000_CS_PIN PC15 +#define MPU6000_EXTI_PIN PB2 -// *************** SPI4 IMU2 ************************* +// *************** SPI4 IMU1 ICM20602 ************** #define USE_SPI_DEVICE_4 #define SPI4_SCK_PIN PE12 #define SPI4_MISO_PIN PE13 @@ -59,10 +59,19 @@ #define USE_IMU_MPU6500 -#define IMU2_ALIGN CW0_DEG_FLIP -#define IMU2_SPI_BUS BUS_SPI4 -#define IMU2_CS_PIN PE11 -#define IMU2_EXTI_PIN PE15 +#define IMU_MPU6500_ALIGN CW0_DEG_FLIP +#define MPU6500_SPI_BUS BUS_SPI4 +#define MPU6500_CS_PIN PE11 +#define MPU6500_EXTI_PIN PE15 + +// *************** SPI4 IMU2 ICM42605 ************** +#define USE_IMU_ICM42605 + +#define IMU_ICM42605_ALIGN CW90_DEG_FLIP +#define ICM42605_SPI_BUS BUS_SPI4 +#define ICM42605_CS_PIN PC13 +#define ICM42605_EXTI_PIN PC14 + // *************** SPI2 OSD *********************** #define USE_SPI_DEVICE_2