serializePayload method
Call to serialize only the payload, no header, returns a int with a serialized size
Implementation
@override
int serializePayload(
imc.PathControlState? message, ByteData byteData, int offset) {
if (message == null) return 0;
var byteOffset = offset;
// field pathRef
byteData.setUint32(byteOffset, message.pathRef, imc.endianSer);
byteOffset += 4;
// field startLat
byteData.setFloat64(byteOffset, message.startLat, imc.endianSer);
byteOffset += 8;
// field startLon
byteData.setFloat64(byteOffset, message.startLon, imc.endianSer);
byteOffset += 8;
// field startZ
byteData.setFloat32(byteOffset, message.startZ, imc.endianSer);
byteOffset += 4;
// field startZUnits
byteData.setUint8(byteOffset, message.startZUnits.value);
byteOffset += 1;
// field endLat
byteData.setFloat64(byteOffset, message.endLat, imc.endianSer);
byteOffset += 8;
// field endLon
byteData.setFloat64(byteOffset, message.endLon, imc.endianSer);
byteOffset += 8;
// field endZ
byteData.setFloat32(byteOffset, message.endZ, imc.endianSer);
byteOffset += 4;
// field endZUnits
byteData.setUint8(byteOffset, message.endZUnits.value);
byteOffset += 1;
// field lradius
byteData.setFloat32(byteOffset, message.lradius, imc.endianSer);
byteOffset += 4;
// field flags
byteData.setUint8(byteOffset, message.flags.value);
byteOffset += 1;
// field x
byteData.setFloat32(byteOffset, message.x, imc.endianSer);
byteOffset += 4;
// field y
byteData.setFloat32(byteOffset, message.y, imc.endianSer);
byteOffset += 4;
// field z
byteData.setFloat32(byteOffset, message.z, imc.endianSer);
byteOffset += 4;
// field vx
byteData.setFloat32(byteOffset, message.vx, imc.endianSer);
byteOffset += 4;
// field vy
byteData.setFloat32(byteOffset, message.vy, imc.endianSer);
byteOffset += 4;
// field vz
byteData.setFloat32(byteOffset, message.vz, imc.endianSer);
byteOffset += 4;
// field courseError
byteData.setFloat32(byteOffset, message.courseError, imc.endianSer);
byteOffset += 4;
// field eta
byteData.setUint16(byteOffset, message.eta, imc.endianSer);
byteOffset += 2;
return byteOffset - offset;
}