startSensor method

  1. @override
Future<bool> startSensor({
  1. int frequencyHz = 60,
})
override

Starts sensor data stream.

Implementation

@override
Future<bool> startSensor({int frequencyHz = 60}) async {
  try {
    await _subscriptions['sensor']?.cancel();
    _subscriptions['sensor'] = html.window.onDeviceMotion.listen((event) {
      _eventStreamController.add(HardwareEvent(
        module: 'sensor',
        type: 'data',
        timestamp: DateTime.now(),
        data: {
          'x': event.accelerationIncludingGravity?.x ?? 0.0,
          'y': event.accelerationIncludingGravity?.y ?? 0.0,
          'z': event.accelerationIncludingGravity?.z ?? 0.0,
        },
      ));
    });
    return true;
  } catch (e) {
    _sendError('sensor', e.toString());
    return false;
  }
}