RSeries astromech firmware
ServoDispatchDirect< numServos > Class Template Reference

#include <ServoDispatchDirect.h>

Detailed Description

template<uint8_t numServos>
class ServoDispatchDirect< numServos >

Implements ServoDispatch dirctly on PWM enabled outputs.

+ Inheritance diagram for ServoDispatchDirect< numServos >:
+ Collaboration diagram for ServoDispatchDirect< numServos >:

Public Member Functions

 ServoDispatchDirect ()
 
 ServoDispatchDirect (const ServoSettings *settings)
 
virtual uint16_t getNumServos () override
 
virtual uint8_t getPin (uint16_t num) override
 
virtual uint16_t getStart (uint16_t num) override
 
virtual uint16_t getEnd (uint16_t num) override
 
virtual uint16_t getMinimum (uint16_t num) override
 
virtual uint16_t getNeutral (uint16_t num) override
 
virtual uint16_t getMaximum (uint16_t num) override
 
virtual uint32_t getGroup (uint16_t num) override
 
virtual uint16_t currentPos (uint16_t num) override
 
virtual void setServo (uint16_t num, uint8_t pin, uint16_t startPulse, uint16_t endPulse, uint16_t neutralPulse, uint32_t group) override
 
virtual void stop () override
 
virtual uint16_t scaleToPos (uint16_t num, float scale) override
 
virtual void setup () override
 Subclasses must implement this function to perform any necessary setup that cannot happen in the constructor. More...
 
virtual bool isActive (uint16_t num) override
 
virtual void disable (uint16_t num) override
 
virtual void animate () override
 Subclasses must implement this function to run through a single frame of animation/activity. More...
 
virtual void setPWM (uint16_t channel, uint16_t targetLength) override
 
- Public Member Functions inherited from ServoDispatch
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)
 
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))
 

Additional Inherited Members

Constructor & Destructor Documentation

◆ ServoDispatchDirect() [1/2]

template<uint8_t numServos>
ServoDispatchDirect< numServos >::ServoDispatchDirect ( )
inline

◆ ServoDispatchDirect() [2/2]

template<uint8_t numServos>
ServoDispatchDirect< numServos >::ServoDispatchDirect ( const ServoSettings settings)
inline

Member Function Documentation

◆ animate()

template<uint8_t numServos>
virtual void ServoDispatchDirect< numServos >::animate ( )
inlineoverridevirtual

Subclasses must implement this function to run through a single frame of animation/activity.

Subclasses should not call delay() or otherwise block.

Implements AnimatedEvent.

◆ currentPos()

template<uint8_t numServos>
virtual uint16_t ServoDispatchDirect< numServos >::currentPos ( uint16_t  num)
inlineoverridevirtual

Implements ServoDispatch.

◆ disable()

template<uint8_t numServos>
virtual void ServoDispatchDirect< numServos >::disable ( uint16_t  num)
inlineoverridevirtual

Implements ServoDispatch.

◆ getEnd()

template<uint8_t numServos>
virtual uint16_t ServoDispatchDirect< numServos >::getEnd ( uint16_t  num)
inlineoverridevirtual

Implements ServoDispatch.

◆ getGroup()

template<uint8_t numServos>
virtual uint32_t ServoDispatchDirect< numServos >::getGroup ( uint16_t  num)
inlineoverridevirtual

Implements ServoDispatch.

◆ getMaximum()

template<uint8_t numServos>
virtual uint16_t ServoDispatchDirect< numServos >::getMaximum ( uint16_t  num)
inlineoverridevirtual

Implements ServoDispatch.

◆ getMinimum()

template<uint8_t numServos>
virtual uint16_t ServoDispatchDirect< numServos >::getMinimum ( uint16_t  num)
inlineoverridevirtual

Implements ServoDispatch.

◆ getNeutral()

template<uint8_t numServos>
virtual uint16_t ServoDispatchDirect< numServos >::getNeutral ( uint16_t  num)
inlineoverridevirtual

Implements ServoDispatch.

◆ getNumServos()

template<uint8_t numServos>
virtual uint16_t ServoDispatchDirect< numServos >::getNumServos ( )
inlineoverridevirtual

Implements ServoDispatch.

◆ getPin()

template<uint8_t numServos>
virtual uint8_t ServoDispatchDirect< numServos >::getPin ( uint16_t  num)
inlineoverridevirtual

Implements ServoDispatch.

◆ getStart()

template<uint8_t numServos>
virtual uint16_t ServoDispatchDirect< numServos >::getStart ( uint16_t  num)
inlineoverridevirtual

Implements ServoDispatch.

◆ isActive()

template<uint8_t numServos>
virtual bool ServoDispatchDirect< numServos >::isActive ( uint16_t  num)
inlineoverridevirtual

Implements ServoDispatch.

◆ scaleToPos()

template<uint8_t numServos>
virtual uint16_t ServoDispatchDirect< numServos >::scaleToPos ( uint16_t  num,
float  scale 
)
inlineoverridevirtual

Implements ServoDispatch.

◆ setPWM()

template<uint8_t numServos>
virtual void ServoDispatchDirect< numServos >::setPWM ( uint16_t  channel,
uint16_t  targetLength 
)
inlineoverridevirtual

Implements ServoDispatch.

◆ setServo()

template<uint8_t numServos>
virtual void ServoDispatchDirect< numServos >::setServo ( uint16_t  num,
uint8_t  pin,
uint16_t  startPulse,
uint16_t  endPulse,
uint16_t  neutralPulse,
uint32_t  group 
)
inlineoverridevirtual

Implements ServoDispatch.

◆ setup()

template<uint8_t numServos>
virtual void ServoDispatchDirect< numServos >::setup ( )
inlineoverridevirtual

Subclasses must implement this function to perform any necessary setup that cannot happen in the constructor.

Implements SetupEvent.

◆ stop()

template<uint8_t numServos>
virtual void ServoDispatchDirect< numServos >::stop ( )
inlineoverridevirtual

Implements ServoDispatch.


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