YAMS
Yet Another Mechanism System
Loading...
Searching...
No Matches
SimSupplier.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/units/angle.hpp>
7#include <wpi/units/angular_acceleration.hpp>
8#include <wpi/units/angular_velocity.hpp>
9#include <wpi/units/current.hpp>
10#include <wpi/units/length.hpp>
11#include <wpi/units/velocity.hpp>
12#include <wpi/units/voltage.hpp>
13
14namespace yams::motorcontrollers {
15
23 public:
24 virtual ~SimSupplier() = default;
25
35 virtual void UpdateSim() = 0;
36
42 virtual bool GetUpdatedSim() = 0;
43
45 virtual void FeedUpdateSim() = 0;
46
48 virtual void StarveUpdateSim() = 0;
49
55 virtual bool IsInputFed() = 0;
56
58 virtual void FeedInput() = 0;
59
61 virtual void StarveInput() = 0;
62
68 virtual void SetMechanismStatorDutyCycle(double dutyCycle) = 0;
69
75 virtual wpi::units::volt_t GetMechanismSupplyVoltage() = 0;
76
82 virtual wpi::units::volt_t GetMechanismStatorVoltage() = 0;
83
89 virtual void SetMechanismStatorVoltage(wpi::units::volt_t volts) = 0;
90
96 virtual wpi::units::turn_t GetMechanismPosition() = 0;
97
103 virtual void SetMechanismPosition(wpi::units::turn_t angle) = 0;
104
110 virtual wpi::units::turn_t GetRotorPosition() = 0;
111
117 virtual wpi::units::turns_per_second_t GetMechanismVelocity() = 0;
118
124 virtual void SetMechanismVelocity(wpi::units::turns_per_second_t velocity) = 0;
125
131 virtual wpi::units::turns_per_second_t GetRotorVelocity() = 0;
132
138 virtual wpi::units::turns_per_second_squared_t GetMechanismAcceleration() = 0;
139
145 virtual wpi::units::turns_per_second_squared_t GetRotorAcceleration() = 0;
146
152 virtual void SetRotorPosition(wpi::units::turn_t angle) = 0;
153
159 virtual void SetRotorVelocity(wpi::units::turns_per_second_t velocity) = 0;
160
166 virtual wpi::units::ampere_t GetStatorCurrent() = 0;
167
174 virtual wpi::units::ampere_t GetSupplyCurrent() = 0;
175};
176
177} // namespace yams::motorcontrollers
Definition SimSupplier.hpp:22
virtual wpi::units::turns_per_second_t GetRotorVelocity()=0
virtual wpi::units::turn_t GetMechanismPosition()=0
virtual wpi::units::volt_t GetMechanismSupplyVoltage()=0
virtual void SetMechanismStatorVoltage(wpi::units::volt_t volts)=0
virtual wpi::units::turns_per_second_squared_t GetRotorAcceleration()=0
virtual void SetMechanismPosition(wpi::units::turn_t angle)=0
virtual wpi::units::turns_per_second_t GetMechanismVelocity()=0
virtual void SetMechanismVelocity(wpi::units::turns_per_second_t velocity)=0
virtual void SetMechanismStatorDutyCycle(double dutyCycle)=0
virtual wpi::units::turn_t GetRotorPosition()=0
virtual wpi::units::turns_per_second_squared_t GetMechanismAcceleration()=0
virtual void SetRotorPosition(wpi::units::turn_t angle)=0
virtual wpi::units::volt_t GetMechanismStatorVoltage()=0
virtual void SetRotorVelocity(wpi::units::turns_per_second_t velocity)=0
virtual wpi::units::ampere_t GetStatorCurrent()=0
virtual wpi::units::ampere_t GetSupplyCurrent()=0
Definition SimSensorConfig.hpp:15