cauqleuir madre
Dependencies: SDFileSystem mbed TFTLCD
main.cpp@38:7a646be3854c, 2013-02-02 (annotated)
- Committer:
- Danton
- Date:
- Sat Feb 02 04:36:26 2013 +0000
- Revision:
- 38:7a646be3854c
- Parent:
- 37:836771aa9230
- Child:
- 39:52539bea375c
dont fixed version but nice debug
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 | 28:4a233bc57aab | 9 | lcd.FillScreen(COLOR_BLUE); |
Danton | 35:ad5fa2b439ad | 10 | //printf("superDisplay\c\n"); |
Danton | 21:ed9ea3485f93 | 11 | } |
Danton | 21:ed9ea3485f93 | 12 | void superSd(unsigned char*buffer,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 ); |
Danton | 36:810bd3eb129c | 23 | printf("offset at ssd %d\n",offset); |
Danton | 38:7a646be3854c | 24 | fseek(fp, offset,SEEK_CUR); |
Danton | 38:7a646be3854c | 25 | fread((char*)buffer,1,bytes,fp); |
Danton | 38:7a646be3854c | 26 | for(int i=0; i<bytes;i++) |
Danton | 38:7a646be3854c | 27 | { |
Danton | 38:7a646be3854c | 28 | printf("%x ",buffer[i]); |
Danton | 38:7a646be3854c | 29 | } |
Danton | 38:7a646be3854c | 30 | printf("\n"); |
Danton | 15:3bfbb557020e | 31 | fclose(fp); |
Danton | 15:3bfbb557020e | 32 | |
Danton | 15:3bfbb557020e | 33 | } |
Danton | 21:ed9ea3485f93 | 34 | void colorCompute(unsigned char*buffer, unsigned int* colorBuffer,int offset,int sizeOfBuffer) |
Danton | 21:ed9ea3485f93 | 35 | { |
Danton | 35:ad5fa2b439ad | 36 | //printf("ColorCompute\c\n"); |
Danton | 26:dd8e83feefb9 | 37 | int aux= sizeOfBuffer+offset; |
Danton | 27:bae83e4c9fce | 38 | int j=offset; |
Danton | 27:bae83e4c9fce | 39 | for(int i=i;i<sizeOfBuffer;i=i+4) |
Danton | 21:ed9ea3485f93 | 40 | { |
Danton | 35:ad5fa2b439ad | 41 | //printf("%d ",i); |
Danton | 27:bae83e4c9fce | 42 | colorBuffer[j]=buffer[i]<<16+buffer[i+1]<<8+buffer[i+2]; |
Danton | 27:bae83e4c9fce | 43 | j++; |
Danton | 21:ed9ea3485f93 | 44 | } |
Danton | 35:ad5fa2b439ad | 45 | //printf("\n"); |
Danton | 21:ed9ea3485f93 | 46 | } |
Danton | 34:451b67720e07 | 47 | void pickUpLine(unsigned char*buffer, unsigned int* colorBuffer,int sizeOfBuffer,int sizeOfLine,const char *path, int absPtr) |
Danton | 21:ed9ea3485f93 | 48 | { |
Danton | 22:9e6c02d5f85d | 49 | printf("Pickupline\c\n"); |
Danton | 34:451b67720e07 | 50 | int i =absPtr; |
Danton | 25:b81df542785e | 51 | int delta=20; |
Danton | 21:ed9ea3485f93 | 52 | for(int j=0;j<sizeOfLine;j=j+delta) |
Danton | 21:ed9ea3485f93 | 53 | { |
Danton | 21:ed9ea3485f93 | 54 | superSd(buffer,i,sizeOfBuffer,path); |
Danton | 24:1acd0368a592 | 55 | printf("byteofFile%d, pixelnum %d, delta %d",i,j,delta); |
Danton | 21:ed9ea3485f93 | 56 | colorCompute(buffer,colorBuffer,j,sizeOfBuffer); |
Danton | 21:ed9ea3485f93 | 57 | i=i+delta; |
Danton | 21:ed9ea3485f93 | 58 | } |
Danton | 21:ed9ea3485f93 | 59 | |
Danton | 21:ed9ea3485f93 | 60 | } |
Danton | 21:ed9ea3485f93 | 61 | void drawLine(unsigned int* color,int y) |
Danton | 15:3bfbb557020e | 62 | { |
Danton | 37:836771aa9230 | 63 | HX8340S_LCD lcd(p9, p14, p13, p11); |
Danton | 33:7154faa730e5 | 64 | //lcd.Initialize(); |
Danton | 33:7154faa730e5 | 65 | DigitalOut scr(p9); |
Danton | 33:7154faa730e5 | 66 | scr=0; |
Danton | 35:ad5fa2b439ad | 67 | //printf("drawline\c\n"); |
Danton | 35:ad5fa2b439ad | 68 | //lcd.FillScreen(COLOR_GREEN); |
Danton | 19:089c4027bfba | 69 | for(int i=0;i<220;i++) |
Danton | 19:089c4027bfba | 70 | { |
Danton | 34:451b67720e07 | 71 | lcd.DrawPixel(i,y,color[i]); |
Danton | 35:ad5fa2b439ad | 72 | //printf("i=%d color=%x \n",i, (int)color[i]); |
Danton | 21:ed9ea3485f93 | 73 | |
Danton | 19:089c4027bfba | 74 | } |
Danton | 15:3bfbb557020e | 75 | } |
Danton | 21:ed9ea3485f93 | 76 | |
Danton | 21:ed9ea3485f93 | 77 | /*void drawScreen(unsigned char*buffer,unsigned int* colorBuffer,int sizeOfBuffer,int sizeOfLine,const char *path) |
Danton | 21:ed9ea3485f93 | 78 | { |
Danton | 21:ed9ea3485f93 | 79 | for(int i=0; i<176;i++) |
Danton | 21:ed9ea3485f93 | 80 | { |
Danton | 21:ed9ea3485f93 | 81 | pickUpLine |
Danton | 21:ed9ea3485f93 | 82 | } |
Danton | 21:ed9ea3485f93 | 83 | } |
Danton | 21:ed9ea3485f93 | 84 | */ |
Danton | 0:a11b3a90c259 | 85 | int main() { |
Danton | 6:ac9692245a01 | 86 | printf("Hello Stinky World!\c\n"); |
Danton | 0:a11b3a90c259 | 87 | |
Danton | 2:e205fa129def | 88 | //mkdir("/sd/mydir", 0777); |
Danton | 0:a11b3a90c259 | 89 | |
Danton | 15:3bfbb557020e | 90 | |
Danton | 21:ed9ea3485f93 | 91 | unsigned char rawbytes[80]; |
Danton | 21:ed9ea3485f93 | 92 | unsigned int color[220]; |
Danton | 34:451b67720e07 | 93 | unsigned int absPtr=54; |
Danton | 22:9e6c02d5f85d | 94 | superDisplay(); |
Danton | 35:ad5fa2b439ad | 95 | for(int i=0;i<176;i++) |
Danton | 34:451b67720e07 | 96 | { |
Danton | 34:451b67720e07 | 97 | pickUpLine(rawbytes,color,80,220,"/sd/mydir/rose.bmp",absPtr); |
Danton | 34:451b67720e07 | 98 | drawLine(color,i); |
Danton | 36:810bd3eb129c | 99 | absPtr=absPtr+880; |
Danton | 38:7a646be3854c | 100 | printf("absptr %d\n\n\n", absPtr); |
Danton | 34:451b67720e07 | 101 | } |
Danton | 15:3bfbb557020e | 102 | |
Danton | 0:a11b3a90c259 | 103 | printf("Goodbye World!\c\n"); |
Danton | 0:a11b3a90c259 | 104 | } |