3 #include "generated/airframe.h"
12 gyro->
min = NPS_GYRO_MIN;
13 gyro->
max = NPS_GYRO_MAX;
15 NPS_GYRO_SIGN_P * NPS_GYRO_SENSITIVITY_PP,
16 NPS_GYRO_SIGN_Q * NPS_GYRO_SENSITIVITY_QQ,
17 NPS_GYRO_SIGN_R * NPS_GYRO_SENSITIVITY_RR);
19 NPS_GYRO_NEUTRAL_P, NPS_GYRO_NEUTRAL_Q, NPS_GYRO_NEUTRAL_R);
21 NPS_GYRO_NOISE_STD_DEV_P, NPS_GYRO_NOISE_STD_DEV_Q, NPS_GYRO_NOISE_STD_DEV_R);
23 NPS_GYRO_BIAS_INITIAL_P, NPS_GYRO_BIAS_INITIAL_Q, NPS_GYRO_BIAS_INITIAL_R);
25 NPS_GYRO_BIAS_RANDOM_WALK_STD_DEV_P,
26 NPS_GYRO_BIAS_RANDOM_WALK_STD_DEV_Q,
27 NPS_GYRO_BIAS_RANDOM_WALK_STD_DEV_R);
36 if (time < gyro->next_update) {
#define DOUBLE_VECT3_ROUND(_v)
#define FLOAT_VECT3_ZERO(_v)
#define FLOAT_MAT33_DIAG(_m, _d00, _d11, _d22)
#define VECT3_BOUND_CUBE(_v, _min, _max)
#define VECT3_EW_MUL(_vo, _va, _vb)
#define MAT33_VECT3_MUL(_vout, _mat, _vin)
#define VECT3_ASSIGN(_a, _x, _y, _z)
#define VECT3_COPY(_a, _b)
#define VECT3_ADD(_a, _b)
struct DoubleRates body_inertial_rotvel
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_gyro_init(struct NpsSensorGyro *gyro, double time)
void nps_sensor_gyro_run_step(struct NpsSensorGyro *gyro, double time, struct DoubleRMat *body_to_imu)
struct DoubleVect3 bias_random_walk_value
struct DoubleVect3 noise_std_dev
struct DoubleMat33 sensitivity
struct DoubleVect3 bias_initial
struct DoubleVect3 neutral
struct DoubleVect3 bias_random_walk_std_dev
Paparazzi fixed point algebra.