#include <iostream>
uint8_t format = 0; // format of the values in the generated array : 0 = bin, 1 = hex, 2 = dec
uint8_t digits[10][35] = {
{ 14, 26, 38, 50, 3, 15, 51, 63, 4, 40, 64, 5, 29, 41, 65, 6, 42, 66, 7, 31, 67, 8, 32, 44, 68, 9, 33, 69, 10, 70, 23, 35, 47, 59 },
{ 26, 38, 50, 15, 51, 4, 52, 5, 17, 29, 53, 18, 54, 19, 55, 20, 56, 9, 21, 57, 69, 10, 70, 11, 23, 35, 47, 59, 71 },
{ 14, 26, 38, 50, 3, 63, 4, 16, 28, 64, 29, 65, 18, 54, 7, 43, 8, 32, 44, 56, 68, 9, 69, 10, 70, 11, 23, 35, 47, 59 },
{ 14, 26, 38, 50, 3, 63, 4, 16, 28, 64, 29, 65, 18, 54, 19, 55, 8, 20, 32, 68, 9, 69, 10, 70, 23, 35, 47, 59 },
{ 26, 38, 50, 27, 51, 16, 52, 17, 53, 6, 42, 66, 7, 67, 8, 20, 32, 44, 68, 45, 69, 46, 70, 47, 59, 71 },
{ 2, 14, 26, 38, 50, 62, 3, 63, 4, 64, 5, 29, 41, 53, 6, 42, 19, 55, 32, 68, 9, 21, 33, 69, 10, 70, 23, 35, 47, 59 },
{ 26, 38, 50, 62, 15, 63, 16, 52, 64, 5, 41, 6, 42, 54, 7, 67, 8, 32, 68, 9, 33, 45, 69, 10, 70, 23, 35, 47, 59 },
{ 2, 14, 26, 38, 50, 62, 3, 63, 4, 16, 28, 40, 64, 41, 65, 42, 66, 31, 67, 32, 56, 21, 57, 22, 46, 23, 35, 47 },
{ 14, 26, 38, 50, 3, 63, 4, 28, 40, 64, 5, 41, 65, 18, 54, 7, 67, 8, 32, 44, 68, 9, 45, 69, 10, 70, 23, 35, 47, 59 },
{ 14, 26, 38, 50, 3, 63, 4, 28, 40, 64, 5, 41, 65, 6, 66, 19, 31, 67, 32, 68, 9, 21, 57, 10, 58, 11, 23, 35, 47 }
};
uint8_t digits_optimized[10][9];
int main()
{
// generate digits_optimized
for ( uint8_t i = 0; i < 10; i++ )
{
// sort array, just for a better visualization
for ( uint8_t j = 0; j < 34; j++ )
{
for ( uint8_t k = j + 1; k < 35; k++ )
{
if ( digits[i][j] > digits[i][k] )
{
uint8_t temp = digits[i][j];
digits[i][j] = digits[i][k];
digits[i][k] = temp;
}
}
}
printf( "digit %hhu :\n", i );
for ( uint8_t j = 0; j < 35; j++ )
{
uint8_t ledId = digits[i][j];
if ( ledId != 0 )
{
uint8_t byteId = ledId / 8;
uint8_t bitId = ledId % 8;
printf( "ledId = %2hhu -> byteId = %hhu, bitId = %hhu\n", ledId, byteId, bitId );
digits_optimized[i][byteId] |= 1 << bitId;
}
}
printf( "\n" );
}
// print array
printf( "const uint8_t digits[][9] PROGMEM =\n{\n" );
for ( uint8_t i = 0; i < 10; i++ )
{
printf( "\t{ " );
for ( uint8_t j = 0; j < 9; j++ )
{
if ( format == 0 )
{
printf( "0b" );
for ( int8_t k = 7; k >= 0; k-- )
{
printf( "%hhu", ( digits_optimized[i][j] >> k ) & 1 );
}
}
else
{
printf( format == 1 ? "0x%02X" : "%3hhu", digits_optimized[i][j] );
}
if ( j != 8 )
{
printf( ", " );
}
}
printf( " }" );
if ( i != 9 )
{
printf( "," );
}
printf( "\n" );
}
printf( "};" );
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdWludDhfdCBmb3JtYXQgPSAwOyAvLyBmb3JtYXQgb2YgdGhlIHZhbHVlcyBpbiB0aGUgZ2VuZXJhdGVkIGFycmF5IDogMCA9IGJpbiwgMSA9IGhleCwgMiA9IGRlYwoKdWludDhfdCBkaWdpdHNbMTBdWzM1XSA9IHsKCiAgeyAxNCwgMjYsIDM4LCA1MCwgMywgMTUsIDUxLCA2MywgNCwgNDAsIDY0LCA1LCAyOSwgNDEsIDY1LCA2LCA0MiwgNjYsIDcsIDMxLCA2NywgOCwgMzIsIDQ0LCA2OCwgOSwgMzMsIDY5LCAxMCwgNzAsIDIzLCAzNSwgNDcsIDU5IH0sCgogIHsgMjYsIDM4LCA1MCwgMTUsIDUxLCA0LCA1MiwgNSwgMTcsIDI5LCA1MywgMTgsIDU0LCAxOSwgNTUsIDIwLCA1NiwgOSwgMjEsIDU3LCA2OSwgMTAsIDcwLCAxMSwgMjMsIDM1LCA0NywgNTksIDcxIH0sCgogIHsgMTQsIDI2LCAzOCwgNTAsIDMsIDYzLCA0LCAxNiwgMjgsIDY0LCAyOSwgNjUsIDE4LCA1NCwgNywgNDMsIDgsIDMyLCA0NCwgNTYsIDY4LCA5LCA2OSwgMTAsIDcwLCAxMSwgMjMsIDM1LCA0NywgNTkgfSwKCiAgeyAxNCwgMjYsIDM4LCA1MCwgMywgNjMsIDQsIDE2LCAyOCwgNjQsIDI5LCA2NSwgMTgsIDU0LCAxOSwgNTUsIDgsIDIwLCAzMiwgNjgsIDksIDY5LCAxMCwgNzAsIDIzLCAzNSwgNDcsIDU5IH0sCgogIHsgMjYsIDM4LCA1MCwgMjcsIDUxLCAxNiwgNTIsIDE3LCA1MywgNiwgNDIsIDY2LCA3LCA2NywgOCwgMjAsIDMyLCA0NCwgNjgsIDQ1LCA2OSwgNDYsIDcwLCA0NywgNTksIDcxIH0sCgogIHsgMiwgMTQsIDI2LCAzOCwgNTAsIDYyLCAzLCA2MywgNCwgNjQsIDUsIDI5LCA0MSwgNTMsIDYsIDQyLCAxOSwgNTUsIDMyLCA2OCwgOSwgMjEsIDMzLCA2OSwgMTAsIDcwLCAyMywgMzUsIDQ3LCA1OSB9LAoKICB7IDI2LCAzOCwgNTAsIDYyLCAxNSwgNjMsIDE2LCA1MiwgNjQsIDUsIDQxLCA2LCA0MiwgNTQsIDcsIDY3LCA4LCAzMiwgNjgsIDksIDMzLCA0NSwgNjksIDEwLCA3MCwgMjMsIDM1LCA0NywgNTkgfSwKCiAgeyAyLCAxNCwgMjYsIDM4LCA1MCwgNjIsIDMsIDYzLCA0LCAxNiwgMjgsIDQwLCA2NCwgNDEsIDY1LCA0MiwgNjYsIDMxLCA2NywgMzIsIDU2LCAyMSwgNTcsIDIyLCA0NiwgMjMsIDM1LCA0NyB9LAoKICB7IDE0LCAyNiwgMzgsIDUwLCAzLCA2MywgNCwgMjgsIDQwLCA2NCwgNSwgNDEsIDY1LCAxOCwgNTQsIDcsIDY3LCA4LCAzMiwgNDQsIDY4LCA5LCA0NSwgNjksIDEwLCA3MCwgMjMsIDM1LCA0NywgNTkgfSwKCiAgeyAxNCwgMjYsIDM4LCA1MCwgMywgNjMsIDQsIDI4LCA0MCwgNjQsIDUsIDQxLCA2NSwgNiwgNjYsIDE5LCAzMSwgNjcsIDMyLCA2OCwgOSwgMjEsIDU3LCAxMCwgNTgsIDExLCAyMywgMzUsIDQ3IH0KCn07Cgp1aW50OF90IGRpZ2l0c19vcHRpbWl6ZWRbMTBdWzldOwoKCmludCBtYWluKCkKewoJLy8gZ2VuZXJhdGUgZGlnaXRzX29wdGltaXplZAoJZm9yICggdWludDhfdCBpID0gMDsgaSA8IDEwOyBpKysgKQoJewoJCS8vIHNvcnQgYXJyYXksIGp1c3QgZm9yIGEgYmV0dGVyIHZpc3VhbGl6YXRpb24KCQlmb3IgKCB1aW50OF90IGogPSAwOyBqIDwgMzQ7IGorKyApCgkJewoJCQlmb3IgKCB1aW50OF90IGsgPSBqICsgMTsgayA8IDM1OyBrKysgKQoJCQl7CgkJCQlpZiAoIGRpZ2l0c1tpXVtqXSA+IGRpZ2l0c1tpXVtrXSApCgkJCQl7CgkJCQkJdWludDhfdCB0ZW1wID0gZGlnaXRzW2ldW2pdOwoJCQkJCWRpZ2l0c1tpXVtqXSA9IGRpZ2l0c1tpXVtrXTsKCQkJCQlkaWdpdHNbaV1ba10gPSB0ZW1wOwoJCQkJfQoJCQl9CgkJfQoJCQoJCXByaW50ZiggImRpZ2l0ICVoaHUgOlxuIiwgaSApOwoJCQoJCWZvciAoIHVpbnQ4X3QgaiA9IDA7IGogPCAzNTsgaisrICkKCQl7CgkJCXVpbnQ4X3QgbGVkSWQgPSBkaWdpdHNbaV1bal07CgkJCQoJCQlpZiAoIGxlZElkICE9IDAgKQoJCQl7CgkJCQl1aW50OF90IGJ5dGVJZCA9IGxlZElkIC8gODsKCQkJCXVpbnQ4X3QgYml0SWQgPSBsZWRJZCAlIDg7CgkJCQlwcmludGYoICJsZWRJZCA9ICUyaGh1IC0+IGJ5dGVJZCA9ICVoaHUsIGJpdElkID0gJWhodVxuIiwgbGVkSWQsIGJ5dGVJZCwgYml0SWQgKTsKCQkJCWRpZ2l0c19vcHRpbWl6ZWRbaV1bYnl0ZUlkXSB8PSAxIDw8IGJpdElkOwoJCQl9CgkJfQoJCQoJCXByaW50ZiggIlxuIiApOwoJfQoJCgkvLyBwcmludCBhcnJheQoJcHJpbnRmKCAiY29uc3QgdWludDhfdCBkaWdpdHNbXVs5XSBQUk9HTUVNID1cbntcbiIgKTsKCQoJZm9yICggdWludDhfdCBpID0gMDsgaSA8IDEwOyBpKysgKQoJewoJCXByaW50ZiggIlx0eyAiICk7CgkJCgkJZm9yICggdWludDhfdCBqID0gMDsgaiA8IDk7IGorKyApCgkJewoJCQlpZiAoIGZvcm1hdCA9PSAwICkKCQkJewoJCQkJcHJpbnRmKCAiMGIiICk7CgkJCQkKCQkJCWZvciAoIGludDhfdCBrID0gNzsgayA+PSAwOyBrLS0gKQoJCQkJewoJCQkJCXByaW50ZiggIiVoaHUiLCAoIGRpZ2l0c19vcHRpbWl6ZWRbaV1bal0gPj4gayApICYgMSApOwoJCQkJfQoJCQl9CgkJCWVsc2UKCQkJewoJCQkJcHJpbnRmKCBmb3JtYXQgPT0gMSA/ICIweCUwMlgiIDogIiUzaGh1IiwgZGlnaXRzX29wdGltaXplZFtpXVtqXSApOwoJCQl9CgkJCQoJCQlpZiAoIGogIT0gOCApCgkJCXsKCQkJCXByaW50ZiggIiwgIiApOwoJCQl9CgkJfQoJCQoJCXByaW50ZiggIiB9IiApOwoJCQoJCWlmICggaSAhPSA5ICkKCQl7CgkJCXByaW50ZiggIiwiICk7CgkJfQoJCQoJCXByaW50ZiggIlxuIiApOwoJfQoJCglwcmludGYoICJ9OyIgKTsKCQoJcmV0dXJuIDA7Cn0=
digit 0 :
ledId = 3 -> byteId = 0, bitId = 3
ledId = 4 -> byteId = 0, bitId = 4
ledId = 5 -> byteId = 0, bitId = 5
ledId = 6 -> byteId = 0, bitId = 6
ledId = 7 -> byteId = 0, bitId = 7
ledId = 8 -> byteId = 1, bitId = 0
ledId = 9 -> byteId = 1, bitId = 1
ledId = 10 -> byteId = 1, bitId = 2
ledId = 14 -> byteId = 1, bitId = 6
ledId = 15 -> byteId = 1, bitId = 7
ledId = 23 -> byteId = 2, bitId = 7
ledId = 26 -> byteId = 3, bitId = 2
ledId = 29 -> byteId = 3, bitId = 5
ledId = 31 -> byteId = 3, bitId = 7
ledId = 32 -> byteId = 4, bitId = 0
ledId = 33 -> byteId = 4, bitId = 1
ledId = 35 -> byteId = 4, bitId = 3
ledId = 38 -> byteId = 4, bitId = 6
ledId = 40 -> byteId = 5, bitId = 0
ledId = 41 -> byteId = 5, bitId = 1
ledId = 42 -> byteId = 5, bitId = 2
ledId = 44 -> byteId = 5, bitId = 4
ledId = 47 -> byteId = 5, bitId = 7
ledId = 50 -> byteId = 6, bitId = 2
ledId = 51 -> byteId = 6, bitId = 3
ledId = 59 -> byteId = 7, bitId = 3
ledId = 63 -> byteId = 7, bitId = 7
ledId = 64 -> byteId = 8, bitId = 0
ledId = 65 -> byteId = 8, bitId = 1
ledId = 66 -> byteId = 8, bitId = 2
ledId = 67 -> byteId = 8, bitId = 3
ledId = 68 -> byteId = 8, bitId = 4
ledId = 69 -> byteId = 8, bitId = 5
ledId = 70 -> byteId = 8, bitId = 6
digit 1 :
ledId = 4 -> byteId = 0, bitId = 4
ledId = 5 -> byteId = 0, bitId = 5
ledId = 9 -> byteId = 1, bitId = 1
ledId = 10 -> byteId = 1, bitId = 2
ledId = 11 -> byteId = 1, bitId = 3
ledId = 15 -> byteId = 1, bitId = 7
ledId = 17 -> byteId = 2, bitId = 1
ledId = 18 -> byteId = 2, bitId = 2
ledId = 19 -> byteId = 2, bitId = 3
ledId = 20 -> byteId = 2, bitId = 4
ledId = 21 -> byteId = 2, bitId = 5
ledId = 23 -> byteId = 2, bitId = 7
ledId = 26 -> byteId = 3, bitId = 2
ledId = 29 -> byteId = 3, bitId = 5
ledId = 35 -> byteId = 4, bitId = 3
ledId = 38 -> byteId = 4, bitId = 6
ledId = 47 -> byteId = 5, bitId = 7
ledId = 50 -> byteId = 6, bitId = 2
ledId = 51 -> byteId = 6, bitId = 3
ledId = 52 -> byteId = 6, bitId = 4
ledId = 53 -> byteId = 6, bitId = 5
ledId = 54 -> byteId = 6, bitId = 6
ledId = 55 -> byteId = 6, bitId = 7
ledId = 56 -> byteId = 7, bitId = 0
ledId = 57 -> byteId = 7, bitId = 1
ledId = 59 -> byteId = 7, bitId = 3
ledId = 69 -> byteId = 8, bitId = 5
ledId = 70 -> byteId = 8, bitId = 6
ledId = 71 -> byteId = 8, bitId = 7
digit 2 :
ledId = 3 -> byteId = 0, bitId = 3
ledId = 4 -> byteId = 0, bitId = 4
ledId = 7 -> byteId = 0, bitId = 7
ledId = 8 -> byteId = 1, bitId = 0
ledId = 9 -> byteId = 1, bitId = 1
ledId = 10 -> byteId = 1, bitId = 2
ledId = 11 -> byteId = 1, bitId = 3
ledId = 14 -> byteId = 1, bitId = 6
ledId = 16 -> byteId = 2, bitId = 0
ledId = 18 -> byteId = 2, bitId = 2
ledId = 23 -> byteId = 2, bitId = 7
ledId = 26 -> byteId = 3, bitId = 2
ledId = 28 -> byteId = 3, bitId = 4
ledId = 29 -> byteId = 3, bitId = 5
ledId = 32 -> byteId = 4, bitId = 0
ledId = 35 -> byteId = 4, bitId = 3
ledId = 38 -> byteId = 4, bitId = 6
ledId = 43 -> byteId = 5, bitId = 3
ledId = 44 -> byteId = 5, bitId = 4
ledId = 47 -> byteId = 5, bitId = 7
ledId = 50 -> byteId = 6, bitId = 2
ledId = 54 -> byteId = 6, bitId = 6
ledId = 56 -> byteId = 7, bitId = 0
ledId = 59 -> byteId = 7, bitId = 3
ledId = 63 -> byteId = 7, bitId = 7
ledId = 64 -> byteId = 8, bitId = 0
ledId = 65 -> byteId = 8, bitId = 1
ledId = 68 -> byteId = 8, bitId = 4
ledId = 69 -> byteId = 8, bitId = 5
ledId = 70 -> byteId = 8, bitId = 6
digit 3 :
ledId = 3 -> byteId = 0, bitId = 3
ledId = 4 -> byteId = 0, bitId = 4
ledId = 8 -> byteId = 1, bitId = 0
ledId = 9 -> byteId = 1, bitId = 1
ledId = 10 -> byteId = 1, bitId = 2
ledId = 14 -> byteId = 1, bitId = 6
ledId = 16 -> byteId = 2, bitId = 0
ledId = 18 -> byteId = 2, bitId = 2
ledId = 19 -> byteId = 2, bitId = 3
ledId = 20 -> byteId = 2, bitId = 4
ledId = 23 -> byteId = 2, bitId = 7
ledId = 26 -> byteId = 3, bitId = 2
ledId = 28 -> byteId = 3, bitId = 4
ledId = 29 -> byteId = 3, bitId = 5
ledId = 32 -> byteId = 4, bitId = 0
ledId = 35 -> byteId = 4, bitId = 3
ledId = 38 -> byteId = 4, bitId = 6
ledId = 47 -> byteId = 5, bitId = 7
ledId = 50 -> byteId = 6, bitId = 2
ledId = 54 -> byteId = 6, bitId = 6
ledId = 55 -> byteId = 6, bitId = 7
ledId = 59 -> byteId = 7, bitId = 3
ledId = 63 -> byteId = 7, bitId = 7
ledId = 64 -> byteId = 8, bitId = 0
ledId = 65 -> byteId = 8, bitId = 1
ledId = 68 -> byteId = 8, bitId = 4
ledId = 69 -> byteId = 8, bitId = 5
ledId = 70 -> byteId = 8, bitId = 6
digit 4 :
ledId = 6 -> byteId = 0, bitId = 6
ledId = 7 -> byteId = 0, bitId = 7
ledId = 8 -> byteId = 1, bitId = 0
ledId = 16 -> byteId = 2, bitId = 0
ledId = 17 -> byteId = 2, bitId = 1
ledId = 20 -> byteId = 2, bitId = 4
ledId = 26 -> byteId = 3, bitId = 2
ledId = 27 -> byteId = 3, bitId = 3
ledId = 32 -> byteId = 4, bitId = 0
ledId = 38 -> byteId = 4, bitId = 6
ledId = 42 -> byteId = 5, bitId = 2
ledId = 44 -> byteId = 5, bitId = 4
ledId = 45 -> byteId = 5, bitId = 5
ledId = 46 -> byteId = 5, bitId = 6
ledId = 47 -> byteId = 5, bitId = 7
ledId = 50 -> byteId = 6, bitId = 2
ledId = 51 -> byteId = 6, bitId = 3
ledId = 52 -> byteId = 6, bitId = 4
ledId = 53 -> byteId = 6, bitId = 5
ledId = 59 -> byteId = 7, bitId = 3
ledId = 66 -> byteId = 8, bitId = 2
ledId = 67 -> byteId = 8, bitId = 3
ledId = 68 -> byteId = 8, bitId = 4
ledId = 69 -> byteId = 8, bitId = 5
ledId = 70 -> byteId = 8, bitId = 6
ledId = 71 -> byteId = 8, bitId = 7
digit 5 :
ledId = 2 -> byteId = 0, bitId = 2
ledId = 3 -> byteId = 0, bitId = 3
ledId = 4 -> byteId = 0, bitId = 4
ledId = 5 -> byteId = 0, bitId = 5
ledId = 6 -> byteId = 0, bitId = 6
ledId = 9 -> byteId = 1, bitId = 1
ledId = 10 -> byteId = 1, bitId = 2
ledId = 14 -> byteId = 1, bitId = 6
ledId = 19 -> byteId = 2, bitId = 3
ledId = 21 -> byteId = 2, bitId = 5
ledId = 23 -> byteId = 2, bitId = 7
ledId = 26 -> byteId = 3, bitId = 2
ledId = 29 -> byteId = 3, bitId = 5
ledId = 32 -> byteId = 4, bitId = 0
ledId = 33 -> byteId = 4, bitId = 1
ledId = 35 -> byteId = 4, bitId = 3
ledId = 38 -> byteId = 4, bitId = 6
ledId = 41 -> byteId = 5, bitId = 1
ledId = 42 -> byteId = 5, bitId = 2
ledId = 47 -> byteId = 5, bitId = 7
ledId = 50 -> byteId = 6, bitId = 2
ledId = 53 -> byteId = 6, bitId = 5
ledId = 55 -> byteId = 6, bitId = 7
ledId = 59 -> byteId = 7, bitId = 3
ledId = 62 -> byteId = 7, bitId = 6
ledId = 63 -> byteId = 7, bitId = 7
ledId = 64 -> byteId = 8, bitId = 0
ledId = 68 -> byteId = 8, bitId = 4
ledId = 69 -> byteId = 8, bitId = 5
ledId = 70 -> byteId = 8, bitId = 6
digit 6 :
ledId = 5 -> byteId = 0, bitId = 5
ledId = 6 -> byteId = 0, bitId = 6
ledId = 7 -> byteId = 0, bitId = 7
ledId = 8 -> byteId = 1, bitId = 0
ledId = 9 -> byteId = 1, bitId = 1
ledId = 10 -> byteId = 1, bitId = 2
ledId = 15 -> byteId = 1, bitId = 7
ledId = 16 -> byteId = 2, bitId = 0
ledId = 23 -> byteId = 2, bitId = 7
ledId = 26 -> byteId = 3, bitId = 2
ledId = 32 -> byteId = 4, bitId = 0
ledId = 33 -> byteId = 4, bitId = 1
ledId = 35 -> byteId = 4, bitId = 3
ledId = 38 -> byteId = 4, bitId = 6
ledId = 41 -> byteId = 5, bitId = 1
ledId = 42 -> byteId = 5, bitId = 2
ledId = 45 -> byteId = 5, bitId = 5
ledId = 47 -> byteId = 5, bitId = 7
ledId = 50 -> byteId = 6, bitId = 2
ledId = 52 -> byteId = 6, bitId = 4
ledId = 54 -> byteId = 6, bitId = 6
ledId = 59 -> byteId = 7, bitId = 3
ledId = 62 -> byteId = 7, bitId = 6
ledId = 63 -> byteId = 7, bitId = 7
ledId = 64 -> byteId = 8, bitId = 0
ledId = 67 -> byteId = 8, bitId = 3
ledId = 68 -> byteId = 8, bitId = 4
ledId = 69 -> byteId = 8, bitId = 5
ledId = 70 -> byteId = 8, bitId = 6
digit 7 :
ledId = 2 -> byteId = 0, bitId = 2
ledId = 3 -> byteId = 0, bitId = 3
ledId = 4 -> byteId = 0, bitId = 4
ledId = 14 -> byteId = 1, bitId = 6
ledId = 16 -> byteId = 2, bitId = 0
ledId = 21 -> byteId = 2, bitId = 5
ledId = 22 -> byteId = 2, bitId = 6
ledId = 23 -> byteId = 2, bitId = 7
ledId = 26 -> byteId = 3, bitId = 2
ledId = 28 -> byteId = 3, bitId = 4
ledId = 31 -> byteId = 3, bitId = 7
ledId = 32 -> byteId = 4, bitId = 0
ledId = 35 -> byteId = 4, bitId = 3
ledId = 38 -> byteId = 4, bitId = 6
ledId = 40 -> byteId = 5, bitId = 0
ledId = 41 -> byteId = 5, bitId = 1
ledId = 42 -> byteId = 5, bitId = 2
ledId = 46 -> byteId = 5, bitId = 6
ledId = 47 -> byteId = 5, bitId = 7
ledId = 50 -> byteId = 6, bitId = 2
ledId = 56 -> byteId = 7, bitId = 0
ledId = 57 -> byteId = 7, bitId = 1
ledId = 62 -> byteId = 7, bitId = 6
ledId = 63 -> byteId = 7, bitId = 7
ledId = 64 -> byteId = 8, bitId = 0
ledId = 65 -> byteId = 8, bitId = 1
ledId = 66 -> byteId = 8, bitId = 2
ledId = 67 -> byteId = 8, bitId = 3
digit 8 :
ledId = 3 -> byteId = 0, bitId = 3
ledId = 4 -> byteId = 0, bitId = 4
ledId = 5 -> byteId = 0, bitId = 5
ledId = 7 -> byteId = 0, bitId = 7
ledId = 8 -> byteId = 1, bitId = 0
ledId = 9 -> byteId = 1, bitId = 1
ledId = 10 -> byteId = 1, bitId = 2
ledId = 14 -> byteId = 1, bitId = 6
ledId = 18 -> byteId = 2, bitId = 2
ledId = 23 -> byteId = 2, bitId = 7
ledId = 26 -> byteId = 3, bitId = 2
ledId = 28 -> byteId = 3, bitId = 4
ledId = 32 -> byteId = 4, bitId = 0
ledId = 35 -> byteId = 4, bitId = 3
ledId = 38 -> byteId = 4, bitId = 6
ledId = 40 -> byteId = 5, bitId = 0
ledId = 41 -> byteId = 5, bitId = 1
ledId = 44 -> byteId = 5, bitId = 4
ledId = 45 -> byteId = 5, bitId = 5
ledId = 47 -> byteId = 5, bitId = 7
ledId = 50 -> byteId = 6, bitId = 2
ledId = 54 -> byteId = 6, bitId = 6
ledId = 59 -> byteId = 7, bitId = 3
ledId = 63 -> byteId = 7, bitId = 7
ledId = 64 -> byteId = 8, bitId = 0
ledId = 65 -> byteId = 8, bitId = 1
ledId = 67 -> byteId = 8, bitId = 3
ledId = 68 -> byteId = 8, bitId = 4
ledId = 69 -> byteId = 8, bitId = 5
ledId = 70 -> byteId = 8, bitId = 6
digit 9 :
ledId = 3 -> byteId = 0, bitId = 3
ledId = 4 -> byteId = 0, bitId = 4
ledId = 5 -> byteId = 0, bitId = 5
ledId = 6 -> byteId = 0, bitId = 6
ledId = 9 -> byteId = 1, bitId = 1
ledId = 10 -> byteId = 1, bitId = 2
ledId = 11 -> byteId = 1, bitId = 3
ledId = 14 -> byteId = 1, bitId = 6
ledId = 19 -> byteId = 2, bitId = 3
ledId = 21 -> byteId = 2, bitId = 5
ledId = 23 -> byteId = 2, bitId = 7
ledId = 26 -> byteId = 3, bitId = 2
ledId = 28 -> byteId = 3, bitId = 4
ledId = 31 -> byteId = 3, bitId = 7
ledId = 32 -> byteId = 4, bitId = 0
ledId = 35 -> byteId = 4, bitId = 3
ledId = 38 -> byteId = 4, bitId = 6
ledId = 40 -> byteId = 5, bitId = 0
ledId = 41 -> byteId = 5, bitId = 1
ledId = 47 -> byteId = 5, bitId = 7
ledId = 50 -> byteId = 6, bitId = 2
ledId = 57 -> byteId = 7, bitId = 1
ledId = 58 -> byteId = 7, bitId = 2
ledId = 63 -> byteId = 7, bitId = 7
ledId = 64 -> byteId = 8, bitId = 0
ledId = 65 -> byteId = 8, bitId = 1
ledId = 66 -> byteId = 8, bitId = 2
ledId = 67 -> byteId = 8, bitId = 3
ledId = 68 -> byteId = 8, bitId = 4
const uint8_t digits[][9] PROGMEM =
{
{ 0b11111000, 0b11000111, 0b10000000, 0b10100100, 0b01001011, 0b10010111, 0b00001100, 0b10001000, 0b01111111 },
{ 0b00110000, 0b10001110, 0b10111110, 0b00100100, 0b01001000, 0b10000000, 0b11111100, 0b00001011, 0b11100000 },
{ 0b10011000, 0b01001111, 0b10000101, 0b00110100, 0b01001001, 0b10011000, 0b01000100, 0b10001001, 0b01110011 },
{ 0b00011000, 0b01000111, 0b10011101, 0b00110100, 0b01001001, 0b10000000, 0b11000100, 0b10001000, 0b01110011 },
{ 0b11000000, 0b00000001, 0b00010011, 0b00001100, 0b01000001, 0b11110100, 0b00111100, 0b00001000, 0b11111100 },
{ 0b01111100, 0b01000110, 0b10101000, 0b00100100, 0b01001011, 0b10000110, 0b10100100, 0b11001000, 0b01110001 },
{ 0b11100000, 0b10000111, 0b10000001, 0b00000100, 0b01001011, 0b10100110, 0b01010100, 0b11001000, 0b01111001 },
{ 0b00011100, 0b01000000, 0b11100001, 0b10010100, 0b01001001, 0b11000111, 0b00000100, 0b11000011, 0b00001111 },
{ 0b10111000, 0b01000111, 0b10000100, 0b00010100, 0b01001001, 0b10110011, 0b01000100, 0b10001000, 0b01111011 },
{ 0b01111000, 0b01001110, 0b10101000, 0b10010100, 0b01001001, 0b10000011, 0b00000100, 0b10000110, 0b00011111 }
};