Fang-Robotics-MCB
Fang Robotics Team Codebase
Loading...
Searching...
No Matches
tap::control::turret::TurretSubsystemInterface Class Referenceabstract

#include <turret_subsystem_interface.hpp>

Inheritance diagram for tap::control::turret::TurretSubsystemInterface:
Collaboration diagram for tap::control::turret::TurretSubsystemInterface:

Public Member Functions

 TurretSubsystemInterface (Drivers *drivers)
 
virtual float getYawSetpoint () const =0
 
virtual float getPitchSetpoint () const =0
 
virtual void setYawSetpoint (float newAngle)=0
 
virtual void setPitchSetpoint (float newAngle)=0
 
virtual const tap::algorithms::WrappedFloatgetCurrentYawValue () const =0
 
virtual const tap::algorithms::WrappedFloatgetCurrentPitchValue () const =0
 
virtual bool isOnline () const =0
 
virtual float getYawVelocity () const =0
 
virtual float getPitchVelocity () const =0
 
virtual float getYawAngleFromCenter () const =0
 
virtual float getPitchAngleFromCenter () const =0
 
virtual void setYawMotorOutput (float out)=0
 
virtual void setPitchMotorOutput (float out)=0
 
virtual bool yawLimited () const =0
 
- Public Member Functions inherited from tap::control::Subsystem
 Subsystem (Drivers *drivers)
 
virtual ~Subsystem ()
 
virtual void initialize ()
 
void registerAndInitialize ()
 
mockable void setDefaultCommand (Command *defaultCommand)
 
mockable CommandgetDefaultCommand () const
 
virtual void refresh ()
 
virtual void refreshSafeDisconnect ()
 
mockable void setTestCommand (Command *testCommand)
 
mockable CommandgetTestCommand () const
 
virtual const char * getName () const
 
mockable int getGlobalIdentifier () const
 

Additional Inherited Members

- Protected Attributes inherited from tap::control::Subsystem
Driversdrivers
 

Detailed Description

Interface for a generic turret motor with a pitch and yaw motor.

Constructor & Destructor Documentation

◆ TurretSubsystemInterface()

tap::control::turret::TurretSubsystemInterface::TurretSubsystemInterface ( Drivers drivers)
inlineexplicit

Member Function Documentation

◆ getCurrentPitchValue()

virtual const tap::algorithms::WrappedFloat & tap::control::turret::TurretSubsystemInterface::getCurrentPitchValue ( ) const
pure virtual
Returns
The current physical pitch of the turret.

◆ getCurrentYawValue()

virtual const tap::algorithms::WrappedFloat & tap::control::turret::TurretSubsystemInterface::getCurrentYawValue ( ) const
pure virtual
Returns
The current value of the turret's physical yaw.

◆ getPitchAngleFromCenter()

virtual float tap::control::turret::TurretSubsystemInterface::getPitchAngleFromCenter ( ) const
pure virtual
Returns
An angle between [-180, 180] that is the angle difference of the pitch's current value and the center value as defined by a subclass.

◆ getPitchSetpoint()

virtual float tap::control::turret::TurretSubsystemInterface::getPitchSetpoint ( ) const
inlinepure virtual
See also
getYawSetpoint

◆ getPitchVelocity()

virtual float tap::control::turret::TurretSubsystemInterface::getPitchVelocity ( ) const
inlinepure virtual
See also
getYawVelocity

◆ getYawAngleFromCenter()

virtual float tap::control::turret::TurretSubsystemInterface::getYawAngleFromCenter ( ) const
pure virtual

◆ getYawSetpoint()

virtual float tap::control::turret::TurretSubsystemInterface::getYawSetpoint ( ) const
inlinepure virtual
Returns
the desired yaw value value of whatever is being controlled.

◆ getYawVelocity()

virtual float tap::control::turret::TurretSubsystemInterface::getYawVelocity ( ) const
inlinepure virtual
Returns
the velocity of the turret's physical yaw motor(s)

◆ isOnline()

virtual bool tap::control::turret::TurretSubsystemInterface::isOnline ( ) const
inlinepure virtual
Returns
true if the turret is online (i.e.: is connected)

◆ setPitchMotorOutput()

virtual void tap::control::turret::TurretSubsystemInterface::setPitchMotorOutput ( float  out)
pure virtual

◆ setPitchSetpoint()

virtual void tap::control::turret::TurretSubsystemInterface::setPitchSetpoint ( float  newAngle)
pure virtual

◆ setYawMotorOutput()

virtual void tap::control::turret::TurretSubsystemInterface::setYawMotorOutput ( float  out)
pure virtual

Sets yaw motor output. Limits the output based on the mechanical constraints of the turret.

◆ setYawSetpoint()

virtual void tap::control::turret::TurretSubsystemInterface::setYawSetpoint ( float  newAngle)
pure virtual

Sets the desired yaw position of the turret.

Parameters
[in]newValuethe new desired value the turret will try and reach

◆ yawLimited()

virtual bool tap::control::turret::TurretSubsystemInterface::yawLimited ( ) const
pure virtual

If false, the turret may spin 360 degrees freely, otherwise true.


The documentation for this class was generated from the following file: