getMeasurementStatus method
Returns the status of the measurement as an enum MeasurementStatus
.
Implementation
Future<MeasurementStatus?> getMeasurementStatus() async {
if (_measurementStatus == null) {
_log.warning("Measurement Status characteristic not found on device");
return null;
}
List<int> bytes = await _measurementStatus!.read();
ByteData byteData = ByteData.sublistView(Uint8List.fromList(bytes));
int measurementStatus = byteData.getUint8(0);
MeasurementStatus mStatus = MeasurementStatus.unknown;
switch (measurementStatus) {
case 1:
mStatus = MeasurementStatus.stoppedDurationReached;
break;
case 2:
mStatus = MeasurementStatus.stoppedUserUsb;
break;
case 3:
mStatus = MeasurementStatus.stoppedBatteryEmpty;
break;
case 4:
mStatus = MeasurementStatus.stoppedError;
break;
case 5:
mStatus = MeasurementStatus.stoppedUserBle;
break;
case 6:
mStatus = MeasurementStatus.stoppedStorageFull;
break;
case 7:
mStatus = MeasurementStatus.pausedBatteryLow;
break;
case 8:
mStatus = MeasurementStatus.stoppedEmpty;
break;
case 9:
mStatus = MeasurementStatus.measuring;
break;
}
return mStatus;
}