26 #include "LedMatrixDirect.h" 32 void LedMatrixDirect::setGroupPins(
const uint8_t* groupPins) {
33 mGroupPins = groupPins;
38 void LedMatrixDirect::setElementPins(
const uint8_t* elementPins) {
39 mElementPins = elementPins;
42 void LedMatrixDirect::configure() {
43 LedMatrix::configure();
45 for (uint8_t group = 0; group < mNumGroups; group++) {
46 uint8_t digitalPin = mGroupPins[group];
47 mHardware->
pinMode(digitalPin, OUTPUT);
50 for (uint8_t element = 0; element < mNumElements; element++) {
51 uint8_t elementPin = mElementPins[element];
52 mHardware->
pinMode(elementPin, OUTPUT);
57 void LedMatrixDirect::enableGroup(uint8_t group) {
58 writeGroupPin(group, mGroupOn);
61 void LedMatrixDirect::disableGroup(uint8_t group) {
62 writeGroupPin(group, mGroupOff);
65 void LedMatrixDirect::drawElements(uint8_t pattern) {
66 uint8_t elementMask = 0x1;
67 for (uint8_t element = 0; element < mNumElements; element++) {
69 (pattern & elementMask) ? mElementOn : mElementOff;
70 writeElementPin(element, output);
virtual void pinMode(uint8_t pin, uint8_t mode)
Set pin mode.
virtual void digitalWrite(uint8_t pin, uint8_t value)
Write value to pin.