Paparazzi UAS  v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
pprz_algebra_int.c File Reference

Paparazzi fixed point algebra. More...

#include "pprz_algebra_int.h"
+ Include dependency graph for pprz_algebra_int.c:

Go to the source code of this file.

Macros

#define INT32_SQRT_MAX_ITER   40
 

Functions

uint32_t int32_sqrt (uint32_t in)
 
uint32_t int32_gcd (uint32_t a, uint32_t b)
 
void int32_rmat_comp (struct Int32RMat *m_a2c, struct Int32RMat *m_a2b, struct Int32RMat *m_b2c)
 Composition (multiplication) of two rotation matrices. More...
 
void int32_rmat_comp_inv (struct Int32RMat *m_a2b, struct Int32RMat *m_a2c, struct Int32RMat *m_b2c)
 Composition (multiplication) of two rotation matrices. More...
 
void int32_rmat_vmult (struct Int32Vect3 *vb, struct Int32RMat *m_a2b, struct Int32Vect3 *va)
 rotate 3D vector by rotation matrix. More...
 
void int32_rmat_transp_vmult (struct Int32Vect3 *vb, struct Int32RMat *m_b2a, struct Int32Vect3 *va)
 rotate 3D vector by transposed rotation matrix. More...
 
void int32_rmat_ratemult (struct Int32Rates *rb, struct Int32RMat *m_a2b, struct Int32Rates *ra)
 rotate anglular rates by rotation matrix. More...
 
void int32_rmat_transp_ratemult (struct Int32Rates *rb, struct Int32RMat *m_b2a, struct Int32Rates *ra)
 rotate anglular rates by transposed rotation matrix. More...
 
void int32_rmat_of_quat (struct Int32RMat *rm, struct Int32Quat *q)
 Convert unit quaternion to rotation matrix. More...
 
void int32_rmat_of_eulers_321 (struct Int32RMat *rm, struct Int32Eulers *e)
 Rotation matrix from 321 Euler angles. More...
 
void int32_rmat_of_eulers_312 (struct Int32RMat *rm, struct Int32Eulers *e)
 Rotation matrix from 312 Euler angles. More...
 
void int32_quat_comp (struct Int32Quat *a2c, struct Int32Quat *a2b, struct Int32Quat *b2c)
 Composition (multiplication) of two quaternions. More...
 
void int32_quat_comp_inv (struct Int32Quat *a2b, struct Int32Quat *a2c, struct Int32Quat *b2c)
 Composition (multiplication) of two quaternions. More...
 
void int32_quat_inv_comp (struct Int32Quat *b2c, struct Int32Quat *a2b, struct Int32Quat *a2c)
 Composition (multiplication) of two quaternions. More...
 
void int32_quat_comp_norm_shortest (struct Int32Quat *a2c, struct Int32Quat *a2b, struct Int32Quat *b2c)
 Composition (multiplication) of two quaternions with normalization. More...
 
void int32_quat_comp_inv_norm_shortest (struct Int32Quat *a2b, struct Int32Quat *a2c, struct Int32Quat *b2c)
 Composition (multiplication) of two quaternions with normalization. More...
 
void int32_quat_inv_comp_norm_shortest (struct Int32Quat *b2c, struct Int32Quat *a2b, struct Int32Quat *a2c)
 Composition (multiplication) of two quaternions with normalization. More...
 
void int32_quat_derivative (struct Int32Quat *qd, const struct Int32Rates *r, struct Int32Quat *q)
 Quaternion derivative from rotational velocity. More...
 
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. More...
 
void int32_quat_vmult (struct Int32Vect3 *v_out, struct Int32Quat *q, struct Int32Vect3 *v_in)
 rotate 3D vector by quaternion. More...
 
void int32_quat_of_eulers (struct Int32Quat *q, struct Int32Eulers *e)
 Quaternion from Euler angles. More...
 
void int32_quat_of_axis_angle (struct Int32Quat *q, struct Int32Vect3 *uv, int32_t angle)
 Quaternion from unit vector and angle. More...
 
void int32_quat_of_rmat (struct Int32Quat *q, struct Int32RMat *r)
 Quaternion from rotation matrix. More...
 
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)
 

Detailed Description

Paparazzi fixed point algebra.

Definition in file pprz_algebra_int.c.

Macro Definition Documentation

◆ INT32_SQRT_MAX_ITER

#define INT32_SQRT_MAX_ITER   40

Definition at line 29 of file pprz_algebra_int.c.