// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from mynteye_types.djinni

#pragma once

#include <cstdint>
#include <utility>
#include <vector>

namespace mynteye_jni {

/** IMU data */
struct ImuData final {
    /** IMU frame id */
    int64_t frame_id;
    /**
     * IMU accel or gyro flag
     *   0: accel and gyro are both valid
     *   1: accel is valid
     *   2: gyro is valid
     */
    int32_t flag;
    /** IMU timestamp in 1us */
    int64_t timestamp;
    /** IMU accelerometer data for 3-axis: X, Y, Z. */
    std::vector<double> accel;
    /** IMU gyroscope data for 3-axis: X, Y, Z. */
    std::vector<double> gyro;
    /** IMU temperature */
    double temperature;

    ImuData(int64_t frame_id_,
            int32_t flag_,
            int64_t timestamp_,
            std::vector<double> accel_,
            std::vector<double> gyro_,
            double temperature_)
    : frame_id(std::move(frame_id_))
    , flag(std::move(flag_))
    , timestamp(std::move(timestamp_))
    , accel(std::move(accel_))
    , gyro(std::move(gyro_))
    , temperature(std::move(temperature_))
    {}
};

}  // namespace mynteye_jni
