Search

ArachnidLabs MiniShift arduino – the coding continues

ArachnidLabs MiniShift arduino – the coding continues

So far I have modified my code to use control codes:
~b: display byte eg ~bf0 to show 11110000 on the display
~c: display character eg ~c41 to show ‘A’ (ASCII character 0×41) on the display
~i: invert data sent to the display eg ~i1
~m: display bytes in MSB or LSB order eg ~m0
~s: set speed between bytes sent eg ~s30 to leave a 30ms gap between bytes
~ : add trailing space after message eg ~ 1 to add trailing space
~~: display ~ character eg ~~

The serial port is set to run at 115200bps in this code to ensure data is transmitted in a timely manner.

As always, this is a work in progress and will grow as I think of more features.
file: minishift_text.ino

//Sample code to display text on the @ArachnidLabs minishift
// Written by Gregory Fenton, http://labby.co.uk

/*
Wiring:
latchPin connected to CS (pin 4) of minishift
clockPin connected to SCK (pin 3) of minishift
dataPin connected to MOSI (pin 5) of minishift
*/

#include "ascii8x8.c" // 8x8 font from PC

byte latchPin = 4;//53;
byte clockPin = 3;//52;
byte dataPin = 5;//51;

byte invert = 0;
byte interCharDelay = 50;
byte msb = 1;
byte showSpace = 0;

char s[257] = { "~s32~b01~b02~b04~b08~b10~b20~b40~b80~b40~b20~b10~b08~b04~b02" }; //= "\1\2\3\4 ";//"ArachnidLabs minishift example by Gregory Fenton, labby.co.uk";

int hexToNybble(byte b)
{
int p;
if((b < '0' || b > '9') && (b < 'A' || b > 'F') && (b < 'a' || b > 'f'))
return 0;

p = b - 48;
if(p > 9)
{
p -= 7;
if(p > 15)
p -= 32;
}
return p;
}

void displayByte(byte b)
{
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, msb == 0 ? LSBFIRST : MSBFIRST, b);
digitalWrite(latchPin, HIGH);
}

void displayChar(byte c)
{
byte i;
for(i = 0 ; i < 8; i++) { displayByte(invert ? 255 - pgm_read_byte(font+(c * 8) + i) : pgm_read_byte(font+(c * 8) + i)); delay(interCharDelay); } } void setup() { Serial.begin(115200); int i; //set pins to output because they are addressed in the main loop pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); //clear display by sending 256 blank bytes //256 is arbitrary and should be changed to the number of //columns in your display //sprintf(s, "Greg"); } void loop() { int i = 0, l; byte m, n, o, p; char c; while(Serial.available()) { c = Serial.read(); s[i++] = c; if(!Serial.available() || i == 256) { Serial.flush(); s[i++] = 0; Serial.println(s); } } for(i = 0; s[i] != 0 && i < 256; i++); l = i - 1; for(i = 0; i <= l; i++) { o = 255; if(s[i] == '~') { if(i < l - 1) { m = s[i + 1]; n = s[i + 2]; switch(m) { case ' ': //Show trailing space showSpace = n & 1; o = 0; break; case 'S': //set speed case 's': o = s[i + 3]; i++; interCharDelay = hexToNybble(n) * 16 + hexToNybble(o); o = 0; break; case 'I': //invert case 'i': invert = n & 1; o = 0; break; case 'M': //MSB case 'm': msb = n & 1; o = 0; break; case '~': //Display ~ character displayChar(s[i--]); o = 0; break; case 'C': // Display character case 'c': o = s[i + 3]; i++; if(((n >= '0' && n < = '9') || (n >= 'A' && n < = 'F') || (n >= 'a' && n < = 'f')) && ((o >= '0' && o < = '9') || (o >= 'A' && o < = 'F') || (o >= 'a' && o < = 'f'))) { p = hexToNybble(n) * 16 + hexToNybble(o); displayChar(p); } o = 0; break; case 'B': // Display byte case 'b': o = s[i + 3]; i++; if(((n >= '0' && n < = '9') || (n >= 'A' && n < = 'F') || (n >= 'a' && n < = 'f')) && ((o >= '0' && o < = '9') || (o >= 'A' && o < = 'F') || (o >= 'a' && o < = 'f'))) { p = hexToNybble(n) * 16 + hexToNybble(o); displayByte(p); delay(interCharDelay); } o = 0; break; } } if(i >= l)
i = 0;
}
if(o == 255)
displayChar(s[i]);
else
i += 2;
if(Serial.available())
break;
}
if(showSpace)
displayChar(' ');
}

File: ascii8x8.c

#ifndef FONT8X8_H
#define FONT8X8_H

#ifdef __AVR__
#include
#include

#else
#define PROGMEM
#endif

static const unsigned char font[] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x7e, 0x81, 0x95, 0xb1, 0xb1, 0x95, 0x81, 0x7e,
0x7e, 0xff, 0xeb, 0xcf, 0xcf, 0xeb, 0xff, 0x7e,
0x0e, 0x1f, 0x3f, 0x7e, 0x3f, 0x1f, 0x0e, 0x00,
0x00, 0x08, 0x1c, 0x3e, 0x7f, 0x3e, 0x1c, 0x08,
0x00, 0x38, 0x38, 0x9f, 0xff, 0x9f, 0x38, 0x38,
0x10, 0x38, 0xbc, 0xff, 0xbc, 0x38, 0x10, 0x00,
0x00, 0x00, 0x18, 0x3c, 0x3c, 0x18, 0x00, 0x00,
0xff, 0xff, 0xe7, 0xc3, 0xc3, 0xe7, 0xff, 0xff,
0x00, 0x3c, 0x66, 0x42, 0x42, 0x66, 0x3c, 0x00,
0xff, 0xc3, 0x99, 0xbd, 0xbd, 0x99, 0xc3, 0xff,
0x70, 0xf8, 0x88, 0x88, 0xfd, 0x7f, 0x07, 0x0f,
0x00, 0x4e, 0x5f, 0xf1, 0xf1, 0x5f, 0x4e, 0x00,
0xc0, 0xe0, 0xff, 0x7f, 0x05, 0x05, 0x07, 0x07,
0xc0, 0xff, 0x7f, 0x05, 0x05, 0x65, 0x7f, 0x3f,
0x5a, 0x5a, 0x3c, 0xe7, 0xe7, 0x3c, 0x5a, 0x5a,
0x7f, 0x3e, 0x3e, 0x1c, 0x1c, 0x08, 0x08, 0x00,
0x08, 0x08, 0x1c, 0x1c, 0x3e, 0x3e, 0x7f, 0x00,
0x00, 0x24, 0x66, 0xff, 0xff, 0x66, 0x24, 0x00,
0x00, 0x5f, 0x5f, 0x00, 0x00, 0x5f, 0x5f, 0x00,
0x06, 0x0f, 0x09, 0x7f, 0x7f, 0x01, 0x7f, 0x7f,
0x40, 0xda, 0xbf, 0xa5, 0xfd, 0x59, 0x03, 0x02,
0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00,
0x80, 0x94, 0xb6, 0xff, 0xff, 0xb6, 0x94, 0x80,
0x00, 0x04, 0x06, 0x7f, 0x7f, 0x06, 0x04, 0x00,
0x00, 0x10, 0x30, 0x7f, 0x7f, 0x30, 0x10, 0x00,
0x08, 0x08, 0x08, 0x2a, 0x3e, 0x1c, 0x08, 0x00,
0x08, 0x1c, 0x3e, 0x2a, 0x08, 0x08, 0x08, 0x00,
0x3c, 0x3c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00,
0x08, 0x1c, 0x3e, 0x08, 0x08, 0x3e, 0x1c, 0x08,
0x30, 0x38, 0x3c, 0x3e, 0x3e, 0x3c, 0x38, 0x30,
0x06, 0x0e, 0x1e, 0x3e, 0x3e, 0x1e, 0x0e, 0x06,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x06, 0x5f, 0x5f, 0x06, 0x00, 0x00, 0x00,
0x00, 0x07, 0x07, 0x00, 0x07, 0x07, 0x00, 0x00,
0x14, 0x7f, 0x7f, 0x14, 0x7f, 0x7f, 0x14, 0x00,
0x00, 0x24, 0x2e, 0x6b, 0x6b, 0x3a, 0x12, 0x00,
0x00, 0x46, 0x66, 0x30, 0x18, 0x0c, 0x66, 0x62,
0x00, 0x30, 0x7a, 0x4f, 0x5d, 0x37, 0x7a, 0x48,
0x00, 0x04, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x1c, 0x3e, 0x63, 0x41, 0x00, 0x00,
0x00, 0x00, 0x41, 0x63, 0x3e, 0x1c, 0x00, 0x00,
0x08, 0x2a, 0x3e, 0x1c, 0x1c, 0x3e, 0x2a, 0x08,
0x08, 0x08, 0x3e, 0x3e, 0x08, 0x08, 0x00, 0x00,
0x00, 0x00, 0x80, 0xe0, 0x60, 0x00, 0x00, 0x00,
0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x00,
0x00, 0x60, 0x30, 0x18, 0x0c, 0x06, 0x03, 0x01,
0x00, 0x3e, 0x7f, 0x71, 0x59, 0x4d, 0x7f, 0x3e,
0x00, 0x44, 0x42, 0x7f, 0x7f, 0x40, 0x40, 0x00,
0x00, 0x62, 0x73, 0x59, 0x49, 0x6f, 0x66, 0x00,
0x00, 0x22, 0x63, 0x49, 0x49, 0x7f, 0x36, 0x00,
0x00, 0x18, 0x1c, 0x16, 0x53, 0x7f, 0x7f, 0x50,
0x00, 0x27, 0x67, 0x45, 0x45, 0x7d, 0x39, 0x00,
0x00, 0x3c, 0x7e, 0x4b, 0x49, 0x79, 0x30, 0x00,
0x00, 0x03, 0x03, 0x71, 0x79, 0x0f, 0x07, 0x00,
0x00, 0x36, 0x7f, 0x49, 0x49, 0x7f, 0x36, 0x00,
0x00, 0x06, 0x4f, 0x49, 0x69, 0x3f, 0x1e, 0x00,
0x00, 0x00, 0x00, 0x66, 0x66, 0x00, 0x00, 0x00,
0x00, 0x00, 0x80, 0xe6, 0x66, 0x00, 0x00, 0x00,
0x00, 0x08, 0x1c, 0x36, 0x63, 0x41, 0x00, 0x00,
0x00, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x00,
0x00, 0x00, 0x41, 0x63, 0x36, 0x1c, 0x08, 0x00,
0x00, 0x02, 0x03, 0x51, 0x59, 0x0f, 0x06, 0x00,
0x00, 0x3e, 0x7f, 0x41, 0x5d, 0x55, 0x57, 0x1e,
0x00, 0x7c, 0x7e, 0x13, 0x13, 0x7e, 0x7c, 0x00,
0x00, 0x41, 0x7f, 0x7f, 0x49, 0x49, 0x7f, 0x36,
0x00, 0x1c, 0x3e, 0x63, 0x41, 0x41, 0x63, 0x22,
0x00, 0x41, 0x7f, 0x7f, 0x41, 0x63, 0x3e, 0x1c,
0x00, 0x41, 0x7f, 0x7f, 0x49, 0x5d, 0x41, 0x63,
0x00, 0x41, 0x7f, 0x7f, 0x49, 0x1d, 0x01, 0x03,
0x00, 0x1c, 0x3e, 0x63, 0x41, 0x51, 0x73, 0x72,
0x00, 0x7f, 0x7f, 0x08, 0x08, 0x7f, 0x7f, 0x00,
0x00, 0x00, 0x41, 0x7f, 0x7f, 0x41, 0x00, 0x00,
0x00, 0x30, 0x70, 0x40, 0x41, 0x7f, 0x3f, 0x01,
0x00, 0x41, 0x7f, 0x7f, 0x08, 0x1c, 0x77, 0x63,
0x00, 0x41, 0x7f, 0x7f, 0x41, 0x40, 0x60, 0x70,
0x00, 0x7f, 0x7f, 0x0e, 0x1c, 0x0e, 0x7f, 0x7f,
0x00, 0x7f, 0x7f, 0x06, 0x0c, 0x18, 0x7f, 0x7f,
0x00, 0x3e, 0x7f, 0x41, 0x41, 0x41, 0x7f, 0x3e,
0x00, 0x41, 0x7f, 0x7f, 0x49, 0x09, 0x0f, 0x06,
0x00, 0x1e, 0x3f, 0x21, 0x71, 0x7f, 0x5e, 0x00,
0x00, 0x41, 0x7f, 0x7f, 0x09, 0x19, 0x7f, 0x66,
0x00, 0x22, 0x67, 0x4d, 0x59, 0x73, 0x22, 0x00,
0x00, 0x03, 0x41, 0x7f, 0x7f, 0x41, 0x03, 0x00,
0x00, 0x7f, 0x7f, 0x40, 0x40, 0x7f, 0x7f, 0x00,
0x00, 0x1f, 0x3f, 0x60, 0x60, 0x3f, 0x1f, 0x00,
0x00, 0x7f, 0x7f, 0x30, 0x18, 0x30, 0x7f, 0x7f,
0x00, 0x43, 0x67, 0x3c, 0x18, 0x3c, 0x67, 0x43,
0x00, 0x07, 0x4f, 0x78, 0x78, 0x4f, 0x07, 0x00,
0x00, 0x47, 0x63, 0x71, 0x59, 0x4d, 0x67, 0x73,
0x00, 0x00, 0x7f, 0x7f, 0x41, 0x41, 0x00, 0x00,
0x00, 0x01, 0x03, 0x06, 0x0c, 0x18, 0x30, 0x60,
0x00, 0x00, 0x41, 0x41, 0x7f, 0x7f, 0x00, 0x00,
0x00, 0x08, 0x0c, 0x06, 0x03, 0x06, 0x0c, 0x08,
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
0x00, 0x00, 0x00, 0x03, 0x07, 0x04, 0x00, 0x00,
0x00, 0x20, 0x74, 0x54, 0x54, 0x3c, 0x78, 0x40,
0x00, 0x41, 0x7f, 0x3f, 0x48, 0x48, 0x78, 0x30,
0x00, 0x38, 0x7c, 0x44, 0x44, 0x6c, 0x28, 0x00,
0x00, 0x30, 0x78, 0x48, 0x49, 0x3f, 0x7f, 0x40,
0x00, 0x38, 0x7c, 0x54, 0x54, 0x5c, 0x18, 0x00,
0x00, 0x48, 0x7e, 0x7f, 0x49, 0x03, 0x02, 0x00,
0x00, 0x98, 0xbc, 0xa4, 0xa4, 0xf8, 0x7c, 0x04,
0x00, 0x41, 0x7f, 0x7f, 0x08, 0x04, 0x7c, 0x78,
0x00, 0x00, 0x44, 0x7d, 0x7d, 0x40, 0x00, 0x00,
0x00, 0x60, 0xe0, 0x80, 0x80, 0xfd, 0x7d, 0x00,
0x00, 0x41, 0x7f, 0x7f, 0x10, 0x38, 0x6c, 0x44,
0x00, 0x00, 0x41, 0x7f, 0x7f, 0x40, 0x00, 0x00,
0x00, 0x7c, 0x7c, 0x18, 0x38, 0x1c, 0x7c, 0x78,
0x00, 0x7c, 0x7c, 0x04, 0x04, 0x7c, 0x78, 0x00,
0x00, 0x38, 0x7c, 0x44, 0x44, 0x7c, 0x38, 0x00,
0x00, 0x84, 0xfc, 0xf8, 0xa4, 0x24, 0x3c, 0x18,
0x00, 0x18, 0x3c, 0x24, 0xa4, 0xf8, 0xfc, 0x84,
0x00, 0x44, 0x7c, 0x78, 0x4c, 0x04, 0x1c, 0x18,
0x00, 0x48, 0x5c, 0x54, 0x54, 0x74, 0x24, 0x00,
0x00, 0x00, 0x04, 0x3e, 0x7f, 0x44, 0x24, 0x00,
0x00, 0x3c, 0x7c, 0x40, 0x40, 0x3c, 0x7c, 0x40,
0x00, 0x1c, 0x3c, 0x60, 0x60, 0x3c, 0x1c, 0x00,
0x00, 0x3c, 0x7c, 0x70, 0x38, 0x70, 0x7c, 0x3c,
0x00, 0x44, 0x6c, 0x38, 0x10, 0x38, 0x6c, 0x44,
0x00, 0x9c, 0xbc, 0xa0, 0xa0, 0xfc, 0x7c, 0x00,
0x00, 0x4c, 0x64, 0x74, 0x5c, 0x4c, 0x64, 0x00,
0x00, 0x08, 0x08, 0x3e, 0x77, 0x41, 0x41, 0x00,
0x00, 0x00, 0x00, 0x00, 0x77, 0x77, 0x00, 0x00,
0x00, 0x41, 0x41, 0x77, 0x3e, 0x08, 0x08, 0x00,
0x00, 0x02, 0x03, 0x01, 0x03, 0x02, 0x03, 0x01,
0x00, 0x70, 0x78, 0x4c, 0x46, 0x4c, 0x78, 0x70,
0x00, 0x0e, 0x9f, 0x91, 0xb1, 0xfb, 0x4a, 0x00,
0x00, 0x3a, 0x7a, 0x40, 0x40, 0x7a, 0x7a, 0x40,
0x38, 0x7c, 0x54, 0x55, 0x5d, 0x19, 0x00, 0x00,
0x02, 0x23, 0x75, 0x55, 0x55, 0x7d, 0x7b, 0x42,
0x00, 0x21, 0x75, 0x54, 0x54, 0x7d, 0x79, 0x40,
0x00, 0x21, 0x75, 0x55, 0x54, 0x7c, 0x78, 0x40,
0x00, 0x20, 0x74, 0x57, 0x57, 0x7c, 0x78, 0x40,
0x00, 0x18, 0x3c, 0xa4, 0xa4, 0xe4, 0x40, 0x00,
0x02, 0x3b, 0x7d, 0x55, 0x55, 0x5d, 0x1b, 0x02,
0x39, 0x7d, 0x54, 0x54, 0x5d, 0x19, 0x00, 0x00,
0x00, 0x39, 0x7d, 0x55, 0x54, 0x5c, 0x18, 0x00,
0x00, 0x01, 0x45, 0x7c, 0x7c, 0x41, 0x01, 0x00,
0x00, 0x02, 0x03, 0x45, 0x7d, 0x7d, 0x43, 0x02,
0x00, 0x01, 0x45, 0x7d, 0x7c, 0x40, 0x00, 0x00,
0x00, 0x79, 0x7d, 0x16, 0x12, 0x16, 0x7d, 0x79,
0x00, 0x70, 0x78, 0x2b, 0x2b, 0x78, 0x70, 0x00,
0x44, 0x7c, 0x7c, 0x55, 0x55, 0x45, 0x00, 0x00,
0x20, 0x74, 0x54, 0x54, 0x7c, 0x7c, 0x54, 0x54,
0x00, 0x7c, 0x7e, 0x0b, 0x09, 0x7f, 0x7f, 0x49,
0x00, 0x32, 0x7b, 0x49, 0x49, 0x7b, 0x32, 0x00,
0x00, 0x32, 0x7a, 0x48, 0x48, 0x7a, 0x32, 0x00,
0x00, 0x32, 0x7a, 0x4a, 0x48, 0x78, 0x30, 0x00,
0x00, 0x3a, 0x7b, 0x41, 0x41, 0x7b, 0x7a, 0x40,
0x00, 0x3a, 0x7a, 0x42, 0x40, 0x78, 0x78, 0x40,
0x9a, 0xba, 0xa0, 0xa0, 0xfa, 0x7a, 0x00, 0x00,
0x01, 0x19, 0x3c, 0x66, 0x66, 0x3c, 0x19, 0x01,
0x00, 0x3d, 0x7d, 0x40, 0x40, 0x7d, 0x3d, 0x00,
0x00, 0x18, 0x3c, 0x24, 0xe7, 0xe7, 0x24, 0x24,
0x00, 0x68, 0x7e, 0x7f, 0x49, 0x43, 0x66, 0x20,
0x00, 0x2b, 0x2f, 0xfc, 0xfc, 0x2f, 0x2b, 0x00,
0xff, 0xff, 0x09, 0x09, 0x2f, 0xf6, 0xf8, 0xa0,
0x40, 0xc0, 0x88, 0xfe, 0x7f, 0x09, 0x03, 0x02,
0x00, 0x20, 0x74, 0x54, 0x55, 0x7d, 0x79, 0x40,
0x00, 0x00, 0x44, 0x7d, 0x7d, 0x41, 0x00, 0x00,
0x00, 0x30, 0x78, 0x48, 0x4a, 0x7a, 0x32, 0x00,
0x00, 0x38, 0x78, 0x40, 0x42, 0x7a, 0x7a, 0x40,
0x00, 0x7a, 0x7a, 0x0a, 0x0a, 0x7a, 0x70, 0x00,
0x00, 0x7d, 0x7d, 0x19, 0x31, 0x7d, 0x7d, 0x00,
0x00, 0x00, 0x26, 0x2f, 0x29, 0x2f, 0x2f, 0x28,
0x00, 0x00, 0x26, 0x2f, 0x29, 0x2f, 0x26, 0x00,
0x00, 0x30, 0x78, 0x4d, 0x45, 0x60, 0x20, 0x00,
0x00, 0x38, 0x38, 0x08, 0x08, 0x08, 0x08, 0x00,
0x08, 0x08, 0x08, 0x08, 0x38, 0x38, 0x00, 0x00,
0x4f, 0x6f, 0x30, 0x18, 0xcc, 0xee, 0xbb, 0x91,
0x4f, 0x6f, 0x30, 0x18, 0x6c, 0x76, 0xfb, 0xf9,
0x00, 0x00, 0x00, 0x7b, 0x7b, 0x00, 0x00, 0x00,
0x08, 0x1c, 0x36, 0x22, 0x08, 0x1c, 0x36, 0x22,
0x22, 0x36, 0x1c, 0x08, 0x22, 0x36, 0x1c, 0x08,
0xaa, 0x00, 0x55, 0x00, 0xaa, 0x00, 0x55, 0x00,
0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55,
0xdd, 0xff, 0xaa, 0x77, 0xdd, 0xaa, 0xff, 0x77,
0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
0x10, 0x10, 0x10, 0xff, 0xff, 0x00, 0x00, 0x00,
0x14, 0x14, 0x14, 0xff, 0xff, 0x00, 0x00, 0x00,
0x10, 0x10, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00,
0x10, 0x10, 0xf0, 0xf0, 0x10, 0xf0, 0xf0, 0x00,
0x14, 0x14, 0x14, 0xfc, 0xfc, 0x00, 0x00, 0x00,
0x14, 0x14, 0xf7, 0xf7, 0x00, 0xff, 0xff, 0x00,
0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00,
0x14, 0x14, 0xf4, 0xf4, 0x04, 0xfc, 0xfc, 0x00,
0x14, 0x14, 0x17, 0x17, 0x10, 0x1f, 0x1f, 0x00,
0x10, 0x10, 0x1f, 0x1f, 0x10, 0x1f, 0x1f, 0x00,
0x14, 0x14, 0x14, 0x1f, 0x1f, 0x00, 0x00, 0x00,
0x10, 0x10, 0x10, 0xf0, 0xf0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x1f, 0x1f, 0x10, 0x10, 0x10,
0x10, 0x10, 0x10, 0x1f, 0x1f, 0x10, 0x10, 0x10,
0x10, 0x10, 0x10, 0xf0, 0xf0, 0x10, 0x10, 0x10,
0x00, 0x00, 0x00, 0xff, 0xff, 0x10, 0x10, 0x10,
0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
0x10, 0x10, 0x10, 0xff, 0xff, 0x10, 0x10, 0x10,
0x00, 0x00, 0x00, 0xff, 0xff, 0x14, 0x14, 0x14,
0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x10,
0x00, 0x00, 0x1f, 0x1f, 0x10, 0x17, 0x17, 0x14,
0x00, 0x00, 0xfc, 0xfc, 0x04, 0xf4, 0xf4, 0x14,
0x14, 0x14, 0x17, 0x17, 0x10, 0x17, 0x17, 0x14,
0x14, 0x14, 0xf4, 0xf4, 0x04, 0xf4, 0xf4, 0x14,
0x00, 0x00, 0xff, 0xff, 0x00, 0xf7, 0xf7, 0x14,
0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14,
0x14, 0x14, 0xf7, 0xf7, 0x00, 0xf7, 0xf7, 0x14,
0x14, 0x14, 0x14, 0x17, 0x17, 0x14, 0x14, 0x14,
0x10, 0x10, 0x1f, 0x1f, 0x10, 0x1f, 0x1f, 0x10,
0x14, 0x14, 0x14, 0xf4, 0xf4, 0x14, 0x14, 0x14,
0x10, 0x10, 0xf0, 0xf0, 0x10, 0xf0, 0xf0, 0x10,
0x00, 0x00, 0x1f, 0x1f, 0x10, 0x1f, 0x1f, 0x10,
0x00, 0x00, 0x00, 0x1f, 0x1f, 0x14, 0x14, 0x14,
0x00, 0x00, 0x00, 0xfc, 0xfc, 0x14, 0x14, 0x14,
0x00, 0x00, 0xf0, 0xf0, 0x10, 0xf0, 0xf0, 0x10,
0x10, 0x10, 0xff, 0xff, 0x10, 0xff, 0xff, 0x10,
0x14, 0x14, 0x14, 0xff, 0xff, 0x14, 0x14, 0x14,
0x10, 0x10, 0x10, 0x1f, 0x1f, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xf0, 0xf0, 0x10, 0x10, 0x10,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
0x00, 0x38, 0x7c, 0x44, 0x6c, 0x38, 0x6c, 0x44,
0x00, 0xfc, 0xfe, 0x2a, 0x2a, 0x3e, 0x14, 0x00,
0x00, 0x7e, 0x7e, 0x02, 0x02, 0x06, 0x06, 0x00,
0x00, 0x02, 0x7e, 0x7e, 0x02, 0x7e, 0x7e, 0x02,
0x00, 0x63, 0x77, 0x5d, 0x49, 0x63, 0x63, 0x00,
0x00, 0x38, 0x7c, 0x44, 0x7c, 0x3c, 0x04, 0x04,
0x00, 0x80, 0xfe, 0x7e, 0x20, 0x20, 0x3e, 0x1e,
0x00, 0x04, 0x06, 0x02, 0x7e, 0x7c, 0x06, 0x02,
0x00, 0x99, 0xbd, 0xe7, 0xe7, 0xbd, 0x99, 0x00,
0x00, 0x1c, 0x3e, 0x6b, 0x49, 0x6b, 0x3e, 0x1c,
0x00, 0x4c, 0x7e, 0x73, 0x01, 0x73, 0x7e, 0x4c,
0x00, 0x30, 0x78, 0x4a, 0x4f, 0x7d, 0x39, 0x00,
0x18, 0x3c, 0x24, 0x3c, 0x3c, 0x24, 0x3c, 0x18,
0x98, 0xfc, 0x64, 0x3c, 0x3e, 0x27, 0x3d, 0x18,
0x00, 0x1c, 0x3e, 0x6b, 0x49, 0x49, 0x00, 0x00,
0x00, 0x7e, 0x7f, 0x01, 0x01, 0x7f, 0x7e, 0x00,
0x00, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x00,
0x00, 0x44, 0x44, 0x5f, 0x5f, 0x44, 0x44, 0x00,
0x00, 0x40, 0x51, 0x5b, 0x4e, 0x44, 0x40, 0x00,
0x00, 0x40, 0x44, 0x4e, 0x5b, 0x51, 0x40, 0x00,
0x00, 0x00, 0x00, 0xfe, 0xff, 0x01, 0x07, 0x06,
0x60, 0xe0, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00,
0x00, 0x08, 0x08, 0x6b, 0x6b, 0x08, 0x08, 0x00,
0x00, 0x24, 0x36, 0x12, 0x36, 0x24, 0x36, 0x12,
0x00, 0x00, 0x06, 0x0f, 0x09, 0x0f, 0x06, 0x00,
0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00,
0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00,
0x10, 0x30, 0x70, 0xc0, 0xff, 0xff, 0x01, 0x01,
0x00, 0x1f, 0x1f, 0x01, 0x1f, 0x1e, 0x00, 0x00,
0x00, 0x19, 0x1d, 0x17, 0x12, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

Related posts

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.