FRDM-KL25Z with Nokia 3110 type LCD display Using accelerometer to make movements
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
diff -r 90d35ac294af -r dbd6c9c366ac N3310LCD.lib --- 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
diff -r 90d35ac294af -r dbd6c9c366ac main.cpp --- 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);
diff -r 90d35ac294af -r dbd6c9c366ac splash.h --- 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, +}; +