Paparazzi UAS  v6.2_unstable
Paparazzi is a free software Unmanned Aircraft System.
ins_ekf2.h File Reference
#include "modules/ahrs/ahrs.h"
#include "modules/ins/ins.h"
+ Include dependency graph for ins_ekf2.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ekf2_t


void ins_ekf2_init (void)
void ins_ekf2_update (void)
void ins_ekf2_change_param (int32_t unk)
void ins_ekf2_remove_gps (int32_t mode)
void ins_ekf2_parse_EXTERNAL_POSE (uint8_t *buf)
void ins_ekf2_parse_EXTERNAL_POSE_SMALL (uint8_t *buf)


struct ekf2_t ekf2
 Local EKF2 status structure. More...

Detailed Description

INS based in the EKF2 of PX4

Definition in file ins_ekf2.h.

Data Structure Documentation

◆ ekf2_t

struct ekf2_t

Definition at line 40 of file ins_ekf2.h.

+ Collaboration diagram for ekf2_t:
Data Fields
struct FloatVect3 accel Last accelerometer measurements.
uint32_t accel_dt Accelerometer delta timestamp between abi messages.
uint32_t accel_stamp Accelerometer last abi message timestamp.
bool accel_valid If we received a acceleration measurement.
struct OrientationReps body_to_imu Body to IMU rotation.
uint32_t flow_stamp Optic flow last abi message timestamp.
int32_t fusion_mode
bool got_imu_data If we received valid IMU data (any sensor)
struct FloatRates gyro Last gyroscope measurements.
uint32_t gyro_dt Gyroscope delta timestamp between abi messages.
uint32_t gyro_stamp Gyroscope last abi message timestamp.
bool gyro_valid If we received a gyroscope measurement.
struct LtpDef_i ltp_def Latest LTP definition from the quat_reset_counterEKF2.
uint64_t ltp_stamp Last LTP change timestamp from the EKF2.
int32_t mag_fusion_type
float qnh QNH value in hPa.
uint8_t quat_reset_counter Amount of quaternion resets from the EKF2.
float temp Latest temperature measurement in degrees celcius.

Function Documentation

◆ ins_ekf2_change_param()

void ins_ekf2_change_param ( int32_t  unk)

Definition at line 654 of file ins_ekf2.cpp.

References ekf2, ekf_params, and ekf2_t::mag_fusion_type.

◆ ins_ekf2_init()

void ins_ekf2_init ( void  )

Definition at line 466 of file ins_ekf2.cpp.

References ABI_BROADCAST, accel_cb(), accel_ev, ekf2_t::accel_stamp, ekf2_t::accel_valid, agl_cb(), agl_ev, LlaCoor_i::alt, baro_cb(), baro_ev, body_to_imu_cb(), body_to_imu_ev, DefaultPeriodic, ekf, ekf2, ekf_params, f, ekf2_t::flow_stamp, ekf2_t::got_imu_data, gps_cb(), gps_ev, gyro_cb(), gyro_ev, ekf2_t::gyro_stamp, ekf2_t::gyro_valid, LtpDef_i::hmsl, INS_EKF2_ACCEL_ID, INS_EKF2_AGL_ID, INS_EKF2_BARO_ID, INS_EKF2_BARO_NOISE, INS_EKF2_FLOW_INNOV_GATE, INS_EKF2_FLOW_NOISE, INS_EKF2_FLOW_NOISE_QMIN, INS_EKF2_FLOW_POS_X, INS_EKF2_FLOW_POS_Y, INS_EKF2_FLOW_POS_Z, INS_EKF2_FLOW_SENSOR_DELAY, INS_EKF2_FUSION_MODE, INS_EKF2_GPS_CHECK_MASK, INS_EKF2_GPS_ID, INS_EKF2_GPS_P_NOISE, INS_EKF2_GPS_POS_X, INS_EKF2_GPS_POS_Y, INS_EKF2_GPS_POS_Z, INS_EKF2_GPS_V_NOISE, INS_EKF2_GYRO_ID, INS_EKF2_IMU_POS_X, INS_EKF2_IMU_POS_Y, INS_EKF2_IMU_POS_Z, INS_EKF2_MAG_ID, INS_EKF2_MAX_FLOW_RATE, INS_EKF2_MIN_FLOW_QUALITY, INS_EKF2_OF_ID, INS_EKF2_RANGE_MAIN_AGL, INS_EKF2_SONAR_MAX_RANGE, INS_EKF2_SONAR_MIN_RANGE, INS_EKF2_TEMPERATURE_ID, INS_EKF2_VDIST_SENSOR_TYPE, LlaCoor_i::lat, LlaCoor_i::lon, ekf2_t::ltp_def, ltp_def_from_lla_i(), ekf2_t::ltp_stamp, mag_cb(), mag_ev, optical_flow_cb(), optical_flow_ev, ekf2_t::qnh, ekf2_t::quat_reset_counter, register_periodic_telemetry(), send_ahrs_bias(), send_filter_status(), send_ins(), send_ins_ekf2(), send_ins_ekf2_ext(), send_ins_ref(), send_ins_z(), send_wind_info_ret(), stateSetLocalOrigin_i(), ekf2_t::temp, temperature_cb(), temperature_ev, and waypoints_localize_all().

+ Here is the call graph for this function:

◆ ins_ekf2_parse_EXTERNAL_POSE()

void ins_ekf2_parse_EXTERNAL_POSE ( uint8_t buf)

Definition at line 668 of file ins_ekf2.cpp.

References ekf, get_sys_time_usec(), INS_EKF2_EVA_NOISE, INS_EKF2_EVP_NOISE, and INS_EKF2_EVV_NOISE.

+ Here is the call graph for this function:

◆ ins_ekf2_parse_EXTERNAL_POSE_SMALL()

void ins_ekf2_parse_EXTERNAL_POSE_SMALL ( uint8_t buf)

Definition at line 691 of file ins_ekf2.cpp.

◆ ins_ekf2_remove_gps()

void ins_ekf2_remove_gps ( int32_t  mode)

Definition at line 659 of file ins_ekf2.cpp.

References ekf2, ekf_params, ekf2_t::fusion_mode, INS_EKF2_FUSION_MODE, and mode.

◆ ins_ekf2_update()

Variable Documentation

◆ ekf2