Aruna
movementTypes.h
Go to the documentation of this file.
1
//
2
// Created by noeel on 6-7-19.
3
//
4
5
#ifndef ARUNA_MOVEMENTTYPES_H
6
#define ARUNA_MOVEMENTTYPES_H
7
8
#include <stdint.h>
9
#include "stddef.h"
10
11
namespace
aruna
{
namespace
movement {
12
13
enum class
axis_mask_t
: uint8_t {
14
X
= (1 << 0),
15
Y
= (1 << 1),
16
Z
= (1 << 2),
17
ROLL
= (1 << 3),
18
YAW
= (1 << 4),
19
PITCH
= (1 << 5),
20
21
DIRECTION_PLUS
= (1 << 6),
22
DIRECTION_MIN
= (1 << 7),
23
24
DIRECTION_BOTH
= 192,
25
ALL_AXIS
= 63,
26
MAX
= 6,
27
NONE
= 0,
28
};
29
30
enum class
damping_t
{
31
DISABLE
= 0,
32
KEEP_VELOCITY
= 0x01,
33
KEEP_DEGREE
= 0x02,
34
};
35
36
// status of movement
37
enum class
status_t
{
38
RUNNING
= 0,
39
STOPPED
= 1,
40
};
41
42
43
template
<
typename
T>
44
struct
axis_t
{
45
T
x
;
46
T
y
;
47
T
z
;
48
T
roll
;
49
T
yaw
;
50
T
pitch
;
51
52
T &
operator[]
(
size_t
i) {
53
// TODO moet dit geen pointer returnen?
54
switch
(i) {
55
default
:
56
case
(uint8_t)
axis_mask_t::X
:
57
return
x;
58
break
;
59
case
(uint8_t)
axis_mask_t::Y
:
60
return
y;
61
break
;
62
case
(uint8_t)
axis_mask_t::Z
:
63
return
z;
64
break
;
65
case
(uint8_t)
axis_mask_t::ROLL
:
66
return
roll;
67
break
;
68
case
(uint8_t)
axis_mask_t::YAW
:
69
return
yaw;
70
break
;
71
case
(uint8_t)
axis_mask_t::PITCH
:
72
return
pitch;
73
break
;
74
}
75
}
76
};
77
}
78
}
79
#endif //ARUNA_MOVEMENTTYPES_H
aruna
Definition:
comm.cpp:14
aruna::movement::axis_mask_t::X
aruna::movement::axis_mask_t::PITCH
aruna::movement::axis_mask_t::NONE
aruna::movement::axis_mask_t::MAX
aruna::movement::damping_t::KEEP_DEGREE
aruna::movement::axis_t::roll
T roll
Definition:
movementTypes.h:48
aruna::movement::axis_t::z
T z
Definition:
movementTypes.h:47
aruna::movement::axis_t::x
T x
Definition:
movementTypes.h:45
aruna::movement::damping_t
damping_t
Definition:
movementTypes.h:30
aruna::movement::axis_mask_t::ROLL
aruna::movement::damping_t::DISABLE
aruna::movement::axis_mask_t::DIRECTION_PLUS
aruna::movement::axis_t::y
T y
Definition:
movementTypes.h:46
aruna::movement::axis_t
Definition:
movementTypes.h:44
aruna::movement::axis_mask_t::YAW
aruna::movement::damping_t::KEEP_VELOCITY
aruna::movement::status_t::RUNNING
aruna::movement::axis_mask_t::Z
aruna::movement::status_t::STOPPED
aruna::movement::axis_t::yaw
T yaw
Definition:
movementTypes.h:49
aruna::movement::status_t
status_t
Definition:
movementTypes.h:37
aruna::movement::axis_mask_t::DIRECTION_MIN
aruna::movement::axis_mask_t::Y
aruna::movement::axis_t::operator[]
T & operator[](size_t i)
Definition:
movementTypes.h:52
aruna::movement::axis_mask_t::ALL_AXIS
aruna::movement::axis_mask_t
axis_mask_t
Definition:
movementTypes.h:13
aruna::movement::axis_t::pitch
T pitch
Definition:
movementTypes.h:50
aruna::movement::axis_mask_t::DIRECTION_BOTH
include
aruna
movement
movementTypes.h
Generated by
1.8.13