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.
Fork of AkiSpiLcd_example by
main.cpp@7:88fb5b5a857d, 2014-09-09 (annotated)
- Committer:
- ban4jp
- Date:
- Tue Sep 09 15:22:26 2014 +0000
- Revision:
- 7:88fb5b5a857d
- Parent:
- 6:abfbb8453a70
Simple animation demo 2.
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| k4zuki | 0:3569e2cfb60b | 1 | #include "mbed.h" |
| ban4jp | 7:88fb5b5a857d | 2 | #include "animepic.h" |
| k4zuki | 0:3569e2cfb60b | 3 | #include "AkiSpiLcd.h" |
| k4zuki | 1:be675380f70b | 4 | |
| k4zuki | 0:3569e2cfb60b | 5 | /* |
| ban4jp | 7:88fb5b5a857d | 6 | 1 MOSI D11 |
| ban4jp | 7:88fb5b5a857d | 7 | 2 MISO D12 |
| ban4jp | 7:88fb5b5a857d | 8 | 3 SCLK D13 |
| ban4jp | 7:88fb5b5a857d | 9 | 4 CS(1) D2 (AkiSpi LCD) |
| ban4jp | 7:88fb5b5a857d | 10 | 5 CS(2) D3 (23K256 SRAM) |
| ban4jp | 7:88fb5b5a857d | 11 | EXTCOMIN D4 |
| ban4jp | 7:88fb5b5a857d | 12 | DISP D5 (Low = Off Display) |
| k4zuki | 0:3569e2cfb60b | 13 | */ |
| ban4jp | 7:88fb5b5a857d | 14 | |
| ban4jp | 7:88fb5b5a857d | 15 | #ifdef TARGET_KL46Z |
| ban4jp | 7:88fb5b5a857d | 16 | AkiSpiLcd lcd(D11, D12, D13, D2, D3); |
| ban4jp | 7:88fb5b5a857d | 17 | #endif |
| k4zuki | 1:be675380f70b | 18 | |
| ban4jp | 7:88fb5b5a857d | 19 | extern const uint8_t anime0[]; |
| ban4jp | 7:88fb5b5a857d | 20 | extern const uint8_t anime1[]; |
| ban4jp | 7:88fb5b5a857d | 21 | extern const uint8_t anime2[]; |
| ban4jp | 7:88fb5b5a857d | 22 | extern const uint8_t anime3[]; |
| ban4jp | 7:88fb5b5a857d | 23 | extern const uint8_t anime4[]; |
| ban4jp | 7:88fb5b5a857d | 24 | extern const uint8_t anime5[]; |
| ban4jp | 7:88fb5b5a857d | 25 | extern const uint8_t anime6[]; |
| ban4jp | 7:88fb5b5a857d | 26 | extern const uint8_t anime7[]; |
| ban4jp | 7:88fb5b5a857d | 27 | extern const uint8_t anime8[]; |
| ban4jp | 7:88fb5b5a857d | 28 | extern const uint8_t anime9[]; |
| k4zuki | 5:8883e74c0f11 | 29 | |
| k4zuki | 0:3569e2cfb60b | 30 | int main() |
| k4zuki | 0:3569e2cfb60b | 31 | { |
| ban4jp | 7:88fb5b5a857d | 32 | const int randline[240] = { |
| ban4jp | 7:88fb5b5a857d | 33 | 0xBE, 0xAE, 0x64, 0xD4, 0xB8, 0xA9, 0xD5, 0xC5, 0x0D, 0x41, 0x44, 0xD2, 0xD7, 0x15, 0x62, 0x65, |
| ban4jp | 7:88fb5b5a857d | 34 | 0xBB, 0xC6, 0x29, 0x14, 0x66, 0x51, 0xBC, 0xDE, 0x7B, 0xE5, 0xEF, 0xC0, 0x68, 0x2E, 0x91, 0xA0, |
| ban4jp | 7:88fb5b5a857d | 35 | 0x96, 0x71, 0x8B, 0x8A, 0x9D, 0x5D, 0xDF, 0x48, 0x56, 0x04, 0x49, 0x60, 0xA5, 0xEA, 0x7F, 0xD8, |
| ban4jp | 7:88fb5b5a857d | 36 | 0x22, 0xD3, 0x33, 0xC2, 0xB3, 0xCA, 0x28, 0x1C, 0x30, 0x89, 0x2B, 0x34, 0x95, 0x83, 0x11, 0xA3, |
| ban4jp | 7:88fb5b5a857d | 37 | 0x78, 0x80, 0x2C, 0xA7, 0xC7, 0x57, 0x55, 0x5F, 0x97, 0x00, 0x1A, 0x70, 0x7E, 0x73, 0xED, 0x52, |
| ban4jp | 7:88fb5b5a857d | 38 | 0xA6, 0x6C, 0xA4, 0xAA, 0xD6, 0x81, 0x24, 0x74, 0x21, 0xB0, 0x5E, 0x0C, 0x46, 0x87, 0x63, 0xD9, |
| ban4jp | 7:88fb5b5a857d | 39 | 0xE1, 0xA8, 0xBF, 0xB7, 0x8F, 0x0A, 0x1D, 0x40, 0xDD, 0x4D, 0x58, 0x86, 0xEC, 0xE0, 0x1F, 0x13, |
| ban4jp | 7:88fb5b5a857d | 40 | 0x53, 0x9E, 0xC3, 0xE9, 0xCB, 0x20, 0xCD, 0x17, 0x50, 0xA1, 0x5C, 0xAB, 0x25, 0xEE, 0x47, 0x3F, |
| ban4jp | 7:88fb5b5a857d | 41 | 0x35, 0xC9, 0x9B, 0x3E, 0xC4, 0x3D, 0x3C, 0xCC, 0x8D, 0x4E, 0xBD, 0x4F, 0xBA, 0x01, 0x59, 0x6B, |
| ban4jp | 7:88fb5b5a857d | 42 | 0x32, 0x61, 0x26, 0x98, 0x10, 0x75, 0xAF, 0x2A, 0x03, 0x38, 0x88, 0x7D, 0x5B, 0x85, 0x6A, 0xDC, |
| ban4jp | 7:88fb5b5a857d | 43 | 0x05, 0x84, 0x9A, 0x43, 0xA2, 0x6F, 0xB1, 0x5A, 0xAD, 0xEB, 0x6E, 0x3B, 0x02, 0xB2, 0xE4, 0xE2, |
| ban4jp | 7:88fb5b5a857d | 44 | 0x69, 0xDB, 0xC1, 0x12, 0x42, 0x27, 0x2F, 0x31, 0x90, 0xAC, 0xB9, 0x2D, 0x09, 0x16, 0xE7, 0x8E, |
| ban4jp | 7:88fb5b5a857d | 45 | 0xB6, 0x77, 0xB4, 0x67, 0x4B, 0x9C, 0x3A, 0x82, 0x4C, 0x08, 0xDA, 0x23, 0xB5, 0xC8, 0x7A, 0x39, |
| ban4jp | 7:88fb5b5a857d | 46 | 0xE8, 0x45, 0xE6, 0x36, 0x92, 0xD1, 0xCE, 0x93, 0x0E, 0x4A, 0x76, 0x7C, 0x79, 0xD0, 0x1E, 0xE3, |
| ban4jp | 7:88fb5b5a857d | 47 | 0x1B, 0x37, 0x0F, 0x6D, 0x07, 0xCF, 0x94, 0x72, 0x54, 0x99, 0x06, 0x19, 0x0B, 0x18, 0x9F, 0x8C, |
| ban4jp | 7:88fb5b5a857d | 48 | }; |
| ban4jp | 7:88fb5b5a857d | 49 | const uint8_t blank[50] = { |
| ban4jp | 7:88fb5b5a857d | 50 | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| ban4jp | 7:88fb5b5a857d | 51 | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| ban4jp | 7:88fb5b5a857d | 52 | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| ban4jp | 7:88fb5b5a857d | 53 | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| ban4jp | 7:88fb5b5a857d | 54 | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| ban4jp | 7:88fb5b5a857d | 55 | }; |
| k4zuki | 0:3569e2cfb60b | 56 | |
| k4zuki | 0:3569e2cfb60b | 57 | wait_ms(1); |
| ban4jp | 7:88fb5b5a857d | 58 | lcd.cls(); |
| k4zuki | 3:8dbf3336dc66 | 59 | |
| k4zuki | 1:be675380f70b | 60 | while(1) { |
| ban4jp | 7:88fb5b5a857d | 61 | |
| ban4jp | 7:88fb5b5a857d | 62 | wait_ms(1000); |
| ban4jp | 7:88fb5b5a857d | 63 | |
| k4zuki | 3:8dbf3336dc66 | 64 | for(int i=0; i<240; i++) { |
| ban4jp | 7:88fb5b5a857d | 65 | lcd.directUpdateMulti(i,1,(uint8_t*)(anime0+50*i)); |
| ban4jp | 7:88fb5b5a857d | 66 | wait_ms(5); |
| ban4jp | 7:88fb5b5a857d | 67 | } |
| ban4jp | 7:88fb5b5a857d | 68 | |
| ban4jp | 7:88fb5b5a857d | 69 | for(int i=0; i<240; i++) { |
| ban4jp | 7:88fb5b5a857d | 70 | lcd.directUpdateMulti(i,1,(uint8_t*)(anime1+50*i)); |
| ban4jp | 7:88fb5b5a857d | 71 | wait_ms(5); |
| ban4jp | 7:88fb5b5a857d | 72 | } |
| ban4jp | 7:88fb5b5a857d | 73 | |
| ban4jp | 7:88fb5b5a857d | 74 | wait_ms(500); |
| ban4jp | 7:88fb5b5a857d | 75 | |
| ban4jp | 7:88fb5b5a857d | 76 | for(int i=0; i<240; i++) { |
| ban4jp | 7:88fb5b5a857d | 77 | lcd.directUpdateMulti(i,1,(uint8_t*)(anime2+50*i)); |
| ban4jp | 7:88fb5b5a857d | 78 | wait_ms(5); |
| ban4jp | 7:88fb5b5a857d | 79 | } |
| ban4jp | 7:88fb5b5a857d | 80 | |
| ban4jp | 7:88fb5b5a857d | 81 | for(int i=0; i<240; i++) { |
| ban4jp | 7:88fb5b5a857d | 82 | lcd.directUpdateMulti(i,1,(uint8_t*)(anime3+50*i)); |
| ban4jp | 7:88fb5b5a857d | 83 | wait_ms(5); |
| ban4jp | 7:88fb5b5a857d | 84 | } |
| ban4jp | 7:88fb5b5a857d | 85 | |
| ban4jp | 7:88fb5b5a857d | 86 | wait_ms(500); |
| ban4jp | 7:88fb5b5a857d | 87 | |
| ban4jp | 7:88fb5b5a857d | 88 | for(int i=0; i<240; i++) { |
| ban4jp | 7:88fb5b5a857d | 89 | lcd.directUpdateMulti(i,1,(uint8_t*)(anime4+50*i)); |
| ban4jp | 7:88fb5b5a857d | 90 | wait_ms(5); |
| ban4jp | 7:88fb5b5a857d | 91 | } |
| ban4jp | 7:88fb5b5a857d | 92 | |
| ban4jp | 7:88fb5b5a857d | 93 | wait_ms(250); |
| ban4jp | 7:88fb5b5a857d | 94 | |
| ban4jp | 7:88fb5b5a857d | 95 | for(int i=0; i<240; i++) { |
| ban4jp | 7:88fb5b5a857d | 96 | lcd.directUpdateMulti(i,1,(uint8_t*)(anime5+50*i)); |
| ban4jp | 7:88fb5b5a857d | 97 | wait_ms(5); |
| k4zuki | 3:8dbf3336dc66 | 98 | } |
| ban4jp | 7:88fb5b5a857d | 99 | |
| ban4jp | 7:88fb5b5a857d | 100 | wait_ms(250); |
| ban4jp | 7:88fb5b5a857d | 101 | |
| ban4jp | 7:88fb5b5a857d | 102 | for(int i=0; i<240; i++) { |
| ban4jp | 7:88fb5b5a857d | 103 | lcd.directUpdateMulti(i,1,(uint8_t*)(anime6+50*i)); |
| ban4jp | 7:88fb5b5a857d | 104 | wait_ms(5); |
| ban4jp | 7:88fb5b5a857d | 105 | } |
| ban4jp | 7:88fb5b5a857d | 106 | |
| ban4jp | 7:88fb5b5a857d | 107 | wait_ms(1000); |
| ban4jp | 7:88fb5b5a857d | 108 | |
| ban4jp | 7:88fb5b5a857d | 109 | for(int i=0; i<240; i++) { |
| ban4jp | 7:88fb5b5a857d | 110 | lcd.directUpdateMulti(i,1,(uint8_t*)(anime7+50*i)); |
| ban4jp | 7:88fb5b5a857d | 111 | wait_ms(5); |
| ban4jp | 7:88fb5b5a857d | 112 | } |
| ban4jp | 7:88fb5b5a857d | 113 | |
| ban4jp | 7:88fb5b5a857d | 114 | for(int i=0; i<240; i++) { |
| ban4jp | 7:88fb5b5a857d | 115 | lcd.directUpdateMulti(i,1,(uint8_t*)(anime8+50*i)); |
| ban4jp | 7:88fb5b5a857d | 116 | wait_ms(5); |
| ban4jp | 7:88fb5b5a857d | 117 | } |
| ban4jp | 7:88fb5b5a857d | 118 | |
| ban4jp | 7:88fb5b5a857d | 119 | for(int i=0; i<204; i++) { |
| ban4jp | 7:88fb5b5a857d | 120 | lcd.directUpdateMulti(i,1,(uint8_t*)(anime9+50*i)); |
| ban4jp | 7:88fb5b5a857d | 121 | wait_ms(5); |
| ban4jp | 7:88fb5b5a857d | 122 | } |
| ban4jp | 7:88fb5b5a857d | 123 | |
| ban4jp | 7:88fb5b5a857d | 124 | wait(1); |
| ban4jp | 7:88fb5b5a857d | 125 | |
| ban4jp | 7:88fb5b5a857d | 126 | lcd.directUpdateMulti(0,240,(uint8_t*)(anime9)); |
| ban4jp | 7:88fb5b5a857d | 127 | |
| ban4jp | 7:88fb5b5a857d | 128 | wait(15); |
| ban4jp | 7:88fb5b5a857d | 129 | |
| ban4jp | 7:88fb5b5a857d | 130 | for(int i=0; i<240; i++) { |
| ban4jp | 7:88fb5b5a857d | 131 | int l = randline[i]; |
| ban4jp | 7:88fb5b5a857d | 132 | lcd.directUpdateMulti(l,1,(uint8_t*)(blank)); |
| ban4jp | 7:88fb5b5a857d | 133 | wait_ms(5); |
| ban4jp | 7:88fb5b5a857d | 134 | } |
| ban4jp | 7:88fb5b5a857d | 135 | |
| k4zuki | 0:3569e2cfb60b | 136 | } |
| k4zuki | 0:3569e2cfb60b | 137 | } |
