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];
72 uint8_t T_SUBFIELDS = 1,
73 typename T_CI = ClockInterface
76 LedMatrixDualHc595<T_SPII>,
109 const T_SPII& spiInterface,
110 uint8_t segmentOnPattern,
111 uint8_t digitOnPattern,
112 uint8_t framesPerSecond,
114 const uint8_t* remapArray =
nullptr
116 Super(mLedMatrix, framesPerSecond),
122 remapArray ? mRemapArrayInverted : nullptr
127 internal::invertRemapArray(mRemapArrayInverted, remapArray, T_DIGITS);
142 LedMatrixDualHc595<T_SPII> mLedMatrix;
145 uint8_t mRemapArrayInverted[T_DIGITS];