6 #include "MAX7219_Base.hpp"
23 0b00000000, 0b01110111, 0b00011111, 0b01001110,
24 0b00111101, 0b01001111, 0b01000111, 0b01011110,
25 0b00010111, 0b00110000, 0b00111100, 0b00000111,
26 0b00001110, 0b01110110, 0b00010101, 0b00011101,
27 0b01100111, 0b01110011, 0b00000101, 0b01011011,
28 0b00001111, 0b00011100, 0b00100111, 0b00111110,
29 0b00110111, 0b00111011, 0b01101101, 0b01001110,
30 0b00010011, 0b01111000, 0b01100010, 0b00001000,
31 0b00000000, 0b00000000, 0b00100010, 0b01100011,
32 0b01011011, 0b01100111, 0b01111101, 0b00000010,
33 0b01001110, 0b01111000, 0b01100011, 0b00110001,
34 0b00000100, 0b00000001, 0b00001000, 0b00100101,
35 0b01111110, 0b00110000, 0b01101101, 0b01111001,
36 0b00110011, 0b01011011, 0b01011111, 0b01110000,
37 0b01111111, 0b01111011, 0b00000000, 0b01000100,
38 0b00110001, 0b00001001, 0b00000111, 0b01100101,
78 sendRaw((digit % 8) + 1, value, digit / 8);
107 int16_t
display(
long number, int16_t startDigit = 0,
108 int16_t endDigit = -1) {
110 startDigit += getNumberOfDigits();
112 endDigit += getNumberOfDigits();
113 unsigned long anumber = abs(number);
114 int16_t i = startDigit;
118 }
while (anumber && i <= endDigit);
119 if (number < 0 && i <= endDigit) {
120 sendDigit(i++, 0b00000001);
123 for (int16_t i = startDigit; i <= endDigit;)
124 sendDigit(i++, 0b00000001);
127 while (i <= endDigit)
128 sendDigit(i++, 0b00000000);
130 return endDigit - startDigit;
134 int16_t
display(
int number, int16_t startDigit = 0, int16_t endDigit = -1) {
135 return display(
long(number), startDigit, endDigit);
158 int16_t
display(
unsigned long number, int16_t startDigit = 0,
159 int16_t endDigit = -1) {
161 startDigit += getNumberOfDigits();
163 endDigit += getNumberOfDigits();
164 int16_t i = startDigit;
168 }
while (number && i <= endDigit);
170 for (int16_t i = startDigit; i <= endDigit;)
171 sendDigit(i++, 0b00000001);
174 while (i <= endDigit)
175 sendDigit(i++, 0b00000000);
177 return endDigit - startDigit;
181 int16_t
display(
unsigned int number, int16_t startDigit = 0,
182 int16_t endDigit = -1) {
183 return display((
unsigned long)(number), startDigit, endDigit);
196 int16_t
display(
const char *text, int16_t startPos = 0) {
198 startPos += getNumberOfDigits();
199 int16_t i = getNumberOfDigits() - startPos;
201 while (*text && (i > 0 || *text ==
'.')) {
206 sendDigit(i, prevD | 0b10000000);
210 sendDigit(--i, 0b10000000);
213 }
else if (c >=
'@' && c <=
'_')
215 else if (c >=
'!' && c <=
'?')
217 else if (c >=
'a' && c <=
'z')
222 return getNumberOfDigits() - i - startPos;
235 digit += getNumberOfDigits();
237 uint8_t c = value >= 0x0A
261 int16_t
displayHex(
unsigned long number, int16_t startDigit = 0,
262 int16_t endDigit = -1) {
264 startDigit += getNumberOfDigits();
266 endDigit += getNumberOfDigits();
267 int16_t i = startDigit;
269 printHexChar(i++, uint8_t(number));
271 }
while (number && i <= endDigit);
273 for (int16_t i = startDigit; i <= endDigit;)
274 sendDigit(i++, 0b00000001);
277 while (i <= endDigit)
278 sendDigit(i++, 0b00000000);
280 return endDigit - startDigit;