cauqleuir madre
Dependencies: SDFileSystem mbed TFTLCD
Revision 56:51410b4b1078, committed 2013-02-02
- Comitter:
- Danton
- Date:
- Sat Feb 02 18:54:33 2013 +0000
- Parent:
- 55:b6e70eb4276c
- Child:
- 57:ed9db2bcd1bf
- Commit message:
- before I rearreange the code
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imaginator.cpp Sat Feb 02 18:54:33 2013 +0000 @@ -0,0 +1,35 @@ +#include "imaginator.h" +void superDisplay() +{ + HX8340S_LCD lcd( p9, p14, p13, p11); + lcd.Initialize(); + lcd.ClearScreen(); +} +void superSd(unsigned char*buffer,unsigned 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(path, "r"); + + if(fp == NULL) { + error("Could not open file\c\n"); + } + fseek(fp, *offset,SEEK_SET); + *offset=*offset+bytes; + fread((char*)buffer,1,bytes,fp); + fclose(fp); + +} +void colorCompute(unsigned char*buffer, int* colorBuffer,int sizeOfBuffer) +{ + int j=0; + for(int i=0;i<sizeOfBuffer;i=i+4) + { + colorBuffer[j]=RGB((buffer[i+2]),(buffer[i+1]),(buffer[i])); + j++; + } +} +void pickUpLine(unsigned char*buffer, int* colorBuffer,int sizeOfBuffer,int sizeOfLine,const char *path, unsigned int *absPtr) +{ + superSd(buffer,absPtr,sizeOfBuffer,path); + colorCompute(buffer,colorBuffer,sizeOfBuffer); +} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imaginator.h Sat Feb 02 18:54:33 2013 +0000 @@ -0,0 +1,8 @@ +#include "mbed.h" +#include "SDFileSystem.h" +#include "hx8340bs.h" + +void superDisplay(); +void superSd(unsigned char*buffer,unsigned int *offset,int bytes,const char *path); +void colorCompute(unsigned char*buffer, int* colorBuffer,int sizeOfBuffer); +void pickUpLine(unsigned char*buffer, int* colorBuffer,int sizeOfBuffer,int sizeOfLine,const char *path, unsigned int *absPtr); \ No newline at end of file
--- a/main.cpp Sat Feb 02 16:24:42 2013 +0000 +++ b/main.cpp Sat Feb 02 18:54:33 2013 +0000 @@ -1,91 +1,126 @@ -#include "mbed.h" -#include "SDFileSystem.h" -#include "hx8340bs.h" -DigitalOut scr(p9); -void superDisplay() -{ - HX8340S_LCD lcd( p9, p14, p13, p11); - lcd.Initialize(); - lcd.ClearScreen(); - //lcd.FillScreen(COLOR_BLUE); - //printf("superDisplay\c\n"); -} -void superSd(unsigned char*buffer,unsigned 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(path, "r"); - - if(fp == NULL) { - error("Could not open file\c\n"); - } - //printf("offset at ssd %d\n",*offset); - fseek(fp, *offset,SEEK_SET); - *offset=*offset+bytes; - fread((char*)buffer,1,bytes,fp); - //printf("\n"); - fclose(fp); - -} -void colorCompute(unsigned char*buffer, int* colorBuffer,int sizeOfBuffer) -{ - int j=0; - for(int i=0;i<sizeOfBuffer;i=i+4) - { - - //colorBuffer[j]=RGB((buffer[i])&0xff,buffer[i+1]&0x00,(buffer[i+2])&0x00); - colorBuffer[j]=RGB((buffer[i+2]),(buffer[i+1]),(buffer[i])); - //colorBuffer[j]=((buffer[i]<<11)&0xf800)+((buffer[i+1]<<6)&0x7e0)+((buffer[i+2]>>3)&0x1F); - //colorBuffer[j]=(0xff<<16)+(0x00<<8)+(0x00); - //colorBuffer[j]=0xFFFFFF; - //printf("%d ,%d ",j,colorBuffer[j]); - j++; - } - //printf("\n"); -} -void pickUpLine(unsigned char*buffer, int* colorBuffer,int sizeOfBuffer,int sizeOfLine,const char *path, unsigned int *absPtr) -{ - //printf("Pickupline\n"); - superSd(buffer,absPtr,sizeOfBuffer,path); - // printf("byteofFile%d, pixelnum %d, delta %d",*absPtr,j,delta); - colorCompute(buffer,colorBuffer,sizeOfBuffer); - //i=i+delta; - - //printf("\n"); -} +#include "imaginator.h" void drawLine(int* color,int y) { HX8340S_LCD lcd(p9, p14, p13, p11); - //lcd.Initialize(); - + DigitalOut scr(p9); scr=0; - //printf("drawline\c\n"); - //lcd.FillScreen(COLOR_GREEN); - for(int i=0;i<220;i++) - { - lcd.DrawPixel(i,y,color[i]); - //printf("i=%d color=%x \n",i, (int)color[i]); - - } + int k=0; + int j=y; + //int i,p; + //for(int p=0;p<5;p++) + //{ + for(int i=0;i<220;i++) + { + lcd.DrawPixel(i,j,color[k]); + k++; + } + j++; + //} + for(int i=0;i<220;i++) + { + lcd.DrawPixel(i,j,color[k]); + k++; + } + j++; + for(int i=0;i<220;i++) + { + lcd.DrawPixel(i,j,color[k]); + k++; + } + j++; + for(int i=0;i<220;i++) + { + lcd.DrawPixel(i,j,color[k]); + k++; + } + j++; + for(int i=0;i<220;i++) + { + lcd.DrawPixel(i,j,color[k]); + k++; + } + j++; + for(int i=0;i<220;i++) + { + lcd.DrawPixel(i,j,color[k]); + k++; + } + j++; + for(int i=0;i<220;i++) + { + lcd.DrawPixel(i,j,color[k]); + k++; + } + j++; + for(int i=0;i<220;i++) + { + lcd.DrawPixel(i,j,color[k]); + k++; + } + j++; + for(int i=0;i<220;i++) + { + lcd.DrawPixel(i,j,color[k]); + k++; + } + j++; + for(int i=0;i<220;i++) + { + lcd.DrawPixel(i,j,color[k]); + k++; + } + j++; + for(int i=0;i<220;i++) + { + lcd.DrawPixel(i,j,color[k]); + k++; + } + j++; + for(int i=0;i<220;i++) + { + lcd.DrawPixel(i,j,color[k]); + k++; + } + j++; + for(int i=0;i<220;i++) + { + lcd.DrawPixel(i,j,color[k]); + k++; + } + j++; + for(int i=0;i<220;i++) + { + lcd.DrawPixel(i,j,color[k]); + k++; + } + j++; + for(int i=0;i<220;i++) + { + lcd.DrawPixel(i,j,color[k]); + k++; + } + j++; + for(int i=0;i<220;i++) + { + lcd.DrawPixel(i,j,color[k]); + k++; + } + j++; scr=1; + return; } int main() { printf("Hello Stinky World!\c\n"); - //wait(5); - //mkdir("/sd/mydir", 0777); - - - unsigned char rawbytes[880]; - int color[220]; + unsigned char rawbytes[14080]; + int color[3520]; unsigned int absPtr=54; superDisplay(); - for(int i=0;i<176;i++) + for(int i=0;i<176;i=i+16) { - pickUpLine(rawbytes,color,880,220,"/sd/mydir/rose.bmp",&absPtr); + pickUpLine(rawbytes,color,14080,3520,"/sd/mydir/rose.bmp",&absPtr); drawLine(color,i); - //printf("absptr %d\n\n\n", absPtr); } - printf("Goodbye World!\c\n"); } \ No newline at end of file