#include "disp.h" byte buffer[7]; // "width,height,data[5]" single character buffer. unsigned char reverse(unsigned char b) { b = (b & 0xF0) >> 4 | (b & 0x0F) << 4; b = (b & 0xCC) >> 2 | (b & 0x33) << 2; b = (b & 0xAA) >> 1 | (b & 0x55) << 1; return b; } void printCharOffset(char c, int offset, LedControl lc) { if (c < 32) return; c -= 32; memcpy_P(buffer, CH + 7 * c, 7); for (int i = 0; i <= buffer[0]; i++) { lc.setRow(0, i+offset, reverse(buffer[i + 2])); } } void printChar(char c, LedControl lc) { printCharOffset(c,2,lc); }