onDataReceived method
void
onDataReceived()
override
Implementation
@override
void onDataReceived(String deviceId, String serviceUuid,
String characteristicUuid, Uint8List data) {
final uuid = characteristicUuid.toLowerCase();
// print("$_tag RX uuid=${uuid.substring(4, 8)} ${data.toHex(withSpace: true)}");
if (Uuids.tiOADImageIdentify == uuid) {
print(
"$_tag CC26xx OAD Image Identify Rx: $deviceId [${data.toHex(withSpace: true)}]");
} else if (Uuids.tiOADImageBlock == uuid) {
print("$_tag TI_OAD_Image_Block state=$state");
_stateLock.synchronized(() {
_handleBlockRequest(deviceId, characteristicUuid, data);
});
} else if (Uuids.tiOADImageStatus == uuid) {
//OAD状态
int status = data[0];
if (status == OADStatus.success) {
print("$_tag CC26xxR2 OAD Status: [OAD succeeded] $deviceId");
} else {
print(
"$_tag CC26xxR2 OAD Status: [${OADStatus.getMessage(status)}] $deviceId");
//异常状态停止升级
stopProgramming();
}
mListener?.onStatusChange(deviceId, status);
}
}