3 #include "generated/airframe.h"
11 mag->
min = NPS_MAG_MIN;
12 mag->
max = NPS_MAG_MAX;
14 NPS_MAG_SIGN_X * NPS_MAG_SENSITIVITY_XX,
15 NPS_MAG_SIGN_Y * NPS_MAG_SENSITIVITY_YY,
16 NPS_MAG_SIGN_Z * NPS_MAG_SENSITIVITY_ZZ);
18 NPS_MAG_NEUTRAL_X, NPS_MAG_NEUTRAL_Y, NPS_MAG_NEUTRAL_Z);
20 NPS_MAG_NOISE_STD_DEV_X, NPS_MAG_NOISE_STD_DEV_Y, NPS_MAG_NOISE_STD_DEV_Z);
22 { NPS_MAG_IMU_TO_SENSOR_PHI, NPS_MAG_IMU_TO_SENSOR_THETA, NPS_MAG_IMU_TO_SENSOR_PSI };
31 if (time < mag->next_update) {
void double_quat_vmult(struct DoubleVect3 *v_out, struct DoubleQuat *q, struct DoubleVect3 *v_in)
static void double_rmat_of_eulers(struct DoubleRMat *rm, struct DoubleEulers *e)
#define DOUBLE_VECT3_ROUND(_v)
#define FLOAT_MAT33_DIAG(_m, _d00, _d11, _d22)
#define VECT3_BOUND_CUBE(_v, _min, _max)
#define MAT33_VECT3_MUL(_vout, _mat, _vin)
#define VECT3_ASSIGN(_a, _x, _y, _z)
#define VECT3_ADD(_a, _b)
struct DoubleQuat ltp_to_body_quat
struct NpsFdm fdm
Holds all necessary NPS FDM state information.
void nps_sensor_mag_init(struct NpsSensorMag *mag, double time)
void nps_sensor_mag_run_step(struct NpsSensorMag *mag, double time, struct DoubleRMat *body_to_imu)
struct DoubleVect3 neutral
struct DoubleMat33 sensitivity
struct DoubleVect3 noise_std_dev
struct DoubleRMat imu_to_sensor_rmat
Paparazzi fixed point algebra.