RSeries astromech firmware
ServoDispatch Class Referenceabstract

#include <ServoDispatch.h>

Detailed Description

Servo interace implemented eitehr by ServoDispatchPCA9685 or ServoDispatchDirect.

+ Inheritance diagram for ServoDispatch:

Public Member Functions

virtual uint16_t getNumServos ()=0
 
virtual uint8_t getPin (uint16_t num)=0
 
virtual uint16_t getStart (uint16_t num)=0
 
virtual uint16_t getEnd (uint16_t num)=0
 
virtual uint16_t getMinimum (uint16_t num)=0
 
virtual uint16_t getMaximum (uint16_t num)=0
 
virtual uint16_t getNeutral (uint16_t num)=0
 
virtual uint32_t getGroup (uint16_t num)=0
 
virtual uint16_t currentPos (uint16_t num)=0
 
virtual uint16_t scaleToPos (uint16_t num, float scale)=0
 
virtual bool isActive (uint16_t num)=0
 
virtual void disable (uint16_t num)=0
 
virtual void setPin (uint16_t num, uint16_t pin)
 
virtual void setNeutral (uint16_t num, uint16_t neutralPulse)
 
virtual void setStart (uint16_t num, uint16_t startPulse)
 
virtual void setEnd (uint16_t num, uint16_t endPulse)
 
virtual void setGroup (uint16_t num, uint32_t group)
 
virtual void setServo (uint16_t num, uint8_t pin, uint16_t startPulse, uint16_t endPulse, uint16_t neutralPulse, uint32_t group)=0
 
virtual void setPWM (uint16_t num, uint16_t targetLength)=0
 
virtual void stop ()=0
 
void moveTo (uint16_t num, uint32_t startDelay, uint32_t moveTime, float pos)
 
void moveTo (uint16_t num, uint32_t moveTime, float pos)
 
void moveTo (uint16_t num, float pos)
 
void moveTo (uint16_t num, uint32_t startDelay, uint32_t moveTime, float startPos, float pos)
 
void moveServosTo (uint32_t servoGroupMask, float pos)
 
void moveServosTo (uint32_t servoGroupMask, uint32_t moveTime, float pos)
 
void moveServosTo (uint32_t servoGroupMask, uint32_t startDelay, uint32_t moveTime, float pos)
 
void moveServosTo (uint32_t servoGroupMask, uint32_t startDelay, uint32_t moveTimeMin, uint32_t moveTimeMax, float pos)
 
void moveServoSetTo (uint32_t servoGroupMask, uint32_t servoSetMask, float onPos, float offPos, float(*onEasingMethod)(float)=NULL, float(*offEasingMethod)(float)=NULL)
 
void moveServoSetTo (uint32_t servoGroupMask, uint32_t servoSetMask, uint32_t moveTime, float onPos, float offPos, float(*onEasingMethod)(float)=NULL, float(*offEasingMethod)(float)=NULL)
 
void moveServoSetTo (uint32_t servoGroupMask, uint32_t servoSetMask, uint32_t startDelay, uint32_t moveTime, float onPos, float offPos, float(*onEasingMethod)(float)=NULL, float(*offEasingMethod)(float)=NULL)
 
void moveServoSetTo (uint32_t servoGroupMask, uint32_t servoSetMask, uint32_t startDelay, uint32_t moveTimeMin, uint32_t moveTimeMax, float onPos, float offPos, float(*onEasingMethod)(float)=NULL, float(*offEasingMethod)(float)=NULL)
 
void moveToPulse (uint16_t num, uint32_t startDelay, uint32_t moveTime, uint16_t pos)
 
void moveToPulse (uint16_t num, uint32_t moveTime, uint16_t pos)
 
void moveToPulse (uint16_t num, uint16_t pos)
 
void moveToPulse (uint16_t num, uint32_t startDelay, uint32_t moveTime, uint16_t startPos, uint16_t pos)
 
void moveByPulse (uint16_t num, uint32_t moveTime, int16_t pos)
 
void moveByPulse (uint16_t num, int16_t pos)
 
void moveByPulse (uint16_t num, uint32_t startDelay, uint32_t moveTime, int16_t pos)
 
void moveServosToPulse (uint32_t servoGroupMask, uint16_t pos)
 
void moveServosToPulse (uint32_t servoGroupMask, uint32_t moveTime, uint16_t pos)
 
void moveServosToPulse (uint32_t servoGroupMask, uint32_t startDelay, uint32_t moveTime, uint16_t pos)
 
void moveServosToPulse (uint32_t servoGroupMask, uint32_t startDelay, uint32_t moveTimeMin, uint32_t moveTimeMax, int16_t pos)
 
void moveServosByPulse (uint32_t servoGroupMask, uint32_t moveTime, uint16_t pos)
 
void moveServosByPulse (uint32_t servoGroupMask, uint32_t startDelay, uint32_t moveTime, int16_t pos)
 
void moveServosByPulse (uint32_t servoGroupMask, uint32_t startDelay, uint32_t moveTimeMin, uint32_t moveTimeMax, int16_t pos)
 
void moveServoSetToPulse (uint32_t servoGroupMask, uint32_t servoSetMask, uint16_t onPos, uint16_t offPos)
 
void moveServoSetToPulse (uint32_t servoGroupMask, uint32_t servoSetMask, uint32_t moveTime, uint16_t onPos, uint16_t offPos)
 
void moveServoSetToPulse (uint32_t servoGroupMask, uint32_t servoSetMask, uint32_t startDelay, uint32_t moveTime, uint16_t onPos, uint16_t offPos)
 
void moveServoSetToPulse (uint32_t servoGroupMask, uint32_t servoSetMask, uint32_t startDelay, uint32_t moveTimeMin, uint32_t moveTimeMax, int16_t onPos, int16_t offPos)
 
void moveServoSetByPulse (uint32_t servoGroupMask, uint32_t servoSetMask, uint32_t moveTime, int16_t onPos, int16_t offPos)
 
void moveServoSetByPulse (uint32_t servoGroupMask, uint32_t servoSetMask, uint32_t startDelay, uint32_t moveTime, int16_t onPos, int16_t offPos)
 
void moveServoSetByPulse (uint32_t servoGroupMask, uint32_t servoSetMask, uint32_t startDelay, uint32_t moveTimeMin, uint32_t moveTimeMax, int16_t onPos, int16_t offPos)
 
void setServoEasingMethod (uint16_t num, float(*easingMethod)(float completion))
 
void setServosEasingMethod (uint32_t servoGroupMask, float(*easingMethod)(float completion))
 
void setEasingMethod (float(*easingMethod)(float completion))
 

Protected Member Functions

virtual void _moveServoToPulse (uint16_t num, uint32_t startDelay, uint32_t moveTime, uint16_t startPos, uint16_t pos)=0
 
virtual void _moveServosToPulse (uint32_t servoGroupMask, uint32_t startDelay, uint32_t moveTimeMin, uint32_t moveTimeMax, uint16_t pos)=0
 
virtual void _moveServosByPulse (uint32_t servoGroupMask, uint32_t startDelay, uint32_t moveTimeMin, uint32_t moveTimeMax, int16_t pos)=0
 
virtual void _moveServoSetToPulse (uint32_t servoGroupMask, uint32_t servoSetMask, uint32_t startDelay, uint32_t moveTimeMin, uint32_t moveTimeMax, uint16_t onPos, uint16_t offPos)=0
 
virtual void _moveServoSetByPulse (uint32_t servoGroupMask, uint32_t servoSetMask, uint32_t startDelay, uint32_t moveTimeMin, uint32_t moveTimeMax, int16_t onPos, int16_t offPos)=0
 
virtual void _moveServosTo (uint32_t servoGroupMask, uint32_t startDelay, uint32_t moveTimeMin, uint32_t moveTimeMax, float pos)=0
 
virtual void _moveServoSetTo (uint32_t servoGroupMask, uint32_t servoSetMask, uint32_t startDelay, uint32_t moveTimeMin, uint32_t moveTimeMax, float onPos, float offPos, float(*onEasingMethod)(float), float(*offEasingMethod)(float))=0
 
virtual void _setServoEasingMethod (uint16_t num, float(*easingMethod)(float completion))=0
 
virtual void _setServosEasingMethod (uint32_t servoGroupMask, float(*easingMethod)(float completion))=0
 
virtual void _setEasingMethod (float(*easingMethod)(float completion))=0
 

Member Function Documentation

◆ _moveServosByPulse()

virtual void ServoDispatch::_moveServosByPulse ( uint32_t  servoGroupMask,
uint32_t  startDelay,
uint32_t  moveTimeMin,
uint32_t  moveTimeMax,
int16_t  pos 
)
protectedpure virtual

◆ _moveServoSetByPulse()

virtual void ServoDispatch::_moveServoSetByPulse ( uint32_t  servoGroupMask,
uint32_t  servoSetMask,
uint32_t  startDelay,
uint32_t  moveTimeMin,
uint32_t  moveTimeMax,
int16_t  onPos,
int16_t  offPos 
)
protectedpure virtual

◆ _moveServoSetTo()

virtual void ServoDispatch::_moveServoSetTo ( uint32_t  servoGroupMask,
uint32_t  servoSetMask,
uint32_t  startDelay,
uint32_t  moveTimeMin,
uint32_t  moveTimeMax,
float  onPos,
float  offPos,
float(*)(float)  onEasingMethod,
float(*)(float)  offEasingMethod 
)
protectedpure virtual

◆ _moveServoSetToPulse()

virtual void ServoDispatch::_moveServoSetToPulse ( uint32_t  servoGroupMask,
uint32_t  servoSetMask,
uint32_t  startDelay,
uint32_t  moveTimeMin,
uint32_t  moveTimeMax,
uint16_t  onPos,
uint16_t  offPos 
)
protectedpure virtual

◆ _moveServosTo()

virtual void ServoDispatch::_moveServosTo ( uint32_t  servoGroupMask,
uint32_t  startDelay,
uint32_t  moveTimeMin,
uint32_t  moveTimeMax,
float  pos 
)
protectedpure virtual

◆ _moveServosToPulse()

virtual void ServoDispatch::_moveServosToPulse ( uint32_t  servoGroupMask,
uint32_t  startDelay,
uint32_t  moveTimeMin,
uint32_t  moveTimeMax,
uint16_t  pos 
)
protectedpure virtual

◆ _moveServoToPulse()

virtual void ServoDispatch::_moveServoToPulse ( uint16_t  num,
uint32_t  startDelay,
uint32_t  moveTime,
uint16_t  startPos,
uint16_t  pos 
)
protectedpure virtual

◆ _setEasingMethod()

virtual void ServoDispatch::_setEasingMethod ( float(*)(float completion)  easingMethod)
protectedpure virtual

◆ _setServoEasingMethod()

virtual void ServoDispatch::_setServoEasingMethod ( uint16_t  num,
float(*)(float completion)  easingMethod 
)
protectedpure virtual

◆ _setServosEasingMethod()

virtual void ServoDispatch::_setServosEasingMethod ( uint32_t  servoGroupMask,
float(*)(float completion)  easingMethod 
)
protectedpure virtual

◆ currentPos()

virtual uint16_t ServoDispatch::currentPos ( uint16_t  num)
pure virtual

◆ disable()

virtual void ServoDispatch::disable ( uint16_t  num)
pure virtual

◆ getEnd()

virtual uint16_t ServoDispatch::getEnd ( uint16_t  num)
pure virtual

◆ getGroup()

virtual uint32_t ServoDispatch::getGroup ( uint16_t  num)
pure virtual

◆ getMaximum()

virtual uint16_t ServoDispatch::getMaximum ( uint16_t  num)
pure virtual

◆ getMinimum()

virtual uint16_t ServoDispatch::getMinimum ( uint16_t  num)
pure virtual

◆ getNeutral()

virtual uint16_t ServoDispatch::getNeutral ( uint16_t  num)
pure virtual

◆ getNumServos()

virtual uint16_t ServoDispatch::getNumServos ( )
pure virtual

◆ getPin()

virtual uint8_t ServoDispatch::getPin ( uint16_t  num)
pure virtual

◆ getStart()

virtual uint16_t ServoDispatch::getStart ( uint16_t  num)
pure virtual

◆ isActive()

virtual bool ServoDispatch::isActive ( uint16_t  num)
pure virtual

◆ moveByPulse() [1/3]

void ServoDispatch::moveByPulse ( uint16_t  num,
int16_t  pos 
)
inline

◆ moveByPulse() [2/3]

void ServoDispatch::moveByPulse ( uint16_t  num,
uint32_t  moveTime,
int16_t  pos 
)
inline

◆ moveByPulse() [3/3]

void ServoDispatch::moveByPulse ( uint16_t  num,
uint32_t  startDelay,
uint32_t  moveTime,
int16_t  pos 
)
inline

◆ moveServosByPulse() [1/3]

void ServoDispatch::moveServosByPulse ( uint32_t  servoGroupMask,
uint32_t  moveTime,
uint16_t  pos 
)
inline

◆ moveServosByPulse() [2/3]

void ServoDispatch::moveServosByPulse ( uint32_t  servoGroupMask,
uint32_t  startDelay,
uint32_t  moveTime,
int16_t  pos 
)
inline

◆ moveServosByPulse() [3/3]

void ServoDispatch::moveServosByPulse ( uint32_t  servoGroupMask,
uint32_t  startDelay,
uint32_t  moveTimeMin,
uint32_t  moveTimeMax,
int16_t  pos 
)
inline

◆ moveServoSetByPulse() [1/3]

void ServoDispatch::moveServoSetByPulse ( uint32_t  servoGroupMask,
uint32_t  servoSetMask,
uint32_t  moveTime,
int16_t  onPos,
int16_t  offPos 
)
inline

◆ moveServoSetByPulse() [2/3]

void ServoDispatch::moveServoSetByPulse ( uint32_t  servoGroupMask,
uint32_t  servoSetMask,
uint32_t  startDelay,
uint32_t  moveTime,
int16_t  onPos,
int16_t  offPos 
)
inline

◆ moveServoSetByPulse() [3/3]

void ServoDispatch::moveServoSetByPulse ( uint32_t  servoGroupMask,
uint32_t  servoSetMask,
uint32_t  startDelay,
uint32_t  moveTimeMin,
uint32_t  moveTimeMax,
int16_t  onPos,
int16_t  offPos 
)
inline

◆ moveServoSetTo() [1/4]

void ServoDispatch::moveServoSetTo ( uint32_t  servoGroupMask,
uint32_t  servoSetMask,
float  onPos,
float  offPos,
float(*)(float)  onEasingMethod = NULL,
float(*)(float)  offEasingMethod = NULL 
)
inline

◆ moveServoSetTo() [2/4]

void ServoDispatch::moveServoSetTo ( uint32_t  servoGroupMask,
uint32_t  servoSetMask,
uint32_t  moveTime,
float  onPos,
float  offPos,
float(*)(float)  onEasingMethod = NULL,
float(*)(float)  offEasingMethod = NULL 
)
inline

◆ moveServoSetTo() [3/4]

void ServoDispatch::moveServoSetTo ( uint32_t  servoGroupMask,
uint32_t  servoSetMask,
uint32_t  startDelay,
uint32_t  moveTime,
float  onPos,
float  offPos,
float(*)(float)  onEasingMethod = NULL,
float(*)(float)  offEasingMethod = NULL 
)
inline

◆ moveServoSetTo() [4/4]

void ServoDispatch::moveServoSetTo ( uint32_t  servoGroupMask,
uint32_t  servoSetMask,
uint32_t  startDelay,
uint32_t  moveTimeMin,
uint32_t  moveTimeMax,
float  onPos,
float  offPos,
float(*)(float)  onEasingMethod = NULL,
float(*)(float)  offEasingMethod = NULL 
)
inline

◆ moveServoSetToPulse() [1/4]

void ServoDispatch::moveServoSetToPulse ( uint32_t  servoGroupMask,
uint32_t  servoSetMask,
uint16_t  onPos,
uint16_t  offPos 
)
inline

◆ moveServoSetToPulse() [2/4]

void ServoDispatch::moveServoSetToPulse ( uint32_t  servoGroupMask,
uint32_t  servoSetMask,
uint32_t  moveTime,
uint16_t  onPos,
uint16_t  offPos 
)
inline

◆ moveServoSetToPulse() [3/4]

void ServoDispatch::moveServoSetToPulse ( uint32_t  servoGroupMask,
uint32_t  servoSetMask,
uint32_t  startDelay,
uint32_t  moveTime,
uint16_t  onPos,
uint16_t  offPos 
)
inline

◆ moveServoSetToPulse() [4/4]

void ServoDispatch::moveServoSetToPulse ( uint32_t  servoGroupMask,
uint32_t  servoSetMask,
uint32_t  startDelay,
uint32_t  moveTimeMin,
uint32_t  moveTimeMax,
int16_t  onPos,
int16_t  offPos 
)
inline

◆ moveServosTo() [1/4]

void ServoDispatch::moveServosTo ( uint32_t  servoGroupMask,
float  pos 
)
inline

◆ moveServosTo() [2/4]

void ServoDispatch::moveServosTo ( uint32_t  servoGroupMask,
uint32_t  moveTime,
float  pos 
)
inline

◆ moveServosTo() [3/4]

void ServoDispatch::moveServosTo ( uint32_t  servoGroupMask,
uint32_t  startDelay,
uint32_t  moveTime,
float  pos 
)
inline

◆ moveServosTo() [4/4]

void ServoDispatch::moveServosTo ( uint32_t  servoGroupMask,
uint32_t  startDelay,
uint32_t  moveTimeMin,
uint32_t  moveTimeMax,
float  pos 
)
inline

◆ moveServosToPulse() [1/4]

void ServoDispatch::moveServosToPulse ( uint32_t  servoGroupMask,
uint16_t  pos 
)
inline

◆ moveServosToPulse() [2/4]

void ServoDispatch::moveServosToPulse ( uint32_t  servoGroupMask,
uint32_t  moveTime,
uint16_t  pos 
)
inline

◆ moveServosToPulse() [3/4]

void ServoDispatch::moveServosToPulse ( uint32_t  servoGroupMask,
uint32_t  startDelay,
uint32_t  moveTime,
uint16_t  pos 
)
inline

◆ moveServosToPulse() [4/4]

void ServoDispatch::moveServosToPulse ( uint32_t  servoGroupMask,
uint32_t  startDelay,
uint32_t  moveTimeMin,
uint32_t  moveTimeMax,
int16_t  pos 
)
inline

◆ moveTo() [1/4]

void ServoDispatch::moveTo ( uint16_t  num,
float  pos 
)
inline

◆ moveTo() [2/4]

void ServoDispatch::moveTo ( uint16_t  num,
uint32_t  moveTime,
float  pos 
)
inline

◆ moveTo() [3/4]

void ServoDispatch::moveTo ( uint16_t  num,
uint32_t  startDelay,
uint32_t  moveTime,
float  pos 
)
inline

◆ moveTo() [4/4]

void ServoDispatch::moveTo ( uint16_t  num,
uint32_t  startDelay,
uint32_t  moveTime,
float  startPos,
float  pos 
)
inline

◆ moveToPulse() [1/4]

void ServoDispatch::moveToPulse ( uint16_t  num,
uint16_t  pos 
)
inline

◆ moveToPulse() [2/4]

void ServoDispatch::moveToPulse ( uint16_t  num,
uint32_t  moveTime,
uint16_t  pos 
)
inline

◆ moveToPulse() [3/4]

void ServoDispatch::moveToPulse ( uint16_t  num,
uint32_t  startDelay,
uint32_t  moveTime,
uint16_t  pos 
)
inline

◆ moveToPulse() [4/4]

void ServoDispatch::moveToPulse ( uint16_t  num,
uint32_t  startDelay,
uint32_t  moveTime,
uint16_t  startPos,
uint16_t  pos 
)
inline

◆ scaleToPos()

virtual uint16_t ServoDispatch::scaleToPos ( uint16_t  num,
float  scale 
)
pure virtual

◆ setEasingMethod()

void ServoDispatch::setEasingMethod ( float(*)(float completion)  easingMethod)
inline

◆ setEnd()

virtual void ServoDispatch::setEnd ( uint16_t  num,
uint16_t  endPulse 
)
inlinevirtual

◆ setGroup()

virtual void ServoDispatch::setGroup ( uint16_t  num,
uint32_t  group 
)
inlinevirtual

◆ setNeutral()

virtual void ServoDispatch::setNeutral ( uint16_t  num,
uint16_t  neutralPulse 
)
inlinevirtual

◆ setPin()

virtual void ServoDispatch::setPin ( uint16_t  num,
uint16_t  pin 
)
inlinevirtual

◆ setPWM()

virtual void ServoDispatch::setPWM ( uint16_t  num,
uint16_t  targetLength 
)
pure virtual

◆ setServo()

virtual void ServoDispatch::setServo ( uint16_t  num,
uint8_t  pin,
uint16_t  startPulse,
uint16_t  endPulse,
uint16_t  neutralPulse,
uint32_t  group 
)
pure virtual

◆ setServoEasingMethod()

void ServoDispatch::setServoEasingMethod ( uint16_t  num,
float(*)(float completion)  easingMethod 
)
inline

◆ setServosEasingMethod()

void ServoDispatch::setServosEasingMethod ( uint32_t  servoGroupMask,
float(*)(float completion)  easingMethod 
)
inline

◆ setStart()

virtual void ServoDispatch::setStart ( uint16_t  num,
uint16_t  startPulse 
)
inlinevirtual

◆ stop()

virtual void ServoDispatch::stop ( )
pure virtual

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