![]() |
Paparazzi UAS v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
Paparazzi fixed point algebra. More...
Go to the source code of this file.
Data Structures | |
struct | Uint8Vect3 |
struct | Int8Vect3 |
struct | Uint16Vect3 |
struct | Int16Vect3 |
struct | Int32Vect2 |
struct | Int32Vect3 |
struct | Int32Quat |
Rotation quaternion. More... | |
struct | Int64Quat |
struct | Int16Eulers |
struct | Int32Eulers |
euler angles More... | |
struct | Int32RMat |
rotation matrix More... | |
struct | Int32Mat33 |
struct | Int16Rates |
struct | Int32Rates |
angular rates More... | |
struct | Int64Rates |
struct | Int64Vect2 |
struct | Int64Vect3 |
Functions | |
uint32_t | int32_sqrt (uint32_t in) |
uint32_t | int32_gcd (uint32_t a, uint32_t b) |
static uint32_t | int32_vect2_norm2 (struct Int32Vect2 *v) |
return squared norm of 2D vector | |
static uint32_t | int32_vect2_norm (struct Int32Vect2 *v) |
return norm of 2D vector | |
static void | int32_vect2_normalize (struct Int32Vect2 *v, uint8_t frac) |
normalize 2D vector inplace | |
static void | int32_rmat_identity (struct Int32RMat *rm) |
initialises a rotation matrix to identity | |
void | int32_rmat_comp (struct Int32RMat *m_a2c, const struct Int32RMat *m_a2b, const struct Int32RMat *m_b2c) |
Composition (multiplication) of two rotation matrices. | |
void | int32_rmat_comp_inv (struct Int32RMat *m_a2b, const struct Int32RMat *m_a2c, const struct Int32RMat *m_b2c) |
Composition (multiplication) of two rotation matrices. | |
void | int32_rmat_vmult (struct Int32Vect3 *vb, struct Int32RMat *m_a2b, struct Int32Vect3 *va) |
rotate 3D vector by rotation matrix. | |
void | int32_rmat_transp_vmult (struct Int32Vect3 *vb, struct Int32RMat *m_b2a, struct Int32Vect3 *va) |
rotate 3D vector by transposed rotation matrix. | |
void | int32_rmat_ratemult (struct Int32Rates *rb, struct Int32RMat *m_a2b, struct Int32Rates *ra) |
rotate anglular rates by rotation matrix. | |
void | int32_rmat_transp_ratemult (struct Int32Rates *rb, struct Int32RMat *m_b2a, struct Int32Rates *ra) |
rotate anglular rates by transposed rotation matrix. | |
void | int32_rmat_of_quat (struct Int32RMat *rm, struct Int32Quat *q) |
Convert unit quaternion to rotation matrix. | |
void | int32_rmat_of_eulers_321 (struct Int32RMat *rm, struct Int32Eulers *e) |
Rotation matrix from 321 Euler angles (int). | |
void | int32_rmat_of_eulers_312 (struct Int32RMat *rm, struct Int32Eulers *e) |
Rotation matrix from 312 Euler angles. | |
static void | int32_quat_identity (struct Int32Quat *q) |
initialises a quaternion to identity | |
static uint32_t | int32_quat_norm (struct Int32Quat *q) |
Norm of a quaternion. | |
static void | int32_quat_wrap_shortest (struct Int32Quat *q) |
static void | int32_quat_normalize (struct Int32Quat *q) |
normalize a quaternion inplace | |
void | int32_quat_comp (struct Int32Quat *a2c, struct Int32Quat *a2b, struct Int32Quat *b2c) |
Composition (multiplication) of two quaternions. | |
void | int32_quat_comp_inv (struct Int32Quat *a2b, struct Int32Quat *a2c, struct Int32Quat *b2c) |
Composition (multiplication) of two quaternions. | |
void | int32_quat_inv_comp (struct Int32Quat *b2c, struct Int32Quat *a2b, struct Int32Quat *a2c) |
Composition (multiplication) of two quaternions. | |
void | int32_quat_comp_norm_shortest (struct Int32Quat *a2c, struct Int32Quat *a2b, struct Int32Quat *b2c) |
Composition (multiplication) of two quaternions with normalization. | |
void | int32_quat_comp_inv_norm_shortest (struct Int32Quat *a2b, struct Int32Quat *a2c, struct Int32Quat *b2c) |
Composition (multiplication) of two quaternions with normalization. | |
void | int32_quat_inv_comp_norm_shortest (struct Int32Quat *b2c, struct Int32Quat *a2b, struct Int32Quat *a2c) |
Composition (multiplication) of two quaternions with normalization. | |
void | int32_quat_derivative (struct Int32Quat *qd, const struct Int32Rates *r, struct Int32Quat *q) |
Quaternion derivative from rotational velocity. | |
void | int32_quat_integrate_fi (struct Int32Quat *q, struct Int64Quat *hr, struct Int32Rates *omega, int freq) |
in place quaternion first order integration with constant rotational velocity. | |
void | int32_quat_vmult (struct Int32Vect3 *v_out, struct Int32Quat *q, struct Int32Vect3 *v_in) |
rotate 3D vector by quaternion. | |
void | int32_quat_of_eulers (struct Int32Quat *q, struct Int32Eulers *e) |
Quaternion from Euler angles. | |
void | int32_quat_of_axis_angle (struct Int32Quat *q, struct Int32Vect3 *uv, int32_t angle) |
Quaternion from unit vector and angle. | |
void | int32_quat_of_rmat (struct Int32Quat *q, struct Int32RMat *r) |
Quaternion from rotation matrix. | |
void | int32_eulers_of_rmat (struct Int32Eulers *e, struct Int32RMat *rm) |
void | int32_eulers_of_quat (struct Int32Eulers *e, struct Int32Quat *q) |
void | int32_rates_of_eulers_dot_321 (struct Int32Rates *r, struct Int32Eulers *e, struct Int32Eulers *ed) |
void | int32_eulers_dot_321_of_rates (struct Int32Eulers *ed, struct Int32Eulers *e, struct Int32Rates *r) |
static void | int32_vect_zero (int32_t *a, const int n) |
a = 0 | |
static void | int16_vect_zero (int16_t *a, const int n) |
a = 0 | |
static void | int32_vect_set_value (int32_t *a, const int32_t v, const int n) |
a = v * ones(n,1) | |
static void | int32_vect_copy (int32_t *a, const int32_t *b, const int n) |
a = b | |
static void | int32_vect_sum (int32_t *o, const int32_t *a, const int32_t *b, const int n) |
o = a + b | |
static void | int32_vect_diff (int32_t *o, const int32_t *a, const int32_t *b, const int n) |
o = a - b | |
static void | int32_vect_mul (int32_t *o, const int32_t *a, const int32_t *b, const int n) |
o = a * b (element wise) | |
static void | int32_vect_add (int32_t *a, const int32_t *b, const int n) |
a += b | |
static void | int32_vect_sub (int32_t *a, const int32_t *b, const int n) |
a -= b | |
static void | int32_vect_smul (int32_t *o, const int32_t *a, const int32_t s, const int n) |
o = a * s | |
static bool | int32_vect_find (const int32_t *a, const int32_t s, int *loc, const int n) |
Find value s in array a. | |
static void | int32_mat_mul (int32_t **o, int32_t **a, int32_t **b, int m, int n, int l) |
o = a * b | |
Paparazzi fixed point algebra.
Definition in file pprz_algebra_int.h.