mirror of
https://github.com/okalachev/flix.git
synced 2026-08-16 00:38:56 +00:00
Fixes
This commit is contained in:
+5
-2
@@ -11,7 +11,7 @@
|
|||||||
#include "util.h"
|
#include "util.h"
|
||||||
|
|
||||||
IMU *imu;
|
IMU *imu;
|
||||||
int imuModel = -1;
|
int imuModel = -1; // 1 - MPU9250, 2 - ICM20948, 3 - MPU6050, 4 - ICM40609D
|
||||||
int imuBus = 0; // 0 - SPI, 1 - I2C
|
int imuBus = 0; // 0 - SPI, 1 - I2C
|
||||||
int imuSckPin = SCK, imuMisoPin = MISO, imuMosiPin = MOSI, imuCsPin = SS, imuIntPin = -1;
|
int imuSckPin = SCK, imuMisoPin = MISO, imuMosiPin = MOSI, imuCsPin = SS, imuIntPin = -1;
|
||||||
int imuSdaPin = SDA, imuSclPin = SCL;
|
int imuSdaPin = SDA, imuSclPin = SCL;
|
||||||
@@ -29,15 +29,18 @@ LowPassFilter<Vector> gyroBiasFilter(0.001);
|
|||||||
void setupIMU() {
|
void setupIMU() {
|
||||||
print("Setup IMU\n");
|
print("Setup IMU\n");
|
||||||
free(imu);
|
free(imu);
|
||||||
|
if (imuModel == 3) imuBus = 1; // MPU6050 is I2C only
|
||||||
|
|
||||||
if (imuBus == 0) {
|
if (imuBus == 0) {
|
||||||
// SPI connection
|
// SPI connection
|
||||||
SPI.begin(imuSckPin, imuMisoPin, imuMosiPin); // SPI connection
|
SPI.begin(imuSckPin, imuMisoPin, imuMosiPin);
|
||||||
imu = IMU::create(imuModel, SPI, imuCsPin, imuIntPin);
|
imu = IMU::create(imuModel, SPI, imuCsPin, imuIntPin);
|
||||||
} else {
|
} else {
|
||||||
// I2C connection
|
// I2C connection
|
||||||
Wire.setPins(imuSdaPin, imuSclPin);
|
Wire.setPins(imuSdaPin, imuSclPin);
|
||||||
imu = IMU::create(imuModel, Wire, imuIntPin);
|
imu = IMU::create(imuModel, Wire, imuIntPin);
|
||||||
}
|
}
|
||||||
|
|
||||||
imu->begin();
|
imu->begin();
|
||||||
configureIMU();
|
configureIMU();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user