template<uint16_t numServos, byte defaultOEValue = HIGH>
class ServoDispatchPCA9685< numServos, defaultOEValue >
Implements ServoDispatch over i2c to PCA9685.
Implements ServoDispatch and spreads the PWM output to up to 62 PCA9685 modules (via i2c address 0x40-0x75). Theoretically allowing you to control up to 992 PWM outputs.
OE pin defaults to LOW.
|
| ServoDispatchPCA9685 (TwoWire *i2c, uint8_t startAddress=0x40) |
| Constructor. More...
|
|
| ServoDispatchPCA9685 (TwoWire *i2c, const ServoSettings *settings, uint8_t startAddress=0x40) |
| Constructor. More...
|
|
| ServoDispatchPCA9685 (const ServoSettings *settings, uint8_t startAddress=0x40) |
| Constructor. More...
|
|
| ServoDispatchPCA9685 (uint8_t startAddress=0x40) |
| Constructor. More...
|
|
byte | numberOfPCA9685Chips () |
|
virtual uint16_t | getNumServos () override |
|
void | ensureDisabled () |
|
void | ensureEnabled () |
|
void | setOutputEnablePin (const byte outputEnablePin, bool outputAutoOff=true) |
|
void | setClockCalibration (const uint32_t clock[(numServos/16)+1]) |
|
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 | setPin (uint16_t num, uint16_t pin) override |
|
virtual void | setNeutral (uint16_t num, uint16_t neutralPulse) override |
|
virtual void | setStart (uint16_t num, uint16_t startPulse) override |
|
virtual void | setEnd (uint16_t num, uint16_t endPulse) 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...
|
|
void | setOutput (uint16_t servoChannel, bool state) |
|
void | setPrescale (uint8_t prescale) |
|
uint8_t | getPrescale (uint8_t chipNumber) |
|
void | setEnvironmentTemperatureCelsius (int8_t degreesInCelsius) |
|
void | setChannelStaggering (bool value) |
|
float | getNominalUpdateFrequency (uint32_t clockFrequency, uint8_t prescale) |
|
void | setClockFrequency (const uint32_t clocks[(numServos/16)+1]) |
|
void | setUpdateFrequency (const float targetUpdateFrequency[(numServos/16)+1]) |
|
uint8_t | getCalculatedPrescale (uint32_t calculatedClockFrequency, float targetUpdateFrequency) |
|
uint16_t | getCalibratedSteps (uint8_t chip, uint16_t targetLength) |
|
float | getCalculatedResolution (uint8_t chip) |
|
void | setPWMFull (uint16_t servoChannel) |
|
void | setPWMOff (uint16_t servoChannel) |
|
void | setPWM (uint16_t servoChannel, uint16_t on, uint16_t off) |
|
void | setPWM (uint16_t servoChannel, uint16_t targetLength) |
|
void | setPWMAll (uint16_t targetLength) |
|
void | setOutputAll (bool state) |
|
int | mapPulselength (double microseconds) |
|
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)) |
|