One Framework 0.1.0
RoboMaster嵌入式框架“一键”解决方案,为你的“创意”服务。
载入中...
搜索中...
未找到
ImuHub.hpp
浏览该文件的文档.
1#ifndef OF_LIB_IMU_HUB_HPP
2#define OF_LIB_IMU_HUB_HPP
3
4#include <zephyr/drivers/sensor.h>
5#include <zephyr/kernel.h>
6
7namespace OF
8{
16 struct IMUData
17 {
19 struct Vector3
20 {
21 float x, y, z;
22 };
23
24#ifndef CONFIG_IMU_HUB_RESOLVER_NONE
27 {
28 float w, x, y, z;
30
32 {
33 float pitch, roll, yaw;
35
36#endif
39 };
40
56 class ImuHub final
57 {
58 public:
59 ImuHub() = default;
60 ImuHub(const ImuHub&) = delete;
61 ImuHub operator=(const ImuHub&) = delete;
62
63 static constexpr auto name = "ImuHub";
64
72 void setup();
73
79 static void async_worker_thread(void* p1, void* p2, void* p3);
80
81 static IMUData getData();
82
83 private:
92 static void process_imu_data(int result, uint8_t* buf, uint32_t buf_len, void* userdata);
93
100 static void handle_axis_update(sensor_channel channel, const struct sensor_three_axis_data& data);
101
102 const device* m_accel_dev;
103 const device* m_gyro_dev;
104 };
105}
106
108{
109 return OF::ImuHub::getData();
110}
111
112#endif //OF_LIB_IMU_HUB_HPP
static OF::IMUData getImuData()
定义 ImuHub.hpp:107
void setup()
Configure and start the asynchronous IMU pipeline.
定义 ImuHub.cpp:182
ImuHub operator=(const ImuHub &)=delete
static constexpr auto name
定义 ImuHub.hpp:63
ImuHub()=default
static void async_worker_thread(void *p1, void *p2, void *p3)
RTOS thread entry used for processing the RTIO completion queue.
定义 ImuHub.cpp:216
static IMUData getData()
定义 ImuHub.cpp:227
ImuHub(const ImuHub &)=delete
定义 JointSetpointGenerator.hpp:9
定义 ImuHub.hpp:32
float roll
定义 ImuHub.hpp:33
float pitch
定义 ImuHub.hpp:33
float yaw
定义 ImuHub.hpp:33
定义 ImuHub.hpp:27
float w
定义 ImuHub.hpp:28
float y
定义 ImuHub.hpp:28
float x
定义 ImuHub.hpp:28
float z
定义 ImuHub.hpp:28
定义 ImuHub.hpp:20
float y
定义 ImuHub.hpp:21
float x
定义 ImuHub.hpp:21
float z
定义 ImuHub.hpp:21
Container for IMU sample data used by the hub.
定义 ImuHub.hpp:17
struct OF::IMUData::Quaternion quat
struct OF::IMUData::EulerAngle euler_angle
Vector3 accel
定义 ImuHub.hpp:38
Vector3 gyro
定义 ImuHub.hpp:37