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 | reset_cb (uint8_t sender_id, uint8_t flag) |
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) |
static void | reset_ref (void) |
static void | reset_vertical_ref (void) |
Variables | |
struct InsGpsPassthrough | ins_gp |
static abi_event | accel_ev |
static abi_event | reset_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 77 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 216 of file ins_gps_passthrough.c.
Referenced by ins_gps_passthrough_init().
Definition at line 82 of file ins_gps_passthrough.c.
References ecef_int_from_gps(), ecef_vel_int_from_gps(), GPS_FIX_3D, ins_gp, INS_RESET_REF, 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(), reset_cb(), stateSetPositionNed_i(), and stateSetSpeedNed_i().
Referenced by ins_gps_passthrough_init().
void ins_gps_passthrough_init | ( | void | ) |
Definition at line 141 of file ins_gps_passthrough.c.
References ABI_BROADCAST, 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(), reset_cb(), reset_ev, send_ins(), send_ins_ref(), send_ins_z(), and stateSetLocalOrigin_i().
Definition at line 201 of file ins_gps_passthrough.c.
References INS_RESET_REF, INS_RESET_VERTICAL_REF, reset_ref(), and reset_vertical_ref().
Referenced by gps_cb(), and ins_gps_passthrough_init().
|
static |
Definition at line 178 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 reset_cb().
|
static |
Definition at line 189 of file ins_gps_passthrough.c.
References LlaCoor_i::alt, gps, LtpDef_i::hmsl, GpsState::hmsl, ins_gp, LlaCoor_i::lat, GpsState::lla_pos, LlaCoor_i::lon, InsGpsPassthrough::ltp_def, ltp_def_from_lla_i(), stateGetLlaOrigin_i(), and stateSetLocalOrigin_i().
Referenced by reset_cb().
|
static |
Definition at line 113 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 129 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 121 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 80 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(), reset_ref(), reset_vertical_ref(), send_ins(), send_ins_ref(), and send_ins_z().
|
static |
Definition at line 70 of file ins_gps_passthrough.c.
Referenced by ins_gps_passthrough_init().