mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-17 21:35:44 +03:00
Merge branch 'master' into bfdev-configurable-bind-pin-2
This commit is contained in:
commit
e88db3cb1a
46 changed files with 1222 additions and 367 deletions
|
@ -124,6 +124,7 @@
|
|||
#include "flight/pid.h"
|
||||
#include "flight/servos.h"
|
||||
|
||||
#include "io/rcsplit.h"
|
||||
|
||||
#ifdef USE_HARDWARE_REVISION_DETECTION
|
||||
#include "hardware_revision.h"
|
||||
|
@ -184,6 +185,61 @@ static IO_t busSwitchResetPin = IO_NONE;
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef USE_SPI
|
||||
// Pre-initialize all CS pins to input with pull-up.
|
||||
// It's sad that we can't do this with an initialized array,
|
||||
// since we will be taking care of configurable CS pins shortly.
|
||||
|
||||
void spiPreInit(void)
|
||||
{
|
||||
#ifdef USE_ACC_SPI_MPU6000
|
||||
spiPreInitCs(IO_TAG(MPU6000_CS_PIN));
|
||||
#endif
|
||||
#ifdef USE_ACC_SPI_MPU6500
|
||||
spiPreInitCs(IO_TAG(MPU6500_CS_PIN));
|
||||
#endif
|
||||
#ifdef USE_GYRO_SPI_MPU9250
|
||||
spiPreInitCs(IO_TAG(MPU9250_CS_PIN));
|
||||
#endif
|
||||
#ifdef USE_GYRO_SPI_ICM20689
|
||||
spiPreInitCs(IO_TAG(ICM20689_CS_PIN));
|
||||
#endif
|
||||
#ifdef USE_ACCGYRO_BMI160
|
||||
spiPreInitCs(IO_TAG(BMI160_CS_PIN));
|
||||
#endif
|
||||
#ifdef USE_GYRO_L3GD20
|
||||
spiPreInitCs(IO_TAG(L3GD20_CS_PIN));
|
||||
#endif
|
||||
#ifdef USE_MAX7456
|
||||
spiPreInitCs(IO_TAG(MAX7456_SPI_CS_PIN));
|
||||
#endif
|
||||
#ifdef USE_SDCARD
|
||||
spiPreInitCs(IO_TAG(SDCARD_SPI_CS_PIN));
|
||||
#endif
|
||||
#ifdef USE_BARO_SPI_BMP280
|
||||
spiPreInitCs(IO_TAG(BMP280_CS_PIN));
|
||||
#endif
|
||||
#ifdef USE_BARO_SPI_MS5611
|
||||
spiPreInitCs(IO_TAG(MS5611_CS_PIN));
|
||||
#endif
|
||||
#ifdef USE_MAG_SPI_HMC5883
|
||||
spiPreInitCs(IO_TAG(HMC5883_CS_PIN));
|
||||
#endif
|
||||
#ifdef USE_MAG_SPI_AK8963
|
||||
spiPreInitCs(IO_TAG(AK8963_CS_PIN));
|
||||
#endif
|
||||
#ifdef RTC6705_CS_PIN // XXX VTX_RTC6705? Should use USE_ format.
|
||||
spiPreInitCs(IO_TAG(RTC6705_CS_PIN));
|
||||
#endif
|
||||
#ifdef M25P16_CS_PIN // XXX Should use USE_ format.
|
||||
spiPreInitCs(IO_TAG(M25P16_CS_PIN));
|
||||
#endif
|
||||
#if defined(USE_RX_SPI) && !defined(USE_RX_SOFTSPI)
|
||||
spiPreInitCs(IO_TAG(RX_NSS_PIN));
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
void init(void)
|
||||
{
|
||||
#ifdef USE_HAL_DRIVER
|
||||
|
@ -352,6 +408,9 @@ void init(void)
|
|||
#else
|
||||
|
||||
#ifdef USE_SPI
|
||||
// Initialize CS lines and keep them high
|
||||
spiPreInit();
|
||||
|
||||
#ifdef USE_SPI_DEVICE_1
|
||||
spiInit(SPIDEV_1);
|
||||
#endif
|
||||
|
@ -637,5 +696,10 @@ void init(void)
|
|||
#else
|
||||
fcTasksInit();
|
||||
#endif
|
||||
|
||||
#ifdef USE_RCSPLIT
|
||||
rcSplitInit();
|
||||
#endif // USE_RCSPLIT
|
||||
|
||||
systemState |= SYSTEM_STATE_READY;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue