startAccelerometer method

  1. @override
Future<Stream<SensorEvent>> startAccelerometer(
  1. double samplingRate
)
override

Starts streaming accelerometer data from the Movesense device at the given samplingRate (Hz). Returns a stream of SensorEvents.

Implementation

@override
Future<Stream<SensorEvent>> startAccelerometer(double samplingRate) async {
  try {
    if (connectedSerial == null) {
      throw Exception('No Movesense device connected');
    }
    if (_accController.isClosed) {
      _accController = StreamController<SensorEvent>.broadcast();
    }
    if (!_accController.hasListener && _accStreamSubscription == null) {
      await _subscribeToAcc(samplingRate);
      if (kDebugMode) {
        print('[Movesense] Subscribe to accelerometerEvent');
      }
    }
    return _accController.stream;
  } catch (e) {
    if (kDebugMode) {
      print('Error starting Movesense accelerometer: $e');
    }
    rethrow;
  }
}