Go2Py/deploy/dds_bridge/include/go2py/Imu.cpp

58 lines
1.9 KiB
C++
Raw Normal View History

2024-01-04 03:15:04 +08:00
/****************************************************************
Generated by Eclipse Cyclone DDS IDL to CXX Translator
File name: Imu.idl
Source: Imu.cpp
Cyclone DDS: v0.10.2
*****************************************************************/
#include "Imu.hpp"
namespace org{
namespace eclipse{
namespace cyclonedds{
namespace core{
namespace cdr{
template<>
propvec &get_type_props<::msgs::Imu>() {
static thread_local std::mutex mtx;
static thread_local propvec props;
static thread_local entity_properties_t *props_end = nullptr;
static thread_local std::atomic_bool initialized {false};
key_endpoint keylist;
if (initialized.load(std::memory_order_relaxed)) {
auto ptr = props.data();
while (ptr < props_end)
(ptr++)->is_present = false;
return props;
}
std::lock_guard<std::mutex> lock(mtx);
if (initialized.load(std::memory_order_relaxed)) {
auto ptr = props.data();
while (ptr < props_end)
(ptr++)->is_present = false;
return props;
}
props.clear();
props.push_back(entity_properties_t(0, 0, false, bb_unset, extensibility::ext_final)); //root
props.push_back(entity_properties_t(1, 0, false, get_bit_bound<float>(), extensibility::ext_final, false)); //::q
props.push_back(entity_properties_t(1, 1, false, get_bit_bound<float>(), extensibility::ext_final, false)); //::gyro
props.push_back(entity_properties_t(1, 2, false, get_bit_bound<float>(), extensibility::ext_final, false)); //::accel
props.push_back(entity_properties_t(1, 3, false, get_bit_bound<float>(), extensibility::ext_final, false)); //::rpy
props.push_back(entity_properties_t(1, 4, false, get_bit_bound<uint8_t>(), extensibility::ext_final, false)); //::tmp
entity_properties_t::finish(props, keylist);
props_end = props.data() + props.size();
initialized.store(true, std::memory_order_release);
return props;
}
} //namespace cdr
} //namespace core
} //namespace cyclonedds
} //namespace eclipse
} //namespace org