startMagnetometer method
Starts streaming magnetometer data from the Movesense device at the given samplingRate
(Hz).
Returns a stream of SensorEvents.
Implementation
@override
Future<Stream<SensorEvent>> startMagnetometer(double samplingRate) async {
try {
if (connectedSerial == null) {
throw Exception('No Movesense device connected');
}
if (_magController.isClosed) {
_magController = StreamController<SensorEvent>.broadcast();
}
if (!_magController.hasListener && _magStreamSubscription == null) {
_subscribeToMag(samplingRate);
}
return _magController.stream;
} catch (e) {
if (kDebugMode) {
print('Error starting Movesense magnetometer: $e');
}
rethrow;
}
}