test program for Sharp memory LCD

Dependencies:   TFT_fonts mbed sharp_mlcd

Sharp のメモリLCD, LS027B4DH01 (秋月電子扱い http://akizukidenshi.com/catalog/g/gP-04944/) 用の表示ライブラリとテストプログラム。この LCD は初期設定が不要です。mbed の GraphicDisplay ライブラリを継承していますからフォントなどについてはそちらを見てください。

この LCD は低消費電力と高コントラストが特徴で、高速表示にはあまり向かないと思います。ライブラリもあまり効率を考慮していません。フレームバッファの自動書き出しはオフ(set_auto_up(0))にして、まとめて表示(copy_to_lcd())するのが良いでしょう。フレーム反転フラグ(EXTCOMIN)の制御はあまりスマートではありません。リフレッシュ等も考慮していません。VDD は 4.8-5.5V となっていますが、3.3V でも動きました。電源が 5V でも信号は 3.3V が推奨値です。

sharp_mlcd.h 内で WIDTH と HEIGHT を 96 にし、sharp_mlcd.cpp 内で SPI クロックを 1MHz にすれば TI の Sharp Memory LCD BoosterPack (LS013B4DN04)でも使えます。その際には main.cpp 内で使用しているフォントやビットマップを適当に変更してください。こちらは 3.3V 動作です。SPI クロックは LS027B4DH01 と同じ 2MHz でも動作しましたが、規格外です。

ビットマップデータの変換にはこれとか使えると思います。 https://code.google.com/p/lcd-image-converter/

pin assign

LS027B4DH01TI Sharp Memory LCD BoosterPackNucleo L152RE
1 SCLK7 SPI CLKD13
2 SI15 SPI SIMOD11
3 SCS6 SPI CSD10
4 EXTCOMIN19 External COM InversionD9
5 DISP5 LCD Enable (R16)D8
6 VDDA-5V
7 VDD-5V
8 EXTMODE1 +3.3V3.3V
9 VSS20 GNDGND
10 VSSA-GND

/media/uploads/masato/ls027b4dh01-1.jpg

大きな"mbed"はビットマップ、その下はテキスト。

/media/uploads/masato/ls013b4dn04.jpg

ディスプレイ面の赤丸は保護シートを剥がしていないため。

/media/uploads/masato/ls027b4dh01-2.jpg

ビットマップのアニメーション。

/media/uploads/masato/ls027b4dh01-3.jpg

直線。

Committer:
masato
Date:
Sun May 11 14:16:10 2014 +0000
Revision:
1:443ce3a02a88
Parent:
0:eb868b2d7042
test driver for Sharp memory LCD (LS027B4DH01) library

Who changed what in which revision?

UserRevisionLine numberNew contents of line
masato 0:eb868b2d7042 1 #include "mbed.h"
masato 0:eb868b2d7042 2 #include "sharp_mlcd.h"
masato 0:eb868b2d7042 3
masato 0:eb868b2d7042 4 #include "Arial12x12.h"
masato 0:eb868b2d7042 5
masato 0:eb868b2d7042 6 sharp_mlcd lcd("LCD");
masato 0:eb868b2d7042 7 Serial pc(USBTX, USBRX);
masato 0:eb868b2d7042 8
masato 0:eb868b2d7042 9 const static
masato 0:eb868b2d7042 10 char mbedlogo128x48[768]
masato 0:eb868b2d7042 11 = {
masato 0:eb868b2d7042 12 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
masato 0:eb868b2d7042 13 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
masato 0:eb868b2d7042 14 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
masato 0:eb868b2d7042 15 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
masato 0:eb868b2d7042 16 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
masato 0:eb868b2d7042 17 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
masato 0:eb868b2d7042 18 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
masato 0:eb868b2d7042 19 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
masato 0:eb868b2d7042 20 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
masato 0:eb868b2d7042 21 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
masato 0:eb868b2d7042 22 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
masato 0:eb868b2d7042 23 0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,
masato 0:eb868b2d7042 24 0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,
masato 0:eb868b2d7042 25 0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,
masato 0:eb868b2d7042 26 0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,
masato 0:eb868b2d7042 27 0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,
masato 0:eb868b2d7042 28 0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,
masato 0:eb868b2d7042 29 0x00,0x00,0x03,0xc7,0x83,0xe0,0x3c,0x7c,0x00,0x7e,0x00,0x3e,0x3c,0x00,0x00,0x00,
masato 0:eb868b2d7042 30 0x00,0x00,0x03,0xdf,0xef,0xf8,0x3d,0xfe,0x01,0xff,0x80,0x7f,0xbc,0x00,0x00,0x00,
masato 0:eb868b2d7042 31 0x00,0x00,0x03,0xff,0xff,0xf8,0x3f,0xff,0x03,0xff,0xc0,0xff,0xfc,0x00,0x00,0x00,
masato 0:eb868b2d7042 32 0x00,0x00,0x03,0xf1,0xfc,0x7c,0x3f,0x0f,0x87,0xc3,0xe1,0xf0,0xfc,0x00,0x00,0x00,
masato 0:eb868b2d7042 33 0x00,0x00,0x03,0xe0,0xf8,0x3c,0x3e,0x07,0x87,0x81,0xe1,0xe0,0x7c,0x00,0x00,0x00,
masato 0:eb868b2d7042 34 0x00,0x00,0x03,0xc0,0xf0,0x3c,0x3c,0x03,0xcf,0x00,0xe3,0xc0,0x3c,0x00,0x00,0x00,
masato 0:eb868b2d7042 35 0x00,0x00,0x03,0xc0,0xf0,0x3c,0x3c,0x03,0xcf,0x00,0xf3,0xc0,0x3c,0x00,0x00,0x00,
masato 0:eb868b2d7042 36 0x00,0x00,0x03,0xc0,0xf0,0x3c,0x3c,0x03,0xcf,0xff,0xf3,0xc0,0x3c,0x00,0x00,0x00,
masato 0:eb868b2d7042 37 0x00,0x00,0x03,0xc0,0xf0,0x3c,0x3c,0x03,0xcf,0xff,0xf3,0xc0,0x3c,0x00,0x00,0x00,
masato 0:eb868b2d7042 38 0x00,0x00,0x03,0xc0,0xf0,0x3c,0x3c,0x03,0xcf,0xff,0xf3,0xc0,0x3c,0x00,0x00,0x00,
masato 0:eb868b2d7042 39 0x00,0x00,0x03,0xc0,0xf0,0x3c,0x3c,0x03,0xcf,0x00,0x03,0xc0,0x3c,0x00,0x00,0x00,
masato 0:eb868b2d7042 40 0x00,0x00,0x03,0xc0,0xf0,0x3c,0x3e,0x03,0xcf,0x00,0x03,0xc0,0x7c,0x00,0x00,0x00,
masato 0:eb868b2d7042 41 0x00,0x00,0x03,0xc0,0xf0,0x3c,0x3e,0x07,0x87,0x80,0x01,0xe0,0x7c,0x00,0x00,0x00,
masato 0:eb868b2d7042 42 0x00,0x00,0x03,0xc0,0xf0,0x3c,0x3f,0x0f,0x87,0xc1,0xc1,0xf0,0xfc,0x00,0x00,0x00,
masato 0:eb868b2d7042 43 0x00,0x00,0x03,0xc0,0xf0,0x3c,0x3f,0xff,0x03,0xff,0xf0,0xff,0xfc,0x00,0x00,0x00,
masato 0:eb868b2d7042 44 0x00,0x00,0x03,0xc0,0xf0,0x3c,0x3d,0xfe,0x01,0xff,0xe0,0x7f,0xbc,0x00,0x00,0x00,
masato 0:eb868b2d7042 45 0x00,0x00,0x03,0xc0,0xf0,0x3c,0x3c,0xfc,0x00,0x7f,0x00,0x3f,0x3c,0x00,0x00,0x00,
masato 0:eb868b2d7042 46 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
masato 0:eb868b2d7042 47 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
masato 0:eb868b2d7042 48 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
masato 0:eb868b2d7042 49 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
masato 0:eb868b2d7042 50 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
masato 0:eb868b2d7042 51 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
masato 0:eb868b2d7042 52 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
masato 0:eb868b2d7042 53 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
masato 0:eb868b2d7042 54 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
masato 0:eb868b2d7042 55 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
masato 0:eb868b2d7042 56 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
masato 0:eb868b2d7042 57 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
masato 0:eb868b2d7042 58 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
masato 0:eb868b2d7042 59 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
masato 0:eb868b2d7042 60 };
masato 0:eb868b2d7042 61
masato 0:eb868b2d7042 62
masato 0:eb868b2d7042 63 const static struct Bitmap logo = {
masato 0:eb868b2d7042 64 128,
masato 0:eb868b2d7042 65 48,
masato 0:eb868b2d7042 66 16,
masato 0:eb868b2d7042 67 (char*)mbedlogo128x48,
masato 0:eb868b2d7042 68 };
masato 0:eb868b2d7042 69
masato 0:eb868b2d7042 70 const char target[] =
masato 0:eb868b2d7042 71 #if defined(TARGET_NUCLEO_L152RE)
masato 0:eb868b2d7042 72 "STM32 Nucleo L152RE"
masato 0:eb868b2d7042 73 #elif defined(TARGET_KL05Z)
masato 0:eb868b2d7042 74 "Freescale FRDM-KL05Z"
masato 0:eb868b2d7042 75 #else
masato 0:eb868b2d7042 76 "????"
masato 0:eb868b2d7042 77 #endif
masato 0:eb868b2d7042 78 ;
masato 0:eb868b2d7042 79
masato 0:eb868b2d7042 80 Ticker timer;
masato 0:eb868b2d7042 81
masato 0:eb868b2d7042 82 void attime() {
masato 0:eb868b2d7042 83 lcd.attime();
masato 0:eb868b2d7042 84 }
masato 0:eb868b2d7042 85
masato 0:eb868b2d7042 86 static const unsigned char logo16_glcd_bmp[] =
masato 0:eb868b2d7042 87 { 0x00, 0xc0, // B00000000, B11000000,
masato 0:eb868b2d7042 88 0x01, 0xc0, // B00000001, B11000000,
masato 0:eb868b2d7042 89 0x01, 0xc0, // B00000001, B11000000,
masato 0:eb868b2d7042 90 0x03, 0xe0, // B00000011, B11100000,
masato 0:eb868b2d7042 91 0xf3, 0xe0, // B11110011, B11100000,
masato 0:eb868b2d7042 92 0xfe, 0xf8, // B11111110, B11111000,
masato 0:eb868b2d7042 93 0x7e, 0xff, // B01111110, B11111111,
masato 0:eb868b2d7042 94 0x33, 0x9f, // B00110011, B10011111,
masato 0:eb868b2d7042 95 0x1f, 0xfc, // B00011111, B11111100,
masato 0:eb868b2d7042 96 0x0d, 0x70, // B00001101, B01110000,
masato 0:eb868b2d7042 97 0x1b, 0xa0, // B00011011, B10100000,
masato 0:eb868b2d7042 98 0x3f, 0xe0, // B00111111, B11100000,
masato 0:eb868b2d7042 99 0x3f, 0xf0, // B00111111, B11110000,
masato 0:eb868b2d7042 100 0x7c, 0xf0, // B01111100, B11110000,
masato 0:eb868b2d7042 101 0x70, 0x70, // B01110000, B01110000,
masato 0:eb868b2d7042 102 0x00, 0x30 }; // B00000000, B00110000 };
masato 0:eb868b2d7042 103
masato 0:eb868b2d7042 104 const static struct Bitmap snow = {
masato 0:eb868b2d7042 105 16,
masato 0:eb868b2d7042 106 16,
masato 0:eb868b2d7042 107 2,
masato 0:eb868b2d7042 108 (char*)logo16_glcd_bmp,
masato 0:eb868b2d7042 109 };
masato 0:eb868b2d7042 110
masato 0:eb868b2d7042 111 #define NUMFLAKES 16
masato 0:eb868b2d7042 112 #define XPOS 0
masato 0:eb868b2d7042 113 #define YPOS 1
masato 0:eb868b2d7042 114 #define DELTAY 2
masato 0:eb868b2d7042 115
masato 0:eb868b2d7042 116 void testdrawbitmap(struct Bitmap bitmap) {
masato 0:eb868b2d7042 117 uint8_t icons[NUMFLAKES][3];
masato 0:eb868b2d7042 118 srand((unsigned int)time(NULL)); // srandom(666); // whatever seed
masato 0:eb868b2d7042 119 int i;
masato 0:eb868b2d7042 120
masato 0:eb868b2d7042 121 // initialize
masato 0:eb868b2d7042 122 for (uint8_t f=0; f< NUMFLAKES; f++) {
masato 0:eb868b2d7042 123 icons[f][XPOS] = rand() % lcd.width(); // display.width();
masato 0:eb868b2d7042 124 icons[f][YPOS] = 0;
masato 0:eb868b2d7042 125 icons[f][DELTAY] = rand() % 5 + 1;
masato 0:eb868b2d7042 126 #if 0
masato 0:eb868b2d7042 127 Serial.print("x: ");
masato 0:eb868b2d7042 128 Serial.print(icons[f][XPOS], DEC);
masato 0:eb868b2d7042 129 Serial.print(" y: ");
masato 0:eb868b2d7042 130 Serial.print(icons[f][YPOS], DEC);
masato 0:eb868b2d7042 131 Serial.print(" dy: ");
masato 0:eb868b2d7042 132 Serial.println(icons[f][DELTAY], DEC);
masato 0:eb868b2d7042 133 #endif
masato 0:eb868b2d7042 134 }
masato 0:eb868b2d7042 135 lcd.setmode(XOR);
masato 0:eb868b2d7042 136 i = 0;
masato 0:eb868b2d7042 137 while (1) {
masato 0:eb868b2d7042 138 // draw each icon
masato 0:eb868b2d7042 139 for (uint8_t f=0; f< NUMFLAKES; f++) {
masato 0:eb868b2d7042 140 lcd.print_bm(bitmap, icons[f][XPOS], icons[f][YPOS], 1);
masato 0:eb868b2d7042 141 }
masato 0:eb868b2d7042 142 lcd.copy_to_lcd();
masato 0:eb868b2d7042 143 wait(0.2); // delay(200);
masato 0:eb868b2d7042 144
masato 0:eb868b2d7042 145 // then erase it + move it
masato 0:eb868b2d7042 146 for (uint8_t f=0; f< NUMFLAKES; f++) {
masato 0:eb868b2d7042 147 lcd.print_bm(bitmap, icons[f][XPOS], icons[f][YPOS], 1);
masato 0:eb868b2d7042 148 // move it
masato 0:eb868b2d7042 149 icons[f][YPOS] += icons[f][DELTAY];
masato 0:eb868b2d7042 150 // if its gone, reinit
masato 0:eb868b2d7042 151 if (icons[f][YPOS] > lcd.height()) { // display.height()) {
masato 0:eb868b2d7042 152 icons[f][XPOS] = rand() % lcd.width(); // display.width();
masato 0:eb868b2d7042 153 icons[f][YPOS] = 0;
masato 0:eb868b2d7042 154 icons[f][DELTAY] = rand() % 5 + 1;
masato 0:eb868b2d7042 155 }
masato 0:eb868b2d7042 156 }
masato 0:eb868b2d7042 157 if (i++ > 100) break;
masato 0:eb868b2d7042 158 }
masato 0:eb868b2d7042 159 lcd.setmode(NORMAL);
masato 0:eb868b2d7042 160 }
masato 0:eb868b2d7042 161
masato 0:eb868b2d7042 162
masato 0:eb868b2d7042 163 void testdrawline() {
masato 0:eb868b2d7042 164 for (int16_t i=0; i<lcd.width(); i+=4) {
masato 0:eb868b2d7042 165 lcd.line(0, 0, i, lcd.height()-1, 1);
masato 0:eb868b2d7042 166 lcd.copy_to_lcd();
masato 0:eb868b2d7042 167 }
masato 0:eb868b2d7042 168 for (int16_t i=0; i<lcd.height(); i+=4) {
masato 0:eb868b2d7042 169 lcd.line(0, 0, lcd.width()-1, i, 1);
masato 0:eb868b2d7042 170 lcd.copy_to_lcd();
masato 0:eb868b2d7042 171 }
masato 0:eb868b2d7042 172 wait(0.25); // delay(250);
masato 0:eb868b2d7042 173 #if 0
masato 0:eb868b2d7042 174 lcd.cls();
masato 0:eb868b2d7042 175 for (int16_t i=0; i<lcd.width(); i+=4) {
masato 0:eb868b2d7042 176 lcd.line(0, lcd.height()-1, i, 0, 1);
masato 0:eb868b2d7042 177 lcd.copy_to_lcd();
masato 0:eb868b2d7042 178 }
masato 0:eb868b2d7042 179 for (int16_t i=lcd.height()-1; i>=0; i-=4) {
masato 0:eb868b2d7042 180 lcd.line(0, lcd.height()-1, lcd.width()-1, i, 1);
masato 0:eb868b2d7042 181 lcd.copy_to_lcd();
masato 0:eb868b2d7042 182 }
masato 0:eb868b2d7042 183 wait(0.25); // delay(250);
masato 0:eb868b2d7042 184
masato 0:eb868b2d7042 185 lcd.cls();
masato 0:eb868b2d7042 186 for (int16_t i=lcd.width()-1; i>=0; i-=4) {
masato 0:eb868b2d7042 187 lcd.line(lcd.width()-1, lcd.height()-1, i, 0, 1);
masato 0:eb868b2d7042 188 lcd.copy_to_lcd();
masato 0:eb868b2d7042 189 }
masato 0:eb868b2d7042 190 for (int16_t i=lcd.height()-1; i>=0; i-=4) {
masato 0:eb868b2d7042 191 lcd.line(lcd.width()-1, lcd.height()-1, 0, i, 1);
masato 0:eb868b2d7042 192 lcd.copy_to_lcd();
masato 0:eb868b2d7042 193 }
masato 0:eb868b2d7042 194 wait(0.25); // delay(250);
masato 0:eb868b2d7042 195
masato 0:eb868b2d7042 196 lcd.cls();
masato 0:eb868b2d7042 197 for (int16_t i=0; i<lcd.height(); i+=4) {
masato 0:eb868b2d7042 198 lcd.line(lcd.width()-1, 0, 0, i, 1);
masato 0:eb868b2d7042 199 lcd.copy_to_lcd();
masato 0:eb868b2d7042 200 }
masato 0:eb868b2d7042 201 for (int16_t i=0; i<lcd.width(); i+=4) {
masato 0:eb868b2d7042 202 lcd.line(lcd.width()-1, 0, i, lcd.height()-1, 1);
masato 0:eb868b2d7042 203 lcd.copy_to_lcd();
masato 0:eb868b2d7042 204 }
masato 0:eb868b2d7042 205 wait(0.25);
masato 0:eb868b2d7042 206 #endif
masato 0:eb868b2d7042 207 }
masato 0:eb868b2d7042 208
masato 0:eb868b2d7042 209 int main() {
masato 0:eb868b2d7042 210 pc.printf("%s\r\n", target);
masato 0:eb868b2d7042 211 timer.attach(attime, 0.5);
masato 0:eb868b2d7042 212 lcd.setmode(NORMAL);
masato 0:eb868b2d7042 213 // lcd.set_font((unsigned char*)Arial24x23);
masato 0:eb868b2d7042 214 lcd.set_font((unsigned char*)Arial12x12);
masato 0:eb868b2d7042 215 lcd.set_auto_up(0);
masato 0:eb868b2d7042 216 while (1) {
masato 0:eb868b2d7042 217 lcd.cls();
masato 0:eb868b2d7042 218 lcd.locate(0,0);
masato 0:eb868b2d7042 219 pc.printf("\r\n %s!\r\n This is Sharp Memory LCD demo.", target);
masato 0:eb868b2d7042 220 lcd.printf("\r\n %s!\r\n This is Sharp Memory LCD demo.", target);
masato 0:eb868b2d7042 221 wait(1);
masato 0:eb868b2d7042 222 lcd.cls();
masato 0:eb868b2d7042 223 testdrawline();
masato 0:eb868b2d7042 224 wait(1);
masato 0:eb868b2d7042 225 lcd.cls();
masato 0:eb868b2d7042 226 testdrawbitmap(snow);
masato 0:eb868b2d7042 227 wait(1);
masato 0:eb868b2d7042 228 lcd.cls();
masato 0:eb868b2d7042 229 wait(1);
masato 0:eb868b2d7042 230 lcd.print_bm(logo, 0, 0, 1);
masato 0:eb868b2d7042 231 lcd.copy_to_lcd();
masato 0:eb868b2d7042 232 lcd.printf("\r\n\r\n %s", target);
masato 0:eb868b2d7042 233 lcd.copy_to_lcd();
masato 0:eb868b2d7042 234
masato 0:eb868b2d7042 235 wait(10);
masato 0:eb868b2d7042 236 }
masato 0:eb868b2d7042 237 }