Код: Выделить всё
Adafruit MPU-6050 6-DoF Accel and Gyro Sensor - STEMMA QT QwiicКогда я пытаюсь вызвать .CalibrateGyrscopeAccelerometer(); метод, я получаю ошибку;
Код: Выделить всё
System.IO.IOException: Can set GyroscopeBandwidth, desired value Bandwidth0184Hz, stored value Bandwidth0250HzКод: Выделить всё
public HardwareAccelerometerController(
ILogger logger,
int i2cAddress,
int recalibrationIntervalMinutes,
int i2cBusId = 1)
{
_logger = logger;
try
{
var i2cSettings = new I2cConnectionSettings(i2cBusId, i2cAddress);
var i2cDevice = I2cDevice.Create(i2cSettings);
_mpu6050 = new Mpu6050(i2cDevice); // Initialize the MPU6050
_logger.LogInformation($"MPU6050 initialized with I2C address {i2cAddress} on bus {i2cBusId}.");
}
catch (Exception ex)
{
_logger.LogError(ex, $"Failed to initialize MPU6050 with I2C address {i2cAddress} on bus {i2cBusId}. Check connections and configuration.");
throw new InvalidOperationException("MPU6050 initialization failed. Ensure the device is connected and configured correctly.", ex);
}
_recalibrationIntervalMinutes = recalibrationIntervalMinutes;
_lastCalibrationTime = DateTime.Now;
}
///
/// Calibrate the accelerometer and gyroscope.
///
public async Task CalibrateAsync()
{
if (_mpu6050 == null)
{
_logger.LogError("Cannot calibrate MPU6050 because it is not initialized.");
throw new InvalidOperationException("MPU6050 is not initialized.");
}
await Task.Run(() =>
{
_logger.LogInformation("Calibrating MPU6050...");
try
{
_mpu6050.CalibrateGyroscopeAccelerometer();
_logger.LogInformation("Calibration complete.");
}
catch (IOException ex)
{
_logger.LogError(ex, "Failed to set the GyroscopeBandwidth. Proceeding with default bandwidth.");
}
});
Код: Выделить всё
MPU6050 initialized with I2C address 104 on bus 1.Код: Выделить всё
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Я не могу найти никаких подробностей о нем. эта конкретная ошибка? Может ли кто-нибудь сказать мне, как это отладить и что я могу делать неправильно?
Подробнее здесь: https://stackoverflow.com/questions/790 ... oexception
Мобильная версия