readStatus method
Implementation
Future<({bool isConfigured, bool isConnected})> readStatus() async {
final bleService = await getBleService();
final statusCharacteristic = bleService.characteristics.firstWhere(
(char) => char.uuid.str == ViamBluetoothUUIDs.statusUUID,
orElse: () => throw Exception('statusCharacteristic not found'),
);
final buffer = await statusCharacteristic.read();
final status = buffer[0];
bool isConfigured = false;
bool isConnected = false;
switch (status) {
case 0:
break;
case 1:
isConfigured = true;
case 2:
isConnected = true;
case 3:
isConfigured = true;
isConnected = true;
default:
throw Exception('Invalid status');
}
return (isConfigured: isConfigured, isConnected: isConnected);
}