25 #ifndef ACE_SEGMENT_NUMBER_WRITER_H
26 #define ACE_SEGMENT_NUMBER_WRITER_H
29 #include "LedDisplay.h"
31 namespace ace_segment {
69 mLedDisplay(ledDisplay)
83 writeInternalHexCharAt(
89 for (uint8_t i = 0; i < len; ++i) {
96 uint8_t low = (b & 0x0F);
98 uint8_t high = (b & 0x0F);
100 writeInternalHexCharAt(pos++, high);
101 writeInternalHexCharAt(pos++, low);
106 uint8_t low = (w & 0xFF);
107 uint8_t high = (w >> 8) & 0xFF;
143 for (uint8_t i = pos; i < mLedDisplay.
getNumDigits(); ++i) {
154 void writeInternalHexCharAt(uint8_t pos,
hexchar_t c);
157 void writeInternalHexCharsAt(uint8_t pos,
const hexchar_t s[],
159 for (uint8_t i = 0; i < len; ++i) {
160 writeInternalHexCharAt(pos++, s[i]);
170 uint8_t writeHexCharsInsideBoxAt(
189 uint8_t toDecimal(uint16_t num,
hexchar_t buf[], uint8_t bufSize) {
190 uint8_t pos = bufSize;
196 uint16_t quot = num / 10;
197 buf[--pos] = num - quot * 10;
207 LedDisplay& mLedDisplay;