onboardsdk
Loading...
Searching...
No Matches
ImuSelfTest.hpp
1#pragma once
2
3#include <fmt/format.h>
4
5#include "../utils/eigen_formatters.hpp"
6#include "Eigen/Geometry"
7
8namespace blunux::imu {
9
19 Eigen::Vector3d acc_mean =
20 Eigen::Vector3d::Zero();
21 Eigen::Vector3d acc_variance =
22 Eigen::Vector3d::Zero();
23 Eigen::Vector3d gyro_mean =
24 Eigen::Vector3d::Zero();
25 Eigen::Vector3d gyro_variance =
26 Eigen::Vector3d::Zero();
27 Eigen::Vector3d compass_mean =
28 Eigen::Vector3d::Zero();
29 Eigen::Vector3d compass_variance =
30 Eigen::Vector3d::Zero();
34 bool acc_variance_ok = false;
35
39 bool gyro_variance_ok = false;
40
44 bool compass_variance_ok = false;
45
49 bool test_passed = false;
50};
51
52} // namespace blunux::imu
53
57template <>
58struct fmt::formatter<blunux::imu::ImuSelfTest> {
65 template <typename ParseContext>
66 // NOLINTNEXTLINE(runtime/references)
67 constexpr auto parse(ParseContext& ctx) {
68 return ctx.begin();
69 }
70
78 template <typename FormatContext>
79 // NOLINTNEXTLINE(runtime/references)
80 auto format(blunux::imu::ImuSelfTest const& test, FormatContext& ctx) {
81 return fmt::format_to(
82 ctx.out(),
83 "Self test:\nacc_mean: {}\nacc_variance: {}\ngyro_mean: "
84 "{}\ngyro_variance: {}\ncompass_mean: "
85 "{}\ncompass_variance: {}\nacc_variance_ok: "
86 "{}\ngyro_variance_ok: {}\ncompass_variance_ok: {}\n"
87 "test_passed: {}",
88 test.acc_mean, test.acc_variance, test.gyro_mean, test.gyro_variance,
91 }
92};
Structure representing IMU self-test results.
Definition ImuSelfTest.hpp:18
Eigen::Vector3d compass_variance
Definition ImuSelfTest.hpp:29
bool acc_variance_ok
Definition ImuSelfTest.hpp:34
Eigen::Vector3d compass_mean
Definition ImuSelfTest.hpp:27
Eigen::Vector3d gyro_variance
Definition ImuSelfTest.hpp:25
Eigen::Vector3d gyro_mean
Definition ImuSelfTest.hpp:23
bool compass_variance_ok
Definition ImuSelfTest.hpp:44
Eigen::Vector3d acc_mean
Definition ImuSelfTest.hpp:19
bool test_passed
Definition ImuSelfTest.hpp:49
bool gyro_variance_ok
Definition ImuSelfTest.hpp:39
Eigen::Vector3d acc_variance
Definition ImuSelfTest.hpp:21
auto format(blunux::imu::ImuSelfTest const &test, FormatContext &ctx)
Formats the ImuSelfTest object.
Definition ImuSelfTest.hpp:80
constexpr auto parse(ParseContext &ctx)
Parses the format string.
Definition ImuSelfTest.hpp:67