Packed 12bit Raw image file load to display to Nokia LCD. Add function "blit12" to Nokia LCD for native 12bit color buffer.
main.cpp@0:b9050fc6f305, 2011-02-09 (annotated)
- Committer:
- sakai
- Date:
- Wed Feb 09 21:11:28 2011 +0000
- Revision:
- 0:b9050fc6f305
- Child:
- 1:ea521c134e8a
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sakai | 0:b9050fc6f305 | 1 | #include "mbed.h" |
sakai | 0:b9050fc6f305 | 2 | #include "NokiaLCD.h" |
sakai | 0:b9050fc6f305 | 3 | #include "SDFileSystem.h" |
sakai | 0:b9050fc6f305 | 4 | |
sakai | 0:b9050fc6f305 | 5 | NokiaLCD lcd(p11, p13, p14, p15, NokiaLCD::LCD6610); // mosi, sclk, cs, rst, type |
sakai | 0:b9050fc6f305 | 6 | SDFileSystem sd(p5, p6, p7, p8, "sd"); |
sakai | 0:b9050fc6f305 | 7 | |
sakai | 0:b9050fc6f305 | 8 | int main() { |
sakai | 0:b9050fc6f305 | 9 | lcd.background(0x000000); |
sakai | 0:b9050fc6f305 | 10 | lcd.cls(); |
sakai | 0:b9050fc6f305 | 11 | FILE *fp = NULL; |
sakai | 0:b9050fc6f305 | 12 | fp = fopen("/sd/128x128.raw", "r"); |
sakai | 0:b9050fc6f305 | 13 | if (fp != NULL) { |
sakai | 0:b9050fc6f305 | 14 | printf("Start!\r\n"); |
sakai | 0:b9050fc6f305 | 15 | unsigned char buf[4]; |
sakai | 0:b9050fc6f305 | 16 | for (int y = 0; y < 128; y++) { |
sakai | 0:b9050fc6f305 | 17 | for (int x = 0; x < 128; x++) { |
sakai | 0:b9050fc6f305 | 18 | fread(buf, sizeof(unsigned char), 3, fp); |
sakai | 0:b9050fc6f305 | 19 | int pix = buf[0]; |
sakai | 0:b9050fc6f305 | 20 | pix <<= 8; |
sakai | 0:b9050fc6f305 | 21 | pix += buf[1]; |
sakai | 0:b9050fc6f305 | 22 | pix <<= 8; |
sakai | 0:b9050fc6f305 | 23 | pix += buf[2]; |
sakai | 0:b9050fc6f305 | 24 | lcd.pixel(x, y, pix); |
sakai | 0:b9050fc6f305 | 25 | } |
sakai | 0:b9050fc6f305 | 26 | } |
sakai | 0:b9050fc6f305 | 27 | fclose(fp); |
sakai | 0:b9050fc6f305 | 28 | printf("Finish!\r\n"); |
sakai | 0:b9050fc6f305 | 29 | } else { |
sakai | 0:b9050fc6f305 | 30 | printf("Can't open file.\r\n"); |
sakai | 0:b9050fc6f305 | 31 | } |
sakai | 0:b9050fc6f305 | 32 | } |