serializePayload method
Call to serialize only the payload, no header, returns a int with a serialized size
Implementation
@override
int serializePayload(
imc.StateReport? message, ByteData byteData, int offset) {
if (message == null) return 0;
var byteOffset = offset;
// field stime
byteData.setUint32(byteOffset, message.stime, imc.endianSer);
byteOffset += 4;
// field latitude
byteData.setFloat32(byteOffset, message.latitude, imc.endianSer);
byteOffset += 4;
// field longitude
byteData.setFloat32(byteOffset, message.longitude, imc.endianSer);
byteOffset += 4;
// field altitude
byteData.setUint16(byteOffset, message.altitude, imc.endianSer);
byteOffset += 2;
// field depth
byteData.setUint16(byteOffset, message.depth, imc.endianSer);
byteOffset += 2;
// field heading
byteData.setUint16(byteOffset, message.heading, imc.endianSer);
byteOffset += 2;
// field speed
byteData.setInt16(byteOffset, message.speed, imc.endianSer);
byteOffset += 2;
// field fuel
byteData.setInt8(byteOffset, message.fuel);
byteOffset += 1;
// field execState
byteData.setInt8(byteOffset, message.execState);
byteOffset += 1;
// field planChecksum
byteData.setUint16(byteOffset, message.planChecksum, imc.endianSer);
byteOffset += 2;
return byteOffset - offset;
}