Program Listing for File ImuErrors.hpp

Return to documentation for file (src/navtk/inertial/ImuErrors.hpp)

#pragma once

#include <navtk/aspn.hpp>
#include <navtk/factory.hpp>
#include <navtk/tensors.hpp>

namespace navtk {
namespace inertial {

struct ImuErrors : aspn_xtensor::AspnBase {

    Vector3 accel_biases;

    Vector3 gyro_biases;

    Vector3 accel_scale_factors;

    Vector3 gyro_scale_factors;

    aspn_xtensor::TypeTimestamp time_validity;

    ImuErrors(const Vector3& accel_biases             = zeros(3),
              const Vector3& gyro_biases              = zeros(3),
              const Vector3& accel_scale_factors      = zeros(3),
              const Vector3& gyro_scale_factors       = zeros(3),
              const aspn_xtensor::TypeTimestamp& time = aspn_xtensor::TypeTimestamp((int64_t)0),
              AspnMessageType message_type            = ASPN_EXTENDED_BEGIN)
        : aspn_xtensor::TypeHeader(message_type, 0, 0, 0, 0),
          accel_biases(accel_biases),
          gyro_biases(gyro_biases),
          accel_scale_factors(accel_scale_factors),
          gyro_scale_factors(gyro_scale_factors),
          time_validity(time) {}
};

}  // namespace inertial
}  // namespace navtk