Thunderbots Project
Loading...
Searching...
No Matches
primitive_types.h
1#pragma once
2
3#include "software/util/make_enum/make_enum.hpp"
4
5MAKE_ENUM(ChickerCommandMode, KICK, CHIP, AUTOCHIPORKICK);
6MAKE_ENUM(AutoChipOrKickMode, AUTOKICK, AUTOCHIP, OFF);
7
9{
10 AutoChipOrKickMode auto_chip_kick_mode;
11 union
12 {
13 double autokick_speed_m_per_s;
14 double autochip_distance_m;
15 };
16
17 bool operator==(const AutoChipOrKick &other) const
18 {
19 if (auto_chip_kick_mode == other.auto_chip_kick_mode)
20 {
21 if (auto_chip_kick_mode != AutoChipOrKickMode::OFF)
22 {
23 return autokick_speed_m_per_s == other.autokick_speed_m_per_s;
24 }
25 else
26 {
27 return true;
28 }
29 }
30 return false;
31 }
32
33 bool operator!=(const AutoChipOrKick &other) const
34 {
35 return !((*this) == other);
36 }
37};
Definition primitive_types.h:9