 |
Serial Wombat Arduino Library
|
Go to the documentation of this file.
115 int16_t
begin(uint8_t
pin, uint8_t numberOfLEDs, uint16_t userBufferIndex)
118 _numLEDS = numberOfLEDs;
119 _userBufferIndex = userBufferIndex;
121 uint8_t tx[8] = { 200,
_pin,12,
SW_LE16(userBufferIndex),_numLEDS,0x55 };
131 int16_t
write(uint8_t led, uint32_t color)
133 uint8_t tx[8] = { 201,
_pin,12,led,
SW_LE32(color) };
139 int16_t
write(uint8_t led, int16_t color)
141 return write(led, (uint32_t)color);
145 int16_t
write(uint8_t led, int32_t color)
147 return write(led, (uint32_t)color);
158 int16_t
write(uint8_t led, uint8_t length, uint32_t colors[])
160 for (
int i = 0; i < length; ++i)
163 write(led + i, colors[i]);
184 uint8_t tx[8] = { 203,
_pin,12,frame,led,(uint8_t)((color >>16 ) & 0xFF),(uint8_t)((color >> 8) & 0xFF),(uint8_t)( color & 0xFF) };
209 for (
int i = 0; i < _numLEDS; ++i)
230 uint8_t tx[8] = { 205,
_pin,12,frame,
SW_LE16(delay_mS),0x55,0x55 };
243 uint8_t tx[8] = { 204,
_pin,12,
SW_LE16(index),numberOfFrames,0x55,0x55 };
255 uint8_t tx[8] = { 202,
_pin,12,_numLEDS,0x55,0x55,0x55,0x55 };
260 return (rx[3] + rx[4] * 256);
277 uint8_t tx[8] = { 206,
_pin,12,(uint8_t)mode,0x55,0x55,0x55,0x55 };
290 int16_t
barGraph(uint8_t sourcePin, uint32_t offRGB, uint32_t onRGB, uint16_t min, uint16_t max)
292 uint8_t tx[8] = { 206,
_pin,12,3,sourcePin,0x55,0x55,0x55 };
294 result =
_sw.
sendPacket(tx);
if (result < 0) {
return result; }
295 result =
write(0, offRGB);
if (result < 0) {
return result; }
296 result =
write(1, onRGB);
if (result < 0) {
return result; }
304 uint8_t _numLEDS = 0;
305 uint16_t _userBufferIndex=0;
Class for a Serial Wombat chip. Each Serial Wombat chip on a project should have its own instance.
Definition: SerialWombat.h:279
@ ws2812ModeChase
A single lit LED cycles through all of the LEDs.
Definition: SerialWombatWS2812.h:30
SWWS2812Mode
Definition: SerialWombatWS2812.h:27
int16_t write(uint8_t led, uint8_t length, uint32_t colors[])
Definition: SerialWombatWS2812.h:158
@ ws2812ModeBuffered
Standard buffered mode. Colors are uploaded by the host.
Definition: SerialWombatWS2812.h:28
int16_t writeAnimationLED(uint8_t frame, uint8_t led, uint32_t color)
Definition: SerialWombatWS2812.h:182
SerialWombatChip & _sw
Definition: SerialWombat.h:1566
int16_t write(uint8_t led, uint32_t color)
Set an LED color.
Definition: SerialWombatWS2812.h:131
int16_t writeAnimationLED(uint8_t frame, uint8_t led, int32_t color)
An overload color is interpreted as an int32_t rather than uint32_t.
Definition: SerialWombatWS2812.h:195
int16_t barGraph(uint8_t sourcePin, uint32_t offRGB, uint32_t onRGB, uint16_t min, uint16_t max)
Display a bargraph using the configured ws2812 class.
Definition: SerialWombatWS2812.h:290
int16_t writeAnimationLED(uint8_t frame, uint8_t led, int16_t color)
An overload color is interpreted as an int16_t rather than uint32_t.
Definition: SerialWombatWS2812.h:189
int16_t writeAnimationUserBufferIndex(uint16_t index, uint8_t numberOfFrames)
set the location in UserBuffer where the animation array will be stored and number of frames
Definition: SerialWombatWS2812.h:241
int16_t writeAnimationFrame(uint8_t frame, uint32_t colors[])
Store an array of colors for an entire animation frame.
Definition: SerialWombatWS2812.h:207
#define SW_LE32(_a)
Convert a uint32_t to four bytes in little endian format for array initialization.
Definition: SerialWombat.h:44
@ ws2812ModeAnimation
Multiple arrays with delays are uploaded by the host and displayed over time by the Serial Wombat chi...
Definition: SerialWombatWS2812.h:29
int16_t write(uint8_t led, int16_t color)
An overload for Write in case write(x,0); is interpreted as an int16_t rather than uint32_t.
Definition: SerialWombatWS2812.h:139
Describes a Serial Wombat Pin. Is base class for other pin modes.
Definition: SerialWombat.h:1470
int sendPacket(uint8_t tx[], uint8_t rx[])
Send an 8 byte packet to the Serial Wombat chip and wait for 8 bytes back.
Definition: SerialWombat.cpp:139
SerialWombatWS2812(SerialWombatChip &serialWombat)
Constructor for SerialWombatWS2812 class.
Definition: SerialWombatWS2812.h:95
A Class representing a WS2812 or compatible RGB LED string connected to a Serial Wombat pin.
Definition: SerialWombatWS2812.h:88
uint8_t pin()
Returns the current SW pin number. Used primarily for virtual calls by derived classes.
Definition: SerialWombat.h:1553
uint8_t _pin
Definition: SerialWombat.h:1565
int16_t write(uint8_t led, int32_t color)
An overload for Write in case write(x,0); is interpreted as an int32_t rather than uint32_t.
Definition: SerialWombatWS2812.h:145
int16_t writeMode(SWWS2812Mode mode)
Sets the mode of the WS2812 LED Driver.
Definition: SerialWombatWS2812.h:275
int16_t readBufferSize()
returns the number of bytes of UserBuffer required to service the configured number of LEDs
Definition: SerialWombatWS2812.h:253
#define SW_LE16(_a)
Convert a uint16_t to two bytes in little endian format for array initialization.
Definition: SerialWombat.h:41
int16_t begin(uint8_t pin, uint8_t numberOfLEDs, uint16_t userBufferIndex)
Initialize a WS2812 LED driver object.
Definition: SerialWombatWS2812.h:115
int16_t writeAnimationFrameDelay(uint8_t frame, uint16_t delay_mS)
Set how long an animation frame should be displayed before moving to the next frame.
Definition: SerialWombatWS2812.h:228