Tunnel.parse constructor

Tunnel.parse(
  1. ByteData data_
)

Implementation

factory Tunnel.parse(ByteData data_) {
  if (data_.lengthInBytes < Tunnel.mavlinkEncodedLength) {
    var len = Tunnel.mavlinkEncodedLength - data_.lengthInBytes;
    var d = data_.buffer.asUint8List() + List<int>.filled(len, 0);
    data_ = Uint8List.fromList(d).buffer.asByteData();
  }
  var payloadType = data_.getUint16(0, Endian.little);
  var targetSystem = data_.getUint8(2);
  var targetComponent = data_.getUint8(3);
  var payloadLength = data_.getUint8(4);
  var payload = MavlinkMessage.asUint8List(data_, 5, 128);

  return Tunnel(
      payloadType: payloadType,
      targetSystem: targetSystem,
      targetComponent: targetComponent,
      payloadLength: payloadLength,
      payload: payload);
}