Select the types of activity you want to include in your feed.
d/wmr: Hook up motion controller gyro and accel
Basic IMU setup with fusion. Reading and applying config callibration data from controller is still work in progress
···242425252626/*!
2727- * Indices where each input is in the input list.
2727+ * Indices in input list of each input.
2828 */
2929enum wmr_bt_input_index
3030{
···52525353 struct os_hid_device *controller_hid;
5454 struct os_thread_helper controller_thread;
5555+5656+5557 struct os_mutex lock;
56585959+ //! The last decoded package of IMU and button data
6060+ struct wmr_controller_input input;
6161+ //! Time of last IMU sample, in CPU time.
6262+ uint64_t last_imu_timestamp_ns;
6363+ //! Main fusion calculator.
5764 struct m_imu_3dof fusion;
5858-5959- struct
6060- {
6161- struct xrt_vec3 acc;
6262- struct xrt_vec3 gyro;
6363- } last;
6464-6565- struct xrt_quat rot_filtered;
6565+ //! The last angular velocity from the IMU, for prediction.
6666+ struct xrt_vec3 last_angular_velocity;
66676768 enum u_logging_level log_level;
6868-6969- uint32_t last_ticks;
7070-7171- struct wmr_controller_input input;
7269};
73707471