Sygaldry
Loading...
Searching...
No Matches
sygac-mimu: MIMU Concepts

Concepts

concept  sygaldry::not_void
 Check that type T is not void. Used in the definition of MimuDataStruct.
 
concept  sygaldry::vec3_like
 Check that type T seems to be a MIMU data vector. Used in the definition of MimuDataStruct.
 
concept  sygaldry::has_accl
 Check that the type T has accelerometer vector data at one of the expected interfaces.
 
concept  sygaldry::has_gyro
 Check that the type T has gyroscope vector data at one of the expected interfaces.
 
concept  sygaldry::has_magn
 Check that the type T has magnetometer vector data at one of the expected interfaces.
 
concept  sygaldry::MimuDataStruct
 Check that the type T has accelerometer, gyroscope, and magnetometer data at one of the expected interfaces.
 
concept  sygaldry::MimuComponent
 Check that the type T has an outputs struct that is a MIMU data structure whose vectors satisfy the constraints of ClearableFlag
 

Macros

#define try_spelling(SPELLING)
 

Typedefs

template<typename T >
using sygaldry::accl_t = std::remove_cvref_t< decltype(accl_of(std::declval< std::remove_cvref_t< T > & >()))>
 Access the type of the accelerometer data of a presumed MIMU data structure.
 
template<typename T >
using sygaldry::gyro_t = std::remove_cvref_t< decltype(gyro_of(std::declval< std::remove_cvref_t< T > & >()))>
 Access the type of the gyroscope data of a presumed MIMU data structure.
 
template<typename T >
using sygaldry::magn_t = std::remove_cvref_t< decltype(magn_of(std::declval< std::remove_cvref_t< T > & >()))>
 Access the type of the magnetometer data of a presumed MIMU data structure.
 
template<typename T >
using sygaldry::vecx_t = std::remove_cvref_t< decltype(vecx_of(std::declval< std::remove_cvref_t< T > & >()))>
 Access the type of the x component of a presumed MIMU data vector.
 
template<typename T >
using sygaldry::vecy_t = std::remove_cvref_t< decltype(vecy_of(std::declval< std::remove_cvref_t< T > & >()))>
 Access the type of the y component of a presumed MIMU data vector.
 
template<typename T >
using sygaldry::vecz_t = std::remove_cvref_t< decltype(vecz_of(std::declval< std::remove_cvref_t< T > & >()))>
 Access the type of the z component of a presumed MIMU data vector.
 

Functions

auto & sygaldry::accl_of (auto &mimu_data)
 Access the accelerometer data of a presumed MIMU data structure.
 
auto & sygaldry::gyro_of (auto &mimu_data)
 Access the gyroscope data of a presumed MIMU data structure.
 
auto & sygaldry::magn_of (auto &mimu_data)
 Access the magnetometer data of a presumed MIMU data structure.
 
auto & sygaldry::vecx_of (auto &mimu_data)
 Access the first vector component of a presumed MIMU data vector.
 
auto & sygaldry::vecy_of (auto &mimu_data)
 Access the second vector component of a presumed MIMU data vector.
 
auto & sygaldry::vecz_of (auto &mimu_data)
 Access the third vector component of a presumed MIMU data vector.
 
auto & sygaldry::accl_of (MimuComponent auto &mimu)
 Access the accelerometer data of a MIMU component.
 
auto & sygaldry::gyro_of (MimuComponent auto &mimu)
 Access the gyroscope data of a MIMU component.
 
auto & sygaldry::magn_of (MimuComponent auto &mimu)
 Access the magnetometer data of a MIMU component.
 
auto sygaldry::accl_x (auto &mimu)
 Access the first vector component of the accelerometer data of a MIMU data structure or MIMU component.
 
auto sygaldry::accl_y (auto &mimu)
 Access the second vector component of the accelerometer data of a MIMU data structure or MIMU component.
 
auto sygaldry::accl_z (auto &mimu)
 Access the third vector component of the accelerometer data of a MIMU data structure or MIMU component.
 
auto sygaldry::gyro_x (auto &mimu)
 Access the first vector component of the gyroscope data of a MIMU data structure or MIMU component.
 
auto sygaldry::gyro_y (auto &mimu)
 Access the second vector component of the gyroscope data of a MIMU data structure or MIMU component.
 
auto sygaldry::gyro_z (auto &mimu)
 Access the third vector component of the gyroscope data of a MIMU data structure or MIMU component.
 
auto sygaldry::magn_x (auto &mimu)
 Access the first vector component of the magnetometer data of a MIMU data structure or MIMU component.
 
auto sygaldry::magn_y (auto &mimu)
 Access the second vector component of the magnetometer data of a MIMU data structure or MIMU component.
 
auto sygaldry::magn_z (auto &mimu)
 Access the third vector component of the magnetometer data of a MIMU data structure or MIMU component.
 

Detailed Description

Macro Definition Documentation

◆ try_spelling

#define try_spelling (   SPELLING)
Value:
if constexpr (requires {mimu_data.SPELLING;}) return mimu_data.SPELLING; /* member acces */ \
else if constexpr (requires {mimu_data.SPELLING();}) return mimu_data.SPELLING(); /* member function */ \
else if constexpr (requires {mimu_data->SPELLING;}) return mimu_data->SPELLING; /* member through pointer */ \
else if constexpr (requires {mimu_data->SPELLING();}) return mimu_data->SPELLING() /* member function through pointer */