26 #include "LedMatrixSerial.h" 35 mHardware->
pinMode(mLatchPin, OUTPUT);
36 mHardware->
pinMode(mDataPin, OUTPUT);
37 mHardware->
pinMode(mClockPin, OUTPUT);
39 for (uint8_t group = 0; group < mNumGroups; group++) {
40 uint8_t pin = mGroupPins[group];
41 mHardware->
pinMode(pin, OUTPUT);
47 mHardware->
pinMode(mLatchPin, INPUT);
48 mHardware->
pinMode(mDataPin, INPUT);
49 mHardware->
pinMode(mClockPin, INPUT);
51 for (uint8_t group = 0; group < mNumGroups; group++) {
52 uint8_t pin = mGroupPins[group];
57 void LedMatrixSerial::enableGroup(uint8_t group) {
61 void LedMatrixSerial::disableGroup(uint8_t group) {
65 void LedMatrixSerial::drawElements(uint8_t pattern) {
67 uint8_t actualPattern = (mElementOn == HIGH) ? pattern : ~pattern;
68 mHardware->
shiftOut(mDataPin, mClockPin, MSBFIRST, actualPattern);
73 uint8_t groupPin = mGroupPins[group];
virtual void configure() override
Configure the pins for the given LED wiring.
virtual void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t value)
Shift out.
virtual void pinMode(uint8_t pin, uint8_t mode)
Set pin mode.
virtual void configure()
Configure the pins for the given LED wiring.
virtual void digitalWrite(uint8_t pin, uint8_t value)
Write value to pin.
virtual void finish() override
Turn off the pins by doing the opposite of configure().
void writeGroupPin(uint8_t group, uint8_t output)
Write to group pin identified by 'group'.