mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-06-01 21:07:40 +08:00
[ahrs] remove old ahrs structre (execpt status)
This commit is contained in:
@@ -22,7 +22,4 @@
|
|||||||
#include "subsystems/ahrs.h"
|
#include "subsystems/ahrs.h"
|
||||||
|
|
||||||
struct Ahrs ahrs;
|
struct Ahrs ahrs;
|
||||||
struct AhrsFloat ahrs_float;
|
|
||||||
|
|
||||||
float ahrs_mag_offset;
|
|
||||||
|
|
||||||
|
|||||||
@@ -39,73 +39,13 @@
|
|||||||
#include AHRS_TYPE_H
|
#include AHRS_TYPE_H
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** Attitude and Heading Reference System state (fixed point version) */
|
/** Attitude and Heading Reference System state */
|
||||||
struct Ahrs {
|
struct Ahrs {
|
||||||
|
|
||||||
struct Int32Quat ltp_to_imu_quat; ///< Rotation from LocalTangentPlane to IMU frame as unit quaternion
|
|
||||||
struct Int32Eulers ltp_to_imu_euler; ///< Rotation from LocalTangentPlane to IMU frame as Euler angles
|
|
||||||
struct Int32RMat ltp_to_imu_rmat; ///< Rotation from LocalTangentPlane to IMU frame as Rotation Matrix
|
|
||||||
struct Int32Rates imu_rate; ///< Rotational velocity in IMU frame
|
|
||||||
|
|
||||||
struct Int32Quat ltp_to_body_quat; ///< Rotation from LocalTangentPlane to body frame as unit quaternion
|
|
||||||
struct Int32Eulers ltp_to_body_euler; ///< Rotation from LocalTangentPlane to body frame as Euler angles
|
|
||||||
struct Int32RMat ltp_to_body_rmat; ///< Rotation from LocalTangentPlane to body frame as Rotation Matrix
|
|
||||||
struct Int32Rates body_rate; ///< Rotational velocity in body frame
|
|
||||||
|
|
||||||
uint8_t status; ///< status of the AHRS, AHRS_UNINIT or AHRS_RUNNING
|
uint8_t status; ///< status of the AHRS, AHRS_UNINIT or AHRS_RUNNING
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Attitude and Heading Reference System state (floating point version) */
|
/** global AHRS state */
|
||||||
struct AhrsFloat {
|
|
||||||
struct FloatQuat ltp_to_imu_quat; ///< Rotation from LocalTangentPlane to IMU frame as unit quaternion
|
|
||||||
struct FloatEulers ltp_to_imu_euler; ///< Rotation from LocalTangentPlane to IMU frame as Euler angles
|
|
||||||
struct FloatRMat ltp_to_imu_rmat; ///< Rotation from LocalTangentPlane to IMU frame as Rotation Matrix
|
|
||||||
struct FloatRates imu_rate; ///< Rotational velocity in IMU frame
|
|
||||||
struct FloatRates imu_rate_previous;
|
|
||||||
struct FloatRates imu_rate_d;
|
|
||||||
|
|
||||||
struct FloatQuat ltp_to_body_quat; ///< Rotation from LocalTangentPlane to body frame as unit quaternion
|
|
||||||
struct FloatEulers ltp_to_body_euler; ///< Rotation from LocalTangentPlane to body frame as Euler angles
|
|
||||||
struct FloatRMat ltp_to_body_rmat; ///< Rotation from LocalTangentPlane to body frame as Rotation Matrix
|
|
||||||
struct FloatRates body_rate; ///< Rotational velocity in body frame
|
|
||||||
struct FloatRates body_rate_d;
|
|
||||||
|
|
||||||
// always use status from fixed point ahrs struct for now
|
|
||||||
//uint8_t status;
|
|
||||||
};
|
|
||||||
|
|
||||||
/** global AHRS state (fixed point version) */
|
|
||||||
extern struct Ahrs ahrs;
|
extern struct Ahrs ahrs;
|
||||||
/** global AHRS state (floating point version) */
|
|
||||||
extern struct AhrsFloat ahrs_float;
|
|
||||||
|
|
||||||
extern float ahrs_mag_offset;
|
|
||||||
|
|
||||||
#define AHRS_FLOAT_OF_INT32() { \
|
|
||||||
QUAT_FLOAT_OF_BFP(ahrs_float.ltp_to_body_quat, ahrs.ltp_to_body_quat); \
|
|
||||||
EULERS_FLOAT_OF_BFP(ahrs_float.ltp_to_body_euler, ahrs.ltp_to_body_euler); \
|
|
||||||
RATES_FLOAT_OF_BFP(ahrs_float.body_rate, ahrs.body_rate); \
|
|
||||||
}
|
|
||||||
|
|
||||||
#define AHRS_INT_OF_FLOAT() { \
|
|
||||||
QUAT_BFP_OF_REAL(ahrs.ltp_to_body_quat, ahrs_float.ltp_to_body_quat); \
|
|
||||||
EULERS_BFP_OF_REAL(ahrs.ltp_to_body_euler, ahrs_float.ltp_to_body_euler); \
|
|
||||||
RMAT_BFP_OF_REAL(ahrs.ltp_to_body_rmat, ahrs_float.ltp_to_body_rmat); \
|
|
||||||
RATES_BFP_OF_REAL(ahrs.body_rate, ahrs_float.body_rate); \
|
|
||||||
}
|
|
||||||
|
|
||||||
#define AHRS_IMU_INT_OF_FLOAT() { \
|
|
||||||
QUAT_BFP_OF_REAL(ahrs.ltp_to_imu_quat, ahrs_float.ltp_to_imu_quat); \
|
|
||||||
EULERS_BFP_OF_REAL(ahrs.ltp_to_imu_euler, ahrs_float.ltp_to_imu_euler); \
|
|
||||||
RMAT_BFP_OF_REAL(ahrs.ltp_to_imu_rmat, ahrs_float.ltp_to_imu_rmat); \
|
|
||||||
RATES_BFP_OF_REAL(ahrs.imu_rate, ahrs_float.imu_rate); \
|
|
||||||
}
|
|
||||||
|
|
||||||
/* copy attitude to state interface */
|
|
||||||
#define AHRS_BODY_TO_STATE() { \
|
|
||||||
stateSetNedToBodyQuat_i(&ahrs.ltp_to_body_quat); \
|
|
||||||
stateSetBodyRates_i(&ahrs.body_rate); \
|
|
||||||
}
|
|
||||||
|
|
||||||
/** AHRS initialization. Called at startup.
|
/** AHRS initialization. Called at startup.
|
||||||
* Needs to be implemented by each AHRS algorithm.
|
* Needs to be implemented by each AHRS algorithm.
|
||||||
@@ -135,6 +75,11 @@ extern void ahrs_update_accel(void);
|
|||||||
* Needs to be implemented by each AHRS algorithm.
|
* Needs to be implemented by each AHRS algorithm.
|
||||||
*/
|
*/
|
||||||
extern void ahrs_update_mag(void);
|
extern void ahrs_update_mag(void);
|
||||||
|
|
||||||
|
/** Update AHRS state with GPS measurements.
|
||||||
|
* Reads the global #gps data struct.
|
||||||
|
* Needs to be implemented by each AHRS algorithm.
|
||||||
|
*/
|
||||||
extern void ahrs_update_gps(void);
|
extern void ahrs_update_gps(void);
|
||||||
|
|
||||||
#endif /* AHRS_H */
|
#endif /* AHRS_H */
|
||||||
|
|||||||
Reference in New Issue
Block a user