|
| | SerialWombatCharlieplex (SerialWombatChip &serialWombat) |
| | Constructor for the SerialWombatCharlieplex class.
|
| |
| int16_t | begin (uint8_t pin0, uint8_t pin1, uint8_t pin2, uint8_t pin3, uint8_t pin4, uint8_t pin5=UNUSED_PIN, uint8_t pin6=UNUSED_PIN, uint8_t pin7=UNUSED_PIN, displayMode_t displayMode=DISPLAY_MODE_BITMAP, uint8_t scanPeriod_mS=0) |
| | Initialize a Charlieplexed LED display.
|
| |
| int16_t | writeLEDArray (const uint8_t ledArray[BITMAP_BYTES]) |
| | Write the complete LED bitmap from an array of bytes.
|
| |
| int16_t | setLEDs (uint8_t led0, uint8_t led1=UNUSED_LED, uint8_t led2=UNUSED_LED, uint8_t led3=UNUSED_LED, uint8_t led4=UNUSED_LED) |
| | Set up to five logical LEDs in bitmap display mode.
|
| |
| int16_t | setLEDs (const uint8_t ledIndexes[], uint8_t count) |
| | Set up to five logical LEDs from an array.
|
| |
| int16_t | clearLEDs (uint8_t led0, uint8_t led1=UNUSED_LED, uint8_t led2=UNUSED_LED, uint8_t led3=UNUSED_LED, uint8_t led4=UNUSED_LED) |
| | Clear up to five logical LEDs in bitmap display mode.
|
| |
| int16_t | clearLEDs (const uint8_t ledIndexes[], uint8_t count) |
| | Clear up to five logical LEDs from an array.
|
| |
| int16_t | clearLEDs () |
| | Turn off all LEDs in bitmap display mode.
|
| |
| int16_t | writeLookupEntries (uint8_t firstLEDIndex, uint8_t entry0, uint8_t entry1, uint8_t entry2, uint8_t entry3) |
| | Write four consecutive logical LED lookup entries.
|
| |
| int16_t | writeLookupTable (const uint8_t lookupTable[MAX_LEDS]) |
| | Write all 56 logical LED lookup entries.
|
| |
| uint8_t | pin () |
| | Fulfills a virtual function requirement of SerialWombatAbstractScaledOutput.
|
| |
| uint8_t | swPinModeNumber () |
| | Fulfills a virtual function requirement of SerialWombatAbstractScaledOutput.
|
| |
| | 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.
|
| |
| | 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.
|
| |
A class representing a Serial Wombat Charlieplexed LED display.
The Charlieplex pin mode uses between 2 and 8 Serial Wombat pins to control up to N * (N - 1) LEDs, for a maximum of 56 LEDs with 8 pins. One LED is driven during each approximately 1 ms Serial Wombat execution frame.
The first pin in the pins array is the controlling pin. Its public data is used by display modes that consume public data. The second pin is also used by the firmware to store the customizable 56-byte logical LED lookup table.
Each lookup-table byte contains two logical pin indexes:
- Bits 7:4: logical pin index driven high
- Bits 3:0: logical pin index driven low
The class inherits SerialWombatAbstractScaledOutput. Scaled-output functions are useful with DISPLAY_MODE_SCALED_SINGLE_LED and DISPLAY_MODE_SCALED_BARGRAPH.
Definition at line 52 of file SerialWombatCharlieplex.h.