diff --git a/src/main/drivers/accgyro/accgyro.h b/src/main/drivers/accgyro/accgyro.h index f0c35e35bb..e78952083f 100644 --- a/src/main/drivers/accgyro/accgyro.h +++ b/src/main/drivers/accgyro/accgyro.h @@ -20,6 +20,7 @@ #include "platform.h" #include "common/axis.h" #include "drivers/exti.h" +#include "drivers/bus.h" #include "drivers/sensor.h" #include "drivers/accgyro/accgyro_mpu.h" #if defined(SIMULATOR_BUILD) && defined(SIMULATOR_MULTITHREAD) diff --git a/src/main/drivers/accgyro/accgyro_mpu.h b/src/main/drivers/accgyro/accgyro_mpu.h index 8b1ea5063b..07910797a0 100644 --- a/src/main/drivers/accgyro/accgyro_mpu.h +++ b/src/main/drivers/accgyro/accgyro_mpu.h @@ -17,6 +17,7 @@ #pragma once +#include "drivers/bus.h" #include "drivers/exti.h" #include "drivers/sensor.h" diff --git a/src/main/drivers/accgyro/accgyro_spi_bmi160.h b/src/main/drivers/accgyro/accgyro_spi_bmi160.h index fad3dcd0bf..1c51c23c93 100644 --- a/src/main/drivers/accgyro/accgyro_spi_bmi160.h +++ b/src/main/drivers/accgyro/accgyro_spi_bmi160.h @@ -34,7 +34,7 @@ #pragma once -#include "drivers/sensor.h" +#include "drivers/bus.h" enum pios_bmi160_orientation { // clockwise rotation from board forward PIOS_BMI160_TOP_0DEG, diff --git a/src/main/drivers/accgyro/accgyro_spi_icm20689.h b/src/main/drivers/accgyro/accgyro_spi_icm20689.h index 0a3d862f6e..9eeb0c24a4 100644 --- a/src/main/drivers/accgyro/accgyro_spi_icm20689.h +++ b/src/main/drivers/accgyro/accgyro_spi_icm20689.h @@ -16,7 +16,7 @@ */ #pragma once -#include "drivers/sensor.h" +#include "drivers/bus.h" #define ICM20689_WHO_AM_I_CONST (0x98) #define ICM20689_BIT_RESET (0x80) diff --git a/src/main/drivers/accgyro/accgyro_spi_mpu6000.h b/src/main/drivers/accgyro/accgyro_spi_mpu6000.h index 2c0fa464ca..7eb9b6918c 100644 --- a/src/main/drivers/accgyro/accgyro_spi_mpu6000.h +++ b/src/main/drivers/accgyro/accgyro_spi_mpu6000.h @@ -1,7 +1,7 @@ #pragma once -#include "drivers/sensor.h" +#include "drivers/bus.h" #define MPU6000_CONFIG 0x1A diff --git a/src/main/drivers/accgyro/accgyro_spi_mpu6500.h b/src/main/drivers/accgyro/accgyro_spi_mpu6500.h index e2d1ef91b2..a23d2607c7 100755 --- a/src/main/drivers/accgyro/accgyro_spi_mpu6500.h +++ b/src/main/drivers/accgyro/accgyro_spi_mpu6500.h @@ -17,7 +17,7 @@ #pragma once -#include "drivers/sensor.h" +#include "drivers/bus.h" uint8_t mpu6500SpiDetect(const busDevice_t *bus); diff --git a/src/main/drivers/accgyro/accgyro_spi_mpu9250.h b/src/main/drivers/accgyro/accgyro_spi_mpu9250.h index 14eba13434..4518bd8e26 100644 --- a/src/main/drivers/accgyro/accgyro_spi_mpu9250.h +++ b/src/main/drivers/accgyro/accgyro_spi_mpu9250.h @@ -1,7 +1,7 @@ #pragma once -#include "drivers/sensor.h" +#include "drivers/bus.h" #define mpu9250_CONFIG 0x1A diff --git a/src/main/drivers/bus.h b/src/main/drivers/bus.h index d1c1961896..08de5e1a54 100644 --- a/src/main/drivers/bus.h +++ b/src/main/drivers/bus.h @@ -19,6 +19,14 @@ #include "platform.h" +#include "drivers/io_types.h" + +typedef union busDevice_u { + struct deviceSpi_s { + IO_t csnPin; + } spi; +} busDevice_t; + #ifdef TARGET_BUS_INIT void targetBusInit(void); #endif diff --git a/src/main/drivers/compass/compass.h b/src/main/drivers/compass/compass.h index 08ebc1f3c6..cb70068ba9 100644 --- a/src/main/drivers/compass/compass.h +++ b/src/main/drivers/compass/compass.h @@ -17,6 +17,7 @@ #pragma once +#include "drivers/bus.h" #include "drivers/sensor.h" typedef struct magDev_s { diff --git a/src/main/drivers/sensor.h b/src/main/drivers/sensor.h index ecf59fd1d3..e39e401b21 100644 --- a/src/main/drivers/sensor.h +++ b/src/main/drivers/sensor.h @@ -20,8 +20,6 @@ #include #include -#include "drivers/io_types.h" - typedef enum { ALIGN_DEFAULT = 0, // driver-provided alignment CW0_DEG = 1, @@ -34,12 +32,6 @@ typedef enum { CW270_DEG_FLIP = 8 } sensor_align_e; -typedef union busDevice_t { - struct deviceSpi_s { - IO_t csnPin; - } spi; -} busDevice_t; - typedef bool (*sensorInitFuncPtr)(void); // sensor init prototype typedef bool (*sensorReadFuncPtr)(int16_t *data); // sensor read and align prototype typedef bool (*sensorInterruptFuncPtr)(void); diff --git a/src/main/sensors/gyro.h b/src/main/sensors/gyro.h index e8b4365b64..ba7693e586 100644 --- a/src/main/sensors/gyro.h +++ b/src/main/sensors/gyro.h @@ -19,6 +19,7 @@ #include "common/axis.h" #include "config/parameter_group.h" +#include "drivers/bus.h" #include "drivers/sensor.h" typedef enum {