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

Merge branch 'master' into inav-dev

Conflicts:
	Makefile
	src/main/common/filter.c
	src/main/common/filter.h
	src/main/config/config.c
	src/main/config/config_master.h
	src/main/config/config_profile.h
	src/main/drivers/sonar_hcsr04.c
	src/main/flight/altitudehold.c
	src/main/flight/failsafe.c
	src/main/flight/failsafe.h
	src/main/flight/imu.c
	src/main/flight/imu.h
	src/main/flight/navigation.c
	src/main/flight/pid.c
	src/main/flight/pid.h
	src/main/io/rc_controls.c
	src/main/io/serial.c
	src/main/io/serial.h
	src/main/io/serial_cli.c
	src/main/mw.c
	src/main/sensors/sonar.c
	src/main/sensors/sonar.h
	src/main/target/NAZE/target.h
	src/main/telemetry/ltm.c
	src/test/Makefile
	src/test/unit/flight_imu_unittest.cc
	src/test/unit/navigation_unittest.cc
This commit is contained in:
Konstantin Sharlaimov (DigitalEntity) 2015-12-23 14:19:33 +10:00
commit dc3e84ea5b
84 changed files with 1957 additions and 842 deletions

View file

@ -45,6 +45,7 @@
#include "drivers/bus_spi.h"
#include "drivers/accgyro_spi_mpu6000.h"
#include "drivers/accgyro_spi_mpu6500.h"
#include "drivers/gyro_sync.h"
#include "drivers/barometer.h"
#include "drivers/barometer_bmp085.h"
@ -150,6 +151,19 @@ const extiConfig_t *selectMPUIntExtiConfig(void)
return &MotolabF3MPUIntExtiConfig;
#endif
#if defined(COLIBRI_RACE)
static const extiConfig_t colibriRaceMPUIntExtiConfig = {
.gpioAHBPeripherals = RCC_AHBPeriph_GPIOA,
.gpioPort = GPIOA,
.gpioPin = Pin_5,
.exti_port_source = EXTI_PortSourceGPIOA,
.exti_pin_source = EXTI_PinSource5,
.exti_line = EXTI_Line5,
.exti_irqn = EXTI9_5_IRQn
};
return &colibriRaceMPUIntExtiConfig;
#endif
return NULL;
}
@ -701,8 +715,10 @@ void reconfigureAlignment(sensorAlignmentConfig_t *sensorAlignmentConfig)
}
}
bool sensorsAutodetect(sensorAlignmentConfig_t *sensorAlignmentConfig, uint16_t gyroLpf, uint8_t accHardwareToUse, uint8_t magHardwareToUse, uint8_t baroHardwareToUse, int16_t magDeclinationFromConfig)
{
bool sensorsAutodetect(sensorAlignmentConfig_t *sensorAlignmentConfig, uint8_t gyroLpf, uint8_t accHardwareToUse, uint8_t magHardwareToUse, uint8_t baroHardwareToUse,
int16_t magDeclinationFromConfig,
uint32_t looptime, uint8_t gyroSync, uint8_t gyroSyncDenominator) {
int16_t deg, min;
memset(&acc, 0, sizeof(acc));
@ -727,6 +743,7 @@ bool sensorsAutodetect(sensorAlignmentConfig_t *sensorAlignmentConfig, uint16_t
if (sensors(SENSOR_ACC))
acc.init();
// this is safe because either mpu6050 or mpu3050 or lg3d20 sets it, and in case of fail, we never get here.
gyroUpdateSampleRate(looptime, gyroLpf, gyroSync, gyroSyncDenominator); // Set gyro sampling rate divider before initialization
gyro.init(gyroLpf);
detectMag(magHardwareToUse);