1
0
Fork 0
mirror of https://github.com/iNavFlight/inav.git synced 2025-07-26 01:35:35 +03:00

SPRACINGF3EVO board support (#266)

* Initial SPRACINGF3EVO support
* General SD-Card support; enable SD-Card for EVO
This commit is contained in:
Konstantin Sharlaimov 2016-07-27 05:46:32 +03:00 committed by GitHub
parent 8817a2fb80
commit 688e75c82d
26 changed files with 1376 additions and 128 deletions

View file

@ -55,6 +55,7 @@
#include "drivers/compass.h"
#include "drivers/compass_hmc5883l.h"
#include "drivers/compass_ak8975.h"
#include "drivers/compass_ak8963.h"
#include "drivers/compass_mag3110.h"
#include "drivers/sonar_hcsr04.h"
@ -119,7 +120,7 @@ const extiConfig_t *selectMPUIntExtiConfig(void)
}
#endif
#if defined(SPRACINGF3)
#if defined(SPRACINGF3) || defined(SPRACINGF3EVO)
static const extiConfig_t spRacingF3MPUIntExtiConfig = {
.gpioAHBPeripherals = RCC_AHBPeriph_GPIOC,
.gpioPort = GPIOC,
@ -353,17 +354,21 @@ bool detectGyro(void)
case GYRO_MPU6500:
#ifdef USE_GYRO_MPU6500
#ifdef USE_GYRO_SPI_MPU6500
if (mpu6500GyroDetect(&gyro) || mpu6500SpiGyroDetect(&gyro))
#else
if (mpu6500GyroDetect(&gyro))
#endif
{
if (mpu6500GyroDetect(&gyro)) {
gyroHardware = GYRO_MPU6500;
#ifdef GYRO_MPU6500_ALIGN
gyroAlign = GYRO_MPU6500_ALIGN;
#endif
break;
}
#endif
#ifdef USE_GYRO_SPI_MPU6500
if (mpu6500SpiGyroDetect(&gyro)) {
gyroHardware = GYRO_MPU6500;
#ifdef GYRO_MPU6500_ALIGN
gyroAlign = GYRO_MPU6500_ALIGN;
#endif
break;
}
#endif
@ -484,12 +489,17 @@ retry:
; // fallthrough
case ACC_MPU6500:
#ifdef USE_ACC_MPU6500
#ifdef USE_ACC_SPI_MPU6500
if (mpu6500AccDetect(&acc) || mpu6500SpiAccDetect(&acc))
#else
if (mpu6500AccDetect(&acc))
if (mpu6500AccDetect(&acc)) {
#ifdef ACC_MPU6500_ALIGN
accAlign = ACC_MPU6500_ALIGN;
#endif
{
accHardware = ACC_MPU6500;
break;
}
#endif
#ifdef USE_ACC_SPI_MPU6500
if (mpu6500SpiAccDetect(&acc)) {
#ifdef ACC_MPU6500_ALIGN
accAlign = ACC_MPU6500_ALIGN;
#endif
@ -498,6 +508,7 @@ retry:
}
#endif
; // fallthrough
case ACC_FAKE:
#ifdef USE_FAKE_ACC
if (fakeAccDetect(&acc)) {
@ -682,7 +693,7 @@ static void detectMag(magSensor_e magHardwareToUse)
case MAG_AK8975:
#ifdef USE_MAG_AK8975
if (ak8975detect(&mag)) {
if (ak8975Detect(&mag)) {
#ifdef MAG_AK8975_ALIGN
magAlign = MAG_AK8975_ALIGN;
#endif
@ -692,6 +703,18 @@ static void detectMag(magSensor_e magHardwareToUse)
#endif
; // fallthrough
case MAG_AK8963:
#ifdef USE_MAG_AK8963
if (ak8963Detect(&mag)) {
#ifdef MAG_AK8963_ALIGN
magAlign = MAG_AK8963_ALIGN;
#endif
magHardware = MAG_AK8963;
break;
}
#endif
; // fallthrough
case MAG_GPS:
#ifdef GPS
if (gpsMagDetect(&mag)) {