From 0c10ce2235ee7d8065beaf61b8070afce6c47a79 Mon Sep 17 00:00:00 2001 From: Davide Basso <davide.basso@skywarder.eu> Date: Wed, 7 Feb 2024 22:09:28 +0100 Subject: [PATCH] [Units] fix macro, add ostream support --- src/shared/sensors/BMX160/BMX160Data.h | 4 ++-- src/shared/sensors/BMX160/BMX160WithCorrectionData.h | 4 ++-- src/shared/sensors/H3LIS331DL/H3LIS331DLData.h | 4 ++-- src/shared/sensors/LIS331HH/LIS331HHData.h | 4 ++-- src/shared/sensors/LIS3DSH/LIS3DSHData.h | 4 ++-- src/shared/sensors/LSM6DSRX/LSM6DSRXData.h | 4 ++-- src/shared/sensors/MPU9250/MPU9250Data.h | 4 ++-- src/shared/sensors/SensorData.h | 4 ++-- src/shared/sensors/VN100/VN100Data.h | 4 ++-- src/shared/units/Units.h | 11 +++++++++-- 10 files changed, 27 insertions(+), 20 deletions(-) diff --git a/src/shared/sensors/BMX160/BMX160Data.h b/src/shared/sensors/BMX160/BMX160Data.h index 62fd29c10..853ce135e 100644 --- a/src/shared/sensors/BMX160/BMX160Data.h +++ b/src/shared/sensors/BMX160/BMX160Data.h @@ -53,8 +53,8 @@ struct BMX160Data : public AccelerometerData, void print(std::ostream& os) const { - os << accelerationTimestamp << "," << accelerationX.value() << "," - << accelerationY.value() << "," << accelerationZ.value() << "," + os << accelerationTimestamp << "," << accelerationX << "," + << accelerationY << "," << accelerationZ << "," << angularSpeedTimestamp << "," << angularSpeedX << "," << angularSpeedY << "," << angularSpeedZ << "," << magneticFieldTimestamp << "," << magneticFieldX << "," diff --git a/src/shared/sensors/BMX160/BMX160WithCorrectionData.h b/src/shared/sensors/BMX160/BMX160WithCorrectionData.h index 0f5aaaa32..c3e22c094 100644 --- a/src/shared/sensors/BMX160/BMX160WithCorrectionData.h +++ b/src/shared/sensors/BMX160/BMX160WithCorrectionData.h @@ -76,8 +76,8 @@ struct BMX160WithCorrectionData : public BMX160Data void print(std::ostream& os) const { - os << accelerationTimestamp << "," << accelerationX.value() << "," - << accelerationY.value() << "," << accelerationZ.value() << "," + os << accelerationTimestamp << "," << accelerationX << "," + << accelerationY << "," << accelerationZ << "," << angularSpeedTimestamp << "," << angularSpeedX << "," << angularSpeedY << "," << angularSpeedZ << "," << magneticFieldTimestamp << "," << magneticFieldX << "," diff --git a/src/shared/sensors/H3LIS331DL/H3LIS331DLData.h b/src/shared/sensors/H3LIS331DL/H3LIS331DLData.h index 27a3f9c2e..d3871d843 100644 --- a/src/shared/sensors/H3LIS331DL/H3LIS331DLData.h +++ b/src/shared/sensors/H3LIS331DL/H3LIS331DLData.h @@ -49,8 +49,8 @@ struct H3LIS331DLData : public AccelerometerData void print(std::ostream& os) const { - os << accelerationTimestamp << "," << accelerationX.value() << "," - << accelerationY.value() << "," << accelerationZ.value() << "\n"; + os << accelerationTimestamp << "," << accelerationX << "," + << accelerationY << "," << accelerationZ << "\n"; } }; diff --git a/src/shared/sensors/LIS331HH/LIS331HHData.h b/src/shared/sensors/LIS331HH/LIS331HHData.h index 31bef1fb2..72a572141 100644 --- a/src/shared/sensors/LIS331HH/LIS331HHData.h +++ b/src/shared/sensors/LIS331HH/LIS331HHData.h @@ -39,8 +39,8 @@ struct LIS331HHData : public AccelerometerData void print(std::ostream& os) const { - os << accelerationTimestamp << "," << accelerationX.value() << "," - << accelerationY.value() << "," << accelerationZ.value() << "\n"; + os << accelerationTimestamp << "," << accelerationX << "," + << accelerationY << "," << accelerationZ << "\n"; } }; diff --git a/src/shared/sensors/LIS3DSH/LIS3DSHData.h b/src/shared/sensors/LIS3DSH/LIS3DSHData.h index f2dfa77ae..ab382c5e8 100644 --- a/src/shared/sensors/LIS3DSH/LIS3DSHData.h +++ b/src/shared/sensors/LIS3DSH/LIS3DSHData.h @@ -60,8 +60,8 @@ struct LIS3DSHData : public AccelerometerData, public TemperatureData void print(std::ostream& os) const { - os << accelerationTimestamp << "," << accelerationX.value() << "," - << accelerationY.value() << "," << accelerationZ.value() << "," + os << accelerationTimestamp << "," << accelerationX << "," + << accelerationY << "," << accelerationZ << "," << temperatureTimestamp << "," << temperature << "\n"; } }; diff --git a/src/shared/sensors/LSM6DSRX/LSM6DSRXData.h b/src/shared/sensors/LSM6DSRX/LSM6DSRXData.h index 268df0354..ddbe5789e 100644 --- a/src/shared/sensors/LSM6DSRX/LSM6DSRXData.h +++ b/src/shared/sensors/LSM6DSRX/LSM6DSRXData.h @@ -45,8 +45,8 @@ struct LSM6DSRXData : public AccelerometerData, public GyroscopeData void print(std::ostream& os) const { - os << accelerationTimestamp << "," << accelerationX.value() << "," - << accelerationY.value() << "," << accelerationZ.value() << "," + os << accelerationTimestamp << "," << accelerationX << "," + << accelerationY << "," << accelerationZ << "," << angularSpeedTimestamp << "," << angularSpeedX << "," << angularSpeedY << "," << angularSpeedZ << "\n"; } diff --git a/src/shared/sensors/MPU9250/MPU9250Data.h b/src/shared/sensors/MPU9250/MPU9250Data.h index dd526fa50..d9d23cb04 100644 --- a/src/shared/sensors/MPU9250/MPU9250Data.h +++ b/src/shared/sensors/MPU9250/MPU9250Data.h @@ -56,8 +56,8 @@ struct MPU9250Data : public AccelerometerData, void print(std::ostream& os) const { - os << accelerationTimestamp << "," << accelerationX.value() << "," - << accelerationY.value() << "," << accelerationZ.value() << "," + os << accelerationTimestamp << "," << accelerationX << "," + << accelerationY << "," << accelerationZ << "," << angularSpeedTimestamp << "," << angularSpeedX << "," << angularSpeedY << "," << angularSpeedZ << "," << magneticFieldTimestamp << "," << magneticFieldX << "," diff --git a/src/shared/sensors/SensorData.h b/src/shared/sensors/SensorData.h index 5d172388f..2450d8921 100644 --- a/src/shared/sensors/SensorData.h +++ b/src/shared/sensors/SensorData.h @@ -139,8 +139,8 @@ struct AccelerometerData void print(std::ostream& os) const { - os << accelerationTimestamp << "," << accelerationX.value() << "," - << accelerationY.value() << "," << accelerationZ.value() << "\n"; + os << accelerationTimestamp << "," << accelerationX << "," + << accelerationY << "," << accelerationZ << "\n"; } operator Eigen::Vector3f() const diff --git a/src/shared/sensors/VN100/VN100Data.h b/src/shared/sensors/VN100/VN100Data.h index 0f759d957..69edf9758 100644 --- a/src/shared/sensors/VN100/VN100Data.h +++ b/src/shared/sensors/VN100/VN100Data.h @@ -86,8 +86,8 @@ struct VN100Data : public QuaternionData, << "," << quaternionZ << "," << quaternionW << "," << magneticFieldTimestamp << "," << magneticFieldX << "," << magneticFieldY << "," << magneticFieldZ << "," - << accelerationTimestamp << "," << accelerationX.value() << "," - << accelerationY.value() << "," << accelerationZ.value() << "," + << accelerationTimestamp << "," << accelerationX << "," + << accelerationY << "," << accelerationZ << "," << angularSpeedTimestamp << "," << angularSpeedX << "," << angularSpeedY << "," << angularSpeedZ << "," << temperatureTimestamp << "," << temperature << "," diff --git a/src/shared/units/Units.h b/src/shared/units/Units.h index 6e59cbcd0..1ace1725e 100644 --- a/src/shared/units/Units.h +++ b/src/shared/units/Units.h @@ -22,8 +22,7 @@ #pragma once -#include <utils/Debug.h> - +#include <ostream> #include <ratio> #include <typeinfo> @@ -77,6 +76,14 @@ private: float _value; }; +// Logging +template <UnitKind Kind, class Ratio> +std::ostream &operator<<(std::ostream &os, const Unit<Kind, Ratio> &unit) +{ + os << unit.template value<Ratio>(); + return os; +} + // Sum, Subtraction, Multiplication, Division template <UnitKind Kind, class Ratio> constexpr auto operator+(const Unit<Kind, Ratio> &lhs, -- GitLab