Update Mag driver for generic target

This commit is contained in:
MJ666 2018-10-02 23:09:31 +02:00
parent 497ede203f
commit 0b1c8441f4
4 changed files with 22 additions and 23 deletions

View File

@ -33,7 +33,3 @@ typedef struct magDev_s {
ioTag_t magIntExtiTag;
int16_t magGain[3];
} magDev_t;
#ifndef MAG_I2C_INSTANCE
#define MAG_I2C_INSTANCE I2C_DEVICE
#endif

View File

@ -57,12 +57,6 @@
magDev_t magDev;
mag_t mag; // mag access functions
#ifdef MAG_INT_EXTI
#define COMPASS_INTERRUPT_TAG IO_TAG(MAG_INT_EXTI)
#else
#define COMPASS_INTERRUPT_TAG IO_TAG_NONE
#endif
PG_REGISTER_WITH_RESET_FN(compassConfig_t, compassConfig, PG_COMPASS_CONFIG, 1);
void pgResetFn_compassConfig(compassConfig_t *compassConfig)
@ -79,13 +73,8 @@ void pgResetFn_compassConfig(compassConfig_t *compassConfig)
#if defined(USE_SPI) && (defined(USE_MAG_SPI_HMC5883) || defined(USE_MAG_SPI_AK8963))
compassConfig->mag_bustype = BUSTYPE_SPI;
#ifdef USE_MAG_SPI_HMC5883
compassConfig->mag_spi_device = SPI_DEV_TO_CFG(spiDeviceByInstance(HMC5883_SPI_INSTANCE));
compassConfig->mag_spi_csn = IO_TAG(HMC5883_CS_PIN);
#else
compassConfig->mag_spi_device = SPI_DEV_TO_CFG(spiDeviceByInstance(AK8963_SPI_INSTANCE));
compassConfig->mag_spi_csn = IO_TAG(AK8963_CS_PIN);
#endif
compassConfig->mag_spi_device = SPI_DEV_TO_CFG(spiDeviceByInstance(MAG_SPI_INSTANCE));
compassConfig->mag_spi_csn = IO_TAG(MAG_CS_PIN);
compassConfig->mag_i2c_device = I2C_DEV_TO_CFG(I2CINVALID);
compassConfig->mag_i2c_address = 0;
#elif defined(USE_MAG_HMC5883) || defined(USE_MAG_QMC5883) || defined(USE_MAG_AK8975) || (defined(USE_MAG_AK8963) && !(defined(USE_GYRO_SPI_MPU6500) || defined(USE_GYRO_SPI_MPU9250)))
@ -108,7 +97,7 @@ void pgResetFn_compassConfig(compassConfig_t *compassConfig)
compassConfig->mag_spi_device = SPI_DEV_TO_CFG(SPIINVALID);
compassConfig->mag_spi_csn = IO_TAG_NONE;
#endif
compassConfig->interruptTag = COMPASS_INTERRUPT_TAG;
compassConfig->interruptTag = IO_TAG(MAG_INT_EXTI);
}
#if defined(USE_MAG)

View File

@ -61,11 +61,8 @@
#define USE_MAG_SPI_AK8963
#define USE_MAG_LIS3MDL
#define HMC5883_CS_PIN PC15
#define HMC5883_SPI_INSTANCE SPI3
#define AK8963_CS_PIN PC15
#define AK8963_SPI_INSTANCE SPI3
#define MAG_CS_PIN PC15
#define MAG_SPI_INSTANCE SPI3
#define MAG_AK8963_ALIGN CW180_DEG_FLIP

View File

@ -356,6 +356,23 @@
#endif
#endif
// Mag
#if defined(USE_MAG)
#ifndef MAG_SPI_INSTANCE
#define MAG_SPI_INSTANCE NULL
#endif
#ifndef MAG_CS_PIN
#define MAG_CS_PIN NONE
#endif
#ifndef MAG_I2C_INSTANCE
#define MAG_I2C_INSTANCE I2C_DEVICE
#endif
#endif
#ifndef MAG_INT_EXTI
#define MAG_INT_EXTI NONE
#endif
// Baro
#if defined(USE_BARO)
#ifndef BARO_SPI_INSTANCE