#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include extern streamdevice* __opnfiles__[]; extern void test_Block_Move(LCD_t* LCD,int x,int y,int w,int h,int color); char buffer[512]; void randBoxesDemo() { int16_t x,y,w,h,t,r; x=rand()%240; y=rand()%320; w=rand()%(240-x); if(x>y) r=(rand()%(y))%(320-y); else r=(rand()%(x))%(240-x); h=rand()%(320-y); t=rand()%(10); ili9328paintFilRect(&lcd0,x,y,w,h,rand(),t,rand()); //ili9328paintFilCirc(&lcd0,x,y,r,rand(),t,rand()); //delay_100us(10); //for(volatile int i=0;i<(1024*2);i++); } void randTextDemo() { int16_t x,y,w,h,t,r; char buf[2]; buf[1]='\0'; x=rand()%240; y=rand()%320; if(x>y) r=(rand()%(y))%(320-y); else r=(rand()%(x))%(240-x); h=rand()%(320-y); buf[0]=rand()%(255); //ili9328paintFilRect(&lcd0,x,y,w,h,rand(),t,rand()); ili9328paintText(&lcd0,buf,x,y,&ComicSansMS_18,rand()); //ili9328paintFilCirc(&lcd0,x,y,r,rand(),t,rand()); delay_100us(5000); //for(volatile int i=0;i<(1024*2);i++); } void tryToplay2() { extern blkdevice sdcard2blkdev; int i=0,l=0; spisetspeed(audioCodec0.SPIdev,4000000); printf("Streaming File\n"); //printf("New LBA=0x%X\n",nextLba); while(sdcard2blkdev.read(&sdcard2blkdev,buffer,l++,1)==RES_OK) { for(i=0;i<512;i+=32) { vs10XXstream32bytes(&audioCodec0,buffer+i); } } } void playFile(ucdirent* file,FAT32fs* part) { extern volatile vs10XXDev audioCodec0; char direntName[]=" \n"; uint32_t fileLba,nextLba; int i=0; fat32getdirentname(file,direntName); gpioset(LCD_BACKL); //printf("%s\n",direntName); nextLba=fat32getdirentlba(file); //printf("Streaming File\n"); gpioclr(LCD_BACKL); do { fileLba = nextLba; if(sdcard2FAT32part1.part->phy->read(part->part->phy,buffer,fileLba,1)==RES_OK) { for(i=0;i<512;i+=32) { vs10XXstream32bytes(&audioCodec0,buffer+i); } } }while ((fat32nextsectorlba(part,fileLba,&nextLba)==DIRENT_noErr) && (!gpiogetval(BP3))); vs10XXsoftReset(&audioCodec0); while (gpiogetval(BP3))delay_100us(1000); } void playAllparts() { extern FAT32fs sdcard2FAT32part1,sdcard2FAT32part2,sdcard2FAT32part3,sdcard2FAT32part4; ucdirent root; if(DIRENT_noErr==fat32mkdirent(&sdcard2FAT32part1,&root)) { printf("Reading on SDCARD2 part1\n"); if(DIRENT_noErr==fat32getrootfirstent(&root)) { do{ playFile(&root,&sdcard2FAT32part1); }while (DIRENT_noErr==fat32nextdirent(&root)); } } gpioset(LED2); if(DIRENT_noErr==fat32mkdirent(&sdcard2FAT32part2,&root)) { printf("Reading on SDCARD2 part2\n"); if(DIRENT_noErr==fat32getrootfirstent(&root)) { do{ playFile(&root,&sdcard2FAT32part2); }while (DIRENT_noErr==fat32nextdirent(&root)); } } } int main() { delay_100us(30000); int i=0; int color=0; for(i=0;i<240;i++) { if(i>(240/3)) { color= (i<<5) + 0x1F; } else { color = i; } if(i>(2*240/3)) { color= (i<<10) + 0x3FF; } lcd0.paintFilRect(&lcd0,i,0,1,100,0,0,color); } while(1)printf("test "); // for(i=0;i<240;i++) // { // if(i>(240/3)) // { // color= (i<<5) + 0x1F; // } // else // { // color = i; // } // if(i>(2*240/3)) // { // color= (i<<10) + 0x3FF; // } // lcd0.paintFilRect(&lcd0,i,220,1,100,0,0,color); // } for(i=0;i<240;i++) { ili9328setFrame(&lcd0,i,0,1,100); lcd0.interface->readGRAM(buffer,100); lcd0.paint(&lcd0,buffer,i,200,1,100); } while(1); } int main2() { extern terminal_t terminal0; extern volatile vs10XXDev audioCodec0; lcd0.paintText(&lcd0,"hello",20,50,&ComicSansMS_18 ,0xF0F0); while (1) randTextDemo(); printf("Volume=0x%x\n",vs10XXcmdread(&audioCodec0,VSVOL)); vs10XXcmdwrite(&audioCodec0,VSCLOCKF,0x2000); delay_100us(1000); vs10XXcmdwrite(&audioCodec0,VSVOL,0x2020); printf("VSCLOCKF=0x%x\n",vs10XXcmdread(&audioCodec0,VSCLOCKF)); printf("VSMODE=0x%x\n",vs10XXcmdread(&audioCodec0,VSMODE)); //terminal_clear(&terminal0); gpioclr(LCD_BACKL); playAllparts(); return 0; }