Fang-Robotics-MCB
Fang Robotics Team Codebase
Loading...
Searching...
No Matches
field_gimbal.hpp
Go to the documentation of this file.
1#pragma once
2
4#include "driver/drivers.hpp"
7
8#include <memory>
9
10namespace fang::turret
11{
16 {
17 public:
19 (
21 std::unique_ptr<IFieldPitchSystem> pitchSystem,
22 std::unique_ptr<IFieldYawSystem> yawSystem
23 );
24
25 virtual ~FieldGimbal() = default;
26
27 void initialize() override;
28 void update() override;
29 void refresh() override;
30 void setTargetFieldPitch(const Radians& pitch) override;
31 void setTargetFieldYaw(const Radians& yaw) override;
32
33 Radians getTargetFieldPitch() const override;
34 Radians getTargetFieldYaw() const override;
35
36
37 private:
38 std::unique_ptr<IFieldPitchSystem> pitchSystem_;
39 std::unique_ptr<IFieldYawSystem> yawSystem_;
40 Radians targetFieldPitch_{0};
41 Radians targetFieldYaw_{0};
42 };
43}
Definition drivers.hpp:31
Definition field_gimbal_subsystem.hpp:16
Definition field_gimbal.hpp:16
void initialize() override
Definition field_gimbal.cpp:16
void refresh() override
Definition field_gimbal.cpp:28
void setTargetFieldPitch(const Radians &pitch) override
Definition field_gimbal.cpp:33
Radians getTargetFieldPitch() const override
Definition field_gimbal.cpp:45
virtual ~FieldGimbal()=default
void update() override
Definition field_gimbal.cpp:22
Radians getTargetFieldYaw() const override
Definition field_gimbal.cpp:50
void setTargetFieldYaw(const Radians &yaw) override
Definition field_gimbal.cpp:39
Drivers * drivers
Definition subsystem.hpp:138
Definition activate_booster_command.cpp:5
units::angle::radian_t Radians
Definition units_alias.hpp:16