Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: MMA8451Q N3310LCD mbed
Fork of FRDM_MMA8451Q by
Revision 12:dbd6c9c366ac, committed 2013-03-24
- Comitter:
- SomeRandomBloke
- Date:
- Sun Mar 24 15:24:26 2013 +0000
- Parent:
- 11:90d35ac294af
- Commit message:
- updates
Changed in this revision
--- a/N3310LCD.lib Thu Mar 21 21:53:58 2013 +0000 +++ b/N3310LCD.lib Sun Mar 24 15:24:26 2013 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/users/SomeRandomBloke/code/N3310LCD/#e6c002c680a6 +http://mbed.org/users/SomeRandomBloke/code/N3310LCD/#9808f63fd2fe
--- a/main.cpp Thu Mar 21 21:53:58 2013 +0000
+++ b/main.cpp Sun Mar 24 15:24:26 2013 +0000
@@ -13,7 +13,7 @@
// menu starting points
#define MENU_X 10 // 0-83
-#define MENU_Y 0 // 0-5
+#define MENU_Y 1 // 0-5
#define MENU_ITEMS 4
@@ -22,7 +22,7 @@
void about(N3310LCD* lcd, Joystick* jstick);
void draw(N3310LCD* lcd, Joystick* jstick);
void snakeGame(N3310LCD* lcd, Joystick* jstick);
-void backlight(N3310LCD* lcd, Joystick* jstick);
+void setup(N3310LCD* lcd, Joystick* jstick);
void waitforOKKey(N3310LCD* lcd, Joystick* jstick);
uint8_t checkKeypressed( Joystick* jstick);
@@ -30,27 +30,27 @@
char menu_items[MENU_ITEMS][12] = {
"SKETCH",
"SNAKE",
- "BACKLIGHT",
+ "SETUP",
"ABOUT"
};
void (*menu_funcs[MENU_ITEMS])(N3310LCD*,Joystick*) = {
draw,
snakeGame,
- backlight,
+ setup,
about
};
void about(N3310LCD* lcd, Joystick* jstick)
{
- lcd->writeString(0, 0, "mbed-a-sketch", NORMAL);
- lcd->writeString(12, 1, "driven by", NORMAL);
- lcd->writeString(10, 2, "KL25Z mbed", NORMAL);
- lcd->writeString(0, 3, "By AD Lindsay", NORMAL);
+ lcd->writeString(6, 0, "mbed and LCD", NORMAL);
+ lcd->writeString(0, 1, "demos on KL25Z", NORMAL);
+ lcd->writeString(36, 2, "By", NORMAL);
+ lcd->writeString(0, 3, "Andrew Lindsay", NORMAL);
}
-void backlight(N3310LCD* lcd, Joystick* jstick)
+void setup(N3310LCD* lcd, Joystick* jstick)
{
lcd->writeString( 0, 1, "Toggle", NORMAL);
lcd->writeString( 0, 2, "Backlight", NORMAL);
@@ -111,32 +111,20 @@
float cValues[3] = { 0.0, 0.0, 0.0 };
int16_t xI, yI;
int16_t xInc, yInc;
-
- centreBoard( &acc, cValues );
- lcd->cls();
-
- // Take 100 readings to get stable centre point
- /* for( int i = 0; i < 100; i++ ) {
- float axis[3] = { 0.0, 0.0, 0.0 };
- acc.getAccAllAxis( axis );
- cValues[0] += axis[0];
- cValues[1] += axis[1];
- }
-
- cValues[0] /= 100.0;
- cValues[1] /= 100.0;
- */
- // Draw a rectangle
- lcd->drawRectangle(0,0,83,47, PIXEL_ON);
-
int8_t px = 42;
int8_t py = 24;
int8_t nx = px;
int8_t ny = py;
- lcd->setPixel( px, py, PIXEL_ON );
+ lcd->drawBitmap(0, 0, splashSketch, 84, 48);
+ wait( 5 );
+ centreBoard( &acc, cValues );
+ lcd->cls();
+ // Draw a rectangle
+ lcd->drawRectangle(0,0,83,47, PIXEL_ON);
+ lcd->setPixel( px, py, PIXEL_ON );
// Exit on joystick pressed
bool exitFlag = false;
@@ -176,7 +164,7 @@
}
#define MAX_SNAKE_LEN 400
-#define MAX_FOOD 10
+#define MAX_FOOD 5
#define SNAKE_X 0
#define SNAKE_Y 1
#define DIR_N 1
@@ -194,6 +182,7 @@
void initSnake( void )
{
+ snakeLen = 10;
for( int i=0; i< MAX_SNAKE_LEN; i++ ) {
snake[i][SNAKE_X] = -1;
snake[i][SNAKE_Y] = -1;
@@ -244,7 +233,9 @@
snake[i][SNAKE_Y] = nY;
}
- drawSnake(lcd);
+ // Plot head at new position as this is only part that is moving
+ lcd->setPixel( snake[0][SNAKE_X], snake[0][SNAKE_Y], PIXEL_ON );
+
if( growLength > 0 && snakeLen < MAX_SNAKE_LEN ) {
// Dont clear tail, add point to tail
snake[snakeLen][SNAKE_X] = oX;
@@ -256,16 +247,53 @@
}
}
+bool isOnSnake( int8_t sX, int8_t sY )
+{
+ bool onSnake = false;
+// pc.printf("isOnSnake sX = %d, sY = %d \n", *sX, *sY );
+ for( int i = 0; i< snakeLen; i++ ) {
+ if( snake[i][SNAKE_X] == sX && snake[i][SNAKE_Y] == sY ) {
+ onSnake = true;
+ break;
+ }
+ }
+ return onSnake;
+}
+
bool checkCollision( uint8_t dir)
{
bool collisionFlag = false;
+ int8_t nX = snake[0][SNAKE_X];
+ int8_t nY = snake[0][SNAKE_Y];
+
+ switch( dir) {
+ case DIR_N:
+ nY--;
+ break;
+ case DIR_E:
+ nX++;
+ break;
+ case DIR_S:
+ nY++;
+ break;
+ case DIR_W:
+ nX--;
+ break;
+ }
+ if( isOnSnake( nX, nY ) )
+ return true;
+ if( snake[0][SNAKE_X] <= 0 || snake[0][SNAKE_X] >= 83 ||
+ snake[0][SNAKE_Y] <= 0 || snake[0][SNAKE_Y] >= 47 )
+ return true;
+
return collisionFlag;
}
void initFood()
{
+ foodCount = 0;
for( uint8_t i = 0; i< MAX_FOOD; i++ ) {
food[i][FOOD_X] = -1;
food[i][FOOD_Y] = -1;
@@ -277,42 +305,25 @@
bool checkFood(uint8_t dir)
{
bool foodFlag = false;
-pc.printf("CHECK: X %d, Y %d\n",snake[0][SNAKE_X], snake[0][SNAKE_Y]);
for( int i = 0; i < MAX_FOOD; i++ ) {
-pc.printf("FOOD: X %d, Y %d\n",food[i][FOOD_X], food[i][FOOD_Y]);
-
if( snake[0][SNAKE_X] == food[i][FOOD_X] && snake[0][SNAKE_Y] == food[i][FOOD_Y] ) {
foodFlag = true;
food[i][FOOD_X] = -1;
food[i][FOOD_Y] = -1;
foodCount--;
-pc.printf("FOOD!\n");
break;
}
}
return foodFlag;
}
-bool isOnSnake( int8_t *sX, int8_t *sY )
-{
- bool onSnake = false;
- pc.printf("isOnSnake sX = %d, sY = %d \n", *sX, *sY );
- for( int i = 0; i< snakeLen; i++ ) {
- if( snake[i][SNAKE_X] == *sX && snake[i][SNAKE_Y] == *sY ) {
- onSnake = true;
- break;
- }
- }
- return onSnake;
-}
-
void getRandomPosition( int8_t *rX, int8_t *rY )
{
*rX = ((rand() % 100)*82)/100+1;
*rY = ((rand() % 100)*46)/100+1;
- while( isOnSnake( rX, rY )) {
+ while( isOnSnake( *rX, *rY )) {
*rX = ((rand() % 100)*82)/100+1;
*rY = ((rand() % 100)*46)/100+1;
}
@@ -321,10 +332,8 @@
void storeFood( int8_t fX, int8_t fY )
{
- pc.printf("Store fX = %d, fY = %d \n", fX, fY );
for( int i = 0; i< MAX_FOOD; i++ ) {
if( food[i][FOOD_X] < 0 ) {
- pc.printf("Store in %d\n",i);
food[i][FOOD_X] = fX;
food[i][FOOD_Y] = fY;
break;
@@ -344,10 +353,7 @@
lcd->setPixel( fX, fY, PIXEL_ON );
storeFood( fX, fY );
foodCount++;
-
- pc.printf("fX = %d, fY = %d \n", fX, fY );
}
-
}
void snakeGame(N3310LCD* lcd, Joystick* jstick)
@@ -358,6 +364,9 @@
int16_t xI, yI; //, zI;
int16_t xInc, yInc;
+ lcd->drawBitmap(0, 0, splashSnake, 84, 48);
+ wait( 3 );
+
centreBoard( &acc, cValues );
lcd->cls();
@@ -387,13 +396,6 @@
wait(0.2);
}
*/
-// int8_t px = 42;
-// int8_t py = 25;
-// int8_t nx = px;
-// int8_t ny = py;
-
-// lcd->setPixel( px, py, PIXEL_ON );
-
// Exit on joystick pressed
bool exitFlag = false;
@@ -429,6 +431,10 @@
// TODO Check if we've collided with anything
if( checkCollision(snakeDirection) ) {
// Collision detected!!
+ lcd->writeString(30, 2, "GAME", NORMAL);
+ lcd->writeString(30, 3, "OVER", NORMAL);
+ exitFlag = true;
+ continue;
}
if( checkFood(snakeDirection) ) {
@@ -436,7 +442,7 @@
// Indicate that snake is to grow during next moves
snakeGrowth = 10;
- // Handle new food bing added to area
+ // Drop more food into area
dropFood(lcd);
}
@@ -502,8 +508,8 @@
// demo stuff
// autoDemo(&lcd);
-// lcd.drawBitmap(0, 0, splash, 84, 48);
-// wait( 5 );
+ lcd.drawBitmap(0, 0, splashMain, 84, 48);
+ wait( 3 );
lcd.cls();
initMenu(&lcd);
--- a/splash.h Thu Mar 21 21:53:58 2013 +0000
+++ b/splash.h Sun Mar 24 15:24:26 2013 +0000
@@ -3,33 +3,33 @@
// http://en.radzio.dxp.pl/bitmap_converter/
//------------------------------------------------------------------------------
-unsigned char splash [] = {
+unsigned char splashMain [] = {
0xC0, 0x20, 0x10, 0x08, 0x04, 0x04, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-0x01, 0x01, 0x01, 0x01, 0x01, 0xE1, 0xE1, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-0x01, 0x01, 0x01, 0xE1, 0xE1, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x04, 0x04,
-0x08, 0x10, 0x20, 0xC0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x0C, 0x06, 0x06, 0x06, 0xFE,
-0xF8, 0x0C, 0x06, 0x06, 0x06, 0xFE, 0xFC, 0x00, 0x00, 0xFF, 0xFF, 0x0C, 0x06, 0x06, 0x06, 0x0E,
-0xFC, 0xF0, 0x00, 0x00, 0xF0, 0xFC, 0x6C, 0x66, 0x66, 0x66, 0x66, 0x6C, 0x7C, 0x70, 0x00, 0x00,
-0xF0, 0xFC, 0x0E, 0x06, 0x06, 0x06, 0x0C, 0xFF, 0xFF, 0x00, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
-0x00, 0x00, 0x8C, 0xCC, 0xC6, 0xC6, 0x66, 0x66, 0x66, 0xFE, 0xFC, 0x00, 0x00, 0x60, 0x60, 0x60,
-0x60, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00,
-0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x0F, 0x0F, 0x06,
-0x0C, 0x0C, 0x0C, 0x0E, 0x07, 0x01, 0x00, 0x00, 0x01, 0x07, 0x06, 0x0C, 0x0C, 0x0C, 0x0C, 0x0E,
-0x06, 0x02, 0x00, 0x00, 0x01, 0x07, 0x0E, 0x0C, 0x0C, 0x0C, 0x06, 0x0F, 0x0F, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0F, 0x0C, 0x0C, 0x0C, 0x0C, 0x06, 0x07, 0x0F, 0x08,
+0x01, 0xE1, 0xE1, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xE1,
+0xE1, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x04, 0x04,
+0x08, 0x10, 0x20, 0xC0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x0C, 0x06, 0x06, 0x06, 0xFE, 0xF8, 0x0C, 0x06, 0x06,
+0x06, 0xFE, 0xFC, 0x00, 0x00, 0xFF, 0xFF, 0x0C, 0x06, 0x06, 0x06, 0x0E, 0xFC, 0xF0, 0x00, 0x00,
+0xF0, 0xFC, 0x6C, 0x66, 0x66, 0x66, 0x66, 0x6C, 0x7C, 0x70, 0x00, 0x00, 0xF0, 0xFC, 0x0E, 0x06,
+0x06, 0x06, 0x0C, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x0F,
+0x0F, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x0F, 0x0F, 0x06, 0x0C, 0x0C, 0x0C, 0x0E,
+0x07, 0x01, 0x00, 0x00, 0x01, 0x07, 0x06, 0x0C, 0x0C, 0x0C, 0x0C, 0x0E, 0x06, 0x02, 0x00, 0x00,
+0x01, 0x07, 0x0E, 0x0C, 0x0C, 0x0C, 0x06, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0x60, 0x60, 0x60, 0x60, 0x60, 0xC0, 0x80, 0x00,
-0x00, 0xFE, 0xFE, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0x60, 0x20, 0x00, 0x00, 0xC0, 0xC0, 0x60, 0x60,
-0x60, 0x60, 0xC0, 0xC0, 0x00, 0x00, 0x60, 0xFC, 0xFE, 0x60, 0x60, 0x00, 0x00, 0x00, 0xC0, 0xC0,
-0x60, 0x60, 0x60, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0xFE, 0xFE, 0xC0, 0x60, 0x60, 0x60, 0xE0, 0xC0,
-0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
-0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x67, 0xC6, 0xC6, 0xC6, 0xCC,
-0xCC, 0x7C, 0x38, 0x00, 0x00, 0xFF, 0xFF, 0x06, 0x07, 0x0F, 0x3D, 0xF0, 0xE0, 0x80, 0x00, 0x1F,
-0x7F, 0x66, 0xC6, 0xC6, 0xC6, 0xC6, 0xE6, 0x67, 0x27, 0x00, 0x00, 0x7F, 0xFF, 0xC0, 0xC0, 0x00,
-0x00, 0x1F, 0x7F, 0xE0, 0xC0, 0xC0, 0xC0, 0xE0, 0x71, 0x31, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0,
+0x60, 0x60, 0x60, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0x60, 0x60, 0x60, 0x60, 0xC0,
+0xC0, 0x00, 0x00, 0x00, 0xE0, 0xE0, 0xC0, 0x60, 0x60, 0x60, 0xE0, 0x80, 0xC0, 0x60, 0x60, 0x60,
+0xE0, 0xC0, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0x60, 0x60, 0x60, 0x60, 0xC0, 0xC0, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
+0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x1F, 0x7F, 0xE0, 0xC0, 0xC0, 0xC0, 0x60, 0xFF, 0xFF, 0x00, 0x00, 0x1F, 0x7F, 0x66, 0xC6,
+0xC6, 0xC6, 0xC6, 0xE6, 0x67, 0x27, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,
+0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x1F, 0x7F, 0x60, 0xC0, 0xC0, 0xC0, 0xC0, 0x60,
+0x7F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFF, 0x03, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40,
0x40, 0x40, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
@@ -37,3 +37,74 @@
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
0x40, 0x20, 0x20, 0x10, 0x10, 0x08, 0x04, 0x03,
};
+
+unsigned char splashSnake [] = {
+0xC0, 0x20, 0x10, 0x08, 0x04, 0x04, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+0x01, 0x01, 0xC1, 0xC1, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+0xC1, 0xC1, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x04, 0x04,
+0x08, 0x10, 0x20, 0xC0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFC, 0x18, 0x0C, 0x0C, 0x0C, 0xFC, 0xF0, 0x18, 0x0C,
+0x0C, 0x0C, 0xFC, 0xF8, 0x00, 0x00, 0xFF, 0xFF, 0x18, 0x0C, 0x0C, 0x0C, 0x1C, 0xF8, 0xE0, 0x00,
+0x00, 0xE0, 0xF8, 0xD8, 0xCC, 0xCC, 0xCC, 0xCC, 0xD8, 0xF8, 0xE0, 0x00, 0x00, 0xE0, 0xF8, 0x1C,
+0x0C, 0x0C, 0x0C, 0x18, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x00,
+0x1F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x00, 0x00, 0x1F, 0x1F, 0x0C, 0x18, 0x18, 0x18,
+0x1C, 0x0F, 0x03, 0x00, 0x00, 0x03, 0x0F, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x0C, 0x04, 0x00,
+0x00, 0x03, 0x0F, 0x1C, 0x18, 0x18, 0x18, 0x0C, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0x60, 0x60, 0x60,
+0x60, 0x60, 0xC0, 0x80, 0x00, 0x00, 0xE0, 0xE0, 0xC0, 0x60, 0x60, 0x60, 0xE0, 0xC0, 0x80, 0x00,
+0x00, 0xC0, 0xC0, 0x60, 0x60, 0x60, 0x60, 0x60, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x00,
+0x00, 0x80, 0xC0, 0xE0, 0x60, 0x20, 0x00, 0x00, 0xC0, 0xC0, 0x60, 0x60, 0x60, 0x60, 0xC0, 0xC0,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
+0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23,
+0x67, 0xC6, 0xC6, 0xC6, 0xCC, 0xCC, 0x7C, 0x38, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
+0x00, 0xFF, 0xFF, 0x00, 0x00, 0x78, 0xFC, 0xCC, 0xCC, 0xC6, 0xC6, 0x66, 0x7F, 0xFF, 0x80, 0x00,
+0x00, 0xFF, 0xFF, 0x06, 0x07, 0x0F, 0x3D, 0xF0, 0xE0, 0x80, 0x00, 0x1F, 0x7F, 0x66, 0xC6, 0xC6,
+0xC6, 0xC6, 0xE6, 0x67, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0xFF, 0x03, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40,
+0x40, 0x40, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
+0x40, 0x20, 0x20, 0x10, 0x10, 0x08, 0x04, 0x03,
+};
+
+unsigned char splashSketch [] = {
+0xC0, 0x20, 0x10, 0x08, 0x04, 0x04, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xC1, 0xC1, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+0x01, 0x01, 0x01, 0x01, 0xC1, 0xC1, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x04, 0x04,
+0x08, 0x10, 0x20, 0xC0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFC, 0x18, 0x0C, 0x0C, 0x0C,
+0xFC, 0xF0, 0x18, 0x0C, 0x0C, 0x0C, 0xFC, 0xF8, 0x00, 0x00, 0xFF, 0xFF, 0x18, 0x0C, 0x0C, 0x0C,
+0x1C, 0xF8, 0xE0, 0x00, 0x00, 0xE0, 0xF8, 0xD8, 0xCC, 0xCC, 0xCC, 0xCC, 0xD8, 0xF8, 0xE0, 0x00,
+0x00, 0xE0, 0xF8, 0x1C, 0x0C, 0x0C, 0x0C, 0x18, 0xFF, 0xFF, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
+0xC0, 0x00, 0x00, 0x18, 0x98, 0x8C, 0x8C, 0xCC, 0xCC, 0xCC, 0xFC, 0xF8, 0x00, 0x00, 0xC0, 0xC0,
+0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F,
+0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x00, 0x00, 0x1F, 0x1F,
+0x0C, 0x18, 0x18, 0x18, 0x1C, 0x0F, 0x03, 0x00, 0x00, 0x03, 0x0F, 0x0C, 0x18, 0x18, 0x18, 0x18,
+0x1C, 0x0C, 0x04, 0x00, 0x00, 0x03, 0x0F, 0x1C, 0x18, 0x18, 0x18, 0x0C, 0x1F, 0x1F, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x1F, 0x19, 0x19, 0x18, 0x18, 0x0C, 0x0F, 0x1F,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0x60, 0x60, 0x60, 0x60, 0x60, 0xC0,
+0x80, 0x00, 0x00, 0xFE, 0xFE, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0x60, 0x20, 0x00, 0x00, 0xC0, 0xC0,
+0x60, 0x60, 0x60, 0x60, 0xC0, 0xC0, 0x00, 0x00, 0x60, 0xFC, 0xFE, 0x60, 0x60, 0x00, 0x00, 0x00,
+0xC0, 0xC0, 0x60, 0x60, 0x60, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0xFE, 0xFE, 0xC0, 0x60, 0x60, 0x60,
+0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
+0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x67, 0xC6, 0xC6,
+0xC6, 0xCC, 0xCC, 0x7C, 0x38, 0x00, 0x00, 0xFF, 0xFF, 0x06, 0x07, 0x0F, 0x3D, 0xF0, 0xE0, 0x80,
+0x00, 0x1F, 0x7F, 0x66, 0xC6, 0xC6, 0xC6, 0xC6, 0xE6, 0x67, 0x27, 0x00, 0x00, 0x7F, 0xFF, 0xC0,
+0xC0, 0x00, 0x00, 0x1F, 0x7F, 0xE0, 0xC0, 0xC0, 0xC0, 0xE0, 0x71, 0x31, 0x00, 0x00, 0xFF, 0xFF,
+0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0xFF, 0x03, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x40,
+0x40, 0x40, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
+0x40, 0x20, 0x20, 0x10, 0x10, 0x08, 0x04, 0x03,
+};
+
