startMeasurement method
Future<VtjCommandResult<StartMeasurementResult> >
startMeasurement(
- BluetoothDevice device,
- MeasurementConfig config
override
Start an accelerometer measurement with the given configuration. See BLE Interface Specification Section 7.3
Implementation
@override
Future<VtjCommandResult<StartMeasurementResult>> startMeasurement(
BluetoothDevice device,
MeasurementConfig config,
) async {
final manager = _measurementRegistry.getManager(device);
final result = await _executeCommand<StartMeasurementResult>(
device: device,
createCommand: () => StartMeasurementCommand(config),
);
// If command succeeded, start tracking measurement progress
result.when(
success: (_) {
// Store config for later decompression during fetch
final deviceId = device.remoteId.str;
_measurementConfigByDevice[deviceId] = config;
manager.startMeasurement(durationSeconds: config.durationSeconds);
},
failure: (error, code) {
manager.failMeasurement(error, code);
},
);
return result;
}