cauqleuir madre

Dependencies:   SDFileSystem mbed TFTLCD

main.cpp

Committer:
Danton
Date:
2013-02-02
Revision:
37:836771aa9230
Parent:
36:810bd3eb129c
Child:
38:7a646be3854c

File content as of revision 37:836771aa9230:

#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 );
    printf("offset at ssd %d\n",offset);
    fseek(fp, offset,SEEK_SET);
    fread((char*)buffer,offset,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, int absPtr)
{
    printf("Pickupline\c\n");
    int i =absPtr;
    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]);
        //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];
    unsigned int absPtr=54;
    superDisplay();
    for(int i=0;i<176;i++)
    {
        pickUpLine(rawbytes,color,80,220,"/sd/mydir/rose.bmp",absPtr);
        drawLine(color,i);
        absPtr=absPtr+880;
        printf("absptr %d\n", absPtr);
    }

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