update Library and Demo Animation.
Dependencies: TFT_fonts mbed sharp_mlcd
Fork of Sharp_Memory_LCD_Test by
main.cpp@2:4d25eab8bff6, 2014-09-13 (annotated)
- Committer:
- ban4jp
- Date:
- Sat Sep 13 05:52:33 2014 +0000
- Revision:
- 2:4d25eab8bff6
- Parent:
- 0:eb868b2d7042
update Library and Demo Animation.
Who changed what in which revision?
User | Revision | Line number | New 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 | |
ban4jp | 2:4d25eab8bff6 | 6 | #if defined(TARGET_NUCLEO_L152RE) |
masato | 0:eb868b2d7042 | 7 | sharp_mlcd lcd("LCD"); |
masato | 0:eb868b2d7042 | 8 | Serial pc(USBTX, USBRX); |
ban4jp | 2:4d25eab8bff6 | 9 | #else |
ban4jp | 2:4d25eab8bff6 | 10 | sharp_mlcd lcd(D11, D13, D2, D4, D5, "LCD"); |
ban4jp | 2:4d25eab8bff6 | 11 | Serial pc(USBTX, USBRX); |
ban4jp | 2:4d25eab8bff6 | 12 | #endif |
masato | 0:eb868b2d7042 | 13 | |
masato | 0:eb868b2d7042 | 14 | const static |
masato | 0:eb868b2d7042 | 15 | char mbedlogo128x48[768] |
masato | 0:eb868b2d7042 | 16 | = { |
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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 24 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 25 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 26 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 27 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 30 | 0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 31 | 0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 32 | 0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 33 | 0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 34 | 0x00,0x00,0x03,0xc7,0x83,0xe0,0x3c,0x7c,0x00,0x7e,0x00,0x3e,0x3c,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 35 | 0x00,0x00,0x03,0xdf,0xef,0xf8,0x3d,0xfe,0x01,0xff,0x80,0x7f,0xbc,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 36 | 0x00,0x00,0x03,0xff,0xff,0xf8,0x3f,0xff,0x03,0xff,0xc0,0xff,0xfc,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 37 | 0x00,0x00,0x03,0xf1,0xfc,0x7c,0x3f,0x0f,0x87,0xc3,0xe1,0xf0,0xfc,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 38 | 0x00,0x00,0x03,0xe0,0xf8,0x3c,0x3e,0x07,0x87,0x81,0xe1,0xe0,0x7c,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 39 | 0x00,0x00,0x03,0xc0,0xf0,0x3c,0x3c,0x03,0xcf,0x00,0xe3,0xc0,0x3c,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 40 | 0x00,0x00,0x03,0xc0,0xf0,0x3c,0x3c,0x03,0xcf,0x00,0xf3,0xc0,0x3c,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 41 | 0x00,0x00,0x03,0xc0,0xf0,0x3c,0x3c,0x03,0xcf,0xff,0xf3,0xc0,0x3c,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 42 | 0x00,0x00,0x03,0xc0,0xf0,0x3c,0x3c,0x03,0xcf,0xff,0xf3,0xc0,0x3c,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 43 | 0x00,0x00,0x03,0xc0,0xf0,0x3c,0x3c,0x03,0xcf,0xff,0xf3,0xc0,0x3c,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 44 | 0x00,0x00,0x03,0xc0,0xf0,0x3c,0x3c,0x03,0xcf,0x00,0x03,0xc0,0x3c,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 45 | 0x00,0x00,0x03,0xc0,0xf0,0x3c,0x3e,0x03,0xcf,0x00,0x03,0xc0,0x7c,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 46 | 0x00,0x00,0x03,0xc0,0xf0,0x3c,0x3e,0x07,0x87,0x80,0x01,0xe0,0x7c,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 47 | 0x00,0x00,0x03,0xc0,0xf0,0x3c,0x3f,0x0f,0x87,0xc1,0xc1,0xf0,0xfc,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 48 | 0x00,0x00,0x03,0xc0,0xf0,0x3c,0x3f,0xff,0x03,0xff,0xf0,0xff,0xfc,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 49 | 0x00,0x00,0x03,0xc0,0xf0,0x3c,0x3d,0xfe,0x01,0xff,0xe0,0x7f,0xbc,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 50 | 0x00,0x00,0x03,0xc0,0xf0,0x3c,0x3c,0xfc,0x00,0x7f,0x00,0x3f,0x3c,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 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 61 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 62 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 63 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
masato | 0:eb868b2d7042 | 64 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 |
masato | 0:eb868b2d7042 | 65 | }; |
masato | 0:eb868b2d7042 | 66 | |
masato | 0:eb868b2d7042 | 67 | |
masato | 0:eb868b2d7042 | 68 | const static struct Bitmap logo = { |
masato | 0:eb868b2d7042 | 69 | 128, |
masato | 0:eb868b2d7042 | 70 | 48, |
masato | 0:eb868b2d7042 | 71 | 16, |
masato | 0:eb868b2d7042 | 72 | (char*)mbedlogo128x48, |
masato | 0:eb868b2d7042 | 73 | }; |
masato | 0:eb868b2d7042 | 74 | |
masato | 0:eb868b2d7042 | 75 | const char target[] = |
masato | 0:eb868b2d7042 | 76 | #if defined(TARGET_NUCLEO_L152RE) |
masato | 0:eb868b2d7042 | 77 | "STM32 Nucleo L152RE" |
ban4jp | 2:4d25eab8bff6 | 78 | #elif defined(TARGET_KL46Z) |
ban4jp | 2:4d25eab8bff6 | 79 | "Freescale FRDM-KL46Z" |
ban4jp | 2:4d25eab8bff6 | 80 | #elif defined(TARGET_KL25Z) |
ban4jp | 2:4d25eab8bff6 | 81 | "Freescale FRDM-KL25Z" |
masato | 0:eb868b2d7042 | 82 | #elif defined(TARGET_KL05Z) |
masato | 0:eb868b2d7042 | 83 | "Freescale FRDM-KL05Z" |
masato | 0:eb868b2d7042 | 84 | #else |
masato | 0:eb868b2d7042 | 85 | "????" |
masato | 0:eb868b2d7042 | 86 | #endif |
masato | 0:eb868b2d7042 | 87 | ; |
masato | 0:eb868b2d7042 | 88 | |
ban4jp | 2:4d25eab8bff6 | 89 | #include "picture.h" |
ban4jp | 2:4d25eab8bff6 | 90 | extern const uint8_t picture[]; |
ban4jp | 2:4d25eab8bff6 | 91 | const struct Bitmap pic = { |
ban4jp | 2:4d25eab8bff6 | 92 | 400, |
ban4jp | 2:4d25eab8bff6 | 93 | 240, |
ban4jp | 2:4d25eab8bff6 | 94 | 400/8, |
ban4jp | 2:4d25eab8bff6 | 95 | (char*)picture, |
ban4jp | 2:4d25eab8bff6 | 96 | }; |
ban4jp | 2:4d25eab8bff6 | 97 | |
masato | 0:eb868b2d7042 | 98 | Ticker timer; |
masato | 0:eb868b2d7042 | 99 | |
masato | 0:eb868b2d7042 | 100 | void attime() { |
masato | 0:eb868b2d7042 | 101 | lcd.attime(); |
masato | 0:eb868b2d7042 | 102 | } |
masato | 0:eb868b2d7042 | 103 | |
masato | 0:eb868b2d7042 | 104 | static const unsigned char logo16_glcd_bmp[] = |
masato | 0:eb868b2d7042 | 105 | { 0x00, 0xc0, // B00000000, B11000000, |
masato | 0:eb868b2d7042 | 106 | 0x01, 0xc0, // B00000001, B11000000, |
masato | 0:eb868b2d7042 | 107 | 0x01, 0xc0, // B00000001, B11000000, |
masato | 0:eb868b2d7042 | 108 | 0x03, 0xe0, // B00000011, B11100000, |
masato | 0:eb868b2d7042 | 109 | 0xf3, 0xe0, // B11110011, B11100000, |
masato | 0:eb868b2d7042 | 110 | 0xfe, 0xf8, // B11111110, B11111000, |
masato | 0:eb868b2d7042 | 111 | 0x7e, 0xff, // B01111110, B11111111, |
masato | 0:eb868b2d7042 | 112 | 0x33, 0x9f, // B00110011, B10011111, |
masato | 0:eb868b2d7042 | 113 | 0x1f, 0xfc, // B00011111, B11111100, |
masato | 0:eb868b2d7042 | 114 | 0x0d, 0x70, // B00001101, B01110000, |
masato | 0:eb868b2d7042 | 115 | 0x1b, 0xa0, // B00011011, B10100000, |
masato | 0:eb868b2d7042 | 116 | 0x3f, 0xe0, // B00111111, B11100000, |
masato | 0:eb868b2d7042 | 117 | 0x3f, 0xf0, // B00111111, B11110000, |
masato | 0:eb868b2d7042 | 118 | 0x7c, 0xf0, // B01111100, B11110000, |
masato | 0:eb868b2d7042 | 119 | 0x70, 0x70, // B01110000, B01110000, |
masato | 0:eb868b2d7042 | 120 | 0x00, 0x30 }; // B00000000, B00110000 }; |
masato | 0:eb868b2d7042 | 121 | |
masato | 0:eb868b2d7042 | 122 | const static struct Bitmap snow = { |
masato | 0:eb868b2d7042 | 123 | 16, |
masato | 0:eb868b2d7042 | 124 | 16, |
masato | 0:eb868b2d7042 | 125 | 2, |
masato | 0:eb868b2d7042 | 126 | (char*)logo16_glcd_bmp, |
masato | 0:eb868b2d7042 | 127 | }; |
masato | 0:eb868b2d7042 | 128 | |
ban4jp | 2:4d25eab8bff6 | 129 | #define NUMFLAKES 48 |
masato | 0:eb868b2d7042 | 130 | #define XPOS 0 |
masato | 0:eb868b2d7042 | 131 | #define YPOS 1 |
masato | 0:eb868b2d7042 | 132 | #define DELTAY 2 |
masato | 0:eb868b2d7042 | 133 | |
masato | 0:eb868b2d7042 | 134 | void testdrawbitmap(struct Bitmap bitmap) { |
ban4jp | 2:4d25eab8bff6 | 135 | int16_t icons[NUMFLAKES][3]; |
masato | 0:eb868b2d7042 | 136 | srand((unsigned int)time(NULL)); // srandom(666); // whatever seed |
masato | 0:eb868b2d7042 | 137 | int i; |
masato | 0:eb868b2d7042 | 138 | |
masato | 0:eb868b2d7042 | 139 | // initialize |
masato | 0:eb868b2d7042 | 140 | for (uint8_t f=0; f< NUMFLAKES; f++) { |
ban4jp | 2:4d25eab8bff6 | 141 | icons[f][XPOS] = (rand() % (lcd.width() + bitmap.xSize)) - bitmap.xSize / 2; |
ban4jp | 2:4d25eab8bff6 | 142 | icons[f][YPOS] = (rand() % (lcd.height() + bitmap.ySize)) - bitmap.ySize; |
ban4jp | 2:4d25eab8bff6 | 143 | icons[f][DELTAY] = rand() % 5 + 2; |
masato | 0:eb868b2d7042 | 144 | #if 0 |
masato | 0:eb868b2d7042 | 145 | Serial.print("x: "); |
masato | 0:eb868b2d7042 | 146 | Serial.print(icons[f][XPOS], DEC); |
masato | 0:eb868b2d7042 | 147 | Serial.print(" y: "); |
masato | 0:eb868b2d7042 | 148 | Serial.print(icons[f][YPOS], DEC); |
masato | 0:eb868b2d7042 | 149 | Serial.print(" dy: "); |
masato | 0:eb868b2d7042 | 150 | Serial.println(icons[f][DELTAY], DEC); |
masato | 0:eb868b2d7042 | 151 | #endif |
masato | 0:eb868b2d7042 | 152 | } |
masato | 0:eb868b2d7042 | 153 | lcd.setmode(XOR); |
masato | 0:eb868b2d7042 | 154 | i = 0; |
masato | 0:eb868b2d7042 | 155 | while (1) { |
masato | 0:eb868b2d7042 | 156 | // draw each icon |
masato | 0:eb868b2d7042 | 157 | for (uint8_t f=0; f< NUMFLAKES; f++) { |
masato | 0:eb868b2d7042 | 158 | lcd.print_bm(bitmap, icons[f][XPOS], icons[f][YPOS], 1); |
masato | 0:eb868b2d7042 | 159 | } |
masato | 0:eb868b2d7042 | 160 | lcd.copy_to_lcd(); |
ban4jp | 2:4d25eab8bff6 | 161 | //wait_ms(200); // delay(200); |
masato | 0:eb868b2d7042 | 162 | |
masato | 0:eb868b2d7042 | 163 | // then erase it + move it |
masato | 0:eb868b2d7042 | 164 | for (uint8_t f=0; f< NUMFLAKES; f++) { |
masato | 0:eb868b2d7042 | 165 | lcd.print_bm(bitmap, icons[f][XPOS], icons[f][YPOS], 1); |
masato | 0:eb868b2d7042 | 166 | // move it |
masato | 0:eb868b2d7042 | 167 | icons[f][YPOS] += icons[f][DELTAY]; |
masato | 0:eb868b2d7042 | 168 | // if its gone, reinit |
masato | 0:eb868b2d7042 | 169 | if (icons[f][YPOS] > lcd.height()) { // display.height()) { |
ban4jp | 2:4d25eab8bff6 | 170 | icons[f][XPOS] = (rand() % (lcd.width() + bitmap.xSize)) - bitmap.xSize / 2; |
ban4jp | 2:4d25eab8bff6 | 171 | icons[f][YPOS] = -bitmap.ySize; |
ban4jp | 2:4d25eab8bff6 | 172 | icons[f][DELTAY] = rand() % 5 + 2; |
masato | 0:eb868b2d7042 | 173 | } |
masato | 0:eb868b2d7042 | 174 | } |
masato | 0:eb868b2d7042 | 175 | if (i++ > 100) break; |
masato | 0:eb868b2d7042 | 176 | } |
masato | 0:eb868b2d7042 | 177 | lcd.setmode(NORMAL); |
masato | 0:eb868b2d7042 | 178 | } |
masato | 0:eb868b2d7042 | 179 | |
masato | 0:eb868b2d7042 | 180 | |
masato | 0:eb868b2d7042 | 181 | void testdrawline() { |
ban4jp | 2:4d25eab8bff6 | 182 | for (int16_t i=0; i<lcd.width(); i+=7) { |
masato | 0:eb868b2d7042 | 183 | lcd.line(0, 0, i, lcd.height()-1, 1); |
masato | 0:eb868b2d7042 | 184 | lcd.copy_to_lcd(); |
masato | 0:eb868b2d7042 | 185 | } |
ban4jp | 2:4d25eab8bff6 | 186 | for (int16_t i=1; i<lcd.height(); i+=7) { |
masato | 0:eb868b2d7042 | 187 | lcd.line(0, 0, lcd.width()-1, i, 1); |
masato | 0:eb868b2d7042 | 188 | lcd.copy_to_lcd(); |
masato | 0:eb868b2d7042 | 189 | } |
ban4jp | 2:4d25eab8bff6 | 190 | wait_ms(150); // delay(150); |
masato | 0:eb868b2d7042 | 191 | #if 0 |
masato | 0:eb868b2d7042 | 192 | lcd.cls(); |
masato | 0:eb868b2d7042 | 193 | for (int16_t i=0; i<lcd.width(); i+=4) { |
masato | 0:eb868b2d7042 | 194 | lcd.line(0, lcd.height()-1, i, 0, 1); |
masato | 0:eb868b2d7042 | 195 | lcd.copy_to_lcd(); |
masato | 0:eb868b2d7042 | 196 | } |
masato | 0:eb868b2d7042 | 197 | for (int16_t i=lcd.height()-1; i>=0; i-=4) { |
masato | 0:eb868b2d7042 | 198 | lcd.line(0, lcd.height()-1, lcd.width()-1, i, 1); |
masato | 0:eb868b2d7042 | 199 | lcd.copy_to_lcd(); |
masato | 0:eb868b2d7042 | 200 | } |
ban4jp | 2:4d25eab8bff6 | 201 | wait_ms(150); // delay(150); |
masato | 0:eb868b2d7042 | 202 | |
masato | 0:eb868b2d7042 | 203 | lcd.cls(); |
masato | 0:eb868b2d7042 | 204 | for (int16_t i=lcd.width()-1; i>=0; i-=4) { |
masato | 0:eb868b2d7042 | 205 | lcd.line(lcd.width()-1, lcd.height()-1, i, 0, 1); |
masato | 0:eb868b2d7042 | 206 | lcd.copy_to_lcd(); |
masato | 0:eb868b2d7042 | 207 | } |
masato | 0:eb868b2d7042 | 208 | for (int16_t i=lcd.height()-1; i>=0; i-=4) { |
masato | 0:eb868b2d7042 | 209 | lcd.line(lcd.width()-1, lcd.height()-1, 0, i, 1); |
masato | 0:eb868b2d7042 | 210 | lcd.copy_to_lcd(); |
masato | 0:eb868b2d7042 | 211 | } |
ban4jp | 2:4d25eab8bff6 | 212 | wait_ms(150); // delay(150); |
masato | 0:eb868b2d7042 | 213 | |
masato | 0:eb868b2d7042 | 214 | lcd.cls(); |
masato | 0:eb868b2d7042 | 215 | for (int16_t i=0; i<lcd.height(); i+=4) { |
masato | 0:eb868b2d7042 | 216 | lcd.line(lcd.width()-1, 0, 0, i, 1); |
masato | 0:eb868b2d7042 | 217 | lcd.copy_to_lcd(); |
masato | 0:eb868b2d7042 | 218 | } |
masato | 0:eb868b2d7042 | 219 | for (int16_t i=0; i<lcd.width(); i+=4) { |
masato | 0:eb868b2d7042 | 220 | lcd.line(lcd.width()-1, 0, i, lcd.height()-1, 1); |
masato | 0:eb868b2d7042 | 221 | lcd.copy_to_lcd(); |
masato | 0:eb868b2d7042 | 222 | } |
ban4jp | 2:4d25eab8bff6 | 223 | wait_ms(250); |
masato | 0:eb868b2d7042 | 224 | #endif |
masato | 0:eb868b2d7042 | 225 | } |
masato | 0:eb868b2d7042 | 226 | |
masato | 0:eb868b2d7042 | 227 | int main() { |
masato | 0:eb868b2d7042 | 228 | pc.printf("%s\r\n", target); |
masato | 0:eb868b2d7042 | 229 | timer.attach(attime, 0.5); |
masato | 0:eb868b2d7042 | 230 | lcd.setmode(NORMAL); |
masato | 0:eb868b2d7042 | 231 | // lcd.set_font((unsigned char*)Arial24x23); |
masato | 0:eb868b2d7042 | 232 | lcd.set_font((unsigned char*)Arial12x12); |
masato | 0:eb868b2d7042 | 233 | lcd.set_auto_up(0); |
masato | 0:eb868b2d7042 | 234 | while (1) { |
masato | 0:eb868b2d7042 | 235 | lcd.cls(); |
masato | 0:eb868b2d7042 | 236 | lcd.locate(0,0); |
ban4jp | 2:4d25eab8bff6 | 237 | pc.printf("\r\n %s!\r\n This is Sharp Memory LCD demo.", target); |
ban4jp | 2:4d25eab8bff6 | 238 | lcd.printf("\r\n %s!\r\n This is Sharp Memory LCD demo.", target); |
ban4jp | 2:4d25eab8bff6 | 239 | lcd.printf("\r\n\r\n columns: %d rows: %d", lcd.columns(), lcd.rows()); |
ban4jp | 2:4d25eab8bff6 | 240 | |
ban4jp | 2:4d25eab8bff6 | 241 | lcd.print_bm(logo, 260, 178, 1); |
ban4jp | 2:4d25eab8bff6 | 242 | lcd.locate(260,172); |
ban4jp | 2:4d25eab8bff6 | 243 | lcd.printf("Powerd by"); |
ban4jp | 2:4d25eab8bff6 | 244 | |
ban4jp | 2:4d25eab8bff6 | 245 | lcd.copy_to_lcd(); |
ban4jp | 2:4d25eab8bff6 | 246 | |
ban4jp | 2:4d25eab8bff6 | 247 | wait_ms(1000); |
ban4jp | 2:4d25eab8bff6 | 248 | lcd.line(0, 0, lcd.width()-1, 0, 1); |
ban4jp | 2:4d25eab8bff6 | 249 | lcd.copy_to_lcd(); |
ban4jp | 2:4d25eab8bff6 | 250 | |
ban4jp | 2:4d25eab8bff6 | 251 | wait_ms(1000); |
ban4jp | 2:4d25eab8bff6 | 252 | lcd.line(lcd.width()-1, 0, lcd.width()-1, lcd.height()-1, 1); |
ban4jp | 2:4d25eab8bff6 | 253 | lcd.copy_to_lcd(); |
ban4jp | 2:4d25eab8bff6 | 254 | |
ban4jp | 2:4d25eab8bff6 | 255 | wait_ms(1000); |
ban4jp | 2:4d25eab8bff6 | 256 | lcd.line(0, lcd.height()-1, lcd.width()-1, lcd.height()-1, 1); |
ban4jp | 2:4d25eab8bff6 | 257 | lcd.copy_to_lcd(); |
ban4jp | 2:4d25eab8bff6 | 258 | |
ban4jp | 2:4d25eab8bff6 | 259 | wait_ms(1000); |
ban4jp | 2:4d25eab8bff6 | 260 | lcd.line(0, 0, 0, lcd.height()-1, 1); |
ban4jp | 2:4d25eab8bff6 | 261 | lcd.copy_to_lcd(); |
ban4jp | 2:4d25eab8bff6 | 262 | |
ban4jp | 2:4d25eab8bff6 | 263 | wait_ms(3000); |
ban4jp | 2:4d25eab8bff6 | 264 | |
ban4jp | 2:4d25eab8bff6 | 265 | lcd.cls(); |
ban4jp | 2:4d25eab8bff6 | 266 | |
ban4jp | 2:4d25eab8bff6 | 267 | lcd.locate(0,0); |
ban4jp | 2:4d25eab8bff6 | 268 | lcd.printf("Copyright (c) 2014 Masato YAMANISHI or more authors, MIT License\r\n"); lcd.copy_to_lcd(); wait_ms(50); |
ban4jp | 2:4d25eab8bff6 | 269 | lcd.printf("\r\n"); lcd.copy_to_lcd(); wait_ms(50); |
ban4jp | 2:4d25eab8bff6 | 270 | lcd.printf("Permission is hereby granted, free of charge, to any person obtaining a copy of this software "); lcd.copy_to_lcd(); wait_ms(50); |
ban4jp | 2:4d25eab8bff6 | 271 | lcd.printf("and associated documentation files (the \"Software\"), to deal in the Software without restriction, "); lcd.copy_to_lcd(); wait_ms(50); |
ban4jp | 2:4d25eab8bff6 | 272 | lcd.printf("including without limitation the rights to use, copy, modify, merge, publish, distribute, "); lcd.copy_to_lcd(); wait_ms(50); |
ban4jp | 2:4d25eab8bff6 | 273 | lcd.printf("sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is "); lcd.copy_to_lcd(); wait_ms(50); |
ban4jp | 2:4d25eab8bff6 | 274 | lcd.printf("furnished to do so, subject to the following conditions:\r\n"); lcd.copy_to_lcd(); wait_ms(50); |
ban4jp | 2:4d25eab8bff6 | 275 | lcd.printf("\r\n"); lcd.copy_to_lcd(); wait_ms(50); |
ban4jp | 2:4d25eab8bff6 | 276 | lcd.printf("The above copyright notice and this permission notice shall be included in all copies or "); lcd.copy_to_lcd(); wait_ms(50); |
ban4jp | 2:4d25eab8bff6 | 277 | lcd.printf("substantial portions of the Software.\r\n"); lcd.copy_to_lcd(); wait_ms(50); |
ban4jp | 2:4d25eab8bff6 | 278 | lcd.printf("\r\n"); lcd.copy_to_lcd(); wait_ms(50); |
ban4jp | 2:4d25eab8bff6 | 279 | lcd.printf("THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING "); lcd.copy_to_lcd(); wait_ms(50); |
ban4jp | 2:4d25eab8bff6 | 280 | lcd.printf("BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND "); lcd.copy_to_lcd(); wait_ms(50); |
ban4jp | 2:4d25eab8bff6 | 281 | lcd.printf("NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, "); lcd.copy_to_lcd(); wait_ms(50); |
ban4jp | 2:4d25eab8bff6 | 282 | lcd.printf("DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, "); lcd.copy_to_lcd(); wait_ms(50); |
ban4jp | 2:4d25eab8bff6 | 283 | lcd.printf("OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."); lcd.copy_to_lcd(); wait_ms(50); |
ban4jp | 2:4d25eab8bff6 | 284 | |
ban4jp | 2:4d25eab8bff6 | 285 | lcd.copy_to_lcd(); |
ban4jp | 2:4d25eab8bff6 | 286 | |
ban4jp | 2:4d25eab8bff6 | 287 | wait_ms(5000); |
ban4jp | 2:4d25eab8bff6 | 288 | |
ban4jp | 2:4d25eab8bff6 | 289 | lcd.print_bm(pic, 0, 0, 0); |
ban4jp | 2:4d25eab8bff6 | 290 | lcd.copy_to_lcd(); |
ban4jp | 2:4d25eab8bff6 | 291 | |
ban4jp | 2:4d25eab8bff6 | 292 | wait_ms(3000); |
ban4jp | 2:4d25eab8bff6 | 293 | |
ban4jp | 2:4d25eab8bff6 | 294 | for (int i=0; i<240+1; i+=2) { |
ban4jp | 2:4d25eab8bff6 | 295 | lcd.copy_to_lcd(i); |
ban4jp | 2:4d25eab8bff6 | 296 | } |
ban4jp | 2:4d25eab8bff6 | 297 | |
ban4jp | 2:4d25eab8bff6 | 298 | wait_ms(5000); |
ban4jp | 2:4d25eab8bff6 | 299 | |
masato | 0:eb868b2d7042 | 300 | lcd.cls(); |
masato | 0:eb868b2d7042 | 301 | testdrawline(); |
ban4jp | 2:4d25eab8bff6 | 302 | |
ban4jp | 2:4d25eab8bff6 | 303 | wait_ms(5000); |
ban4jp | 2:4d25eab8bff6 | 304 | |
masato | 0:eb868b2d7042 | 305 | lcd.cls(); |
masato | 0:eb868b2d7042 | 306 | testdrawbitmap(snow); |
ban4jp | 2:4d25eab8bff6 | 307 | |
ban4jp | 2:4d25eab8bff6 | 308 | wait_ms(5000); |
masato | 0:eb868b2d7042 | 309 | } |
masato | 0:eb868b2d7042 | 310 | } |