calibrate method

void calibrate()

Calibrates gyroscope by averaging drift over 1 second.

Implementation

void calibrate() {
  _calibrating = true;
  _calibrationSamples = 0;
  _calibrationSumX = 0;
  _calibrationSumY = 0;

  Future.delayed(const Duration(seconds: 1), () {
    if (_calibrationSamples > 0) {
      _offsetX = _calibrationSumX / _calibrationSamples;
      _offsetY = _calibrationSumY / _calibrationSamples;
      // Update background isolate config
      _isolateSendPort?.send([
        0,
        _alpha,
        sensitivity,
        predictionMs,
        _offsetX,
        _offsetY,
      ]);
    }
    _calibrating = false;
  });
}