version method
Gets the device firmware version string
Parameters
void
Returns
version : String
Firmware version
Implementation
Future<String> version() async {
final String header = "ScientISST";
final int headerLen = header.length;
final int cmd = 0x07;
await _send(cmd);
String version = "";
while (true) {
final result = await _recv(1);
if (version.length >= headerLen) {
if (result.first == 0x00) {
break;
} else if (result != utf8.encode("\n")) {
version += utf8.decode(result);
}
} else {
final char = utf8.decode(result);
if (char == header[version.length]) {
version += char;
} else {
version = "";
if (char == header[0]) {
version += char;
}
}
}
}
print("ScientISST version: $version");
return version;
}