Serial Wombat Arduino Library
Loading...
Searching...
No Matches
SerialWombatPWM_18AB Class Reference

Extends the SerialWombatPWM class with SW18AB specific functionality, including SerialWombatAbstractScaledOutput. More...

#include <SerialWombatPWM.h>

Inheritance diagram for SerialWombatPWM_18AB:
Collaboration diagram for SerialWombatPWM_18AB:

Public Member Functions

 SerialWombatPWM_18AB (SerialWombatChip &serialWombat)
 
void writeFrequency_Hz (uint32_t frequency_Hz)
 Set the PWM frequency on a Serial Wombat 18AB chip's PWM.
 
void writePeriod_uS (uint32_t period_uS)
 Set the PWM period on a Serial Wombat 18AB chip's PWM.
 
uint8_t pin ()
 fulfills a virtual function requirement of SerialWombatAbstractScaledOutput
 
uint8_t swPinModeNumber ()
 fulfills a virtual function requirement of SerialWombatAbstractScaledOutput
 
- Public Member Functions inherited from SerialWombatPWM
 SerialWombatPWM (SerialWombatChip &serialWombat)
 Constructor for SerialWombatPWM class.
 
int16_t begin (uint8_t pin, uint16_t dutyCycle=0, bool invert=false)
 Initialize a pin that has been declared as PWM.
 
void writeDutyCycle (uint16_t dutyCycle)
 
- Public Member Functions inherited from SerialWombatPin
 SerialWombatPin (SerialWombatChip &serialWombatChip)
 Instantiates a Serial Wombat Pin.
 
 SerialWombatPin (SerialWombatChip &serialWombatChip, uint8_t pin)
 Instantiates a Serial Wombat Pin.
 
uint16_t readPublicData ()
 Read the 16 Bit public data associated with this pin.
 
void pinMode (uint8_t mode, bool pullDown=false, bool openDrain=false)
 Set pin to INPUT or OUTPUT, with options for pull Ups and open Drain settings.
 
void digitalWrite (uint8_t val)
 Set output pin High or Low.
 
int digitalRead ()
 Reads the state of the Pin.
 
uint16_t writePublicData (uint16_t value)
 Write a 16 bit value to this pin.
 
uint8_t pin ()
 Returns the current SW pin number. Used primarily for virtual calls by derived classes.
 
uint8_t swPinModeNumber ()
 Returns the Mode number. Used primarily by derived classes to populate packet data.
 
int16_t initPacketNoResponse (uint8_t packetNumber, uint8_t param0=0x55, uint8_t param1=0x55, uint8_t param2=0x55, uint8_t param3=0x55, uint8_t param4=0x55)
 
int16_t initPacketNoResponse (uint8_t packetNumber, uint16_t param0=0x55, uint8_t param1=0x55, uint8_t param2=0x55, uint8_t param3=0x55)
 
int16_t initPacketNoResponse (uint8_t packetNumber, uint16_t param0, uint16_t param1, uint8_t param2=0x55)
 
int16_t disable ()
 Disables the pin mode (if applicable)
 
int16_t enablePullup (bool enabled)
 Enables the weak pull up on a pin. Implemented on SW18AB only.
 
int16_t enablePullDown (bool enabled)
 Enables the weak pull down on a pin. Implemented on SW18AB only.
 
int16_t enableOpenDrain (bool enabled)
 Enables open drain mode on a pin. Implemented on SW18AB only.
 
- Public Member Functions inherited from SerialWombatAbstractScaledOutput
 SerialWombatAbstractScaledOutput (SerialWombatChip &sw)
 Constructor for the SerialWombatAbstractScaledOutput Class.
 
int16_t writeTimeout (uint16_t timeout_mS, uint16_t timeoutOutputValue)
 Enable a timeout value which will cause the output to go to a default value if not updated.
 
int16_t writeScalingEnabled (bool enabled, uint8_t sourcePin)
 Enable scaling and set which pin or public data is used as the input source.
 
int16_t writeInputScaling (uint16_t inputMin, uint16_t inputMax)
 Scale incoming values to a range of 0 to 65535.
 
int16_t writeOutputScaling (uint16_t outputMin, uint16_t outputMax)
 Reduces the output range from 0 to 65535 to user specified range.
 
int16_t writeScalingInvertedInput (bool inverted)
 if enabled subtract the input value from 65535 before doing any other processing.
 
int16_t writeScalingTargetValue (uint16_t target)
 The target input value for PID control.
 
int16_t writeRateControl (Period samplePeriod, uint16_t maximumChangecounts)
 
int16_t write1stOrderFiltering (Period sampleRate, uint16_t filterConstant)
 
int16_t writeHysteresis (uint16_t lowLimit, uint16_t lowOutputValue, uint16_t highLimit, uint16_t highOutputValue, uint16_t initialOutputValue)
 Controls the output based on hystersis control.
 
int16_t writeRamp (uint16_t slowIncrement, uint16_t incrementThreshold, uint16_t fastIncrement, Period samplePeriod, RampMode rampMode)
 Configure the scaled output block into Ramp control mode.
 
int16_t writePID (uint16_t kp, uint16_t ki, uint16_t kd, uint16_t target, Period samplePeriod, uint8_t targetPin=255, bool biDirectional=false)
 Configure the scaled output block into PID control mode.
 
uint16_t readLastOutputValue ()
 Request Last Output Value.
 
int16_t writeScalingTargetValueResetIntegrator (uint16_t target)
 
int32_t PIDGetLastError ()
 
int32_t PIDGetLastIntegrator ()
 
int32_t PIDGetLastIntegratorEffort ()
 
int32_t PIDGetLastProportionalEffort ()
 
int32_t PIDGetLastDerivativeEffort ()
 
int32_t PIDGetLastEffort ()
 
uint16_t ReadLastTarget ()
 
int16_t Enable2DLookupOutputScaling (uint16_t IndexInUserMemory)
 Set Up 2D Lookup Output Scaling.
 

Additional Inherited Members

- Public Types inherited from SerialWombatAbstractScaledOutput
enum  Period {
  PERIOD_1mS = 0 , PERIOD_2mS = 1 , PERIOD_4mS = 2 , PERIOD_8mS = 3 ,
  PERIOD_16mS = 4 , PERIOD_32mS = 5 , PERIOD_64mS = 6 , PERIOD_128mS = 7 ,
  PERIOD_256mS = 8 , PERIOD_512mS = 9 , PERIOD_1024mS = 10
}
 
enum  RampMode { RAMP_MODE_BOTH = 0 , RAMP_MODE_INCREMENT = 1 , RAMP_MODE_DECREMENT = 2 }
 
- Protected Attributes inherited from SerialWombatPin
uint8_t _pin = 255
 
SerialWombatChip_sw
 
uint8_t _pinMode = 0
 

Detailed Description

Extends the SerialWombatPWM class with SW18AB specific functionality, including SerialWombatAbstractScaledOutput.

Definition at line 148 of file SerialWombatPWM.h.

Constructor & Destructor Documentation

◆ SerialWombatPWM_18AB()

SerialWombatPWM_18AB::SerialWombatPWM_18AB ( SerialWombatChip & serialWombat)
inline

Definition at line 151 of file SerialWombatPWM.h.

Member Function Documentation

◆ pin()

uint8_t SerialWombatPWM_18AB::pin ( )
inlinevirtual

fulfills a virtual function requirement of SerialWombatAbstractScaledOutput

Returns
current pin number

Implements SerialWombatAbstractScaledOutput.

Definition at line 185 of file SerialWombatPWM.h.

◆ swPinModeNumber()

uint8_t SerialWombatPWM_18AB::swPinModeNumber ( )
inlinevirtual

fulfills a virtual function requirement of SerialWombatAbstractScaledOutput

Returns
current pin mode number

Implements SerialWombatAbstractScaledOutput.

Definition at line 193 of file SerialWombatPWM.h.

◆ writeFrequency_Hz()

void SerialWombatPWM_18AB::writeFrequency_Hz ( uint32_t frequency_Hz)
inline

Set the PWM frequency on a Serial Wombat 18AB chip's PWM.

Parameters
frequency_HzFrequency in Hz. Note that actual frequency may vary based on hardware capabilities of the pin.

Definition at line 159 of file SerialWombatPWM.h.

◆ writePeriod_uS()

void SerialWombatPWM_18AB::writePeriod_uS ( uint32_t period_uS)
inline

Set the PWM period on a Serial Wombat 18AB chip's PWM.

Parameters
period_uSPeriod in microseconds. Note that actual period may vary based on hardware capabilities of the pin.

Definition at line 175 of file SerialWombatPWM.h.