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

package com.slightech.mynteye;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import java.util.ArrayList;

/** IMU data */
public final class ImuData {


    /*package*/ final long mFrameId;

    /*package*/ final int mFlag;

    /*package*/ final long mTimestamp;

    /*package*/ final ArrayList<Double> mAccel;

    /*package*/ final ArrayList<Double> mGyro;

    /*package*/ final double mTemperature;

    public ImuData(
            long frameId,
            int flag,
            long timestamp,
            @NonNull ArrayList<Double> accel,
            @NonNull ArrayList<Double> gyro,
            double temperature) {
        this.mFrameId = frameId;
        this.mFlag = flag;
        this.mTimestamp = timestamp;
        this.mAccel = accel;
        this.mGyro = gyro;
        this.mTemperature = temperature;
    }

    /** IMU frame id */
    public long getFrameId() {
        return mFrameId;
    }

    /**
     * IMU accel or gyro flag
     *   0: accel and gyro are both valid
     *   1: accel is valid
     *   2: gyro is valid
     */
    public int getFlag() {
        return mFlag;
    }

    /** IMU timestamp in 1us */
    public long getTimestamp() {
        return mTimestamp;
    }

    /** IMU accelerometer data for 3-axis: X, Y, Z. */
    @NonNull
    public ArrayList<Double> getAccel() {
        return mAccel;
    }

    /** IMU gyroscope data for 3-axis: X, Y, Z. */
    @NonNull
    public ArrayList<Double> getGyro() {
        return mGyro;
    }

    /** IMU temperature */
    public double getTemperature() {
        return mTemperature;
    }

    @Override
    public String toString() {
        return "ImuData{" +
                "mFrameId=" + mFrameId +
                "," + "mFlag=" + mFlag +
                "," + "mTimestamp=" + mTimestamp +
                "," + "mAccel=" + mAccel +
                "," + "mGyro=" + mGyro +
                "," + "mTemperature=" + mTemperature +
        "}";
    }

}
