cauqleuir madre
Dependencies: SDFileSystem mbed TFTLCD
main.cpp
- Committer:
- Danton
- Date:
- 2013-02-02
- Revision:
- 30:629d2bdf5a52
- Parent:
- 29:1e98e8fc32da
- Child:
- 31:16856306f095
File content as of revision 30:629d2bdf5a52:
#include "mbed.h" #include "SDFileSystem.h" #include "hx8340bs.h" 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,int offset,int bytes,const char *path) { printf("superSD\c\n"); 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"); } //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,bytes,fp); fclose(fp); } void colorCompute(unsigned char*buffer, unsigned int* colorBuffer,int offset,int sizeOfBuffer) { printf("ColorCompute\c\n"); int aux= sizeOfBuffer+offset; int j=offset; for(int i=i;i<sizeOfBuffer;i=i+4) { printf("%d ",i); colorBuffer[j]=buffer[i]<<16+buffer[i+1]<<8+buffer[i+2]; j++; } printf("\n"); } void pickUpLine(unsigned char*buffer, unsigned int* colorBuffer,int sizeOfBuffer,int sizeOfLine,const char *path) { printf("Pickupline\c\n"); int i =54; int delta=20; for(int j=0;j<sizeOfLine;j=j+delta) { superSd(buffer,i,sizeOfBuffer,path); printf("byteofFile%d, pixelnum %d, delta %d",i,j,delta); colorCompute(buffer,colorBuffer,j,sizeOfBuffer); i=i+delta; } } void drawLine(unsigned int* color,int y) { HX8340S_LCD lcd( p9, p14, p13, p11); printf("drawline\c\n"); lcd.FillScreen(COLOR_GREEN); for(int i=0;i<220;i++) { //lcd.DrawPixel(i,y,color[i]); lcd.DrawPixel(i,0,(int)color[i]); lcd.DrawPixel(i,1,(int)color[i]); lcd.DrawPixel(i,2,(int)color[i]); lcd.DrawPixel(i,3,(int)color[i]); lcd.DrawPixel(i,4,(int)color[i]); lcd.DrawPixel(i,5,(int)color[i]); lcd.DrawPixel(i,5,(int)color[i]); lcd.DrawPixel(i,6,(int)color[i]); lcd.DrawPixel(i,7,(int)color[i]); lcd.DrawPixel(i,9,(int)color[i]); lcd.DrawPixel(i,10,(int)color[i]); lcd.DrawPixel(i,11,(int)color[i]); lcd.DrawPixel(i,12,(int)color[i]); lcd.DrawPixel(i,13,(int)color[i]); lcd.DrawPixel(i,14,(int)color[i]); lcd.DrawPixel(i,15,(int)color[i]); lcd.DrawPixel(i,15,(int)color[i]); lcd.DrawPixel(i,16,(int)color[i]); lcd.DrawPixel(i,17,(int)color[i]); lcd.DrawPixel(i,19,(int)color[i]); printf("i=%d color=%x \n",i, (int)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 rawbytes[80]; unsigned int color[220]; superDisplay(); pickUpLine(rawbytes,color,80,220,"/sd/mydir/rose.bmp"); drawLine(color,0); printf("Goodbye World!\c\n"); }