|
Paparazzi UAS
v5.12_stable-4-g9b43e9b
Paparazzi is a free software Unmanned Aircraft System.
|
Paparazzi specific wrapper to run simple module based INS. More...
#include "modules/ins/ins_skeleton.h"#include "subsystems/abi.h"#include "mcu_periph/sys_time.h"#include "message_pragmas.h"#include "state.h"
Include dependency graph for ins_skeleton.c:Go to the source code of this file.
Macros | |
| #define | USE_INS_NAV_INIT TRUE |
| #define | INS_MODULE_BARO_ID ABI_BROADCAST |
| baro More... | |
| #define | INS_MODULE_IMU_ID ABI_BROADCAST |
| IMU (accel, body_to_imu) More... | |
| #define | INS_MODULE_GPS_ID GPS_MULTI_ID |
| ABI binding for gps data. More... | |
Functions | |
| void | ins_module_wrapper_init (void) |
| void WEAK | ins_module_init (void) |
| void WEAK | ins_module_update_baro (float pressure) |
| void WEAK | ins_module_update_gps (struct GpsState *gps_s, float dt) |
| void WEAK | ins_module_propagate (struct Int32Vect3 *accel, float dt) |
| void WEAK | ins_module_reset_local_origin (void) |
| void | ins_reset_local_origin (void) |
| INS local origin reset. More... | |
| static void | ins_ned_to_state (void) |
| copy position and speed to state interface More... | |
| static void | baro_cb (uint8_t sender_id, float pressure) |
| 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 | body_to_imu_cb (uint8_t sender_id, struct FloatQuat *q_b2i_f) |
Variables | |
| static abi_event | baro_ev |
| static abi_event | accel_ev |
| static abi_event | gps_ev |
| static abi_event | body_to_imu_ev |
| struct InsModuleInt | ins_module |
| global INS state More... | |
Paparazzi specific wrapper to run simple module based INS.
Definition in file ins_skeleton.c.
| #define INS_MODULE_BARO_ID ABI_BROADCAST |
| #define INS_MODULE_GPS_ID GPS_MULTI_ID |
ABI binding for gps data.
Used for GPS ABI messages.
Definition at line 62 of file ins_skeleton.c.
Referenced by ins_module_wrapper_init().
| #define INS_MODULE_IMU_ID ABI_BROADCAST |
IMU (accel, body_to_imu)
Definition at line 54 of file ins_skeleton.c.
Referenced by ins_module_wrapper_init().
| #define USE_INS_NAV_INIT TRUE |
Definition at line 35 of file ins_skeleton.c.
|
static |
Definition at line 200 of file ins_skeleton.c.
References ins_module_propagate(), and ins_ned_to_state().
Referenced by ins_module_wrapper_init().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 193 of file ins_skeleton.c.
References ins_module_update_baro(), and ins_ned_to_state().
Referenced by ins_module_wrapper_init().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 240 of file ins_skeleton.c.
References InsModuleInt::body_to_imu, ins_module, and orientationSetQuat_f().
Referenced by ins_module_wrapper_init().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 215 of file ins_skeleton.c.
References GpsState::fix, InsModuleInt::gps, GPS_FIX_3D, ins_module, ins_module_update_gps(), ins_ned_to_state(), ins_reset_local_origin(), and InsModuleInt::ltp_initialized.
Referenced by ins_module_wrapper_init().
Here is the call graph for this function:
Here is the caller graph for this function:| void WEAK ins_module_init | ( | void | ) |
Definition at line 79 of file ins_skeleton.c.
Referenced by ins_module_wrapper_init().
Here is the caller graph for this function:| void WEAK ins_module_propagate | ( | struct Int32Vect3 * | accel, |
| float | dt | ||
| ) |
Definition at line 115 of file ins_skeleton.c.
References InsModuleInt::body_to_imu, ins_module, int32_rmat_transp_vmult(), InsModuleInt::ltp_accel, orientationGetRMat_i(), stateGetNedToBodyRMat_i(), stateSetAccelBody_i(), and VECT3_COPY.
Referenced by accel_cb().
Here is the call graph for this function:
Here is the caller graph for this function:| void WEAK ins_module_reset_local_origin | ( | void | ) |
Definition at line 128 of file ins_skeleton.c.
Referenced by ins_reset_local_origin().
Here is the caller graph for this function:| void WEAK ins_module_update_baro | ( | float | pressure | ) |
Definition at line 83 of file ins_skeleton.c.
Referenced by baro_cb().
Here is the caller graph for this function:| void WEAK ins_module_update_gps | ( | struct GpsState * | gps_s, |
| float | dt | ||
| ) |
Definition at line 87 of file ins_skeleton.c.
References GpsState::ecef_pos, GpsState::ecef_vel, GPS_VALID_POS_ECEF_BIT, GPS_VALID_VEL_ECEF_BIT, GPS_VALID_VEL_NED_BIT, ins_module, 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, InsModuleInt::ltp_def, InsModuleInt::ltp_pos, InsModuleInt::ltp_speed, ned_of_ecef_point_i(), ned_of_ecef_vect_i(), GpsState::ned_vel, and GpsState::valid_fields.
Referenced by gps_cb().
Here is the call graph for this function:
Here is the caller graph for this function:| void ins_module_wrapper_init | ( | void | ) |
Definition at line 153 of file ins_skeleton.c.
References accel_cb(), accel_ev, baro_cb(), baro_ev, body_to_imu_cb(), body_to_imu_ev, gps_cb(), gps_ev, ins_init_origin_i_from_flightplan(), ins_module, INS_MODULE_BARO_ID, INS_MODULE_GPS_ID, INS_MODULE_IMU_ID, ins_module_init(), INT32_VECT3_ZERO, InsModuleInt::ltp_accel, InsModuleInt::ltp_def, InsModuleInt::ltp_initialized, InsModuleInt::ltp_pos, and InsModuleInt::ltp_speed.
Here is the call graph for this function:
|
static |
copy position and speed to state interface
Definition at line 176 of file ins_skeleton.c.
References ins_module, InsModuleInt::ltp_accel, InsModuleInt::ltp_pos, InsModuleInt::ltp_speed, nps_bypass_ins, sim_overwrite_ins(), stateSetAccelNed_i(), stateSetPositionNed_i(), and stateSetSpeedNed_i().
Referenced by accel_cb(), baro_cb(), and gps_cb().
Here is the call graph for this function:
Here is the caller graph for this function:| 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.
Definition at line 137 of file ins_skeleton.c.
Referenced by gps_cb(), and nav_reset_reference().
Here is the caller graph for this function:
|
static |
Definition at line 67 of file ins_skeleton.c.
Referenced by ins_module_wrapper_init().
|
static |
Definition at line 66 of file ins_skeleton.c.
Referenced by ins_module_wrapper_init().
|
static |
Definition at line 69 of file ins_skeleton.c.
Referenced by ins_module_wrapper_init().
|
static |
Definition at line 68 of file ins_skeleton.c.
Referenced by ins_module_wrapper_init().
| struct InsModuleInt ins_module |
global INS state
Definition at line 71 of file ins_skeleton.c.
Referenced by body_to_imu_cb(), gps_cb(), ins_module_propagate(), ins_module_update_gps(), ins_module_wrapper_init(), ins_ned_to_state(), and ins_reset_local_origin().