Galaxis Codebase
1.0.0
Team Galaxis software stack for the Carolo Cup 2023 - ROS2 based software
servoSettings.cpp
Go to the documentation of this file.
1
#include <
galaxis/servoSettings.hpp
>
2
#include <cstddef>
3
#include <Eigen/Dense>
4
#include <cmath>
5
6
namespace
galaxis
{
7
namespace
servoSettings {
8
constexpr
float
slope
= 0.0043f;
/* angle = slope * servo */
9
float
servoSettingToAngle
(int8_t servoSetting) {
10
/* TODO check for maximum angle */
11
float
angle =
slope
* servoSetting;
12
13
if
(angle >
galaxis::servoSettings::maximumAngle
) {
14
angle =
galaxis::servoSettings::maximumAngle
;
15
}
else
if
(angle < -
galaxis::servoSettings::maximumAngle
) {
16
angle = -
galaxis::servoSettings::maximumAngle
;
17
}
18
19
return
angle;
20
}
21
22
int8_t
angleToServoSetting
(
float
angle) {
23
int
servoSetting = (int)(angle /
slope
);
24
if
(servoSetting < -100) {
25
servoSetting = -100;
26
}
else
if
(servoSetting > 100) {
27
servoSetting = 100;
28
}
29
30
return
servoSetting;
31
}
32
}
// namespace servoSettings
33
}
// namespace galaxis
galaxis::servoSettings::angleToServoSetting
int8_t angleToServoSetting(float angle)
Definition:
servoSettings.cpp:22
galaxis::servoSettings::maximumAngle
constexpr float maximumAngle
Definition:
servoSettings.hpp:8
servoSettings.hpp
galaxis
Definition:
MapClasses.hpp:10
galaxis::servoSettings::slope
constexpr float slope
Definition:
servoSettings.cpp:8
galaxis::servoSettings::servoSettingToAngle
float servoSettingToAngle(int8_t servoSetting)
Convert the servo setting to an actual steering angle.
Definition:
servoSettings.cpp:9
utilities
src
servoSettings.cpp
Generated by
1.8.17