LibJuno 0.42.0
LibJuno is a lightweight C99 library designed specifically for embedded systems.
Loading...
Searching...
No Matches
juno_dyn_types.h
Go to the documentation of this file.
1#ifndef JUNO_DYN_TYPES_H
2#define JUNO_DYN_TYPES_H
3
4#include "juno/module.h"
5#include "juno/status.h"
7#include "juno_vec_types.h"
8#ifdef __cplusplus
9extern "C" {
10#endif
11
21
22JUNO_MODULE_RESULT(JUNO_KSTATE_F64_RESULT_T, JUNO_KSTATE_F64_T);
23
24typedef union JUNO_KMAT_TAG JUNO_KMAT_T;
26
27typedef struct JUNO_KMAT_ROOT_TAG JUNO_MODULE_ROOT(JUNO_KMAT_API_T,
28 JUNO_TIME_T *ptTime;
29 JUNO_KSTATE_F64_T tState;
30)JUNO_KMAT_ROOT_T;
31
37
38#ifdef __cplusplus
39}
40#endif
41#endif
struct JUNO_KSTATE_F64_TAG JUNO_KSTATE_F64_T
union JUNO_KMAT_TAG JUNO_KMAT_T
Definition juno_dyn_types.h:24
#define JUNO_MODULE_RESULT(NAME_T, OK_T)
Defines a result type combining a status and a success payload.
Definition module.h:223
#define JUNO_MODULE_ROOT(API_T,...)
Definition module.h:182
int32_t JUNO_STATUS_T
Definition status.h:23
Definition juno_dyn_types.h:33
JUNO_STATUS_T(* UpdateWithDeltas)(JUNO_KMAT_T *ptKmat, JUNO_VEC3_F64_T dVel, JUNO_VEC3_F64_T dAng, JUNO_TIMESTAMP_T tTimestamp)
Update the state of the kinematic system.
Definition juno_dyn_types.h:35
Definition juno_dyn_types.h:13
JUNO_VEC3_F64_T pos
Definition juno_dyn_types.h:15
JUNO_VEC3_F64_T accel
Definition juno_dyn_types.h:17
JUNO_TIMESTAMP_T tTime
Definition juno_dyn_types.h:14
JUNO_VEC3_F64_T vel
Definition juno_dyn_types.h:16
JUNO_VEC3_F64_T w
Definition juno_dyn_types.h:18
JUNO_RQUAT_F64_T att
Definition juno_dyn_types.h:19
Definition time_api.h:63
union JUNO_TIME_TAG JUNO_TIME_T
Definition time_api.h:34
Right-handed quaternion (double precision).
Definition juno_vec_types.h:651
3D vector union supporting Cartesian, spherical, and array access (double precision).
Definition juno_vec_types.h:241