1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-14 11:59:58 +03:00

Remove USE_EXTI, USE_GYRO_EXTI and USE_MPU_DATA_READY_SIGNAL defines

This commit is contained in:
Steve Evans 2022-05-05 21:52:33 +01:00
parent b28b07eb95
commit 4f9f26ef1c
121 changed files with 143 additions and 483 deletions

View file

@ -4804,14 +4804,12 @@ static void cliStatus(const char *cmdName, char *cmdline)
}
}
#ifdef USE_SPI
#ifdef USE_GYRO_EXTI
if (gyroActiveDev()->gyroModeSPI != GYRO_EXTI_NO_INT) {
cliPrintf(" locked");
}
if (gyroActiveDev()->gyroModeSPI == GYRO_EXTI_INT_DMA) {
cliPrintf(" dma");
}
#endif
if (spiGetExtDeviceCount(&gyroActiveDev()->dev) > 1) {
cliPrintf(" shared");
}
@ -5201,9 +5199,7 @@ const cliResourceValue_t resourceTable[] = {
DEFS( OWNER_RX_SPI_EXPRESSLRS_BUSY, PG_RX_EXPRESSLRS_SPI_CONFIG, rxExpressLrsSpiConfig_t, busyIoTag ),
#endif
#endif
#ifdef USE_GYRO_EXTI
DEFW( OWNER_GYRO_EXTI, PG_GYRO_DEVICE_CONFIG, gyroDeviceConfig_t, extiTag, MAX_GYRODEV_COUNT ),
#endif
DEFW( OWNER_GYRO_CS, PG_GYRO_DEVICE_CONFIG, gyroDeviceConfig_t, csnTag, MAX_GYRODEV_COUNT ),
#ifdef USE_USB_DETECT
DEFS( OWNER_USB_DETECT, PG_USB_CONFIG, usbDev_t, detectPin ),

View file

@ -109,14 +109,12 @@ typedef struct gyroDev_s {
sensor_align_e gyroAlign;
gyroRateKHz_e gyroRateKHz;
gyroModeSPI_e gyroModeSPI;
#ifdef USE_GYRO_EXTI
uint32_t detectedEXTI;
uint32_t gyroLastEXTI;
uint32_t gyroSyncEXTI;
int32_t gyroShortPeriod;
int32_t gyroDmaMaxDuration;
busSegment_t segments[2];
#endif
volatile bool dataReady;
bool gyro_high_fsr;
uint8_t hardware_lpf;

View file

@ -115,7 +115,6 @@ static void mpu6050FindRevision(gyroDev_t *gyro)
/*
* Gyro interrupt service routine
*/
#ifdef USE_GYRO_EXTI
#ifdef USE_SPI_GYRO
// Called in ISR context
// Gyro read has just completed
@ -181,7 +180,6 @@ static void mpuIntExtiInit(gyroDev_t *gyro)
EXTIConfig(mpuIntIO, &gyro->exti, NVIC_PRIO_MPU_INT_EXTI, IOCFG_IN_FLOATING, BETAFLIGHT_EXTI_TRIGGER_RISING);
EXTIEnable(mpuIntIO);
}
#endif // USE_GYRO_EXTI
bool mpuAccRead(accDev_t *acc)
{
@ -270,7 +268,7 @@ bool mpuGyroReadSPI(gyroDev_t *gyro)
{
// Initialise the tx buffer to all 0xff
memset(gyro->dev.txBuf, 0xff, 16);
#ifdef USE_GYRO_EXTI
// Check that minimum number of interrupts have been detected
// We need some offset from the gyro interrupts to ensure sampling after the interrupt
@ -289,9 +287,7 @@ bool mpuGyroReadSPI(gyroDev_t *gyro)
// Interrupts are present, but no DMA
gyro->gyroModeSPI = GYRO_EXTI_INT;
}
} else
#endif
{
} else {
gyro->gyroModeSPI = GYRO_EXTI_NO_INT;
}
break;
@ -489,11 +485,7 @@ void mpuGyroInit(gyroDev_t *gyro)
{
gyro->accDataReg = MPU_RA_ACCEL_XOUT_H;
gyro->gyroDataReg = MPU_RA_GYRO_XOUT_H;
#ifdef USE_GYRO_EXTI
mpuIntExtiInit(gyro);
#else
UNUSED(gyro);
#endif
}
uint8_t mpuGyroDLPF(gyroDev_t *gyro)

View file

@ -96,9 +96,7 @@ static void mpu6050GyroInit(gyroDev_t *gyro)
busWriteRegister(dev, MPU_RA_INT_PIN_CFG,
0 << 7 | 0 << 6 | 0 << 5 | 0 << 4 | 0 << 3 | 0 << 2 | 1 << 1 | 0 << 0); // INT_PIN_CFG -- INT_LEVEL_HIGH, INT_OPEN_DIS, LATCH_INT_DIS, INT_RD_CLEAR_DIS, FSYNC_INT_LEVEL_HIGH, FSYNC_INT_DIS, I2C_BYPASS_EN, CLOCK_DIS
#ifdef USE_MPU_DATA_READY_SIGNAL
busWriteRegister(dev, MPU_RA_INT_ENABLE, MPU_RF_DATA_RDY_EN);
#endif
busWriteRegister(&gyro->dev, MPU_RA_INT_ENABLE, MPU_RF_DATA_RDY_EN);
}
bool mpu6050GyroDetect(gyroDev_t *gyro)

View file

@ -91,9 +91,7 @@ void mpu6500GyroInit(gyroDev_t *gyro)
#endif
delay(15);
#ifdef USE_MPU_DATA_READY_SIGNAL
busWriteRegister(dev, MPU_RA_INT_ENABLE, MPU6500_BIT_RAW_RDY_EN); // RAW_RDY_EN interrupt enable
#endif
busWriteRegister(&gyro->dev, MPU_RA_INT_ENABLE, MPU6500_BIT_RAW_RDY_EN); // RAW_RDY_EN interrupt enable
delay(15);
}

View file

@ -120,8 +120,6 @@ uint8_t bmi160Detect(const extDevice_t *dev)
BMI160Detected = true;
spiSetClkDivisor(dev, spiCalculateDivider(BMI160_MAX_SPI_CLK_HZ));
return BMI_160_SPI;
}
@ -260,7 +258,6 @@ static int32_t BMI160_do_foc(const extDevice_t *dev)
extiCallbackRec_t bmi160IntCallbackRec;
#ifdef USE_GYRO_EXTI
// Called in ISR context
// Gyro read has just completed
busStatus_e bmi160Intcallback(uint32_t arg)
@ -280,6 +277,8 @@ busStatus_e bmi160Intcallback(uint32_t arg)
void bmi160ExtiHandler(extiCallbackRec_t *cb)
{
gyroDev_t *gyro = container_of(cb, gyroDev_t, exti);
extDevice_t *dev = &gyro->dev;
// Ideally we'd use a timer to capture such information, but unfortunately the port used for EXTI interrupt does
// not have an associated timer
uint32_t nowCycles = getCycleCounter();
@ -287,7 +286,7 @@ void bmi160ExtiHandler(extiCallbackRec_t *cb)
gyro->gyroLastEXTI = nowCycles;
if (gyro->gyroModeSPI == GYRO_EXTI_INT_DMA) {
spiSequence(&gyro->dev, gyro->segments);
spiSequence(dev, gyro->segments);
}
gyro->detectedEXTI++;
@ -307,35 +306,29 @@ static void bmi160IntExtiInit(gyroDev_t *gyro)
EXTIConfig(mpuIntIO, &gyro->exti, NVIC_PRIO_MPU_INT_EXTI, IOCFG_IN_FLOATING, BETAFLIGHT_EXTI_TRIGGER_RISING);
EXTIEnable(mpuIntIO);
}
#else
void bmi160ExtiHandler(extiCallbackRec_t *cb)
{
gyroDev_t *gyro = container_of(cb, gyroDev_t, exti);
gyro->dataReady = true;
}
#endif
static bool bmi160AccRead(accDev_t *acc)
{
extDevice_t *dev = &acc->gyro->dev;
switch (acc->gyro->gyroModeSPI) {
case GYRO_EXTI_INT:
case GYRO_EXTI_NO_INT:
{
acc->gyro->dev.txBuf[0] = BMI160_REG_ACC_DATA_X_LSB | 0x80;
dev->txBuf[0] = BMI160_REG_ACC_DATA_X_LSB | 0x80;
busSegment_t segments[] = {
{.u.buffers = {NULL, NULL}, 7, true, NULL},
{.u.link = {NULL, NULL}, 0, true, NULL},
};
segments[0].u.buffers.txData = &acc->gyro->dev.txBuf[1];
segments[0].u.buffers.rxData = &acc->gyro->dev.rxBuf[1];
segments[0].u.buffers.txData = &dev->txBuf[1];
segments[0].u.buffers.rxData = &dev->rxBuf[1];
spiSequence(&acc->gyro->dev, &segments[0]);
// Wait for completion
spiWait(&acc->gyro->dev);
uint16_t *accData = (uint16_t *)acc->gyro->dev.rxBuf;
uint16_t *accData = (uint16_t *)dev->rxBuf;
acc->ADCRaw[X] = accData[1];
acc->ADCRaw[Y] = accData[2];
acc->ADCRaw[Z] = accData[3];
@ -348,7 +341,7 @@ static bool bmi160AccRead(accDev_t *acc)
// up an old value.
// This data was read from the gyro, which is the same SPI device as the acc
uint16_t *accData = (uint16_t *)acc->gyro->dev.rxBuf;
uint16_t *accData = (uint16_t *)dev->rxBuf;
acc->ADCRaw[X] = accData[4];
acc->ADCRaw[Y] = accData[5];
acc->ADCRaw[Z] = accData[6];
@ -366,35 +359,33 @@ static bool bmi160AccRead(accDev_t *acc)
static bool bmi160GyroRead(gyroDev_t *gyro)
{
uint16_t *gyroData = (uint16_t *)gyro->dev.rxBuf;
extDevice_t *dev = &gyro->dev;
uint16_t *gyroData = (uint16_t *)dev->rxBuf;
switch (gyro->gyroModeSPI) {
case GYRO_EXTI_INIT:
{
// Initialise the tx buffer to all 0x00
memset(gyro->dev.txBuf, 0x00, 14);
#ifdef USE_GYRO_EXTI
memset(dev->txBuf, 0x00, 14);
// Check that minimum number of interrupts have been detected
// We need some offset from the gyro interrupts to ensure sampling after the interrupt
gyro->gyroDmaMaxDuration = 5;
// Using DMA for gyro access upsets the scheduler on the F4
if (gyro->detectedEXTI > GYRO_EXTI_DETECT_THRESHOLD) {
if (spiUseDMA(&gyro->dev)) {
gyro->dev.callbackArg = (uint32_t)gyro;
gyro->dev.txBuf[1] = BMI160_REG_GYR_DATA_X_LSB | 0x80;
if (spiUseDMA(dev)) {
dev->callbackArg = (uint32_t)gyro;
dev->txBuf[1] = BMI160_REG_GYR_DATA_X_LSB | 0x80;
gyro->segments[0].len = 14;
gyro->segments[0].callback = bmi160Intcallback;
gyro->segments[0].u.buffers.txData = &gyro->dev.txBuf[1];
gyro->segments[0].u.buffers.rxData = &gyro->dev.rxBuf[1];
gyro->segments[0].u.buffers.txData = dev.txBuf[1];
gyro->segments[0].u.buffers.rxData = dev.rxBuf[1];
gyro->segments[0].negateCS = true;
gyro->gyroModeSPI = GYRO_EXTI_INT_DMA;
} else {
// Interrupts are present, but no DMA
gyro->gyroModeSPI = GYRO_EXTI_INT;
}
} else
#endif
{
} else {
gyro->gyroModeSPI = GYRO_EXTI_NO_INT;
}
break;
@ -403,19 +394,19 @@ static bool bmi160GyroRead(gyroDev_t *gyro)
case GYRO_EXTI_INT:
case GYRO_EXTI_NO_INT:
{
gyro->dev.txBuf[1] = BMI160_REG_GYR_DATA_X_LSB | 0x80;
dev->txBuf[1] = BMI160_REG_GYR_DATA_X_LSB | 0x80;
busSegment_t segments[] = {
{.u.buffers = {NULL, NULL}, 7, true, NULL},
{.u.link = {NULL, NULL}, 0, true, NULL},
};
segments[0].u.buffers.txData = &gyro->dev.txBuf[1];
segments[0].u.buffers.rxData = &gyro->dev.rxBuf[1];
segments[0].u.buffers.txData = dev.txBuf[1];
segments[0].u.buffers.rxData = dev.rxBuf[1];
spiSequence(&gyro->dev, &segments[0]);
spiSequence(dev, &segments[0]);
// Wait for completion
spiWait(&gyro->dev);
spiWait(dev);
// Fall through
FALLTHROUGH;
@ -441,10 +432,10 @@ static bool bmi160GyroRead(gyroDev_t *gyro)
void bmi160SpiGyroInit(gyroDev_t *gyro)
{
BMI160_Init(&gyro->dev);
#if defined(USE_GYRO_EXTI)
extDevice_t *dev = &gyro->dev;
BMI160_Init(dev);
bmi160IntExtiInit(gyro);
#endif
spiSetClkDivisor(dev, spiCalculateDivider(BMI160_MAX_SPI_CLK_HZ));
}

View file

@ -273,7 +273,6 @@ extiCallbackRec_t bmi270IntCallbackRec;
/*
* Gyro interrupt service routine
*/
#ifdef USE_GYRO_EXTI
// Called in ISR context
// Gyro read has just completed
busStatus_e bmi270Intcallback(uint32_t arg)
@ -293,6 +292,8 @@ busStatus_e bmi270Intcallback(uint32_t arg)
void bmi270ExtiHandler(extiCallbackRec_t *cb)
{
gyroDev_t *gyro = container_of(cb, gyroDev_t, exti);
extDevice_t *dev = &gyro->dev;
// Ideally we'd use a timer to capture such information, but unfortunately the port used for EXTI interrupt does
// not have an associated timer
uint32_t nowCycles = getCycleCounter();
@ -300,7 +301,7 @@ void bmi270ExtiHandler(extiCallbackRec_t *cb)
gyro->gyroLastEXTI = nowCycles;
if (gyro->gyroModeSPI == GYRO_EXTI_INT_DMA) {
spiSequence(&gyro->dev, gyro->segments);
spiSequence(dev, gyro->segments);
}
gyro->detectedEXTI++;
@ -320,28 +321,23 @@ static void bmi270IntExtiInit(gyroDev_t *gyro)
EXTIConfig(mpuIntIO, &gyro->exti, NVIC_PRIO_MPU_INT_EXTI, IOCFG_IN_FLOATING, BETAFLIGHT_EXTI_TRIGGER_RISING);
EXTIEnable(mpuIntIO);
}
#else
void bmi270ExtiHandler(extiCallbackRec_t *cb)
{
gyroDev_t *gyro = container_of(cb, gyroDev_t, exti);
gyro->dataReady = true;
}
#endif
static bool bmi270AccRead(accDev_t *acc)
{
extDevice_t *dev = &acc->gyro->dev;
switch (acc->gyro->gyroModeSPI) {
case GYRO_EXTI_INT:
case GYRO_EXTI_NO_INT:
{
acc->gyro->dev.txBuf[0] = BMI270_REG_ACC_DATA_X_LSB | 0x80;
dev->txBuf[0] = BMI270_REG_ACC_DATA_X_LSB | 0x80;
busSegment_t segments[] = {
{.u.buffers = {NULL, NULL}, 8, true, NULL},
{.u.link = {NULL, NULL}, 0, true, NULL},
};
segments[0].u.buffers.txData = acc->gyro->dev.txBuf;
segments[0].u.buffers.rxData = acc->gyro->dev.rxBuf;
segments[0].u.buffers.txData = dev->txBuf;
segments[0].u.buffers.rxData = dev->rxBuf;
spiSequence(&acc->gyro->dev, &segments[0]);
@ -358,7 +354,7 @@ static bool bmi270AccRead(accDev_t *acc)
// up an old value.
// This data was read from the gyro, which is the same SPI device as the acc
uint16_t *accData = (uint16_t *)acc->gyro->dev.rxBuf;
uint16_t *accData = (uint16_t *)dev->rxBuf;
acc->ADCRaw[X] = accData[1];
acc->ADCRaw[Y] = accData[2];
acc->ADCRaw[Z] = accData[3];
@ -375,35 +371,35 @@ static bool bmi270AccRead(accDev_t *acc)
static bool bmi270GyroReadRegister(gyroDev_t *gyro)
{
uint16_t *gyroData = (uint16_t *)gyro->dev.rxBuf;
extDevice_t *dev = &gyro->dev;
uint16_t *gyroData = (uint16_t *)dev->rxBuf;
switch (gyro->gyroModeSPI) {
case GYRO_EXTI_INIT:
{
// Initialise the tx buffer to all 0x00
memset(gyro->dev.txBuf, 0x00, 14);
#ifdef USE_GYRO_EXTI
memset(dev->txBuf, 0x00, 14);
// Check that minimum number of interrupts have been detected
// We need some offset from the gyro interrupts to ensure sampling after the interrupt
gyro->gyroDmaMaxDuration = 5;
// Using DMA for gyro access upsets the scheduler on the F4
if (gyro->detectedEXTI > GYRO_EXTI_DETECT_THRESHOLD) {
if (spiUseDMA(&gyro->dev)) {
gyro->dev.callbackArg = (uint32_t)gyro;
gyro->dev.txBuf[0] = BMI270_REG_ACC_DATA_X_LSB | 0x80;
if (spiUseDMA(dev)) {
dev->callbackArg = (uint32_t)gyro;
dev->txBuf[0] = BMI270_REG_ACC_DATA_X_LSB | 0x80;
gyro->segments[0].len = 14;
gyro->segments[0].callback = bmi270Intcallback;
gyro->segments[0].u.buffers.txData = gyro->dev.txBuf;
gyro->segments[0].u.buffers.rxData = gyro->dev.rxBuf;
gyro->segments[0].u.buffers.txData = dev->txBuf;
gyro->segments[0].u.buffers.rxData = dev->rxBuf;
gyro->segments[0].negateCS = true;
gyro->gyroModeSPI = GYRO_EXTI_INT_DMA;
} else {
// Interrupts are present, but no DMA
gyro->gyroModeSPI = GYRO_EXTI_INT;
}
} else
#endif
{
} else {
gyro->gyroModeSPI = GYRO_EXTI_NO_INT;
}
break;
@ -412,19 +408,19 @@ static bool bmi270GyroReadRegister(gyroDev_t *gyro)
case GYRO_EXTI_INT:
case GYRO_EXTI_NO_INT:
{
gyro->dev.txBuf[0] = BMI270_REG_GYR_DATA_X_LSB | 0x80;
dev->txBuf[0] = BMI270_REG_GYR_DATA_X_LSB | 0x80;
busSegment_t segments[] = {
{.u.buffers = {NULL, NULL}, 8, true, NULL},
{.u.link = {NULL, NULL}, 0, true, NULL},
};
segments[0].u.buffers.txData = gyro->dev.txBuf;
segments[0].u.buffers.rxData = gyro->dev.rxBuf;
segments[0].u.buffers.txData = dev->txBuf;
segments[0].u.buffers.rxData = dev->rxBuf;
spiSequence(&gyro->dev, &segments[0]);
spiSequence(dev, &segments[0]);
// Wait for completion
spiWait(&gyro->dev);
spiWait(dev);
gyro->gyroADCRaw[X] = gyroData[1];
gyro->gyroADCRaw[Y] = gyroData[2];
@ -533,9 +529,7 @@ static void bmi270SpiGyroInit(gyroDev_t *gyro)
bmi270Config(gyro);
#if defined(USE_GYRO_EXTI)
bmi270IntExtiInit(gyro);
#endif
spiSetClkDivisor(dev, spiCalculateDivider(BMI270_MAX_SPI_CLK_HZ));
}

View file

@ -77,8 +77,6 @@ void icm20649AccInit(accDev_t *acc)
// 1,024 LSB/g 30g
acc->acc_1G = acc->acc_high_fsr ? 1024 : 2048;
spiSetClkDivisor(&acc->dev, spiCalculateDivider(ICM20649_MAX_SPI_CLK_HZ));
spiWriteReg(&acc->dev, ICM20649_RA_REG_BANK_SEL, 2 << 4); // config in bank 2
delay(15);
const uint8_t acc_fsr = acc->acc_high_fsr ? ICM20649_FSR_30G : ICM20649_FSR_16G;
@ -136,9 +134,7 @@ void icm20649GyroInit(gyroDev_t *gyro)
spiWriteReg(&gyro->bus, ICM20649_RA_INT_PIN_CFG, 0x11); // INT_ANYRD_2CLEAR, BYPASS_EN
delay(15);
#ifdef USE_MPU_DATA_READY_SIGNAL
spiWriteReg(&gyro->bus, ICM20649_RA_INT_ENABLE_1, 0x01);
#endif
}
bool icm20649SpiGyroDetect(gyroDev_t *gyro)

View file

@ -147,25 +147,25 @@ bool icm20689SpiAccDetect(accDev_t *acc)
void icm20689GyroInit(gyroDev_t *gyro)
{
spiSetClkDivisor(&gyro->dev, spiCalculateDivider(ICM20689_MAX_SPI_CLK_HZ));
extDevice_t *dev = &gyro->dev;
spiSetClkDivisor(dev, spiCalculateDivider(ICM20689_MAX_SPI_CLK_HZ));
mpuGyroInit(gyro);
// Device was already reset during detection so proceed with configuration
spiWriteReg(&gyro->dev, MPU_RA_PWR_MGMT_1, INV_CLK_PLL);
spiWriteReg(dev, MPU_RA_PWR_MGMT_1, INV_CLK_PLL);
delayMicroseconds(ICM20689_CLKSEL_SETTLE_US);
spiWriteReg(&gyro->dev, MPU_RA_GYRO_CONFIG, INV_FSR_2000DPS << 3);
spiWriteReg(&gyro->dev, MPU_RA_ACCEL_CONFIG, INV_FSR_16G << 3);
spiWriteReg(&gyro->dev, MPU_RA_CONFIG, mpuGyroDLPF(gyro));
spiWriteReg(&gyro->dev, MPU_RA_SMPLRT_DIV, gyro->mpuDividerDrops);
spiWriteReg(dev, MPU_RA_GYRO_CONFIG, INV_FSR_2000DPS << 3);
spiWriteReg(dev, MPU_RA_ACCEL_CONFIG, INV_FSR_16G << 3);
spiWriteReg(dev, MPU_RA_CONFIG, mpuGyroDLPF(gyro));
spiWriteReg(dev, MPU_RA_SMPLRT_DIV, gyro->mpuDividerDrops);
// Data ready interrupt configuration
spiWriteReg(&gyro->dev, MPU_RA_INT_PIN_CFG, ICM20689_INT_ANYRD_2CLEAR);
spiWriteReg(dev, MPU_RA_INT_PIN_CFG, ICM20689_INT_ANYRD_2CLEAR);
#ifdef USE_MPU_DATA_READY_SIGNAL
spiWriteReg(&gyro->dev, MPU_RA_INT_ENABLE, MPU_RF_DATA_RDY_EN);
#endif
spiWriteReg(dev, MPU_RA_INT_ENABLE, MPU_RF_DATA_RDY_EN);
}
bool icm20689SpiGyroDetect(gyroDev_t *gyro)

View file

@ -160,6 +160,7 @@ static odrEntry_t icm426xxPkhzToSupportedODRMap[] = {
void icm426xxGyroInit(gyroDev_t *gyro)
{
const extDevice_t *dev = &gyro->dev;
spiSetClkDivisor(dev, spiCalculateDivider(ICM426XX_MAX_SPI_CLK_HZ));
mpuGyroInit(gyro);
@ -202,7 +203,6 @@ void icm426xxGyroInit(gyroDev_t *gyro)
spiWriteReg(dev, ICM426XX_RA_INT_CONFIG, ICM426XX_INT1_MODE_PULSED | ICM426XX_INT1_DRIVE_CIRCUIT_PP | ICM426XX_INT1_POLARITY_ACTIVE_HIGH);
spiWriteReg(dev, ICM426XX_RA_INT_CONFIG0, ICM426XX_UI_DRDY_INT_CLEAR_ON_SBR);
#ifdef USE_MPU_DATA_READY_SIGNAL
spiWriteReg(dev, ICM426XX_RA_INT_SOURCE0, ICM426XX_UI_DRDY_INT1_EN_ENABLED);
uint8_t intConfig1Value = spiReadRegMsk(dev, ICM426XX_RA_INT_CONFIG1);
@ -211,7 +211,6 @@ void icm426xxGyroInit(gyroDev_t *gyro)
intConfig1Value |= (ICM426XX_INT_TPULSE_DURATION_8 | ICM426XX_INT_TDEASSERT_DISABLED);
spiWriteReg(dev, ICM426XX_RA_INT_CONFIG1, intConfig1Value);
#endif
}
bool icm426xxSpiGyroDetect(gyroDev_t *gyro)

View file

@ -77,7 +77,6 @@
#define BOOT ((uint8_t)0x80)
#if defined(USE_MPU_DATA_READY_SIGNAL)
static void l3gd20ExtiHandler(extiCallbackRec_t *cb)
{
gyroDev_t *gyro = container_of(cb, gyroDev_t, exti);
@ -97,35 +96,34 @@ static void l3gd20IntExtiInit(gyroDev_t *gyro)
EXTIConfig(mpuIntIO, &gyro->exti, NVIC_PRIO_MPU_INT_EXTI, IOCFG_IN_FLOATING, BETAFLIGHT_EXTI_TRIGGER_RISING);
EXTIEnable(mpuIntIO);
}
#endif
void l3gd20GyroInit(gyroDev_t *gyro)
{
spiSetClkDivisor(&gyro->dev, spiCalculateDivider(L3GD20_MAX_SPI_CLK_HZ));
extDevice_t *dev = &gyro->dev;
spiWriteReg(&gyro->dev, CTRL_REG5_ADDR, BOOT);
spiSetClkDivisor(dev, spiCalculateDivider(L3GD20_MAX_SPI_CLK_HZ));
spiWriteReg(dev, CTRL_REG5_ADDR, BOOT);
delayMicroseconds(100);
spiWriteReg(&gyro->dev, CTRL_REG1_ADDR, MODE_ACTIVE | OUTPUT_DATARATE_3 | AXES_ENABLE | BANDWIDTH_3);
spiWriteReg(dev, CTRL_REG1_ADDR, MODE_ACTIVE | OUTPUT_DATARATE_3 | AXES_ENABLE | BANDWIDTH_3);
delayMicroseconds(1);
spiWriteReg(&gyro->dev, CTRL_REG4_ADDR, BLOCK_DATA_UPDATE_CONTINUOUS | BLE_MSB | FULLSCALE_2000);
spiWriteReg(dev, CTRL_REG4_ADDR, BLOCK_DATA_UPDATE_CONTINUOUS | BLE_MSB | FULLSCALE_2000);
delay(100);
#if defined(USE_MPU_DATA_READY_SIGNAL)
l3gd20IntExtiInit(gyro);
#endif
}
static bool l3gd20GyroRead(gyroDev_t *gyro)
{
uint8_t buf[6];
extDevice_t *dev = &gyro->dev;
const bool ack = spiReadRegMskBufRB(&gyro->dev, OUT_X_L_ADDR | READ_CMD | MULTIPLEBYTE_CMD,buf, sizeof(buf));
const bool ack = spiReadRegMskBufRB(dev, OUT_X_L_ADDR | READ_CMD | MULTIPLEBYTE_CMD,buf, sizeof(buf));
if (!ack) {
return false;
}

View file

@ -32,13 +32,11 @@
#include "drivers/io.h"
#include "drivers/io_impl.h"
#if defined(USE_GYRO_EXTI) && defined(USE_MPU_DATA_READY_SIGNAL)
void lsm6dsoExtiHandler(extiCallbackRec_t *cb)
{
gyroDev_t *gyro = container_of(cb, gyroDev_t, exti);
gyro->dataReady = true;
}
#endif
bool lsm6dsoAccRead(accDev_t *acc)
{

View file

@ -147,7 +147,6 @@ static void lsm6dsoConfig(gyroDev_t *gyro)
lsm6dsoWriteRegisterBits(dev, LSM6DSO_REG_CTRL9_XL, LSM6DSO_MASK_CTRL9_XL, LSM6DSO_VAL_CTRL9_XL_I3C_DISABLE, 1);
}
#if defined(USE_GYRO_EXTI) && defined(USE_MPU_DATA_READY_SIGNAL)
static void lsm6dsoIntExtiInit(gyroDev_t *gyro)
{
if (gyro->mpuIntExtiTag == IO_TAG_NONE) {
@ -161,7 +160,6 @@ static void lsm6dsoIntExtiInit(gyroDev_t *gyro)
EXTIConfig(mpuIntIO, &gyro->exti, NVIC_PRIO_MPU_INT_EXTI, IOCFG_IN_FLOATING, BETAFLIGHT_EXTI_TRIGGER_RISING);
EXTIEnable(mpuIntIO);
}
#endif
static void lsm6dsoSpiGyroInit(gyroDev_t *gyro)
{
@ -169,9 +167,7 @@ static void lsm6dsoSpiGyroInit(gyroDev_t *gyro)
lsm6dsoConfig(gyro);
#if defined(USE_GYRO_EXTI) && defined(USE_MPU_DATA_READY_SIGNAL)
lsm6dsoIntExtiInit(gyro);
#endif
spiSetClkDivisor(dev, spiCalculateDivider(LSM6DSO_MAX_SPI_CLK_HZ));
}

View file

@ -103,15 +103,17 @@ static void mpu6000AccAndGyroInit(gyroDev_t *gyro);
void mpu6000SpiGyroInit(gyroDev_t *gyro)
{
extDevice_t *dev = &gyro->dev;
mpuGyroInit(gyro);
mpu6000AccAndGyroInit(gyro);
// Accel and Gyro DLPF Setting
spiWriteReg(&gyro->dev, MPU6000_CONFIG, mpuGyroDLPF(gyro));
spiWriteReg(dev, MPU6000_CONFIG, mpuGyroDLPF(gyro));
delayMicroseconds(1);
spiSetClkDivisor(&gyro->dev, spiCalculateDivider(MPU6000_MAX_SPI_CLK_HZ));
spiSetClkDivisor(dev, spiCalculateDivider(MPU6000_MAX_SPI_CLK_HZ));
mpuGyroRead(gyro);
@ -167,39 +169,39 @@ uint8_t mpu6000SpiDetect(const extDevice_t *dev)
static void mpu6000AccAndGyroInit(gyroDev_t *gyro)
{
extDevice_t *dev = &gyro->dev;
// Device was already reset during detection so proceed with configuration
// Clock Source PPL with Z axis gyro reference
spiWriteReg(&gyro->dev, MPU_RA_PWR_MGMT_1, MPU_CLK_SEL_PLLGYROZ);
spiWriteReg(dev, MPU_RA_PWR_MGMT_1, MPU_CLK_SEL_PLLGYROZ);
delayMicroseconds(15);
// Disable Primary I2C Interface
spiWriteReg(&gyro->dev, MPU_RA_USER_CTRL, BIT_I2C_IF_DIS);
spiWriteReg(dev, MPU_RA_USER_CTRL, BIT_I2C_IF_DIS);
delayMicroseconds(15);
spiWriteReg(&gyro->dev, MPU_RA_PWR_MGMT_2, 0x00);
spiWriteReg(dev, MPU_RA_PWR_MGMT_2, 0x00);
delayMicroseconds(15);
// Accel Sample Rate 1kHz
// Gyroscope Output Rate = 1kHz when the DLPF is enabled
spiWriteReg(&gyro->dev, MPU_RA_SMPLRT_DIV, gyro->mpuDividerDrops);
spiWriteReg(dev, MPU_RA_SMPLRT_DIV, gyro->mpuDividerDrops);
delayMicroseconds(15);
// Gyro +/- 2000 DPS Full Scale
spiWriteReg(&gyro->dev, MPU_RA_GYRO_CONFIG, INV_FSR_2000DPS << 3);
spiWriteReg(dev, MPU_RA_GYRO_CONFIG, INV_FSR_2000DPS << 3);
delayMicroseconds(15);
// Accel +/- 16 G Full Scale
spiWriteReg(&gyro->dev, MPU_RA_ACCEL_CONFIG, INV_FSR_16G << 3);
spiWriteReg(dev, MPU_RA_ACCEL_CONFIG, INV_FSR_16G << 3);
delayMicroseconds(15);
spiWriteReg(&gyro->dev, MPU_RA_INT_PIN_CFG, 0 << 7 | 0 << 6 | 0 << 5 | 1 << 4 | 0 << 3 | 0 << 2 | 0 << 1 | 0 << 0); // INT_ANYRD_2CLEAR
spiWriteReg(dev, MPU_RA_INT_PIN_CFG, 0 << 7 | 0 << 6 | 0 << 5 | 1 << 4 | 0 << 3 | 0 << 2 | 0 << 1 | 0 << 0); // INT_ANYRD_2CLEAR
delayMicroseconds(15);
#ifdef USE_MPU_DATA_READY_SIGNAL
spiWriteReg(&gyro->dev, MPU_RA_INT_ENABLE, MPU_RF_DATA_RDY_EN);
spiWriteReg(dev, MPU_RA_INT_ENABLE, MPU_RF_DATA_RDY_EN);
delayMicroseconds(15);
#endif
}
bool mpu6000SpiAccDetect(accDev_t *acc)
@ -223,9 +225,8 @@ bool mpu6000SpiGyroDetect(gyroDev_t *gyro)
gyro->initFn = mpu6000SpiGyroInit;
gyro->readFn = mpuGyroReadSPI;
gyro->scale = GYRO_SCALE_2000DPS;
#ifdef USE_GYRO_EXTI
gyro->gyroShortPeriod = clockMicrosToCycles(MPU6000_SHORT_THRESHOLD);
#endif
return true;
}

View file

@ -82,8 +82,6 @@ uint8_t mpu6500SpiDetect(const extDevice_t *dev)
return mpuDetected;
}
spiSetClkDivisor(dev, spiCalculateDivider(MPU6500_MAX_SPI_CLK_HZ));
return mpuDetected;
}
@ -94,13 +92,15 @@ void mpu6500SpiAccInit(accDev_t *acc)
void mpu6500SpiGyroInit(gyroDev_t *gyro)
{
extDevice_t *dev = &gyro->dev;
mpu6500GyroInit(gyro);
// Disable Primary I2C Interface
spiWriteReg(&gyro->dev, MPU_RA_USER_CTRL, MPU6500_BIT_I2C_IF_DIS);
spiWriteReg(dev, MPU_RA_USER_CTRL, MPU6500_BIT_I2C_IF_DIS);
delay(100);
spiSetClkDivisor(&gyro->dev, spiCalculateDivider(MPU6500_MAX_SPI_CLK_HZ));
spiSetClkDivisor(dev, spiCalculateDivider(MPU6500_MAX_SPI_CLK_HZ));
delayMicroseconds(1);
}

View file

@ -70,11 +70,13 @@ static bool mpu9250SpiSlowReadRegisterBuffer(const extDevice_t *dev, uint8_t reg
void mpu9250SpiGyroInit(gyroDev_t *gyro)
{
extDevice_t *dev = &gyro->dev;
mpuGyroInit(gyro);
mpu9250AccAndGyroInit(gyro);
spiSetClkDivisor(&gyro->dev, spiCalculateDivider(MPU9250_MAX_SPI_CLK_HZ)); //high speed now that we don't need to write to the slow registers
spiSetClkDivisor(dev, spiCalculateDivider(MPU9250_MAX_SPI_CLK_HZ)); //high speed now that we don't need to write to the slow registers
mpuGyroRead(gyro);
@ -109,25 +111,23 @@ bool mpu9250SpiWriteRegisterVerify(const extDevice_t *dev, uint8_t reg, uint8_t
static void mpu9250AccAndGyroInit(gyroDev_t *gyro)
{
mpu9250SpiWriteRegister(&gyro->dev, MPU_RA_PWR_MGMT_1, MPU9250_BIT_RESET);
extDevice_t *dev = &gyro->dev;
mpu9250SpiWriteRegister(dev, MPU_RA_PWR_MGMT_1, MPU9250_BIT_RESET);
delay(50);
mpu9250SpiWriteRegisterVerify(&gyro->dev, MPU_RA_PWR_MGMT_1, INV_CLK_PLL);
mpu9250SpiWriteRegisterVerify(dev, MPU_RA_PWR_MGMT_1, INV_CLK_PLL);
mpu9250SpiWriteRegisterVerify(&gyro->dev, MPU_RA_GYRO_CONFIG, INV_FSR_2000DPS << 3);
mpu9250SpiWriteRegisterVerify(dev, MPU_RA_GYRO_CONFIG, INV_FSR_2000DPS << 3);
mpu9250SpiWriteRegisterVerify(&gyro->dev, MPU_RA_CONFIG, mpuGyroDLPF(gyro));
mpu9250SpiWriteRegisterVerify(dev, MPU_RA_CONFIG, mpuGyroDLPF(gyro));
mpu9250SpiWriteRegisterVerify(&gyro->dev, MPU_RA_SMPLRT_DIV, gyro->mpuDividerDrops);
mpu9250SpiWriteRegisterVerify(dev, MPU_RA_SMPLRT_DIV, gyro->mpuDividerDrops);
mpu9250SpiWriteRegisterVerify(&gyro->dev, MPU_RA_ACCEL_CONFIG, INV_FSR_16G << 3);
mpu9250SpiWriteRegisterVerify(&gyro->dev, MPU_RA_INT_PIN_CFG, 0 << 7 | 0 << 6 | 0 << 5 | 1 << 4 | 0 << 3 | 0 << 2 | 1 << 1 | 0 << 0); // INT_ANYRD_2CLEAR, BYPASS_EN
mpu9250SpiWriteRegisterVerify(dev, MPU_RA_ACCEL_CONFIG, INV_FSR_16G << 3);
mpu9250SpiWriteRegisterVerify(dev, MPU_RA_INT_PIN_CFG, 0 << 7 | 0 << 6 | 0 << 5 | 1 << 4 | 0 << 3 | 0 << 2 | 1 << 1 | 0 << 0); // INT_ANYRD_2CLEAR, BYPASS_EN
#if defined(USE_MPU_DATA_READY_SIGNAL)
mpu9250SpiWriteRegisterVerify(&gyro->dev, MPU_RA_INT_ENABLE, 0x01); //this resets register MPU_RA_PWR_MGMT_1 and won't read back correctly.
#endif
spiSetClkDivisor(&gyro->dev, spiCalculateDivider(MPU9250_MAX_SPI_CLK_HZ));
mpu9250SpiWriteRegisterVerify(dev, MPU_RA_INT_ENABLE, 0x01); //this resets register MPU_RA_PWR_MGMT_1 and won't read back correctly.
}
uint8_t mpu9250SpiDetect(const extDevice_t *dev)

View file

@ -32,9 +32,7 @@ typedef void (*baroCalculateFuncPtr)(int32_t *pressure, int32_t *temperature); /
// the 'u' in these variable names means 'uncompensated', 't' is temperature, 'p' pressure.
typedef struct baroDev_s {
extDevice_t dev;
#ifdef USE_EXTI
extiCallbackRec_t exti;
#endif
bool combined_read;
uint16_t ut_delay;
uint16_t up_delay;

View file

@ -46,7 +46,6 @@ static bool isEOCConnected = false;
#define BMP085_DATA_FRAME_SIZE 3
static uint8_t sensor_data[BMP085_DATA_FRAME_SIZE];
#ifdef USE_EXTI
static IO_t eocIO;
static extiCallbackRec_t exti;
@ -55,7 +54,6 @@ static void bmp085ExtiHandler(extiCallbackRec_t* cb)
UNUSED(cb);
isConversionComplete = true;
}
#endif
typedef struct {
int16_t ac1;
@ -161,7 +159,6 @@ bool bmp085Detect(const bmp085Config_t *config, baroDev_t *baro)
bmp085InitXclrIO(config);
BMP085_ON; // enable baro
#ifdef USE_EXTI
// EXTI interrupt for barometer EOC
eocIO = IOGetByTag(config->eocTag);
@ -169,9 +166,6 @@ bool bmp085Detect(const bmp085Config_t *config, baroDev_t *baro)
EXTIHandlerInit(&exti, bmp085ExtiHandler);
EXTIConfig(eocIO, &exti, NVIC_PRIO_BARO_EXTI, IOCFG_IN_FLOATING, BETAFLIGHT_EXTI_TRIGGER_RISING);
EXTIEnable(eocIO);
#else
UNUSED(config);
#endif
delay(20); // datasheet says 10ms, we'll be careful and do 20.
@ -212,12 +206,10 @@ bool bmp085Detect(const bmp085Config_t *config, baroDev_t *baro)
}
}
#ifdef USE_EXTI
if (eocIO) {
IORelease(eocIO);
EXTIRelease(eocIO);
}
#endif
BMP085_OFF;
@ -397,7 +389,6 @@ static bool bmp085TestEOCConnected(baroDev_t *baro, const bmp085Config_t *config
{
UNUSED(config);
#ifdef USE_EXTI
if (!bmp085InitDone && eocIO) {
// EOC should be low at this point. If not, assume EOC is not working
if (IORead(eocIO)) {
@ -413,9 +404,6 @@ static bool bmp085TestEOCConnected(baroDev_t *baro, const bmp085Config_t *config
return true;
}
}
#else
UNUSED(baro);
#endif
return false; // assume EOC is not connected
}

View file

@ -178,7 +178,6 @@ static bool bmp388ReadUP(baroDev_t *baro);
STATIC_UNIT_TESTED void bmp388Calculate(int32_t *pressure, int32_t *temperature);
#ifdef USE_EXTI
void bmp388_extiHandler(extiCallbackRec_t* cb)
{
#ifdef DEBUG
@ -192,7 +191,6 @@ void bmp388_extiHandler(extiCallbackRec_t* cb)
uint8_t intStatus = 0;
busReadRegisterBuffer(&baro->dev, BMP388_INT_STATUS_REG, &intStatus, 1);
}
#endif
void bmp388BusInit(const extDevice_t *dev)
{
@ -230,7 +228,6 @@ bool bmp388Detect(const bmp388Config_t *config, baroDev_t *baro)
{
delay(20);
#ifdef USE_EXTI
IO_t baroIntIO = IOGetByTag(config->eocTag);
if (baroIntIO) {
IOInit(baroIntIO, OWNER_BARO_EOC, 0);
@ -238,9 +235,6 @@ bool bmp388Detect(const bmp388Config_t *config, baroDev_t *baro)
EXTIConfig(baroIntIO, &baro->exti, NVIC_PRIO_BARO_EXTI, IOCFG_IN_FLOATING, BETAFLIGHT_EXTI_TRIGGER_RISING);
EXTIEnable(baroIntIO);
}
#else
UNUSED(config);
#endif
extDevice_t *dev = &baro->dev;
bool defaultAddressApplied = false;
@ -265,7 +259,6 @@ bool bmp388Detect(const bmp388Config_t *config, baroDev_t *baro)
busDeviceRegister(dev);
#ifdef USE_EXTI
if (baroIntIO) {
uint8_t intCtrlValue = 1 << BMP388_INT_DRDY_EN_BIT |
0 << BMP388_INT_FFULL_EN_BIT |
@ -275,7 +268,6 @@ bool bmp388Detect(const bmp388Config_t *config, baroDev_t *baro)
0 << BMP388_INT_OD_BIT;
busWriteRegister(dev, BMP388_INT_CTRL_REG, intCtrlValue);
}
#endif
// read calibration
busReadRegisterBuffer(dev, BMP388_TRIMMING_NVM_PAR_T1_LSB_REG, (uint8_t *)&bmp388_cal, sizeof(bmp388_calib_param_t));

View file

@ -24,7 +24,7 @@
#include "platform.h"
#ifdef USE_EXTI
#if !defined(SIMULATOR_BUILD)
#include "drivers/nvic.h"
#include "io_impl.h"
@ -248,3 +248,4 @@ _EXTI_IRQ_HANDLER(EXTI9_5_IRQHandler, 0x03e0);
_EXTI_IRQ_HANDLER(EXTI15_10_IRQHandler, 0xfc00);
#endif

View file

@ -425,7 +425,7 @@ void init(void)
#endif
LED2_ON;
#ifdef USE_EXTI
#if !defined(SIMULATOR_BUILD)
EXTIInit();
#endif

View file

@ -538,7 +538,6 @@ FAST_CODE void scheduler(void)
#endif
lastTargetCycles = nextTargetCycles;
#ifdef USE_GYRO_EXTI
gyroDev_t *gyro = gyroActiveDev();
// Bring the scheduler into lock with the gyro
@ -547,7 +546,7 @@ FAST_CODE void scheduler(void)
static uint32_t terminalGyroRateCount = 0;
static int32_t sampleRateStartCycles;
if ((terminalGyroRateCount == 0)) {
if (terminalGyroRateCount == 0) {
terminalGyroRateCount = gyro->detectedEXTI + GYRO_RATE_COUNT;
sampleRateStartCycles = nowCycles;
}
@ -571,7 +570,7 @@ FAST_CODE void scheduler(void)
accGyroSkew += gyroSkew;
if ((terminalGyroLockCount == 0)) {
if (terminalGyroLockCount == 0) {
terminalGyroLockCount = gyro->detectedEXTI + GYRO_LOCK_COUNT;
}
@ -584,7 +583,6 @@ FAST_CODE void scheduler(void)
accGyroSkew = 0;
}
}
#endif
}
}

View file

@ -32,7 +32,6 @@
#define INVERTER_PIN_UART1 PC0
#define USE_EXTI
#define USE_GYRO
#define USE_GYRO_SPI_MPU6000
@ -45,9 +44,7 @@
#define USE_ACC_SPI_MPU6000
#define USE_ACC_SPI_MPU6500
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define USE_MPU_DATA_READY_SIGNAL
#define USE_BARO
#define USE_BARO_BMP280

View file

@ -37,10 +37,7 @@
#define INVERTER_PIN_UART2 PC15
// MPU interrupt
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC14
#define USE_MPU_DATA_READY_SIGNAL
#define ENSURE_MPU_DATA_READY_IS_LOW
#define GYRO_1_CS_PIN SPI1_NSS_PIN

View file

@ -35,10 +35,7 @@
#define BEEPER_INVERTED
// MPU interrupt
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC14
#define USE_MPU_DATA_READY_SIGNAL
#define ENSURE_MPU_DATA_READY_IS_LOW
#define GYRO_1_CS_PIN SPI1_NSS_PIN

View file

@ -118,13 +118,10 @@
/* Motion Processing Unit (MPU) - Invensense 6-axis MPU-6500 or 9-axis MPU-9250
*/
// Interrupt
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC14
// MPU
#define GYRO_1_CS_PIN SPI1_NSS_PIN
#define GYRO_1_SPI_INSTANCE SPI1
#define USE_MPU_DATA_READY_SIGNAL
#define ENSURE_MPU_DATA_READY_IS_LOW
// MAG
#define USE_MAG

View file

@ -42,11 +42,7 @@
#define GYRO_1_ALIGN CW270_DEG
// MPU6000 interrupts
#define USE_MPU_DATA_READY_SIGNAL
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define USE_EXTI
#define USE_MAG
#define USE_MAG_HMC5883

View file

@ -42,11 +42,7 @@
#define GYRO_1_ALIGN CW270_DEG
// MPU6000 interrupts
#define USE_MPU_DATA_READY_SIGNAL
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define USE_EXTI
#define USE_MAG
//#define USE_MAG_HMC5883

View file

@ -33,10 +33,7 @@
#define ENABLE_DSHOT_DMAR DSHOT_DMAR_OFF
// ICM20689 interrupt
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PA8
#define USE_MPU_DATA_READY_SIGNAL
#define ENSURE_MPU_DATA_READY_IS_LOW
#define GYRO_1_CS_PIN SPI1_NSS_PIN

View file

@ -45,10 +45,7 @@
// MPU6000 interrupts
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define USE_MPU_DATA_READY_SIGNAL
#define USE_BARO
#define USE_BARO_BMP280

View file

@ -78,10 +78,7 @@
#define USE_ACC_SPI_ICM20689
#define USE_GYRO_SPI_ICM20689
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PB6
#define USE_MPU_DATA_READY_SIGNAL
#define ENSURE_MPU_DATA_READY_IS_LOW
#define GYRO_1_CS_PIN SPI1_NSS_PIN

View file

@ -43,10 +43,7 @@
//#define INVERTER_PIN_UART1 PC9 // Polarity depends on revision; handled in config.c
// MPU6500 interrupt
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC5
#define USE_MPU_DATA_READY_SIGNAL
#define GYRO_1_CS_PIN PC4
#define GYRO_1_SPI_INSTANCE SPI1

View file

@ -37,10 +37,7 @@
#define INVERTER_PIN_UART1 PC0 // PC0 used as inverter select GPIO
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define USE_MPU_DATA_READY_SIGNAL
#define USE_ACC
#define USE_GYRO

View file

@ -31,11 +31,8 @@
#define BEEPER_INVERTED
#define USE_MULTI_GYRO
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define GYRO_2_EXTI_PIN PC14
#define USE_MPU_DATA_READY_SIGNAL
#define USE_ACC
#define USE_GYRO

View file

@ -43,10 +43,7 @@
#define GYRO_1_SPI_INSTANCE SPI1
#define GYRO_1_ALIGN CW90_DEG
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PA1
#define USE_MPU_DATA_READY_SIGNAL
#define ENSURE_MPU_DATA_READY_IS_LOW
#define USE_GYRO

View file

@ -39,10 +39,7 @@
#define SPI1_MISO_PIN PA6
#define SPI1_MOSI_PIN PA7
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define USE_MPU_DATA_READY_SIGNAL
#define USE_GYRO
#define USE_ACC

View file

@ -30,8 +30,6 @@
#define BEEPER_PIN PC13
#define BEEPER_INVERTED
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PB10
#define GYRO_2_EXTI_PIN PC4
@ -40,7 +38,6 @@
#define GYRO_2_CS_PIN PA4
#define GYRO_2_SPI_INSTANCE SPI1
#define USE_MPU_DATA_READY_SIGNAL
#define ENSURE_MPU_DATA_READY_IS_LOW
#define USE_GYRO

View file

@ -39,10 +39,7 @@
#define USE_ACC_SPI_MPU6500
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define USE_MPU_DATA_READY_SIGNAL
#define USE_OSD
#define DEFAULT_FEATURES (FEATURE_OSD | FEATURE_SOFTSERIAL)

View file

@ -30,10 +30,7 @@
#define LED2_PIN PC2
// MPU9250 interrupt
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PB5
#define USE_MPU_DATA_READY_SIGNAL
#define ENSURE_MPU_DATA_READY_IS_LOW
#define GYRO_1_CS_PIN PB12

View file

@ -44,10 +44,7 @@
#define GYRO_1_CS_PIN PA4
#define GYRO_1_SPI_INSTANCE SPI1
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PA1
#define USE_MPU_DATA_READY_SIGNAL
#define USE_GYRO
#define USE_GYRO_SPI_MPU6000
@ -82,9 +79,9 @@
#define USE_RX_SX1280
#define RX_SPI_LED_INVERTED
#define RX_SPI_BIND_PIN PB2
#define RX_SPI_EXTI_PIN PC14
#define RX_SPI_LED_PIN PB9
#define RX_SPI_BIND_PIN PB2
#define RX_SPI_EXTI_PIN PC14
#define RX_SPI_LED_PIN PB9
#define RX_EXPRESSLRS_SPI_RESET_PIN PA8
#define RX_EXPRESSLRS_SPI_BUSY_PIN PA13
#define RX_EXPRESSLRS_TIMER_INSTANCE TIM3
@ -120,7 +117,7 @@
#define DEFAULT_FEATURES (FEATURE_OSD | FEATURE_TELEMETRY )
#define DEFAULT_VOLTAGE_METER_SOURCE VOLTAGE_METER_ADC
#define DEFAULT_CURRENT_METER_SOURCE CURRENT_METER_ADC
#define CURRENT_METER_SCALE_DEFAULT 179
#define CURRENT_METER_SCALE_DEFAULT 179
#define TARGET_IO_PORTA 0xffff
#define TARGET_IO_PORTB 0xffff

View file

@ -32,12 +32,9 @@
#define BEEPER_PIN PC15
#define BEEPER_INVERTED
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PA8
#define GYRO_2_EXTI_PIN PB2
#define USE_MPU_DATA_READY_SIGNAL
#define ENSURE_MPU_DATA_READY_IS_LOW
#define GYRO_1_SPI_INSTANCE SPI1

View file

@ -35,10 +35,7 @@
// MPU6000 interrupts
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PB0
#define USE_MPU_DATA_READY_SIGNAL
#define GYRO_1_CS_PIN PA4
#define GYRO_1_SPI_INSTANCE SPI1

View file

@ -51,10 +51,7 @@
/*------------SENSORS--------------*/
// MPU interrupt
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define USE_MPU_DATA_READY_SIGNAL
#define ENSURE_MPU_DATA_READY_IS_LOW
#define USE_GYRO

View file

@ -45,10 +45,7 @@
/*------------SENSORS--------------*/
// MPU interrupt
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define USE_MPU_DATA_READY_SIGNAL
#define ENSURE_MPU_DATA_READY_IS_LOW
#if defined(FF_PIKOF4OSD)

View file

@ -44,10 +44,8 @@
/*------------SENSORS--------------*/
// MPU interrupt
#define USE_EXTI
#define GYRO_1_INT_EXTI_PIN PC4
#define USE_MPU_DATA_READY_SIGNAL
#define ENSURE_MPU_DATA_READY_IS_LOW
#define USE_GYRO

View file

@ -37,10 +37,7 @@
#define INVERTER_PIN_UART6 PC8
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define USE_MPU_DATA_READY_SIGNAL
// *************** Gyro & ACC **********************
#define USE_SPI

View file

@ -43,10 +43,7 @@
#define GYRO_1_SPI_INSTANCE SPI1
#define GYRO_1_ALIGN CW180_DEG
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PB3
#define USE_MPU_DATA_READY_SIGNAL
#define ENSURE_MPU_DATA_READY_IS_LOW
#define USE_GYRO

View file

@ -32,8 +32,6 @@
#define BEEPER_PIN PC14
#define BEEPER_INVERTED
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC3
#define GYRO_2_EXTI_PIN PC4
@ -42,7 +40,6 @@
#define GYRO_2_CS_PIN PB2
#define GYRO_2_SPI_INSTANCE SPI1
#define USE_MPU_DATA_READY_SIGNAL
#define ENSURE_MPU_DATA_READY_IS_LOW
#define USE_GYRO

View file

@ -39,10 +39,7 @@
#define SPI1_MISO_PIN PA6
#define SPI1_MOSI_PIN PA7
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define USE_MPU_DATA_READY_SIGNAL
#define USE_GYRO
#define USE_ACC

View file

@ -30,8 +30,6 @@
#define BEEPER_PIN PA4
#define BEEPER_INVERTED
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define GYRO_2_EXTI_PIN PB0
@ -40,7 +38,6 @@
#define GYRO_2_CS_PIN PB1
#define GYRO_2_SPI_INSTANCE SPI1
#define USE_MPU_DATA_READY_SIGNAL
#define ENSURE_MPU_DATA_READY_IS_LOW
#define USE_GYRO

View file

@ -42,10 +42,7 @@
#define GYRO_1_ALIGN CW270_DEG
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define USE_MPU_DATA_READY_SIGNAL
#define USE_BARO
#define USE_BARO_BMP280

View file

@ -40,10 +40,7 @@
#define INVERTER_PIN_UART1 PC0 // PC0 used as inverter select GPIO
// MPU6000 interrupts
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define USE_MPU_DATA_READY_SIGNAL
#define GYRO_1_CS_PIN PA4
#define GYRO_1_SPI_INSTANCE SPI1

View file

@ -50,10 +50,7 @@
#define SPI1_MISO_PIN PA6
#define SPI1_MOSI_PIN PA7
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define USE_MPU_DATA_READY_SIGNAL
#define USE_GYRO
#define USE_ACC

View file

@ -51,10 +51,7 @@
#define SPI1_MISO_PIN PA6
#define SPI1_MOSI_PIN PA7
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PB2
#define USE_MPU_DATA_READY_SIGNAL
#define USE_GYRO
#define USE_ACC

View file

@ -50,10 +50,7 @@
#define GYRO_1_CS_PIN PA4
#define GYRO_1_SPI_INSTANCE SPI1
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define USE_MPU_DATA_READY_SIGNAL
#define USE_GYRO
#define USE_GYRO_SPI_MPU6000

View file

@ -120,11 +120,8 @@
#define USE_ACCGYRO_BMI270
#define USE_ACCGYRO_LSM6DSO
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PD0
#define GYRO_2_EXTI_PIN PD8
#define USE_MPU_DATA_READY_SIGNAL
#define ENSURE_MPU_DATA_READY_IS_LOW
#define GYRO_1_CS_PIN SPI1_NSS_PIN

View file

@ -120,11 +120,8 @@
#define USE_ACCGYRO_BMI270
#define USE_ACCGYRO_LSM6DSO
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PD0
#define GYRO_2_EXTI_PIN PD8
#define USE_MPU_DATA_READY_SIGNAL
#define ENSURE_MPU_DATA_READY_IS_LOW
#define GYRO_1_CS_PIN SPI1_NSS_PIN

View file

@ -33,8 +33,6 @@
#define BEEPER_PIN PC15
#define BEEPER_INVERTED
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define GYRO_2_EXTI_PIN PC3
@ -44,7 +42,6 @@
#define GYRO_2_CS_PIN PA4
#define GYRO_2_SPI_INSTANCE SPI1
#define USE_MPU_DATA_READY_SIGNAL
#define ENSURE_MPU_DATA_READY_IS_LOW
#define USE_GYRO

View file

@ -53,10 +53,7 @@
#define INVERTER_PIN_UART3 PB15
// ICM20689 interrupt
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC5
#define USE_MPU_DATA_READY_SIGNAL
#define ENSURE_MPU_DATA_READY_IS_LOW
#define GYRO_1_CS_PIN PC4

View file

@ -47,7 +47,6 @@
#define USE_ACC
#define USE_GYRO
#define USE_EXTI
// MPU6000
#define USE_ACC_SPI_MPU6000
@ -60,9 +59,7 @@
#define GYRO_1_SPI_INSTANCE SPI4
#define GYRO_1_ALIGN CW270_DEG
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PE1
#define USE_MPU_DATA_READY_SIGNAL
#define USE_VCP
#define USE_USB_DETECT

View file

@ -48,10 +48,7 @@
#define INVERTER_PIN_UART1 PC0 // PC0 used as inverter select GPIO
// MPU6000 interrupts
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define USE_MPU_DATA_READY_SIGNAL
#define GYRO_1_CS_PIN PA4
#define GYRO_1_SPI_INSTANCE SPI1

View file

@ -41,9 +41,6 @@
#define GYRO_1_SPI_INSTANCE SPI1
// MPU6000 interrupts
#define USE_EXTI
#define USE_MPU_DATA_READY_SIGNAL
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PA4
#define USE_GYRO

View file

@ -41,10 +41,7 @@
// ******* GYRO and ACC ********
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PB0
#define USE_MPU_DATA_READY_SIGNAL
#define GYRO_1_CS_PIN PA4
#define GYRO_1_SPI_INSTANCE SPI1

View file

@ -41,10 +41,7 @@
// ******* GYRO and ACC ********
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define USE_MPU_DATA_READY_SIGNAL
#define GYRO_1_CS_PIN PA4
#define GYRO_1_SPI_INSTANCE SPI1

View file

@ -46,10 +46,7 @@
#define GYRO_1_CS_PIN PC2
#define GYRO_1_SPI_INSTANCE SPI1
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC3
#define USE_MPU_DATA_READY_SIGNAL
#define USE_GYRO
#define USE_GYRO_SPI_MPU6000

View file

@ -44,10 +44,7 @@
#define GYRO_1_CS_PIN PA4
#define GYRO_1_SPI_INSTANCE SPI1
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PA1
#define USE_MPU_DATA_READY_SIGNAL
#define USE_GYRO
#define USE_GYRO_SPI_MPU6000

View file

@ -54,10 +54,7 @@
#define GYRO_1_CS_PIN PA4
#define GYRO_1_SPI_INSTANCE SPI1
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PA1
#define USE_MPU_DATA_READY_SIGNAL
#define USE_GYRO
#define USE_GYRO_SPI_MPU6000

View file

@ -44,10 +44,7 @@
#define GYRO_1_CS_PIN PC2
#define GYRO_1_SPI_INSTANCE SPI1
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC3
#define USE_MPU_DATA_READY_SIGNAL
#define USE_GYRO
#define USE_GYRO_SPI_MPU6500

View file

@ -42,8 +42,6 @@
#define SPI1_MISO_PIN PA6
#define SPI1_MOSI_PIN PA7
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define GYRO_2_EXTI_PIN PC3
@ -64,7 +62,6 @@
#define GYRO_2_ALIGN CW90_DEG
#define USE_MPU_DATA_READY_SIGNAL
#define ENSURE_MPU_DATA_READY_IS_LOW
#define GYRO_CONFIG_USE_GYRO_DEFAULT GYRO_CONFIG_USE_GYRO_1

View file

@ -38,8 +38,6 @@
#define USE_SPI
#define USE_GYRO
#define USE_ACC
#define USE_EXTI
#define USE_GYRO_EXTI
#define USE_SPI_DEVICE_1
#define GYRO_1_SPI_INSTANCE SPI1 //MPU6000
@ -65,7 +63,6 @@
#define USE_ACC_SPI_MPU6500
#define GYRO_2_ALIGN CW0_DEG_FLIP
#define USE_MPU_DATA_READY_SIGNAL
#define ENSURE_MPU_DATA_READY_IS_LOW
#define GYRO_CONFIG_USE_GYRO_DEFAULT GYRO_CONFIG_USE_GYRO_1

View file

@ -40,10 +40,7 @@
#define GYRO_1_CS_PIN PB12
#define GYRO_1_SPI_INSTANCE SPI2
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define USE_MPU_DATA_READY_SIGNAL
#define USE_GYRO
#define USE_GYRO_SPI_MPU6000

View file

@ -40,10 +40,7 @@
#define GYRO_1_CS_PIN PB12
#define GYRO_1_SPI_INSTANCE SPI2
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define USE_MPU_DATA_READY_SIGNAL
#define USE_GYRO
#define USE_GYRO_SPI_MPU6000

View file

@ -33,9 +33,7 @@
#define INVERTER_PIN_UART2 PB2 // PB2 (BOOT1) abused as inverter select GPIO
#define USE_EXTI
#define MAG_INT_EXTI PC14
#define USE_MPU_DATA_READY_SIGNAL
#define USE_MAG_DATA_READY_SIGNAL
// SPI2

View file

@ -49,10 +49,7 @@
#define USE_GYRO_SPI_MPU6000
// MPU6000 interrupts
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC5
#define USE_MPU_DATA_READY_SIGNAL
//#define ENSURE_MPU_DATA_READY_IS_LOW
//#define EXTI_CALLBACK_HANDLER_COUNT 1 // MPU data ready

View file

@ -36,10 +36,7 @@
#define BEEPER_INVERTED
// MPU6500 interrupt
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PB2
#define USE_MPU_DATA_READY_SIGNAL
#define GYRO_1_CS_PIN PC4
#define GYRO_1_SPI_INSTANCE SPI1

View file

@ -56,10 +56,7 @@
#define USE_ACC_SPI_ICM42688P
#define USE_ACCGYRO_LSM6DSO
#define USE_ACCGYRO_BMI270
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PB6
#define USE_MPU_DATA_READY_SIGNAL
#define GYRO_1_CS_PIN SPI1_NSS_PIN
#define GYRO_1_SPI_INSTANCE SPI1
#define GYRO_1_ALIGN CW90_DEG

View file

@ -45,11 +45,8 @@
#define GYRO_1_SPI_INSTANCE SPI2
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PA8
#define USE_MPU_DATA_READY_SIGNAL
#define USE_BARO
#define USE_BARO_BMP280

View file

@ -30,7 +30,6 @@
//#define USE_BEEPER
//#define BEEPER_PIN PD12
#define USE_EXTI
#define USE_SPI
//#define USE_SPI_DEVICE_1
@ -54,11 +53,8 @@
#define GYRO_1_SPI_INSTANCE SPI2
#define GYRO_1_CS_PIN PB12
#define USE_EXTI
//#define USE_GYRO_EXTI
//#define GYRO_1_EXTI_PIN PC13
//#define USE_MPU_DATA_READY_SIGNAL
//#define ENSURE_MPU_DATA_READY_IS_LOW
#define USE_BARO

View file

@ -45,11 +45,7 @@
#define GYRO_1_ALIGN CW270_DEG
// MPU6050 interrupts
#define USE_MPU_DATA_READY_SIGNAL
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PB15
#define USE_EXTI
#define USE_MAG
#define USE_FAKE_MAG

View file

@ -45,11 +45,7 @@
#define GYRO_1_ALIGN CW270_DEG
// MPU6050 interrupts
#define USE_MPU_DATA_READY_SIGNAL
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PB15
#define USE_EXTI
#define USE_MAG
#define USE_FAKE_MAG

View file

@ -226,7 +226,6 @@
#define USE_TIMER
#define USE_PWM_OUTPUT
#define USE_MOTOR
#define USE_EXTI
#define USE_RANGEFINDER
#define USE_RANGEFINDER_HCSR04

View file

@ -235,7 +235,6 @@
#define USE_TIMER
#define USE_PWM_OUTPUT
#define USE_MOTOR
#define USE_EXTI
#define USE_RANGEFINDER
#define USE_RANGEFINDER_HCSR04

View file

@ -240,7 +240,6 @@
#define USE_TIMER
#define USE_PWM_OUTPUT
#define USE_MOTOR
#define USE_EXTI
#define USE_RANGEFINDER
#define USE_RANGEFINDER_HCSR04

View file

@ -226,7 +226,6 @@
#define USE_TIMER
#define USE_PWM_OUTPUT
#define USE_MOTOR
#define USE_EXTI
#define USE_RANGEFINDER
#define USE_RANGEFINDER_HCSR04

View file

@ -76,7 +76,6 @@
#define INVERTER_PIN_UART1 PC0 // DYS F4 Pro; Omnibus F4 AIO (1st gen) have a FIXED inverter on UART1
#endif
#define USE_EXTI
#define USE_ACC
#define USE_ACC_SPI_MPU6000
@ -88,9 +87,7 @@
#define GYRO_1_SPI_INSTANCE SPI1
// MPU6000 interrupts
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define USE_MPU_DATA_READY_SIGNAL
#if defined(OMNIBUSF4SD)
#define GYRO_1_ALIGN CW270_DEG

View file

@ -84,11 +84,8 @@
#define GYRO_CONFIG_USE_GYRO_DEFAULT GYRO_CONFIG_USE_GYRO_1
// MPU6000 interrupts
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define GYRO_2_EXTI_PIN NONE
#define USE_MPU_DATA_READY_SIGNAL
#define USE_MAG
#define MAG_I2C_INSTANCE (I2CDEV_1)

View file

@ -52,9 +52,6 @@
#define USE_ACC_SPI_MPU6000
#define USE_GYRO_SPI_MPU6000
//#define USE_MPU_DATA_READY_SIGNAL
#define USE_EXTI
#define USE_GYRO_EXTI
#if defined(OMNIBUSF7V2)
#define GYRO_1_SPI_INSTANCE SPI3

View file

@ -47,9 +47,6 @@
#define USE_ACC
#define USE_GYRO
// MPU interrupts
//#define USE_EXTI
//#define USE_GYRO_EXTI
//#define USE_MPU_DATA_READY_SIGNAL
// For debugging with NUC405RG
#define USE_FAKE_ACC

View file

@ -29,10 +29,7 @@
#define INVERTER_PIN_UART1 PC3 // PC3 used as sBUS inverter select GPIO
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define USE_MPU_DATA_READY_SIGNAL
// DEFINE SPI USAGE
#define USE_SPI

View file

@ -145,10 +145,7 @@
#endif
// MPU6000 interrupts
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define USE_MPU_DATA_READY_SIGNAL
#if defined(ELINF405)

View file

@ -91,10 +91,7 @@
#define GYRO_1_ALIGN CW0_DEG
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define USE_MPU_DATA_READY_SIGNAL
/*----------Flash Config--------*/
#define FLASH_CS_PIN PB3

View file

@ -53,10 +53,7 @@
#define USE_MAG_MPU925X_AK8963
// MPU6500 interrupts
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PA15
#define USE_MPU_DATA_READY_SIGNAL
#define USE_VCP
#define USE_USB_DETECT

View file

@ -31,9 +31,6 @@
#define BEEPER_INVERTED
//#define BEEPER_PWM_HZ 1100
#define USE_EXTI
#define USE_GYRO_EXTI
#define USE_MPU_DATA_READY_SIGNAL
#define USE_ACC
#define USE_GYRO

View file

@ -40,10 +40,7 @@
#define SPI1_MISO_PIN PA6
#define SPI1_MOSI_PIN PA7
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define USE_MPU_DATA_READY_SIGNAL
#define USE_GYRO
#define USE_ACC

View file

@ -37,10 +37,7 @@
#define INVERTER_PIN_UART6 PC6
// MPU9250 interrupt
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC5
#define USE_MPU_DATA_READY_SIGNAL
#define ENSURE_MPU_DATA_READY_IS_LOW
#define GYRO_1_CS_PIN PC4

View file

@ -43,10 +43,7 @@
#define GYRO_1_CS_PIN PB11
#define GYRO_1_SPI_INSTANCE SPI1
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define USE_MPU_DATA_READY_SIGNAL
#define USE_GYRO
#define USE_GYRO_SPI_MPU6000

View file

@ -43,10 +43,7 @@
#define GYRO_1_CS_PIN PA4
#define GYRO_1_SPI_INSTANCE SPI1
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC4
#define USE_MPU_DATA_READY_SIGNAL
#define USE_GYRO
#define USE_GYRO_SPI_ICM20689

View file

@ -63,10 +63,7 @@
#define GYRO_1_CS_PIN PB12
#define GYRO_1_SPI_INSTANCE SPI2
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC13
#define USE_MPU_DATA_READY_SIGNAL
#define ENSURE_MPU_DATA_READY_IS_LOW
#define USE_VCP

View file

@ -37,13 +37,10 @@
#define INVERTER_PIN_UART2 PB2
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC13
#ifdef SPRACINGF4EVODG
#define GYRO_2_EXTI_PIN PC5 // GYRO 2 / NC on prototype boards, but if it was it'd be here.
#define USE_MPU_DATA_READY_SIGNAL
#define ENSURE_MPU_DATA_READY_IS_LOW
#endif

View file

@ -54,11 +54,8 @@
#define INVERTER_PIN_UART2 PA0
#endif
#define USE_EXTI
#define USE_GYRO_EXTI
#define GYRO_1_EXTI_PIN PC13
#define USE_MPU_DATA_READY_SIGNAL
#define ENSURE_MPU_DATA_READY_IS_LOW
#define USE_MAG_DATA_READY_SIGNAL

Some files were not shown because too many files have changed in this diff Show more