cauqleuir madre
Dependencies: SDFileSystem mbed TFTLCD
Diff: main.cpp
- Revision:
- 21:ed9ea3485f93
- Parent:
- 20:1a28bf5b1d95
- Child:
- 22:9e6c02d5f85d
--- a/main.cpp Sat Feb 02 01:32:51 2013 +0000 +++ b/main.cpp Sat Feb 02 02:24:57 2013 +0000 @@ -1,11 +1,16 @@ #include "mbed.h" #include "SDFileSystem.h" #include "hx8340bs.h" - -void superSd(unsigned char*buffer,int offset,const char *path) +void superDisplay() +{ + HX8340S_LCD lcd( p9, p14, p13, p11); + lcd.Initialize(); + lcd.ClearScreen(); +} +void superSd(unsigned char*buffer,int offset,int bytes,const char *path) { SDFileSystem sd(p11, p12, p13, p8, "sd"); // the pinout on the mbed Cool Components workshop board - FILE *fp =fopen("/sd/mydir/rose.bmp", "r"); + FILE *fp =fopen(path, "r"); if(fp == NULL) { error("Could not open file\c\n"); @@ -13,76 +18,77 @@ //fprintf(fp, "Hello fun SD Card World!\c\n"); //fread ( void * ptr, size_t size, size_t count, FILE * stream ); fseek(fp, offset,SEEK_SET); - fread((char*)buffer,1,100,fp); + fread((char*)buffer,1,bytes,fp); fclose(fp); } -void superDisplay(unsigned char*buffer,int offset,const char *path) +void colorCompute(unsigned char*buffer, unsigned int* colorBuffer,int offset,int sizeOfBuffer) +{ + for(int i=offset;i<sizeOfBuffer+offset;i=i+4) + { + colorBuffer[i]=buffer[i]<<16+buffer[i+1]<<8+buffer[i+2]; + } +} +void pickUpLine(unsigned char*buffer, unsigned int* colorBuffer,int sizeOfBuffer,int sizeOfLine,const char *path) +{ + int i =54; + int delta=sizeOfLine/(sizeOfBuffer/4); + for(int j=0;j<sizeOfLine;j=j+delta) + { + superSd(buffer,i,sizeOfBuffer,path); + colorCompute(buffer,colorBuffer,j,sizeOfBuffer); + i=i+delta; + } + +} +void drawLine(unsigned int* color,int y) { HX8340S_LCD lcd( p9, p14, p13, p11); - lcd.Initialize(); - lcd.ClearScreen(); - lcd.FillScreen(COLOR_BLUE); - lcd.Print(path, CENTER, 25 ); for(int i=0;i<220;i++) { - lcd.DrawPixel(i,0,0xFFFFFF); - lcd.DrawPixel(i,1,0xFFFFFF); - lcd.DrawPixel(i,2,0xFFFFFF); - lcd.DrawPixel(i,3,0xFFFFFF); - lcd.DrawPixel(i,4,0xFFFFFF); - lcd.DrawPixel(i,5,0xFFFFFF); - lcd.DrawPixel(i,6,0xFFFFFF); - lcd.DrawPixel(i,7,0xFFFFFF); - lcd.DrawPixel(i,8,0xFFFFFF); - lcd.DrawPixel(i,9,0xFFFFFF); - lcd.DrawPixel(i,10,0xFFFFFF); - lcd.DrawPixel(i,11,0xFFFFFF); - lcd.DrawPixel(i,12,0xFFFFFF); - lcd.DrawPixel(i,13,0xFFFFFF); - lcd.DrawPixel(i,14,0xFFFFFF); - lcd.DrawPixel(i,15,0xFFFFFF); - lcd.DrawPixel(i,16,0xFFFFFF); - lcd.DrawPixel(i,17,0xFFFFFF); - lcd.DrawPixel(i,18,0xFFFFFF); - lcd.DrawPixel(i,19,0xFFFFFF); - lcd.DrawPixel(i,20,0xFFFFFF); - lcd.DrawPixel(i,21,0xFFFFFF); - lcd.DrawPixel(i,22,0xFFFFFF); - lcd.DrawPixel(i,23,0xFFFFFF); - lcd.DrawPixel(i,24,0xFFFFFF); - lcd.DrawPixel(i,25,0xFFFFFF); - lcd.DrawPixel(i,26,0xFFFFFF); - lcd.DrawPixel(i,27,0xFFFFFF); - lcd.DrawPixel(i,28,0xFFFFFF); - lcd.DrawPixel(i,29,0xFFFFFF); + //lcd.DrawPixel(i,y,color[i]); + lcd.DrawPixel(i,0,color[i]); + lcd.DrawPixel(i,1,color[i]); + lcd.DrawPixel(i,2,color[i]); + lcd.DrawPixel(i,3,color[i]); + lcd.DrawPixel(i,4,color[i]); + lcd.DrawPixel(i,5,color[i]); + lcd.DrawPixel(i,5,color[i]); + lcd.DrawPixel(i,6,color[i]); + lcd.DrawPixel(i,7,color[i]); + lcd.DrawPixel(i,9,color[i]); + lcd.DrawPixel(i,10,color[i]); + lcd.DrawPixel(i,11,color[i]); + lcd.DrawPixel(i,12,color[i]); + lcd.DrawPixel(i,13,color[i]); + lcd.DrawPixel(i,14,color[i]); + lcd.DrawPixel(i,15,color[i]); + lcd.DrawPixel(i,15,color[i]); + lcd.DrawPixel(i,16,color[i]); + lcd.DrawPixel(i,17,color[i]); + lcd.DrawPixel(i,19,color[i]); + } } - + +/*void drawScreen(unsigned char*buffer,unsigned int* colorBuffer,int sizeOfBuffer,int sizeOfLine,const char *path) +{ + for(int i=0; i<176;i++) + { + pickUpLine + } +} + */ int main() { printf("Hello Stinky World!\c\n"); //mkdir("/sd/mydir", 0777); - unsigned char bitmap[100]; - int i=0; - superSd(bitmap,0,"/sd/mydir/rose.bmp"); - while(i<100) - { - printf("%c",bitmap[i]); - i++; - } - superDisplay(bitmap,0,"Hola imbecil"); - superSd(bitmap,100,"/sd/mydir/rose.bmp"); - i=0; - printf("\n\n\n\n"); - while(i<100) - { - printf("%c",bitmap[i]); - i++; - } - superDisplay(bitmap,100,"Whats the != between 1&2"); + unsigned char rawbytes[80]; + unsigned int color[220]; + pickUpLine(rawbytes,color,80,220,"/sd/mydir/rose.bmp"); + drawLine(color,0); printf("Goodbye World!\c\n"); } \ No newline at end of file