YAMS
Yet Another Mechanism System
Loading...
Searching...
No Matches
SmartVelocityMechanism.hpp
Go to the documentation of this file.
1// Copyright (c) 2026 Yet Another Software Suite
2// SPDX-License-Identifier: LGPL-3.0-or-later
3
4#pragma once
5
6#include <wpi/commands2/button/Trigger.hpp>
7#include <wpi/smartdashboard/MechanismLigament2d.hpp>
8#include <wpi/smartdashboard/MechanismRoot2d.hpp>
9
11
13
22 public:
24 virtual ~SmartVelocityMechanism() = default;
25
26 // ---- Pure virtual interface -----------------------------------------------
27
34 virtual wpi::cmd::Trigger Max() = 0;
35
42 virtual wpi::cmd::Trigger Min() = 0;
43
44 // ---- Visualisation accessors ----------------------------------------------
45
51 wpi::MechanismLigament2d* GetMechanismLigament();
52
58 wpi::MechanismRoot2d* GetMechanismRoot();
59
60 // ---- Motor accessor -------------------------------------------------------
61
68
69 protected:
71 wpi::MechanismRoot2d* m_mechanismRoot{nullptr};
72
74 wpi::MechanismLigament2d* m_mechanismLigament{nullptr};
75};
76
77} // namespace yams::mechanisms::velocity
Definition SmartMechanism.hpp:30
Definition SmartVelocityMechanism.hpp:21
wpi::MechanismRoot2d * m_mechanismRoot
Definition SmartVelocityMechanism.hpp:71
wpi::MechanismLigament2d * m_mechanismLigament
Definition SmartVelocityMechanism.hpp:74
SmartVelocityMechanism()
Definition SmartVelocityMechanism.hpp:23
wpi::MechanismLigament2d * GetMechanismLigament()
motorcontrollers::SmartMotorController * GetMotor()
Definition SmartMotorController.hpp:48
Definition FlyWheel.hpp:21