4 #include "generated/airframe.h"
15 gps->pos_latency = NPS_GPS_POS_LATENCY;
16 gps->speed_latency = NPS_GPS_SPEED_LATENCY;
18 NPS_GPS_POS_NOISE_STD_DEV, NPS_GPS_POS_NOISE_STD_DEV, NPS_GPS_POS_NOISE_STD_DEV);
20 NPS_GPS_SPEED_NOISE_STD_DEV, NPS_GPS_SPEED_NOISE_STD_DEV, NPS_GPS_SPEED_NOISE_STD_DEV);
22 NPS_GPS_POS_BIAS_INITIAL_X, NPS_GPS_POS_BIAS_INITIAL_Y, NPS_GPS_POS_BIAS_INITIAL_Z);
24 NPS_GPS_POS_BIAS_RANDOM_WALK_STD_DEV_X,
25 NPS_GPS_POS_BIAS_RANDOM_WALK_STD_DEV_Y,
26 NPS_GPS_POS_BIAS_RANDOM_WALK_STD_DEV_Z);
41 if (time < gps->next_update) {
88 double cur_hmsl_reading =
fdm.
hmsl;
91 gps->next_update += NPS_GPS_DT;
struct GpsState gps
global GPS state
int32_t hmsl
height above mean sea level (MSL) in mm
struct LlaCoor_i lla_pos
position in LLA (lat,lon: deg*1e7; alt: mm over ellipsoid)
struct EcefCoor_i ecef_pos
position in ECEF in cm
struct EcefCoor_i ecef_vel
speed ECEF in cm/s
#define FLOAT_VECT3_ZERO(_v)
#define VECT3_ASSIGN(_a, _x, _y, _z)
#define VECT3_COPY(_a, _b)
#define VECT3_ADD(_a, _b)
void lla_of_ecef_d(struct LlaCoor_d *lla, struct EcefCoor_d *ecef)
vector in EarthCenteredEarthFixed coordinates
vector in Latitude, Longitude and Altitude
struct EcefCoor_d ecef_pos
struct EcefCoor_d ecef_ecef_vel
velocity in ECEF frame, wrt ECEF frame
struct NpsFdm fdm
Holds all necessary NPS FDM state information.
void double_vect3_add_gaussian_noise(struct DoubleVect3 *vect, struct DoubleVect3 *std_dev)
void double_vect3_update_random_walk(struct DoubleVect3 *rw, struct DoubleVect3 *std_dev, double dt, double thau)
void nps_sensor_gps_init(struct NpsSensorGps *gps, double time)
void nps_sensor_gps_run_step(struct NpsSensorGps *gps, double time)
void UpdateSensorLatency(double time, gpointer cur_reading, GSList **history, double latency, gpointer sensor_reading)
void UpdateSensorLatency_Single(double time, gpointer cur_reading, GSList **history, double latency, gpointer sensor_reading)