Paparazzi UAS
v5.12_stable-4-g9b43e9b
Paparazzi is a free software Unmanned Aircraft System.
|
Vectornav VN-200 IMU subsystems, to be used with other AHRS/INS algorithms. More...
#include "modules/imu/imu_vectornav.h"
#include "mcu_periph/sys_time.h"
#include "subsystems/abi.h"
#include "generated/airframe.h"
#include "subsystems/datalink/telemetry.h"
Go to the source code of this file.
Functions | |
void | imu_scale_gyro (struct Imu *_imu) |
void | imu_scale_accel (struct Imu *_imu) |
static void | send_vn_info (struct transport_tx *trans, struct link_device *dev) |
void | imu_vectornav_init (void) |
Init IMU struct and set up ABI messages. More... | |
void | imu_vectornav_event (void) |
Event function to read and parse data from the serial port. More... | |
void | imu_vectornav_periodic (void) |
Periodic function checks for the frequency of packets, triggers warning in case the IMU stops sending data and performs initial configuration if needed. More... | |
void | imu_vectornav_propagate (void) |
Send ABI messages. More... | |
Variables | |
struct ImuVectornav | imu_vn |
Vectornav VN-200 IMU subsystems, to be used with other AHRS/INS algorithms.
Definition in file imu_vectornav.c.
void imu_scale_accel | ( | struct Imu * | _imu | ) |
Definition at line 44 of file imu_vectornav.c.
Referenced by handle_ins_msg(), imu_apogee_event(), imu_aspirin2_event(), imu_aspirin_event(), imu_aspirin_i2c_event(), imu_b2_event(), imu_bebop_event(), imu_disco_event(), imu_drotek2_event(), imu_gl1_event(), imu_hbmini_event(), imu_krooz_periodic(), imu_mpu9250_event(), imu_mpu_hmc_event(), imu_mpu_i2c_event(), imu_mpu_spi_event(), imu_navgo_event(), imu_navstik_event(), imu_nps_event(), imu_ppzuav_event(), imu_px4_event(), imu_px4fmu_event(), imu_swing_event(), imu_umarim_event(), and navdata_publish_imu().
void imu_scale_gyro | ( | struct Imu * | _imu | ) |
Definition at line 43 of file imu_vectornav.c.
Referenced by handle_ins_msg(), imu_analog_periodic(), imu_apogee_event(), imu_aspirin2_event(), imu_aspirin_event(), imu_aspirin_i2c_event(), imu_b2_event(), imu_bebop_event(), imu_disco_event(), imu_drotek2_event(), imu_gl1_event(), imu_hbmini_event(), imu_krooz_periodic(), imu_mpu9250_event(), imu_mpu_hmc_event(), imu_mpu_i2c_event(), imu_mpu_spi_event(), imu_navgo_event(), imu_navstik_event(), imu_nps_event(), imu_ppzuav_event(), imu_px4_event(), imu_px4fmu_event(), imu_swing_event(), imu_umarim_event(), and navdata_publish_imu().
void imu_vectornav_event | ( | void | ) |
Event function to read and parse data from the serial port.
Definition at line 109 of file imu_vectornav.c.
References imu_vectornav_propagate(), imu_vn, VNPacket::msg_available, vn200_event(), vn200_read_message(), ImuVectornav::vn_data, and ImuVectornav::vn_packet.
void imu_vectornav_init | ( | void | ) |
Init IMU struct and set up ABI messages.
Definition at line 80 of file imu_vectornav.c.
References VNPacket::chksm_error, DefaultPeriodic, VNPacket::framing_error, VNPacket::hdr_error, imu_vn, VNPacket::msg_available, VNPacket::msg_idx, VNPacket::noise_error, VNPacket::overrun_error, register_periodic_telemetry(), send_vn_info(), VNPacket::status, ImuVectornav::vn_data, ImuVectornav::vn_freq, ImuVectornav::vn_packet, ImuVectornav::vn_status, VNMsgSync, and VNNotTracking.
void imu_vectornav_periodic | ( | void | ) |
Periodic function checks for the frequency of packets, triggers warning in case the IMU stops sending data and performs initial configuration if needed.
Definition at line 128 of file imu_vectornav.c.
References VNPacket::counter, imu_vn, ImuVectornav::vn_freq, ImuVectornav::vn_packet, ImuVectornav::vn_status, VNNotTracking, and VNOK.
void imu_vectornav_propagate | ( | void | ) |
Send ABI messages.
Definition at line 149 of file imu_vectornav.c.
References Imu::accel, VNData::accel, ACCELS_BFP_OF_REAL, Imu::gyro, VNData::gyro, imu, IMU_VECTORNAV_ID, imu_vn, VNData::nanostamp, RATES_BFP_OF_REAL, and ImuVectornav::vn_data.
Referenced by imu_vectornav_event().
|
static |
Definition at line 50 of file imu_vectornav.c.
References VNPacket::chksm_error, VNPacket::counter, VNData::err, VNPacket::hdr_error, imu_vn, VNData::mode, FloatEulers::phi, FloatEulers::psi, FloatEulers::theta, VNData::timestamp, ImuVectornav::vn_data, ImuVectornav::vn_freq, ImuVectornav::vn_packet, and VNData::ypr_u.
Referenced by imu_vectornav_init().
struct ImuVectornav imu_vn |
Definition at line 40 of file imu_vectornav.c.
Referenced by imu_vectornav_event(), imu_vectornav_init(), imu_vectornav_periodic(), imu_vectornav_propagate(), and send_vn_info().