onDataReceived method

  1. @override
void onDataReceived(
  1. String deviceId,
  2. String serviceUuid,
  3. String characteristicUuid,
  4. Uint8List data,
)
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);
  }
}