📄 testhiapi.c
字号:
#define HEADTEMPTEST
void TEST1TSRAM(void)
{
UINT8 buf[5];
UINT32 i,j=0,k;
VIM_HAPI_SetWorkMode(VIM_HAPI_MODE_CAMERAON);//through mode power on lcd
VIM_HAPI_SetWorkMode(VIM_HAPI_MODE_BYPASS);//through mode power on lcd
VIM_HAPI_SetWorkMode(VIM_HAPI_MODE_CAMERAON);//through mode power on lcd
#ifdef HEADTEMPTEST
while((j++)<2)
#else
while((j++)<10)
#endif
{
Uart_Printf("\n /////////////////begin to test %d times /////////////////!! \n",j);
VIM_HIF_WriteSramOnWord(0, 0, 0x20000);
for(k=0;k<16;k++)
{
VIM_HIF_ReadSram(k*0x2000,buf123,0x2000);
for(i=0;i<0x2000;i++)
{
if(buf123[i]!=0)
{
Uart_Printf("\n TEST1TSRAM step 1 error i=0x%x \n",i);
return;
}
VIM_HIF_WriteSramOnWord(i+k*0x2000,0xffffffff,4);
}
}
Uart_Printf("\n TEST1TSRAM step 1 ok !! \n");
Delay(10);
for(k=0;k<16;k++)
{
VIM_HIF_ReadSram(k*0x2000,buf123,0x2000);
for(i=0;i<0x2000;i++)
{
if(buf123[i]!=0xff)
{
Uart_Printf("\n TEST1TSRAM step 2 error i=0x%x \n",i);
return;
}
}
}
Uart_Printf("\n TEST1TSRAM step 2 ok !! \n");
VIM_HIF_WriteSramOnWord(0, 0xaaaaaaaa, 0x20000);
//Delay(100*j);
Delay(1000);//1s
for(k=0;k<16;k++)
{
VIM_HIF_ReadSram(k*0x2000,buf123,0x2000);
for(i=0;i<0x2000;i++)
{
if(buf123[i]!=0xaa)
{
Uart_Printf("\n TEST1TSRAM step 3 error i=0x%x \n",i);
return;
}
}
}
Uart_Printf("\n TEST1TSRAM step 3 ok !! \n");
VIM_HIF_WriteSramOnWord(0, 0x55555555, 0x20000);
//Delay(100*j);
Delay(5000);// //5s
for(k=0;k<16;k++)
{
VIM_HIF_ReadSram(k*0x2000,buf123,0x2000);
for(i=0;i<0x2000;i++)
{
if(buf123[i]!=0x55)
{
Uart_Printf("\n TEST1TSRAM step 4 error i=0x%x \n",i);
return;
}
}
}
Uart_Printf("\n TEST1TSRAM step 4 ok !! \n");
for(i=0;i<(0x20000/4);i++)
*(((UINT32 *)JpegBuf)+i)=i;
VIM_HIF_WriteSram(0, JpegBuf, 0x20000);
VIM_HIF_ReadSram(0,JpegBuf+0x20000,0x20000);
for(i=0;i<0x20000;i++)
{
if(JpegBuf[i]!=JpegBuf[i+0x20000])
{
Uart_Printf("\n test ram error j=%d ",j);
return;
}
}
Uart_Printf("\n TEST1TSRAM step 5 ok !! \n");
}
//VIM_HAPI_SetWorkMode(VIM_HAPI_MODE_BYPASS);//through mode power on lcd
}
void vc0528autotest(void)
{
UINT8 i,k=0;
UINT32 j;
TESTBING:
//-=-=-=-=-=-=-=-=-=-=-=-start test layer b-=-=-=-=-=-=-=-=-=-=-=-
VIM_HAPI_SetWorkMode(VIM_HAPI_MODE_CAMERAON);//through mode power on lcd
#if 1
fn_chdir("/pic");
VIM_HAPI_SetLCDSize(VIM_HAPI_B0_LAYER,0,0,128,80);
VIM_HAPI_SetLCDSize(VIM_HAPI_B1_LAYER,0,80,128,80);
VIM_HAPI_SetLCDWorkMode(VIM_HAPI_LCDMODE_BLONLY,0);
VIM_HAPI_SetLCDColordep(VIM_HAPI_COLORDEP_16BIT);
VIM_HAPI_DrawLCDPureColor(VIM_HAPI_B0_LAYER,0,0,128,80,0xf800);
VIM_HAPI_UpdateLCD(VIM_HAPI_B0_LAYER,0,0,128,80);
Delay(1000);
VIM_HAPI_DrawLCDPureColor(VIM_HAPI_B1_LAYER,0,80,128,80,0x1f);
VIM_HAPI_UpdateLCD(VIM_HAPI_B1_LAYER,0,80,128,80);
Delay(1000);
VIM_HAPI_DrawLCDRctngl(VIM_HAPI_B0_LAYER,0,0,64,48,(UINT8 *)rgb64x48);
VIM_HAPI_UpdateLCD(VIM_HAPI_B0_LAYER,0,0,64,48);
Delay(1000);
VIM_HAPI_DrawLCDRctngl(VIM_HAPI_B1_LAYER,0,80,64,48,(UINT8 *)rgb64x48);
VIM_HAPI_UpdateLCD(VIM_HAPI_B1_LAYER,0,80,64,48);
Delay(1000);
VIM_HAPI_SetLCDMirror(VIM_HAPI_ROTATE_90,VIM_HAPI_ALLB_LAYER);
VIM_HAPI_SetLCDSize(VIM_HAPI_B0_LAYER,10,10,150,54);
VIM_HAPI_SetLCDSize(VIM_HAPI_B1_LAYER,10,64,150,64);
VIM_HAPI_DrawLCDRctngl(VIM_HAPI_B0_LAYER,96,20,64,48,(UINT8 *)rgb64x48);
VIM_HAPI_UpdateLCD(VIM_HAPI_B0_LAYER,96,20,64,48);
Delay(1000);
VIM_HAPI_DrawLCDRctngl(VIM_HAPI_B1_LAYER,30,80,64,48,(UINT8 *)rgb64x48);
VIM_HAPI_UpdateLCD(VIM_HAPI_B1_LAYER,30,80,64,48);
Delay(1000);
//-=-=-=-=-=-=-=-=-=-=-=-end test layer b-=-=-=-=-=-=-=-=-=-=-=-
VIM_HAPI_SetLCDMirror(VIM_HAPI_ROTATE_0,VIM_HAPI_ALLB_LAYER);
VIM_HAPI_SetLCDSize(VIM_HAPI_B0_LAYER,0,0,128,160);
VIM_HAPI_SetLCDSize(VIM_HAPI_B1_LAYER,0,0,0,0);
VIM_HAPI_SetLCDWorkMode(VIM_HAPI_LCDMODE_OVERLAY,0);
VIM_HAPI_SetLCDColordep(VIM_HAPI_COLORDEP_15BIT);
g_Reverse=1;
//VIM_HAPI_DrawLCDRctngl(VIM_HAPI_B0_LAYER,0,0,128,160,(HUGE UINT8 *)BMP9);//(UINT8 *)RGB_buf);
VIM_HAPI_DrawLCDRctngl(VIM_HAPI_B0_LAYER,0,0,128,160,(HUGE UINT8 *)BMP2);//(UINT8 *)RGB_buf);
//VIM_HAPI_SetLCDWorkMode(VIM_HAPI_LCDMODE_OVERLAY,0);
VIM_HAPI_SetLCDWorkMode(VIM_HAPI_LCDMODE_BLEND,128);
VIM_HAPI_UpdateLCD(VIM_HAPI_B0_LAYER,0,0,128,160);
Delay(1000);
g_Reverse=0;
//VIM_HAPI_SetLCDColordep(VIM_HAPI_COLORDEP_16BIT);
//-=-=-=-=-=-=-=-=-=-=-=-start test preview-=-=-=-=-=-=-=-=-=-=-=-
///test capture 128x160 overlay and blending
VIM_HAPI_SetCaptureParameter(128,160);
VIM_HAPI_SetPreviewParameter(0,0,128,160);
VIM_HAPI_SetPreviewMode(VIM_HAPI_PREVIEW_FRAMEON);
Delay(1000);
VIM_HAPI_SetLCDWorkMode(VIM_HAPI_LCDMODE_OVERLAY,0);
VIM_HAPI_SetLCDMirror(VIM_HAPI_ROTATE_90,VIM_HAPI_A_LAYER);
VIM_HAPI_SetPreviewParameter(320-160,0,160,128);
VIM_HAPI_SetPreviewMode(VIM_HAPI_PREVIEW_FRAMEON);
Delay(1000);
VIM_HAPI_SetLCDWorkMode(VIM_HAPI_LCDMODE_BLEND,128);
VIM_HAPI_SetLCDMirror(VIM_HAPI_ROTATE_180,VIM_HAPI_A_LAYER);
VIM_HAPI_SetPreviewParameter(240-128,320-160,128,160);
VIM_HAPI_SetPreviewMode(VIM_HAPI_PREVIEW_FRAMEON);
Delay(1000);
V5HDEMO_CaptureStill();
Delay(100);
VIM_HAPI_SetLCDWorkMode(VIM_HAPI_LCDMODE_OVERLAY,0);
VIM_HAPI_SetLCDMirror(VIM_HAPI_ROTATE_270,VIM_HAPI_A_LAYER);
VIM_HAPI_SetPreviewParameter(0,240-128,160,128);
VIM_HAPI_SetPreviewMode(VIM_HAPI_PREVIEW_FRAMEON);
Delay(1000);
V5HDEMO_CaptureStill();
Delay(100);
#if 1
///test capture 640x480 preview 320x240
VIM_HAPI_SetLCDWorkMode(VIM_HAPI_LCDMODE_AFIRST,0);
VIM_HAPI_SetCaptureParameter(640,480);
VIM_HAPI_SetPreviewParameter(0,0,240,320);
VIM_HAPI_SetLCDMirror(VIM_HAPI_ROTATE_0,VIM_HAPI_A_LAYER);
VIM_HAPI_SetPreviewMode(VIM_HAPI_PREVIEW_ON);
Delay(1000);
//VIM_HAPI_SetLCDWorkMode(VIM_HAPI_LCDMODE_OVERLAY,0);
VIM_HAPI_SetLCDMirror(VIM_HAPI_ROTATE_90,VIM_HAPI_A_LAYER);
VIM_HAPI_SetPreviewParameter(0,0,320,240);
VIM_HAPI_SetPreviewMode(VIM_HAPI_PREVIEW_ON);
Delay(1000);
//VIM_HAPI_SetLCDWorkMode(VIM_HAPI_LCDMODE_BLEND,128);
VIM_HAPI_SetLCDMirror(VIM_HAPI_ROTATE_180,VIM_HAPI_A_LAYER);
VIM_HAPI_SetPreviewParameter(0,0,240,320);
VIM_HAPI_SetPreviewMode(VIM_HAPI_PREVIEW_ON);
Delay(1000);
//VIM_HAPI_SetLCDWorkMode(VIM_HAPI_LCDMODE_OVERLAY,0);
VIM_HAPI_SetLCDMirror(VIM_HAPI_ROTATE_270,VIM_HAPI_A_LAYER);
VIM_HAPI_SetPreviewParameter(0,0,320,240);
VIM_HAPI_SetPreviewMode(VIM_HAPI_PREVIEW_ON);
Delay(1000);
V5HDEMO_CaptureStill();
Delay(100);
///test capture 1280x1024 preview 320x240
VIM_HAPI_SetLCDSize(VIM_HAPI_B0_LAYER,0,0,0,0);
for(i=0;i<6;i++)
{
FastPreview=0;
VIM_HAPI_SetCaptureParameter(1280,960);
VIM_HAPI_SetLCDMirror(VIM_HAPI_ROTATE_0,VIM_HAPI_A_LAYER);
VIM_HAPI_SetPreviewParameter(0,0,240,320);
VIM_HAPI_SetPreviewMode(VIM_HAPI_PREVIEW_ON);
VIM_HAPI_SetEffect((VIM_HAPI_SPECIAL_EFFECT)i);
Delay(2000);
V5HDEMO_CaptureStill();
Delay(100);
}
///test capture 1280x1024 preview 320x240
for(i=0;i<6;i++)
{
FastPreview=1;
VIM_HAPI_SetCaptureParameter(1280,960);
VIM_HAPI_SetPreviewParameter(0,0,240,320);
VIM_HAPI_SetPreviewMode(VIM_HAPI_PREVIEW_ON);
VIM_HAPI_SetEffect((VIM_HAPI_SPECIAL_EFFECT)i);
Delay(2000);
V5HDEMO_CaptureStill();
Delay(100);
}
VIM_HAPI_SetEffect(VIM_HAPI_SPECIAL_NORMAL);
//-=-=-=-=-=-=-=-=-=-=-=-start test capture video-=-=-=-=-=-=-=-=-=-=-=-
VIM_HAPI_SetCaptureParameter(320,240);
VIM_HAPI_SetPreviewParameter(0,0,240,320);
VIM_HAPI_SetPreviewMode(VIM_HAPI_PREVIEW_ON);
Delay(1000);
V5HDEMO_CaptureAVI();
Delay(100);
while(!CAPTUREEND);
V5HDEMO_DisplayVideo(0,0,240,320);
#endif
#endif
#if 0
//-=-=-=-=-=-=-=-=-=-=-=-start test decode -=-=-=-=-=-=-=-=-=-=-=-
VIM_HAPI_SetLCDMirror(VIM_HAPI_ROTATE_0,VIM_HAPI_ALL_LAYER);
VIM_HAPI_SetPreviewMode(VIM_HAPI_PREVIEW_ON);
VIM_HAPI_SetLCDSize(VIM_HAPI_B1_LAYER,0,0,0,0);
VIM_HAPI_SetLCDSize(VIM_HAPI_B0_LAYER,0,0,128,160);
VIM_HAPI_SetLCDColordep(VIM_HAPI_COLORDEP_16BIT);
//-=-=-=-=-=-=-=-=-=-=-=- YUV IPP resize decode test-=-=-=-=-=-=-=-=-=-=-=-
VIM_HAPI_Decode_Jpeg(VIM_HAPI_RAM_SAVE,VIM_DECODE_RESIZE_TO_YUV,data320x240, YUVBuf,7432,0x15000,128,96);
Delay(100);
VIM_HAPI_YuvToRgb(YUVBuf,BmpBuf,128,160,VIM_CON_UYVY_565);
VIM_HAPI_SetWorkMode(VIM_HAPI_MODE_PHOTOPROCESS);
VIM_HAPI_SetLCDWorkMode(VIM_HAPI_LCDMODE_BLONLY,0);
VIM_HAPI_DrawLCDPureColor(VIM_HAPI_B0_LAYER,0,0,128,160,0);
VIM_HAPI_UpdateLCD(VIM_HAPI_B0_LAYER,0,0,128,160);
Delay(1000);
VIM_HAPI_DrawLCDRctngl(VIM_HAPI_B0_LAYER,0,0,128,160,BmpBuf);
VIM_HAPI_UpdateLCD(VIM_HAPI_B0_LAYER,0,0,128,160);
Delay(1000);
//-=-=-=-=-=-=-=-=-=-=-=- YUV frame decode test-=-=-=-=-=-=-=-=-=-=-=-
VIM_HAPI_DrawLCDPureColor(VIM_HAPI_B0_LAYER,0,0,128,160,0);
VIM_HAPI_DrawLCDPureColor(VIM_HAPI_B0_LAYER,0,0,40,40,0xf800);
VIM_HAPI_SetLCDWorkMode(VIM_HAPI_LCDMODE_OVERLAY,0);
VIM_HAPI_Decode_Jpeg(VIM_HAPI_RAM_SAVE,VIM_DECODE_WITHFRAME_TO_YUV,data320x240, YUVBuf,7432, 0x15000,128,96);
Delay(100);
VIM_HAPI_YuvToRgb(YUVBuf,BmpBuf,128,160,VIM_CON_UYVY_565);
VIM_HAPI_SetLCDWorkMode(VIM_HAPI_LCDMODE_BLONLY,0);
VIM_HAPI_DrawLCDPureColor(VIM_HAPI_B0_LAYER,0,0,128,160,0);
VIM_HAPI_UpdateLCD(VIM_HAPI_B0_LAYER,0,0,128,160);
Delay(100);
VIM_HAPI_DrawLCDRctngl(VIM_HAPI_B0_LAYER,0,0,128,160,BmpBuf);
VIM_HAPI_UpdateLCD(VIM_HAPI_B0_LAYER,0,0,128,160);
Delay(1000);
// -=-=-=-=-=-=-=-=-=-=-=-RGB resize decode test-=-=-=-=-=-=-=-=-=-=-=-
VIM_HAPI_Decode_Jpeg(VIM_HAPI_RAM_SAVE,VIM_DECODE_RESIZE_TO_RGB,JPEG_128x160_422,BmpBuf,3072, 128*160*2,128,160);
Delay(100);
VIM_HAPI_SetLCDWorkMode(VIM_HAPI_LCDMODE_BLONLY,0);
VIM_HAPI_DrawLCDPureColor(VIM_HAPI_B0_LAYER,0,0,128,160,0);
VIM_HAPI_UpdateLCD(VIM_HAPI_B0_LAYER,0,0,128,160);
Delay(100);
VIM_HAPI_DrawLCDRctngl(VIM_HAPI_B0_LAYER,0,0,128,160,BmpBuf);
VIM_HAPI_UpdateLCD(VIM_HAPI_B0_LAYER,0,0,128,160);
Delay(1000);
// -=-=-=-=-=-=-=-=-=-=-=-RGB frame decode test-=-=-=-=-=-=-=-=-=-=-=-
VIM_HAPI_DrawLCDPureColor(VIM_HAPI_B0_LAYER,0,0,128,160,0);
VIM_HAPI_DrawLCDPureColor(VIM_HAPI_B0_LAYER,0,0,40,40,0xf800);
VIM_HAPI_SetLCDWorkMode(VIM_HAPI_LCDMODE_OVERLAY,0);
VIM_HAPI_Decode_Jpeg(VIM_HAPI_RAM_SAVE,VIM_DECODE_WITHFRAME_TO_RGB,data128x96,BmpBuf,3661, 128*96*2,128,96);
Delay(100);
VIM_HAPI_SetLCDWorkMode(VIM_HAPI_LCDMODE_BLONLY,0);
VIM_HAPI_DrawLCDPureColor(VIM_HAPI_B0_LAYER,0,0,128,160,0);
VIM_HAPI_UpdateLCD(VIM_HAPI_B0_LAYER,0,0,128,160);
Delay(100);
VIM_HAPI_DrawLCDRctngl(VIM_HAPI_B0_LAYER,0,0,128,96,BmpBuf);
VIM_HAPI_UpdateLCD(VIM_HAPI_B0_LAYER,0,0,128,96);
Delay(1000);
// -=-=-=-=-=-=-=-=-=-=-=-RGB frame decode test-=-=-=-=-=-=-=-=-=-=-=-
VIM_HAPI_DrawLCDPureColor(VIM_HAPI_B0_LAYER,0,0,128,160,0);
VIM_HAPI_DrawLCDPureColor(VIM_HAPI_B0_LAYER,0,0,40,40,0xf800);
VIM_HAPI_SetLCDWorkMode(VIM_HAPI_LCDMODE_OVERLAY,0);
VIM_HAPI_Decode_Jpeg(VIM_HAPI_RAM_SAVE,VIM_DECODE_WITHFRAME_TO_RGB,data128x128,BmpBuf,4988, 128*128*2,128,128);
Delay(100);
VIM_HAPI_SetLCDWorkMode(VIM_HAPI_LCDMODE_BLONLY,0);
VIM_HAPI_DrawLCDPureColor(VIM_HAPI_B0_LAYER,0,0,128,160,0);
VIM_HAPI_UpdateLCD(VIM_HAPI_B0_LAYER,0,0,128,160);
Delay(100);
VIM_HAPI_DrawLCDRctngl(VIM_HAPI_B0_LAYER,0,0,128,128,BmpBuf);
VIM_HAPI_UpdateLCD(VIM_HAPI_B0_LAYER,0,0,128,128);
Delay(1000);
VIM_HAPI_SetWorkMode(VIM_HAPI_MODE_BYPASS);
Delay(1000);
VIM_HAPI_SetWorkMode(VIM_HAPI_MODE_CAMERAON);
Delay(1000);
//-=-=-=-=-=-=-=-=-=-=-=-decode test end -=-=-=-=-=-=-=-=-=-=-=-
#endif
#ifndef HEADTEMPTEST
//if(k<10)
if(!k)
{
k++;
Uart_Printf("\n /////////////////begin to test function %d times /////////////////!! \n",k);
goto TESTBING;
}
#endif
//-=-=-=-=-=-=-=-=-=-=-=-start test display jpg-=-=-=-=-=-=-=-=-=-=-=-
//V5HDEMO_DisplayRomAuto("/");
V5HDEMO_DisplayRomAuto("/1");
/////////////////////mem test/////////////////////
VIM_HIF_ReadSram(0,JpegBuf,0x20000);
for(i=1;i<=10;i++)
{
Uart_Printf("\n Start Test Sram %d times",i);
Delay(1000*i);
VIM_HIF_ReadSram(0,JpegBuf+0x20000,0x20000);
for(j=0;j<0x20000;j++)
{
if(JpegBuf[j]!=JpegBuf[j+0x20000])
{
Uart_Printf("\n test ram error j=%d ",j);
return;
}
}
}
Uart_Printf("\n test ram ok ");
/////////////////////////////////////////////////
MassStorage_Init();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -