Fang-Robotics-MCB
Fang Robotics Team Codebase
Loading...
Searching...
No Matches
tap::motor::DoubleDjiMotor Class Reference

#include <double_dji_motor.hpp>

Inheritance diagram for tap::motor::DoubleDjiMotor:
Collaboration diagram for tap::motor::DoubleDjiMotor:

Public Member Functions

 DoubleDjiMotor (Drivers *drivers, MotorId desMotorIdentifierOne, MotorId desMotorIdentifierTwo, tap::can::CanBus motorCanBusOne, tap::can::CanBus motorCanBusTwo, bool isInvertedOne, bool isInvertedTwo, const char *nameOne, const char *nameTwo, bool currentControl=false, float gearRatio=1, uint32_t encoderHomePositionOne=0, tap::encoder::EncoderInterface *externalEncoder=nullptr)
 
void initialize () override
 
tap::encoder::EncoderInterfacegetEncoder () const override
 
void setDesiredOutput (int32_t desiredOutput) override
 
bool isMotorOnline () const override
 
int16_t getOutputDesired () const override
 
int8_t getTemperature () const override
 
int16_t getTorque () const override
 
- Public Member Functions inherited from tap::motor::MotorInterface
virtual void resetEncoderValue ()
 
virtual float getPositionUnwrapped () const
 
virtual float getPositionWrapped () const
 
virtual int16_t getShaftRPM () const
 

Protected Attributes

DjiMotor motorOne
 
DjiMotor motorTwo
 
tap::encoder::MultiEncoder< 3 > encoder
 

Detailed Description

Wraps two motors assumed to be connected to a rigid drive shaft. Assumes that the two motors are identical with the same gear ratio and are dji motors with the same communication and control interface (for example, two M3508's, two 6020's, etc.).

Constructor & Destructor Documentation

◆ DoubleDjiMotor()

tap::motor::DoubleDjiMotor::DoubleDjiMotor ( Drivers drivers,
MotorId  desMotorIdentifierOne,
MotorId  desMotorIdentifierTwo,
tap::can::CanBus  motorCanBusOne,
tap::can::CanBus  motorCanBusTwo,
bool  isInvertedOne,
bool  isInvertedTwo,
const char *  nameOne,
const char *  nameTwo,
bool  currentControl = false,
float  gearRatio = 1,
uint32_t  encoderHomePositionOne = 0,
tap::encoder::EncoderInterface externalEncoder = nullptr 
)

Member Function Documentation

◆ getEncoder()

tap::encoder::EncoderInterface * tap::motor::DoubleDjiMotor::getEncoder ( ) const
inlineoverridevirtual

◆ getOutputDesired()

int16_t tap::motor::DoubleDjiMotor::getOutputDesired ( ) const
overridevirtual

◆ getTemperature()

int8_t tap::motor::DoubleDjiMotor::getTemperature ( ) const
overridevirtual

◆ getTorque()

int16_t tap::motor::DoubleDjiMotor::getTorque ( ) const
overridevirtual

◆ initialize()

void tap::motor::DoubleDjiMotor::initialize ( )
overridevirtual

◆ isMotorOnline()

bool tap::motor::DoubleDjiMotor::isMotorOnline ( ) const
overridevirtual

◆ setDesiredOutput()

void tap::motor::DoubleDjiMotor::setDesiredOutput ( int32_t  desiredOutput)
overridevirtual

Member Data Documentation

◆ encoder

tap::encoder::MultiEncoder<3> tap::motor::DoubleDjiMotor::encoder
protected

◆ motorOne

DjiMotor tap::motor::DoubleDjiMotor::motorOne
protected

◆ motorTwo

DjiMotor tap::motor::DoubleDjiMotor::motorTwo
protected

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