deserializePayload method
int
deserializePayload(
- RelativeStateBuilder builder,
- ByteData byteData,
- Endian endianness,
- 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.RelativeStateBuilder builder, ByteData byteData,
Endian endianness, int offset) {
var byteOffset = offset;
// field sId
var sIdSSize = byteData.getUint16(byteOffset, endianness);
byteOffset += 2;
var sIdDData = List.filled(sIdSSize, 0);
for (var i = 0; i < sIdSSize; i++) {
sIdDData[i] = byteData.getUint8(byteOffset++);
}
var sIdDecoded = utf8.decode(sIdDData);
builder.sId = sIdDecoded;
// field dist
builder.dist = byteData.getFloat32(byteOffset, endianness);
byteOffset += 4;
// field err
builder.err = byteData.getFloat32(byteOffset, endianness);
byteOffset += 4;
// field ctrlImp
builder.ctrlImp = byteData.getFloat32(byteOffset, endianness);
byteOffset += 4;
// field relDirX
builder.relDirX = byteData.getFloat32(byteOffset, endianness);
byteOffset += 4;
// field relDirY
builder.relDirY = byteData.getFloat32(byteOffset, endianness);
byteOffset += 4;
// field relDirZ
builder.relDirZ = byteData.getFloat32(byteOffset, endianness);
byteOffset += 4;
// field errX
builder.errX = byteData.getFloat32(byteOffset, endianness);
byteOffset += 4;
// field errY
builder.errY = byteData.getFloat32(byteOffset, endianness);
byteOffset += 4;
// field errZ
builder.errZ = byteData.getFloat32(byteOffset, endianness);
byteOffset += 4;
// field rfErrX
builder.rfErrX = byteData.getFloat32(byteOffset, endianness);
byteOffset += 4;
// field rfErrY
builder.rfErrY = byteData.getFloat32(byteOffset, endianness);
byteOffset += 4;
// field rfErrZ
builder.rfErrZ = byteData.getFloat32(byteOffset, endianness);
byteOffset += 4;
// field rfErrVx
builder.rfErrVx = byteData.getFloat32(byteOffset, endianness);
byteOffset += 4;
// field rfErrVy
builder.rfErrVy = byteData.getFloat32(byteOffset, endianness);
byteOffset += 4;
// field rfErrVz
builder.rfErrVz = byteData.getFloat32(byteOffset, endianness);
byteOffset += 4;
// field ssX
builder.ssX = byteData.getFloat32(byteOffset, endianness);
byteOffset += 4;
// field ssY
builder.ssY = byteData.getFloat32(byteOffset, endianness);
byteOffset += 4;
// field ssZ
builder.ssZ = byteData.getFloat32(byteOffset, endianness);
byteOffset += 4;
// field virtErrX
builder.virtErrX = byteData.getFloat32(byteOffset, endianness);
byteOffset += 4;
// field virtErrY
builder.virtErrY = byteData.getFloat32(byteOffset, endianness);
byteOffset += 4;
// field virtErrZ
builder.virtErrZ = byteData.getFloat32(byteOffset, endianness);
byteOffset += 4;
return byteOffset - offset;
}