28 class GimbalInterface :
public Component {
30 virtual void set_roll_pitch_yaw_angle(
double roll,
double pitch,
double yaw) = 0;
32 virtual void set_roll_pitch_yaw_speed(
double roll,
double pitch,
double yaw) = 0;
34 virtual void reset_position() = 0;
36 virtual void reset_pitch_position() = 0;
38 virtual void reset_roll_position() = 0;
40 virtual void reset_yaw_position() = 0;
42 virtual GimbalMode get_gimbal_mode() = 0;
44 virtual void set_gimbal_mode(GimbalMode mode) = 0;
46 [[nodiscard]]
virtual double get_roll()
const = 0;
48 [[nodiscard]]
virtual double get_pitch()
const = 0;
50 [[nodiscard]]
virtual double get_yaw()
const = 0;
60 class Gimbal :
public GimbalInterface {
188 [[nodiscard]]
double get_yaw()
const override {
void reset_position() override
Reset the gimbal position.
Definition gimbal.h:122
double get_yaw() const override
Returns current yaw angle.
Definition gimbal.h:188
void set_gimbal_mode(GimbalMode mode) override
Sets the gimbal mode.
Definition gimbal.h:87
double get_pitch() const override
Returns current pitch angle.
Definition gimbal.h:177
void reset_pitch_position() override
Reset the gimbal pitch position.
Definition gimbal.h:131
double get_roll() const override
Returns current roll angle.
Definition gimbal.h:166
Gimbal()=default
The default constructor.
void set_roll_pitch_yaw_speed(double roll, double pitch, double yaw) override
Sets the speed of rotation of the roll, pitch, and yaw.
Definition gimbal.h:113
void reset_yaw_position() override
Reset the gimbal yaw position.
Definition gimbal.h:153
GimbalMode get_gimbal_mode() override
Gets the gimbal mode.
Definition gimbal.h:76
void reset_roll_position() override
Reset the gimbal roll position.
Definition gimbal.h:142
void set_roll_pitch_yaw_angle(double roll, double pitch, double yaw) override
Sets the angle of the roll, pitch, and yaw.
Definition gimbal.h:100
An error representing a function that is not implemented.
Definition error.h:19
GimbalMode
The gimbal movement mode.
Definition gimbal.h:18