cauqleuir madre

Dependencies:   SDFileSystem mbed TFTLCD

main.cpp

Committer:
Danton
Date:
2013-02-02
Revision:
33:7154faa730e5
Parent:
32:87689f4d78e4
Child:
34:451b67720e07

File content as of revision 33:7154faa730e5:

#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);
    //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]);
        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);
    drawLine(color,0);

    printf("Goodbye World!\c\n");
}