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