serializePayload method
Call to serialize only the payload, no header, returns a int with a serialized size
Implementation
@override
int serializePayload(
imc.UsblAnglesExtended? message, ByteData byteData, int offset) {
if (message == null) return 0;
var byteOffset = offset;
// field target
var targetEncoded = utf8.encode(message.target);
var targetSSize = targetEncoded.length;
byteData.setUint16(byteOffset, targetSSize, imc.endianSer);
byteOffset += 2;
for (var b in targetEncoded) {
byteData.setUint8(byteOffset++, b);
}
// field lbearing
byteData.setFloat32(byteOffset, message.lbearing, imc.endianSer);
byteOffset += 4;
// field lelevation
byteData.setFloat32(byteOffset, message.lelevation, imc.endianSer);
byteOffset += 4;
// field bearing
byteData.setFloat32(byteOffset, message.bearing, imc.endianSer);
byteOffset += 4;
// field elevation
byteData.setFloat32(byteOffset, message.elevation, imc.endianSer);
byteOffset += 4;
// field phi
byteData.setFloat32(byteOffset, message.phi, imc.endianSer);
byteOffset += 4;
// field theta
byteData.setFloat32(byteOffset, message.theta, imc.endianSer);
byteOffset += 4;
// field psi
byteData.setFloat32(byteOffset, message.psi, imc.endianSer);
byteOffset += 4;
// field accuracy
byteData.setFloat32(byteOffset, message.accuracy, imc.endianSer);
byteOffset += 4;
return byteOffset - offset;
}