cauqleuir madre

Dependencies:   SDFileSystem mbed TFTLCD

main.cpp

Committer:
Danton
Date:
2013-02-02
Revision:
29:1e98e8fc32da
Parent:
28:4a233bc57aab
Child:
30:629d2bdf5a52

File content as of revision 29:1e98e8fc32da:

#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");
    for(int i=0;i<220;i++)
    {
        //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]);
        printf("i=%d color=%x \n",i, 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");
}