librmb 1.0
Rambunction 4330 Utility Library
Loading...
Searching...
No Matches
rmb::SparkMaxVelocityController Class Reference

#include <rmb/motorcontrol/sparkmax/SparkMaxVelocityController.h>

Inheritance diagram for rmb::SparkMaxVelocityController:
rmb::AngularVelocityController

Classes

struct  CreateInfo
 

Public Types

using MotorConfig = SparkMaxVelocityControllerHelper::MotorConfig
 
using PIDConfig = SparkMaxVelocityControllerHelper::PIDConfig
 
using ProfileConfig = SparkMaxVelocityControllerHelper::ProfileConfig
 
using EncoderType = SparkMaxVelocityControllerHelper::EncoderType
 
using LimitSwitchConfig = SparkMaxVelocityControllerHelper::LimitSwitchConfig
 
using FeedbackConfig = SparkMaxVelocityControllerHelper::FeedbackConfig
 
- Public Types inherited from rmb::AngularVelocityController
using ConversionUnit
 
using ConversionUnit_t = units::unit_t<ConversionUnit>
 

Public Member Functions

 SparkMaxVelocityController (SparkMaxVelocityController &&)=delete
 
 SparkMaxVelocityController (const SparkMaxVelocityController &)=delete
 
 SparkMaxVelocityController (const CreateInfo &createInfo)
 
rev::CANSparkMax & getMotor ()
 
rev::SparkMaxPIDController & getPIDCOntroller ()
 
std::unique_ptr< rev::MotorFeedbackSensor > & getFeedbackSensor ()
 
void setVelocity (units::radians_per_second_t velocity) override
 
units::radians_per_second_t getTargetVelocity () const override
 
virtual void setPower (double power) override
 
virtual double getPower () const override
 
virtual void disable () override
 
virtual void stop () override
 
units::radians_per_second_t getVelocity () const override
 
units::radian_t getPosition () const override
 
void setEncoderPosition (units::radian_t position=0_rad) override
 
virtual units::radians_per_second_t getTolerance () const override
 
- Public Member Functions inherited from rmb::AngularVelocityController
virtual units::radians_per_second_t getError () const
 
virtual bool atTarget () const
 

Detailed Description

A wrapper around the SparkMax motorcontroller so that it can complies with the AngularVelocityFeedbackController interface.

Member Function Documentation

◆ disable()

virtual void rmb::SparkMaxVelocityController::disable ( )
overridevirtual

Common interface for disabling a mechanism.

Implements rmb::AngularVelocityController.

◆ getPosition()

units::radian_t rmb::SparkMaxVelocityController::getPosition ( ) const
overridevirtual

Gets the angular position of an motor.

Returns
The position of the motor in radians.

Implements rmb::AngularVelocityController.

◆ getPower()

virtual double rmb::SparkMaxVelocityController::getPower ( ) const
overridevirtual

Retrieve the percentage [-1.0, 1.0] output of the motor

Implements rmb::AngularVelocityController.

◆ getTargetVelocity()

units::radians_per_second_t rmb::SparkMaxVelocityController::getTargetVelocity ( ) const
overridevirtual

Gets the target angular velocity.

Returns
The target angular velocity in radians per second.

Implements rmb::AngularVelocityController.

◆ getTolerance()

virtual units::radians_per_second_t rmb::SparkMaxVelocityController::getTolerance ( ) const
overridevirtual

Gets the motor's tolerance.

Returns
the motor's tolerance in radians per second.

Implements rmb::AngularVelocityController.

◆ getVelocity()

units::radians_per_second_t rmb::SparkMaxVelocityController::getVelocity ( ) const
overridevirtual

Gets the angular velocity of the motor.

Returns
The velocity of the motor in radians per second.

Implements rmb::AngularVelocityController.

◆ setEncoderPosition()

void rmb::SparkMaxVelocityController::setEncoderPosition ( units::radian_t position = 0_rad)
overridevirtual

Sets the encoder's reported position

Parameters
positionThe position to reset the reference to. Defaults to 0

Implements rmb::AngularVelocityController.

◆ setPower()

virtual void rmb::SparkMaxVelocityController::setPower ( double power)
overridevirtual

Common interface for setting a mechanism's raw power output.

Implements rmb::AngularVelocityController.

◆ setVelocity()

void rmb::SparkMaxVelocityController::setVelocity ( units::radians_per_second_t velocity)
overridevirtual

Sets the target angular velocity.

Parameters
velocityThe target angular velocity in radians per second.

Implements rmb::AngularVelocityController.

◆ stop()

virtual void rmb::SparkMaxVelocityController::stop ( )
overridevirtual

Common interface to stop the mechanism until setPosition is called again.

Implements rmb::AngularVelocityController.


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