Paparazzi UAS  v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
ins_xsens700.c File Reference
#include "ins_xsens700.h"
#include "subsystems/ins.h"
#include "generated/airframe.h"
#include "mcu_periph/sys_time.h"
#include "subsystems/datalink/downlink.h"
#include "pprzlink/messages.h"
+ Include dependency graph for ins_xsens700.c:

Go to the source code of this file.

Macros

#define INS_XSENS700_GPS_ID   GPS_MULTI_ID
 ABI binding for gps data. More...
 

Functions

static void handle_ins_msg (void)
 
static void update_state_interface (void)
 
static void gps_cb (uint8_t sender_id, uint32_t stamp, struct GpsState *gps_s)
 
void ins_xsens700_init (void)
 
void ins_xsens700_event (void)
 

Variables

static abi_event gps_ev
 
float ins_pitch_neutral
 
float ins_roll_neutral
 

Detailed Description

Xsens700 as a full INS solution

Definition in file ins_xsens700.c.

Macro Definition Documentation

◆ INS_XSENS700_GPS_ID

#define INS_XSENS700_GPS_ID   GPS_MULTI_ID

ABI binding for gps data.

Used for GPS ABI messages.

Definition at line 52 of file ins_xsens700.c.

Function Documentation

◆ gps_cb()

static void gps_cb ( uint8_t  sender_id,
uint32_t  stamp,
struct GpsState gps_s 
)
static

Definition at line 90 of file ins_xsens700.c.

References nav_utm_zone0, GpsState::ned_vel, stateSetPositionUtm_f(), stateSetSpeedNed_f(), utm_float_from_gps(), NedCoor_i::x, NedCoor_i::y, and NedCoor_i::z.

Referenced by ins_xsens700_init().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ handle_ins_msg()

static void handle_ins_msg ( void  )
static

Definition at line 161 of file ins_xsens700.c.

References FLOAT_VECT2_NORM, float_vect3_norm(), GPS_FIX_3D, GPS_VALID_COURSE_BIT, Xsens::new_attitude, new_ins_attitude, update_state_interface(), Xsens::vel, FloatVect3::x, xsens700, and FloatVect3::y.

Referenced by ins_xsens700_event().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ins_xsens700_event()

void ins_xsens700_event ( void  )

Definition at line 80 of file ins_xsens700.c.

References handle_ins_msg(), XsensParser::msg_received, parse_xsens700_msg(), Xsens::parser, xsens700, and xsens_parser_event().

+ Here is the call graph for this function:

◆ ins_xsens700_init()

◆ update_state_interface()

static void update_state_interface ( void  )
static

Definition at line 130 of file ins_xsens700.c.

References Xsens::euler, Xsens::gyro, ins_pitch_neutral, ins_roll_neutral, FloatRates::p, FloatEulers::phi, FloatEulers::psi, FloatRates::q, FloatRates::r, stateSetBodyRates_f(), stateSetNedToBodyEulers_f(), FloatEulers::theta, and xsens700.

Referenced by handle_ins_msg().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ gps_ev

abi_event gps_ev
static

Definition at line 55 of file ins_xsens700.c.

Referenced by ins_xsens700_init().

◆ ins_pitch_neutral

float ins_pitch_neutral

Definition at line 57 of file ins_xsens700.c.

Referenced by ins_xsens700_init(), and update_state_interface().

◆ ins_roll_neutral

float ins_roll_neutral

Definition at line 58 of file ins_xsens700.c.

Referenced by ins_xsens700_init(), and update_state_interface().