cauqleuir madre
Dependencies: SDFileSystem mbed TFTLCD
main.cpp@21:ed9ea3485f93, 2013-02-02 (annotated)
- Committer:
- Danton
- Date:
- Sat Feb 02 02:24:57 2013 +0000
- Revision:
- 21:ed9ea3485f93
- Parent:
- 20:1a28bf5b1d95
- Child:
- 22:9e6c02d5f85d
draw the line
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Danton | 0:a11b3a90c259 | 1 | #include "mbed.h" |
Danton | 0:a11b3a90c259 | 2 | #include "SDFileSystem.h" |
Danton | 2:e205fa129def | 3 | #include "hx8340bs.h" |
Danton | 21:ed9ea3485f93 | 4 | void superDisplay() |
Danton | 21:ed9ea3485f93 | 5 | { |
Danton | 21:ed9ea3485f93 | 6 | HX8340S_LCD lcd( p9, p14, p13, p11); |
Danton | 21:ed9ea3485f93 | 7 | lcd.Initialize(); |
Danton | 21:ed9ea3485f93 | 8 | lcd.ClearScreen(); |
Danton | 21:ed9ea3485f93 | 9 | } |
Danton | 21:ed9ea3485f93 | 10 | void superSd(unsigned char*buffer,int offset,int bytes,const char *path) |
Danton | 15:3bfbb557020e | 11 | { |
Danton | 15:3bfbb557020e | 12 | SDFileSystem sd(p11, p12, p13, p8, "sd"); // the pinout on the mbed Cool Components workshop board |
Danton | 21:ed9ea3485f93 | 13 | FILE *fp =fopen(path, "r"); |
Danton | 15:3bfbb557020e | 14 | |
Danton | 15:3bfbb557020e | 15 | if(fp == NULL) { |
Danton | 15:3bfbb557020e | 16 | error("Could not open file\c\n"); |
Danton | 15:3bfbb557020e | 17 | } |
Danton | 15:3bfbb557020e | 18 | //fprintf(fp, "Hello fun SD Card World!\c\n"); |
Danton | 15:3bfbb557020e | 19 | //fread ( void * ptr, size_t size, size_t count, FILE * stream ); |
Danton | 17:3d7951357fd3 | 20 | fseek(fp, offset,SEEK_SET); |
Danton | 21:ed9ea3485f93 | 21 | fread((char*)buffer,1,bytes,fp); |
Danton | 15:3bfbb557020e | 22 | fclose(fp); |
Danton | 15:3bfbb557020e | 23 | |
Danton | 15:3bfbb557020e | 24 | } |
Danton | 21:ed9ea3485f93 | 25 | void colorCompute(unsigned char*buffer, unsigned int* colorBuffer,int offset,int sizeOfBuffer) |
Danton | 21:ed9ea3485f93 | 26 | { |
Danton | 21:ed9ea3485f93 | 27 | for(int i=offset;i<sizeOfBuffer+offset;i=i+4) |
Danton | 21:ed9ea3485f93 | 28 | { |
Danton | 21:ed9ea3485f93 | 29 | colorBuffer[i]=buffer[i]<<16+buffer[i+1]<<8+buffer[i+2]; |
Danton | 21:ed9ea3485f93 | 30 | } |
Danton | 21:ed9ea3485f93 | 31 | } |
Danton | 21:ed9ea3485f93 | 32 | void pickUpLine(unsigned char*buffer, unsigned int* colorBuffer,int sizeOfBuffer,int sizeOfLine,const char *path) |
Danton | 21:ed9ea3485f93 | 33 | { |
Danton | 21:ed9ea3485f93 | 34 | int i =54; |
Danton | 21:ed9ea3485f93 | 35 | int delta=sizeOfLine/(sizeOfBuffer/4); |
Danton | 21:ed9ea3485f93 | 36 | for(int j=0;j<sizeOfLine;j=j+delta) |
Danton | 21:ed9ea3485f93 | 37 | { |
Danton | 21:ed9ea3485f93 | 38 | superSd(buffer,i,sizeOfBuffer,path); |
Danton | 21:ed9ea3485f93 | 39 | colorCompute(buffer,colorBuffer,j,sizeOfBuffer); |
Danton | 21:ed9ea3485f93 | 40 | i=i+delta; |
Danton | 21:ed9ea3485f93 | 41 | } |
Danton | 21:ed9ea3485f93 | 42 | |
Danton | 21:ed9ea3485f93 | 43 | } |
Danton | 21:ed9ea3485f93 | 44 | void drawLine(unsigned int* color,int y) |
Danton | 15:3bfbb557020e | 45 | { |
Danton | 15:3bfbb557020e | 46 | HX8340S_LCD lcd( p9, p14, p13, p11); |
Danton | 19:089c4027bfba | 47 | for(int i=0;i<220;i++) |
Danton | 19:089c4027bfba | 48 | { |
Danton | 21:ed9ea3485f93 | 49 | //lcd.DrawPixel(i,y,color[i]); |
Danton | 21:ed9ea3485f93 | 50 | lcd.DrawPixel(i,0,color[i]); |
Danton | 21:ed9ea3485f93 | 51 | lcd.DrawPixel(i,1,color[i]); |
Danton | 21:ed9ea3485f93 | 52 | lcd.DrawPixel(i,2,color[i]); |
Danton | 21:ed9ea3485f93 | 53 | lcd.DrawPixel(i,3,color[i]); |
Danton | 21:ed9ea3485f93 | 54 | lcd.DrawPixel(i,4,color[i]); |
Danton | 21:ed9ea3485f93 | 55 | lcd.DrawPixel(i,5,color[i]); |
Danton | 21:ed9ea3485f93 | 56 | lcd.DrawPixel(i,5,color[i]); |
Danton | 21:ed9ea3485f93 | 57 | lcd.DrawPixel(i,6,color[i]); |
Danton | 21:ed9ea3485f93 | 58 | lcd.DrawPixel(i,7,color[i]); |
Danton | 21:ed9ea3485f93 | 59 | lcd.DrawPixel(i,9,color[i]); |
Danton | 21:ed9ea3485f93 | 60 | lcd.DrawPixel(i,10,color[i]); |
Danton | 21:ed9ea3485f93 | 61 | lcd.DrawPixel(i,11,color[i]); |
Danton | 21:ed9ea3485f93 | 62 | lcd.DrawPixel(i,12,color[i]); |
Danton | 21:ed9ea3485f93 | 63 | lcd.DrawPixel(i,13,color[i]); |
Danton | 21:ed9ea3485f93 | 64 | lcd.DrawPixel(i,14,color[i]); |
Danton | 21:ed9ea3485f93 | 65 | lcd.DrawPixel(i,15,color[i]); |
Danton | 21:ed9ea3485f93 | 66 | lcd.DrawPixel(i,15,color[i]); |
Danton | 21:ed9ea3485f93 | 67 | lcd.DrawPixel(i,16,color[i]); |
Danton | 21:ed9ea3485f93 | 68 | lcd.DrawPixel(i,17,color[i]); |
Danton | 21:ed9ea3485f93 | 69 | lcd.DrawPixel(i,19,color[i]); |
Danton | 21:ed9ea3485f93 | 70 | |
Danton | 19:089c4027bfba | 71 | } |
Danton | 15:3bfbb557020e | 72 | } |
Danton | 21:ed9ea3485f93 | 73 | |
Danton | 21:ed9ea3485f93 | 74 | /*void drawScreen(unsigned char*buffer,unsigned int* colorBuffer,int sizeOfBuffer,int sizeOfLine,const char *path) |
Danton | 21:ed9ea3485f93 | 75 | { |
Danton | 21:ed9ea3485f93 | 76 | for(int i=0; i<176;i++) |
Danton | 21:ed9ea3485f93 | 77 | { |
Danton | 21:ed9ea3485f93 | 78 | pickUpLine |
Danton | 21:ed9ea3485f93 | 79 | } |
Danton | 21:ed9ea3485f93 | 80 | } |
Danton | 21:ed9ea3485f93 | 81 | */ |
Danton | 0:a11b3a90c259 | 82 | int main() { |
Danton | 6:ac9692245a01 | 83 | printf("Hello Stinky World!\c\n"); |
Danton | 0:a11b3a90c259 | 84 | |
Danton | 2:e205fa129def | 85 | //mkdir("/sd/mydir", 0777); |
Danton | 0:a11b3a90c259 | 86 | |
Danton | 15:3bfbb557020e | 87 | |
Danton | 21:ed9ea3485f93 | 88 | unsigned char rawbytes[80]; |
Danton | 21:ed9ea3485f93 | 89 | unsigned int color[220]; |
Danton | 21:ed9ea3485f93 | 90 | pickUpLine(rawbytes,color,80,220,"/sd/mydir/rose.bmp"); |
Danton | 21:ed9ea3485f93 | 91 | drawLine(color,0); |
Danton | 15:3bfbb557020e | 92 | |
Danton | 0:a11b3a90c259 | 93 | printf("Goodbye World!\c\n"); |
Danton | 0:a11b3a90c259 | 94 | } |