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


module px4_msgs {
  module msg {
    typedef float float__3[3];
    module SensorCombined_Constants {
      @verbatim (language="comment", text=
        "(0x7fffffff) If one of the relative timestamps is set to this value, it means the associated sensor values are invalid")
      const int32 RELATIVE_TIMESTAMP_INVALID = 2147483647;
      const uint8 CLIPPING_X = 1;
      const uint8 CLIPPING_Y = 2;
      const uint8 CLIPPING_Z = 4;
    };
    @verbatim (language="comment", text=
      "Sensor readings in SI-unit form." "\n"
      "These fields are scaled and offset-compensated where possible and do not" "\n"
      "change with board revisions and sensor updates.")
    struct SensorCombined {
      @verbatim (language="comment", text=
        "time since system start (microseconds)")
      uint64 timestamp;

      @verbatim (language="comment", text=
        "gyro timstamp is equal to the timestamp of the message" "\n"
        "average angular rate measured in the FRD body frame XYZ-axis in rad/s over the last gyro sampling period")
      float__3 gyro_rad;

      @verbatim (language="comment", text=
        "gyro measurement sampling period in microseconds")
      uint32 gyro_integral_dt;

      @verbatim (language="comment", text=
        "timestamp + accelerometer_timestamp_relative = Accelerometer timestamp")
      int32 accelerometer_timestamp_relative;

      @verbatim (language="comment", text=
        "average value acceleration measured in the FRD body frame XYZ-axis in m/s^2 over the last accelerometer sampling period")
      float__3 accelerometer_m_s2;

      @verbatim (language="comment", text=
        "accelerometer measurement sampling period in microseconds")
      uint32 accelerometer_integral_dt;

      @verbatim (language="comment", text=
        "bitfield indicating if there was any accelerometer clipping (per axis) during the integration time frame")
      uint8 accelerometer_clipping;

      @verbatim (language="comment", text=
        "bitfield indicating if there was any gyro clipping (per axis) during the integration time frame")
      uint8 gyro_clipping;

      @verbatim (language="comment", text=
        "Calibration changed counter. Monotonically increases whenever accelermeter calibration changes.")
      uint8 accel_calibration_count;

      @verbatim (language="comment", text=
        "Calibration changed counter. Monotonically increases whenever rate gyro calibration changes.")
      uint8 gyro_calibration_count;
    };
  };
};
