Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
Simply converts GPS ECEF position and velocity to NED and passes it through to the state interface. More...
#include "modules/ins/ins_gps_passthrough.h"
#include "modules/ins/ins.h"
#include <inttypes.h>
#include <math.h>
#include "state.h"
#include "modules/gps/gps.h"
#include "modules/core/abi.h"
#include "modules/datalink/telemetry.h"
Go to the source code of this file.
Data Structures | |
struct | InsGpsPassthrough |
Macros | |
#define | USE_INS_NAV_INIT TRUE |
#define | INS_PT_IMU_ID ABI_BROADCAST |
ABI bindings on ACCEL data. More... | |
#define | INS_PT_GPS_ID GPS_MULTI_ID |
ABI binding for gps data. More... | |
Functions | |
static void | accel_cb (uint8_t sender_id, uint32_t stamp, struct Int32Vect3 *accel) |
static void | gps_cb (uint8_t sender_id, uint32_t stamp, struct GpsState *gps_s) |
static void | send_ins (struct transport_tx *trans, struct link_device *dev) |
static void | send_ins_z (struct transport_tx *trans, struct link_device *dev) |
static void | send_ins_ref (struct transport_tx *trans, struct link_device *dev) |
void | ins_gps_passthrough_init (void) |
void | ins_reset_local_origin (void) |
INS local origin reset. More... | |
void | ins_reset_altitude_ref (void) |
INS altitude reference reset. More... | |
Variables | |
struct InsGpsPassthrough | ins_gp |
static abi_event | accel_ev |
static abi_event | gps_ev |
Simply converts GPS ECEF position and velocity to NED and passes it through to the state interface.
Definition in file ins_gps_passthrough.c.
struct InsGpsPassthrough |
#define INS_PT_GPS_ID GPS_MULTI_ID |
ABI binding for gps data.
Used for GPS ABI messages.
Definition at line 74 of file ins_gps_passthrough.c.
#define INS_PT_IMU_ID ABI_BROADCAST |
ABI bindings on ACCEL data.
Definition at line 64 of file ins_gps_passthrough.c.
#define USE_INS_NAV_INIT TRUE |
Definition at line 40 of file ins_gps_passthrough.c.
|
static |
Definition at line 197 of file ins_gps_passthrough.c.
Referenced by ins_gps_passthrough_init().
Definition at line 79 of file ins_gps_passthrough.c.
References ecef_int_from_gps(), ecef_vel_int_from_gps(), GPS_FIX_3D, ins_gp, ins_reset_local_origin(), INT32_POS_OF_CM_DEN, INT32_POS_OF_CM_NUM, INT32_SPEED_OF_CM_S_DEN, INT32_SPEED_OF_CM_S_NUM, INT32_VECT3_SCALE_2, InsGpsPassthrough::ltp_def, InsGpsPassthrough::ltp_initialized, InsGpsPassthrough::ltp_pos, InsGpsPassthrough::ltp_speed, ned_of_ecef_point_i(), ned_of_ecef_vect_i(), stateSetPositionNed_i(), and stateSetSpeedNed_i().
Referenced by ins_gps_passthrough_init().
void ins_gps_passthrough_init | ( | void | ) |
Definition at line 138 of file ins_gps_passthrough.c.
References accel_cb(), accel_ev, LlaCoor_i::alt, DefaultPeriodic, ecef_of_lla_i(), gps_cb(), gps_ev, LtpDef_i::hmsl, ins_gp, INS_PT_GPS_ID, INS_PT_IMU_ID, INT32_VECT3_ZERO, LlaCoor_i::lat, LlaCoor_i::lon, InsGpsPassthrough::ltp_accel, InsGpsPassthrough::ltp_def, ltp_def_from_ecef_i(), InsGpsPassthrough::ltp_initialized, InsGpsPassthrough::ltp_pos, InsGpsPassthrough::ltp_speed, register_periodic_telemetry(), send_ins(), send_ins_ref(), send_ins_z(), and stateSetLocalOrigin_i().
void ins_reset_altitude_ref | ( | void | ) |
INS altitude reference reset.
Reset only vertical reference to the current altitude. Does nothing if not implemented by specific INS algorithm.
Definition at line 185 of file ins_gps_passthrough.c.
References LlaCoor_i::alt, gps, LtpDef_i::hmsl, GpsState::hmsl, ins_gp, LlaCoor_i::lat, LtpDef_i::lla, GpsState::lla_pos, LlaCoor_i::lon, InsGpsPassthrough::ltp_def, ltp_def_from_lla_i(), State::ned_origin_i, state, and stateSetLocalOrigin_i().
void ins_reset_local_origin | ( | void | ) |
INS local origin reset.
Reset horizontal and vertical reference to the current position. Does nothing if not implemented by specific INS algorithm.
INS local origin reset.
Definition at line 174 of file ins_gps_passthrough.c.
References LlaCoor_i::alt, ecef_int_from_gps(), gps, LtpDef_i::hmsl, GpsState::hmsl, ins_gp, LtpDef_i::lla, lla_int_from_gps(), InsGpsPassthrough::ltp_def, ltp_def_from_ecef_i(), InsGpsPassthrough::ltp_initialized, and stateSetLocalOrigin_i().
Referenced by gps_cb().
|
static |
Definition at line 110 of file ins_gps_passthrough.c.
References dev, ins_gp, InsGpsPassthrough::ltp_accel, InsGpsPassthrough::ltp_pos, InsGpsPassthrough::ltp_speed, NedCoor_i::x, NedCoor_i::y, and NedCoor_i::z.
Referenced by ins_gps_passthrough_init().
|
static |
Definition at line 126 of file ins_gps_passthrough.c.
References LlaCoor_i::alt, dev, LtpDef_i::ecef, LtpDef_i::hmsl, ins_gp, LlaCoor_i::lat, LtpDef_i::lla, LlaCoor_i::lon, InsGpsPassthrough::ltp_def, InsGpsPassthrough::ltp_initialized, EcefCoor_i::x, EcefCoor_i::y, and EcefCoor_i::z.
Referenced by ins_gps_passthrough_init().
|
static |
Definition at line 118 of file ins_gps_passthrough.c.
References dev, ins_gp, InsGpsPassthrough::ltp_accel, InsGpsPassthrough::ltp_pos, InsGpsPassthrough::ltp_speed, and NedCoor_i::z.
Referenced by ins_gps_passthrough_init().
|
static |
Definition at line 66 of file ins_gps_passthrough.c.
Referenced by ins_gps_passthrough_init().
|
static |
Definition at line 77 of file ins_gps_passthrough.c.
Referenced by ins_gps_passthrough_init().
struct InsGpsPassthrough ins_gp |
Definition at line 1 of file ins_gps_passthrough.c.
Referenced by gps_cb(), ins_gps_passthrough_init(), ins_reset_altitude_ref(), ins_reset_local_origin(), send_ins(), send_ins_ref(), and send_ins_z().