Serial Wombat Arduino Library

Loading...
Searching...
No Matches
Public Member Functions | List of all members
SerialWombatPWM_18AB Class Reference

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

`#include <SerialWombatPWM.h>`

Inheritance diagram for SerialWombatPWM_18AB:
[legend]
Collaboration diagram for SerialWombatPWM_18AB:
[legend]

## 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 and SW8B only.
int16_t | enablePulldown (bool enabled)
| Enables the weak pull down on a pin. Implemented on SW18AB and SW8B only.
int16_t | enableOpenDrain (bool enabled)
| Enables open drain mode on a pin. Implemented on SW18AB and SW8B only.
int16_t | forceDMA (bool enabled)
| Forces use of DMA instead of hardware timing resources on SW18AB.
void | setPinNumberForTesting (uint8_t pin)
| A function designed for testing only. May have unpredictable results if used in real time. Not intended for general use.
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, uint16_t maximumDecrementCounts=0)
| Controls how fast an ouput can change in counts.
int16_t | write1stOrderFiltering (Period samplePeriod, uint16_t filterConstant)
| Controls how fast an ouput can change based on filtering.
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 | ( |  | ) |
| inline virtual

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 | ( |  | ) |
| inline virtual

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_Hz | Frequency 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_uS | Period in microseconds. Note that actual period may vary based on hardware capabilities of the pin.

Definition at line 175 of file SerialWombatPWM.h.