createThreeDSensorCalibrationMesg static method

Mesg createThreeDSensorCalibrationMesg()

Implementation

static Mesg createThreeDSensorCalibrationMesg() {
  int fieldIndex, subfieldIndex;
  Mesg newMesg = Mesg(
    "ThreeDSensorCalibration",
    MesgNum.threeDSensorCalibration,
  );
  fieldIndex = 0;
  newMesg.setField(
    Field("Timestamp", 253, 134, 1.0, 0.0, "s", false, ProfileType.dateTime),
  );
  fieldIndex++;
  newMesg.setField(
    Field("SensorType", 0, 0, 1.0, 0.0, "", false, ProfileType.sensorType),
  );
  fieldIndex++;
  Field calibrationFactorField = Field(
    "CalibrationFactor",
    1,
    134,
    1.0,
    0.0,
    "",
    false,
    ProfileType.uint32,
  );
  subfieldIndex = 0;
  calibrationFactorField.subfields.add(
    Subfield("AccelCalFactor", 134, 1.0, 0.0, "g"),
  );
  calibrationFactorField.subfields[subfieldIndex].addMap(0, 0);
  subfieldIndex++;
  calibrationFactorField.subfields.add(
    Subfield("GyroCalFactor", 134, 1.0, 0.0, "deg/s"),
  );
  calibrationFactorField.subfields[subfieldIndex].addMap(0, 1);
  subfieldIndex++;
  newMesg.setField(calibrationFactorField);
  fieldIndex++;
  newMesg.setField(
    Field(
      "CalibrationDivisor",
      2,
      134,
      1.0,
      0.0,
      "counts",
      false,
      ProfileType.uint32,
    ),
  );
  fieldIndex++;
  newMesg.setField(
    Field("LevelShift", 3, 134, 1.0, 0.0, "", false, ProfileType.uint32),
  );
  fieldIndex++;
  newMesg.setField(
    Field("OffsetCal", 4, 133, 1.0, 0.0, "", false, ProfileType.sint32),
  );
  fieldIndex++;
  newMesg.setField(
    Field(
      "OrientationMatrix",
      5,
      133,
      65535.0,
      0.0,
      "",
      false,
      ProfileType.sint32,
    ),
  );
  fieldIndex++;

  return newMesg;
}