cauqleuir madre

Dependencies:   SDFileSystem mbed TFTLCD

Committer:
allanalpha
Date:
Sat Feb 02 06:19:08 2013 +0000
Revision:
41:c18e7c2b912a
Parent:
40:72ed373557ea
Child:
42:1c682c42672c
First working version

Who changed what in which revision?

UserRevisionLine numberNew 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 28:4a233bc57aab 9 lcd.FillScreen(COLOR_BLUE);
Danton 35:ad5fa2b439ad 10 //printf("superDisplay\c\n");
Danton 21:ed9ea3485f93 11 }
allanalpha 40:72ed373557ea 12 void superSd(unsigned char*buffer,unsigned int *offset,int bytes,const char *path)
Danton 15:3bfbb557020e 13 {
Danton 22:9e6c02d5f85d 14 printf("superSD\c\n");
Danton 15:3bfbb557020e 15 SDFileSystem sd(p11, p12, p13, p8, "sd"); // the pinout on the mbed Cool Components workshop board
Danton 21:ed9ea3485f93 16 FILE *fp =fopen(path, "r");
Danton 15:3bfbb557020e 17
Danton 15:3bfbb557020e 18 if(fp == NULL) {
Danton 15:3bfbb557020e 19 error("Could not open file\c\n");
Danton 15:3bfbb557020e 20 }
Danton 15:3bfbb557020e 21 //fprintf(fp, "Hello fun SD Card World!\c\n");
Danton 15:3bfbb557020e 22 //fread ( void * ptr, size_t size, size_t count, FILE * stream );
allanalpha 40:72ed373557ea 23 printf("offset at ssd %d\n",*offset);
allanalpha 40:72ed373557ea 24 fseek(fp, *offset,SEEK_SET);
allanalpha 40:72ed373557ea 25 *offset=*offset+bytes;
Danton 38:7a646be3854c 26 fread((char*)buffer,1,bytes,fp);
allanalpha 40:72ed373557ea 27 /*for(int i=0; i<bytes;i++)
Danton 38:7a646be3854c 28 {
allanalpha 40:72ed373557ea 29 printf("%c ",buffer[i]);
allanalpha 40:72ed373557ea 30 }*/
Danton 38:7a646be3854c 31 printf("\n");
Danton 15:3bfbb557020e 32 fclose(fp);
Danton 15:3bfbb557020e 33
Danton 15:3bfbb557020e 34 }
allanalpha 41:c18e7c2b912a 35 void colorCompute(unsigned char*buffer, unsigned int* colorBuffer,int sizeOfBuffer)
Danton 21:ed9ea3485f93 36 {
allanalpha 41:c18e7c2b912a 37 printf("ColorCompute2\n");
allanalpha 41:c18e7c2b912a 38 int j=0;
allanalpha 41:c18e7c2b912a 39 for(int i=0;i<sizeOfBuffer;i=i+4)
Danton 21:ed9ea3485f93 40 {
allanalpha 41:c18e7c2b912a 41
allanalpha 40:72ed373557ea 42 colorBuffer[j]=(buffer[i]<<16)+(buffer[i+1]<<8)+(buffer[i+2]);
allanalpha 41:c18e7c2b912a 43 //colorBuffer[j]=(0x00<<16)+(0x0F<<8)+(0xFF);
allanalpha 41:c18e7c2b912a 44 //colorBuffer[j]=0xFFFFFF;
allanalpha 41:c18e7c2b912a 45 //printf("%d ,%d ",j,colorBuffer[j]);
Danton 27:bae83e4c9fce 46 j++;
Danton 21:ed9ea3485f93 47 }
allanalpha 40:72ed373557ea 48 printf("\n");
Danton 21:ed9ea3485f93 49 }
allanalpha 40:72ed373557ea 50 void pickUpLine(unsigned char*buffer, unsigned int* colorBuffer,int sizeOfBuffer,int sizeOfLine,const char *path, unsigned int *absPtr)
Danton 21:ed9ea3485f93 51 {
allanalpha 40:72ed373557ea 52 printf("Pickupline\n");
allanalpha 41:c18e7c2b912a 53 superSd(buffer,absPtr,sizeOfBuffer,path);
allanalpha 41:c18e7c2b912a 54 // printf("byteofFile%d, pixelnum %d, delta %d",*absPtr,j,delta);
allanalpha 41:c18e7c2b912a 55 colorCompute(buffer,colorBuffer,sizeOfBuffer);
allanalpha 40:72ed373557ea 56 //i=i+delta;
allanalpha 41:c18e7c2b912a 57
allanalpha 40:72ed373557ea 58 printf("\n");
Danton 21:ed9ea3485f93 59 }
Danton 21:ed9ea3485f93 60 void drawLine(unsigned int* color,int y)
Danton 15:3bfbb557020e 61 {
Danton 37:836771aa9230 62 HX8340S_LCD lcd(p9, p14, p13, p11);
Danton 33:7154faa730e5 63 //lcd.Initialize();
Danton 33:7154faa730e5 64 DigitalOut scr(p9);
Danton 33:7154faa730e5 65 scr=0;
Danton 35:ad5fa2b439ad 66 //printf("drawline\c\n");
Danton 35:ad5fa2b439ad 67 //lcd.FillScreen(COLOR_GREEN);
Danton 19:089c4027bfba 68 for(int i=0;i<220;i++)
Danton 19:089c4027bfba 69 {
Danton 34:451b67720e07 70 lcd.DrawPixel(i,y,color[i]);
Danton 35:ad5fa2b439ad 71 //printf("i=%d color=%x \n",i, (int)color[i]);
Danton 21:ed9ea3485f93 72
Danton 19:089c4027bfba 73 }
Danton 15:3bfbb557020e 74 }
Danton 21:ed9ea3485f93 75
allanalpha 41:c18e7c2b912a 76
Danton 0:a11b3a90c259 77 int main() {
Danton 6:ac9692245a01 78 printf("Hello Stinky World!\c\n");
allanalpha 40:72ed373557ea 79 wait(5);
Danton 2:e205fa129def 80 //mkdir("/sd/mydir", 0777);
Danton 0:a11b3a90c259 81
Danton 15:3bfbb557020e 82
allanalpha 41:c18e7c2b912a 83 unsigned char rawbytes[880];
Danton 21:ed9ea3485f93 84 unsigned int color[220];
Danton 34:451b67720e07 85 unsigned int absPtr=54;
Danton 22:9e6c02d5f85d 86 superDisplay();
Danton 35:ad5fa2b439ad 87 for(int i=0;i<176;i++)
Danton 34:451b67720e07 88 {
allanalpha 41:c18e7c2b912a 89 pickUpLine(rawbytes,color,880,220,"/sd/mydir/rose.bmp",&absPtr);
Danton 34:451b67720e07 90 drawLine(color,i);
Danton 38:7a646be3854c 91 printf("absptr %d\n\n\n", absPtr);
Danton 34:451b67720e07 92 }
Danton 15:3bfbb557020e 93
Danton 0:a11b3a90c259 94 printf("Goodbye World!\c\n");
Danton 0:a11b3a90c259 95 }