diff --git a/src/main/pg/gyrodev.c b/src/main/pg/gyrodev.c index 4f31a74e54..be17652e2d 100644 --- a/src/main/pg/gyrodev.c +++ b/src/main/pg/gyrodev.c @@ -34,6 +34,22 @@ #include "drivers/sensor.h" #include "sensors/gyro.h" +#ifndef GYRO_1_SPI_INSTANCE +#define GYRO_1_SPI_INSTANCE NULL +#endif + +#ifndef GYRO_1_CS_PIN +#define GYRO_1_CS_PIN NONE +#endif + +#ifndef GYRO_1_EXTI_PIN +#define GYRO_1_EXTI_PIN NONE +#endif + +#ifndef GYRO_2_SPI_INSTANCE +#define GYRO_2_SPI_INSTANCE NULL +#endif + #ifndef GYRO_2_CS_PIN #define GYRO_2_CS_PIN NONE #endif @@ -42,6 +58,23 @@ #define GYRO_2_EXTI_PIN NONE #endif +#ifdef MPU_ADDRESS +#define GYRO_I2C_ADDRESS MPU_ADDRESS +#else + // 0 == AUTO +#define GYRO_I2C_ADDRESS 0 +#endif + +// gyro alignments + +#ifndef GYRO_1_ALIGN +#define GYRO_1_ALIGN CW0_DEG +#endif + +#ifndef GYRO_2_ALIGN +#define GYRO_2_ALIGN CW0_DEG +#endif + ioTag_t selectMPUIntExtiConfigByHardwareRevision(void); // XXX Should be gone #if defined(USE_SPI_GYRO) || defined(USE_I2C_GYRO) diff --git a/src/main/pg/gyrodev.h b/src/main/pg/gyrodev.h index cba8dc192b..289e579746 100644 --- a/src/main/pg/gyrodev.h +++ b/src/main/pg/gyrodev.h @@ -27,6 +27,14 @@ #include "common/sensor_alignment.h" #include "drivers/io_types.h" +#ifdef USE_MULTI_GYRO +#define MAX_GYRODEV_COUNT 2 +#define MAX_ACCDEV_COUNT 2 +#else +#define MAX_GYRODEV_COUNT 1 +#define MAX_ACCDEV_COUNT 1 +#endif + typedef struct gyroDeviceConfig_s { int8_t index; uint8_t busType; diff --git a/src/main/target/common_defaults_post.h b/src/main/target/common_defaults_post.h index 7ca005d7a3..f0b8258419 100644 --- a/src/main/target/common_defaults_post.h +++ b/src/main/target/common_defaults_post.h @@ -121,51 +121,6 @@ #endif -// gyro hardware - -#if !defined(GYRO_1_SPI_INSTANCE) && !defined(SIMULATOR_BUILD) -#define GYRO_1_SPI_INSTANCE NULL -#endif - -#if !defined(GYRO_1_CS_PIN) -#define GYRO_1_CS_PIN NONE -#endif - -#if !defined(GYRO_1_EXTI_PIN) -#define GYRO_1_EXTI_PIN NONE -#endif - -// F4 and F7 single gyro boards -#if defined(USE_MULTI_GYRO) && !defined(GYRO_2_SPI_INSTANCE) -#define GYRO_2_SPI_INSTANCE NULL -#define GYRO_2_CS_PIN NONE -#define GYRO_2_EXTI_PIN NONE -#endif - -#if defined(MPU_ADDRESS) -#define GYRO_I2C_ADDRESS MPU_ADDRESS -#else -#define GYRO_I2C_ADDRESS 0 // AUTO -#endif - -#ifdef USE_MULTI_GYRO -#define MAX_GYRODEV_COUNT 2 -#define MAX_ACCDEV_COUNT 2 -#else -#define MAX_GYRODEV_COUNT 1 -#define MAX_ACCDEV_COUNT 1 -#endif - -// gyro alignments - -#if !defined(GYRO_1_ALIGN) -#define GYRO_1_ALIGN CW0_DEG -#endif - -#if !defined(GYRO_2_ALIGN) -#define GYRO_2_ALIGN CW0_DEG -#endif - // Previously there was logic here to default GYRO_1_CUSTOM_ALIGN and GYRO_2_CUSTOM_ALIGN // to CUSTOM_ALIGN_CW0_DEG if they weren't defined in the target. The defaulting logic // has been moved to pg/gyrodev.c to set the custom alignment based on the sensor alignment