25 #ifndef ACE_SEGMENT_HC595_MODULE_H
26 #define ACE_SEGMENT_HC595_MODULE_H
28 #include "../hw/remap.h"
29 #include "../scanning/ScanningModule.h"
30 #include "../scanning/LedMatrixDualHc595.h"
32 namespace ace_segment {
35 const uint8_t kByteOrderDigitHighSegmentLow = kByteOrderGroupHighElementLow;
38 const uint8_t kByteOrderSegmentHighDigitLow = kByteOrderElementHighGroupLow;
52 extern const uint8_t kDigitRemapArray8Hc595[8];
70 uint8_t T_SUBFIELDS = 1,
71 typename T_CI = ClockInterface
74 LedMatrixDualHc595<T_SPII>,
107 const T_SPII& spiInterface,
108 uint8_t segmentOnPattern,
109 uint8_t digitOnPattern,
110 uint8_t framesPerSecond,
112 const uint8_t* remapArray =
nullptr
114 Super(mLedMatrix, framesPerSecond),
120 remapArray ? mRemapArrayInverted : nullptr
125 internal::invertRemapArray(mRemapArrayInverted, remapArray, T_DIGITS);
140 LedMatrixDualHc595<T_SPII> mLedMatrix;
143 uint8_t mRemapArrayInverted[T_DIGITS];