// generated from rosidl_adapter/resource/msg.idl.em
// with input from px4_msgs/msg/EstimatorSensorBias.msg
// generated code does not contain a copyright notice


module px4_msgs {
  module msg {
    typedef float float__3[3];
    @verbatim (language="comment", text=
      "Sensor readings and in-run biases in SI-unit form. Sensor readings are compensated for static offsets," "\n"
      "scale errors, in-run bias and thermal drift (if thermal compensation is enabled and available).")
    struct EstimatorSensorBias {
      @verbatim (language="comment", text=
        "time since system start (microseconds)")
      uint64 timestamp;

      @verbatim (language="comment", text=
        "the timestamp of the raw data (microseconds)")
      uint64 timestamp_sample;

      @verbatim (language="comment", text=
        "In-run bias estimates (subtract from uncorrected data)" "\n"
        "unique device ID for the sensor that does not change between power cycles")
      uint32 gyro_device_id;

      @verbatim (language="comment", text=
        "gyroscope in-run bias in body frame (rad/s)")
      float__3 gyro_bias;

      @verbatim (language="comment", text=
        "magnitude of maximum gyroscope in-run bias in body frame (rad/s)")
      float gyro_bias_limit;

      float__3 gyro_bias_variance;

      boolean gyro_bias_valid;

      @verbatim (language="comment", text=
        "true when the gyro bias estimate is stable enough to use for calibration")
      boolean gyro_bias_stable;

      @verbatim (language="comment", text=
        "unique device ID for the sensor that does not change between power cycles")
      uint32 accel_device_id;

      @verbatim (language="comment", text=
        "accelerometer in-run bias in body frame (m/s^2)")
      float__3 accel_bias;

      @verbatim (language="comment", text=
        "magnitude of maximum accelerometer in-run bias in body frame (m/s^2)")
      float accel_bias_limit;

      float__3 accel_bias_variance;

      boolean accel_bias_valid;

      @verbatim (language="comment", text=
        "true when the accel bias estimate is stable enough to use for calibration")
      boolean accel_bias_stable;

      @verbatim (language="comment", text=
        "unique device ID for the sensor that does not change between power cycles")
      uint32 mag_device_id;

      @verbatim (language="comment", text=
        "magnetometer in-run bias in body frame (Gauss)")
      float__3 mag_bias;

      @verbatim (language="comment", text=
        "magnitude of maximum magnetometer in-run bias in body frame (Gauss)")
      float mag_bias_limit;

      float__3 mag_bias_variance;

      boolean mag_bias_valid;

      @verbatim (language="comment", text=
        "true when the mag bias estimate is stable enough to use for calibration")
      boolean mag_bias_stable;
    };
  };
};
