deserializePayload method

  1. @override
int deserializePayload(
  1. FormationControlParamsBuilder builder,
  2. ByteData byteData,
  3. Endian endianness,
  4. int offset,
)
override

Call to deserialize only the payload, no header. The Builder is to allow passing the message to build into. returns a int with a serialized size

Implementation

@override
int deserializePayload(imc.FormationControlParamsBuilder builder,
    ByteData byteData, Endian endianness, int offset) {
  var byteOffset = offset;

  // field action
  builder.action =
      imc.FormationControlParamsEnumAction(byteData.getUint8(byteOffset));
  byteOffset += 1;
  // field lonGain
  builder.lonGain = byteData.getFloat32(byteOffset, endianness);
  byteOffset += 4;
  // field latGain
  builder.latGain = byteData.getFloat32(byteOffset, endianness);
  byteOffset += 4;
  // field bondThick
  builder.bondThick = byteData.getFloat32(byteOffset, endianness);
  byteOffset += 4;
  // field leadGain
  builder.leadGain = byteData.getFloat32(byteOffset, endianness);
  byteOffset += 4;
  // field deconflGain
  builder.deconflGain = byteData.getFloat32(byteOffset, endianness);
  byteOffset += 4;
  // field accelSwitchGain
  builder.accelSwitchGain = byteData.getFloat32(byteOffset, endianness);
  byteOffset += 4;
  // field safeDist
  builder.safeDist = byteData.getFloat32(byteOffset, endianness);
  byteOffset += 4;
  // field deconflictOffset
  builder.deconflictOffset = byteData.getFloat32(byteOffset, endianness);
  byteOffset += 4;
  // field accelSafeMargin
  builder.accelSafeMargin = byteData.getFloat32(byteOffset, endianness);
  byteOffset += 4;
  // field accelLimX
  builder.accelLimX = byteData.getFloat32(byteOffset, endianness);
  byteOffset += 4;

  return byteOffset - offset;
}