deserializePayload method

  1. @override
int deserializePayload(
  1. GpsFixRtkBuilder 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.GpsFixRtkBuilder builder, ByteData byteData,
    Endian endianness, int offset) {
  var byteOffset = offset;

  // field validity
  builder.validity = imc.GpsFixRtkBitfieldValidity(
      byteData.getUint16(byteOffset, endianness));
  byteOffset += 2;
  // field type
  builder.type = imc.GpsFixRtkEnumType(byteData.getUint8(byteOffset));
  byteOffset += 1;
  // field tow
  builder.tow = byteData.getUint32(byteOffset, endianness);
  byteOffset += 4;
  // field baseLat
  builder.baseLat = byteData.getFloat64(byteOffset, endianness);
  byteOffset += 8;
  // field baseLon
  builder.baseLon = byteData.getFloat64(byteOffset, endianness);
  byteOffset += 8;
  // field baseHeight
  builder.baseHeight = byteData.getFloat32(byteOffset, endianness);
  byteOffset += 4;
  // field n
  builder.n = byteData.getFloat32(byteOffset, endianness);
  byteOffset += 4;
  // field e
  builder.e = byteData.getFloat32(byteOffset, endianness);
  byteOffset += 4;
  // field d
  builder.d = byteData.getFloat32(byteOffset, endianness);
  byteOffset += 4;
  // field vN
  builder.vN = byteData.getFloat32(byteOffset, endianness);
  byteOffset += 4;
  // field vE
  builder.vE = byteData.getFloat32(byteOffset, endianness);
  byteOffset += 4;
  // field vD
  builder.vD = byteData.getFloat32(byteOffset, endianness);
  byteOffset += 4;
  // field satellites
  builder.satellites = byteData.getUint8(byteOffset);
  byteOffset += 1;
  // field iarHyp
  builder.iarHyp = byteData.getUint16(byteOffset, endianness);
  byteOffset += 2;
  // field iarRatio
  builder.iarRatio = byteData.getFloat32(byteOffset, endianness);
  byteOffset += 4;

  return byteOffset - offset;
}