📄 testhiapi.c
字号:
Uart_Printf("B1_StartAddress=%x\n",V5H_MarbAdd[1]);//b1 add
Uart_Printf("jbuf_StartAddress=%x\n",V5H_MarbAdd[2]);
Uart_Printf("Lbuf_StartAddress=%x\n",V5H_MarbAdd[3]);
Uart_Printf("Thum_StartAddress=%x\n",V5H_MarbAdd[4]);
Uart_Printf("Index_StartAddress=%x\n",V5H_MarbAdd[5]);
Uart_Printf("A0Layer_StartAddress=%x\n",V5H_MarbAdd[6]);
Uart_Printf("A1Layer_StartAddress=%x\n",V5H_MarbAdd[7]);
break;
case 3://set marb
for(i=0;i<9;i++)
V5H_MarbAdd[i]=Command_para[i];
break;
case 5:
//V5M_DisableALayer();
VIM_SIF_I2cReadByte(Command_para[0], &value16);
Uart_Printf("\nget_reg(%x)=%x",Command_para[0], value16);
//V5B_LcdcEnableAlayer();
break;
case 6:
Uart_Printf("\nset_reg(%x)=%x",Command_para[0], Command_para[1]);
VIM_SIF_I2cWriteByte(Command_para[0], Command_para[1]);
break;
case 105:
//V5M_DisableALayer();
VIM_SIF_I2cReadWord(Command_para[0], &value16);
Uart_Printf("\nget_reg(%x)=%x",Command_para[0], value16);
//V5B_LcdcEnableAlayer();
break;
case 106:
Uart_Printf("\nset_reg(%x)=%x",Command_para[0], Command_para[1]);
VIM_SIF_I2cWriteWord(Command_para[0], Command_para[1]);
break;
case 8:
Uart_Printf("\nget_reg(%x)=%x",Command_para[0], VIM_HIF_GetReg8(Command_para[0]));
break;
case 9:
Uart_Printf("\nset_reg(%x,%x)",Command_para[0], Command_para[1]);
VIM_HIF_SetReg8(Command_para[0],(UINT8)Command_para[1]);
break;
case 52:
VIM_HAPI_StopCapture();
break;
case 13:
VIM_HAPI_SetPreviewMode(Command_para[0]);
/*if(Command_para[0]==1)
{
V5H_WorkMode_Set(V5H_MODE_CAMERAON);
V5H_Preview_Parameter(0,0,128,160);
V5H_Capture_Parameter(128,96,40);
V5H_Capture_CompressionRatio(3);
V5H_Preview_ExposureMode(V5H_EXP_50HZ);
V5H_Preview_ExposureTYPE(V5H_EXP_INDOOR);
V5H_Preview_Effect(V5H_SPECIAL_NORMAL);
//V5H_Preview_Brightness(0,0);
//V5H_Preview_Brightness(1,3);
//V5H_LCD_WorkMode(V5H_LCDMODE_OVERLAY, 0xf81f);
V5H_Preview_MODE(V5H_PREVIEW_ON);//先算出twc
Timer0_Run();
}
else
{
Timer0_Stop();
V5H_WorkMode_Set(V5H_MODE_BYPASS);
V5H_LCD_Panel(V5H_LCDPANEL_MAIN);
}*/
break;
case 14:
V5H_Preview_ExposureTYPE(Command_para[0]);
break;
case 12:
//V5H_WorkMode_Set(Command_para[0]);
break;
case 23:
V5H_Preview_ExposureMode(Command_para[0]);
break;
case 15:
Uart_Printf("V5H_Preview_Brightness=%x",V5H_Preview_Brightness(Command_para[0],Command_para[1]));
break;
case 16:
Uart_Printf("V5H_Preview_Contrast=%x",V5H_Preview_Contrast(Command_para[0],Command_para[1]));
break;
case 17:
Uart_Printf("V5H_Preview_Sharpness=%x",VIM_HAPI_SetPreviewWhiteBalance(Command_para[0],Command_para[1]));
break;
case 18:
/*
typedef enum _V5H_SENSOR_MIMODE
{
V5H_SENSOR_NORMAL=0,
V5H_SENSOR_MIRROR,
V5H_SENSOR_FLIP,
V5H_SENSOR_ROTATION
}V5H_SENSOR_MIMODE;
*/
/*if (Command_para[0] == 0)
{
Command_para[0] = V5H_SENSOR_NORMAL;
}
else if (Command_para[0] == 1)
{
Command_para[0] = V5H_SENSOR_MIRROR;
}
else if (Command_para[0] == 2)
{
Command_para[0] = V5H_SENSOR_FLIP;
}
else if (Command_para[0] == 3)
{
Command_para[0] = V5H_SENSOR_ROTATION;
}*/
//Uart_Printf("V5H_Preview_Mirror=%x",V5H_Preview_Mirror(Command_para[0]));
break;
case 19:
Uart_Printf("V5H_Preview_Effect=%x",VIM_HAPI_SetEffect(Command_para[0]));
break;
case 20:
VIM_HAPI_SetPreviewParameter(Command_para[0],Command_para[1],Command_para[2],Command_para[3]);
VIM_HAPI_SetPreviewMode(VIM_HAPI_PREVIEW_ON);
break;
case 21:
Uart_Printf("V5H_Capture_Parameter=%x",VIM_HAPI_SetCaptureParameter(Command_para[0],Command_para[1]));
VIM_HAPI_SetThumbParameter(64,(64*Command_para[1])/Command_para[0]-1);
VIM_HAPI_SetPreviewMode(VIM_HAPI_PREVIEW_ON);
//V5H_Capture_GetThumbRealSize(&W,&H);
//Uart_Printf("\n thumb real size is W=%d,H=%d",W,H);
break;
case 22:
Uart_Printf("V5H_Preview_Zoom=%x",VIM_HAPI_SetPreviewZoom(Command_para[0],Command_para[1]));
break;
case 25:
VIM_HAPI_SetCaptureQuality(Command_para[0]);
break;
case 26:
// V5H_Display_Zoom
//V5H_DisplayJpeg_Zoom(Command_para[0],Command_para[1],Command_para[2],0,10,128,96);
break;
case 24:
//V5H_LCD_WorkMode(Command_para[0],Command_para[1]);
break;
case 28:
V5HDEMO_CaptureVideo();
break;
case 29:
V5HDEMO_CaptureMuliti(Command_para[0]);
break;
case 30:
V5HDEMO_CaptureStill();
Uart_Printf("capture_still:%d",Jpeg_Length);
break;
case 31:
V5HDEMO_CaptureStillThumb();
break;
case 32:
//Uart_Printf("v5h_display_jpeg(%d, %d, %d, %d, %d)", Command_para[0],Command_para[1],Command_para[2],Command_para[3], Command_para[4]);
V5HDEMO_DisplayExternStill(Command_para[0],Command_para[1],Command_para[2],Command_para[3], Command_para[4]);
break;
case 40:
Uart_Printf("v5h_draw_rgb(%d, %d, %d, %d)", Command_para[0],Command_para[1],Command_para[2],Command_para[3]);
V5HDEMO_DrawRGB(Command_para[0],Command_para[1],Command_para[2],Command_para[3]);
break;
case 44:
Uart_Printf("V5H_LCD_Update");
//V5H_LCD_Update(Command_para[0],Command_para[1],Command_para[2],Command_para[3]);
break;
case 45:
Uart_Printf("V5H_LCD_PureColor");
//V5H_LCD_PureColor(Command_para[0],Command_para[1],Command_para[2],Command_para[3],Command_para[4]);
//V5H_LCD_Update(Command_para[0],Command_para[1],Command_para[2],Command_para[3]);
break;
case 41:
Uart_Printf("V5HDEMO_Decode");
V5HDEMO_Decode(Command_para[0],Command_para[1],Command_para[2]);
break;
case 42:
Uart_Printf("V5H_Capture_CompressionRatio");
//V5H_Capture_CompressionRatio(Command_para[0]);
break;
case 43:
Uart_Printf("V5H_LCD_MIRROR");
VIM_HAPI_SetLCDMirror(Command_para[0],Command_para[1]);
VIM_HAPI_SetPreviewMode(VIM_HAPI_PREVIEW_ON);
break;
case 46:
V5HDEMO_TestPanel(Command_para[0]);
break;
case 47:
//V5HDEMO_Test();
PrintAllRegisters();
break;
case 49:
Uart_Printf("\nV5HDEMO_Encode");
V5HDEMO_Encode(Command_para[0],Command_para[1]);
break;
case 50:
V5HDEMO_CaptureAVI();
break;
case 51:
V5HDEMO_DisplayVideo(Command_para[0],Command_para[1],Command_para[2],Command_para[3]);
break;
case 53:
MassStorage_Init();
break;
case 60:
g_outputsize=Command_para[0];
VIM_HAPI_SetPreviewMode(VIM_HAPI_PREVIEW_ON);
break;
case 48:
default:
break;
}
}
/*
#define V5_REG_BIU_BASE 0x1800
(V5_REG_BIU_CMD, V5_REG_BIU_DATA_OEN_SEL)
#define V5_REG_CPM_BASE 0x1400
(V5_REG_CPM_UMCTRL, V5_REG_CPM_SIF_FLASH)
#define V5_REG_GE_BASE 0x1000
(V5_REG_GE_BITBLT_CTL0, V5_REG_GE_LINE_ENDPY_H)
#define V5_REG_IPP_BASE 0x1c00
(V5_REG_IPP_SPECTRL, V5_REG_FRMDP_H)
#define V5_REG_ISP_BASE 0x2000
(V5_REG_ISP_CTL_BAS, V5_REG_ISP_Y_MEAN_THD)
#define V5_REG_JPEG_BASE 0x0000
(V5_REG_JPEG_JPEG_MODE, V5_REG_JPEG_DEC_BYPASS)
#define V5_REG_LBUF_BASE 0x0C00
(V5_REG_LBUF_LBUF_STATUS, V5_REG_LBUF_LBUF1_STATUS)
#define V5_REG_LCDC_BASE 0x2800
(V5_REG_LCDC_DC, V5_REG_LCDC_IST)
#define V5_REG_LCDIF_BASE 0x0400
(V5_REG_LCDIF_HEAD_RS_FLAG_L, V5_REG_LCDIF_DMAP)
#define V5_REG_MARB_BASE 0x2400
(V5_REG_MARB_MARB_CTRL, V5_REG_MARB_MARB_STAT_1)
#define V5_REG_SIF_BASE 0x0800
(V5_REG_SIF_SNR_MODE, V5_REG_SIF_TRIGGER_START_COL_L)
*/
static void PrintRegisters(UINT32 dwStartAddr, UINT32 dwEndAddr)
{
UINT32 dwAddr = 0;
UINT8 byValue = 0;
for (dwAddr = dwStartAddr; dwAddr <= dwEndAddr; dwAddr++)
{
byValue = VIM_HIF_GetReg8(dwAddr);
Uart_Printf("\r\nGetReg(0x%x) = 0x%x", dwAddr, byValue);
}
}
void PrintAllRegisters(void)
{
Uart_Printf("\r\nlbuf Regisers begin:\r\n");
PrintRegisters(0x0c00, 0x0c15);
Uart_Printf("\r\nLCDC Regisers End.\r\n");
#if 0
// SIF
Uart_Printf("\r\nSIF Regisers begin:\r\n");
PrintRegisters(V5_REG_SIF_SNR_MODE, V5_REG_SIF_TRIGGER_START_COL_L);
Uart_Printf("\r\nSIF Regisers End.\r\n");
// IPP
Uart_Printf("\r\nIPP Regisers begin:\r\n");
PrintRegisters(V5_REG_IPP_SPECTRL, V5_REG_FRMDP_H);
Uart_Printf("\r\nIPP Regisers End.\r\n");
// ISP
Uart_Printf("\r\nISP Regisers begin:\r\n");
PrintRegisters(V5_REG_ISP_CTL_BAS, V5_REG_ISP_Y_MEAN_THD);
Uart_Printf("\r\nISP Regisers End.\r\n");
// MARB
Uart_Printf("\r\nMARB Regisers begin:\r\n");
PrintRegisters(V5_REG_MARB_MARB_CTRL, V5_REG_MARB_MARB_STAT_1);
Uart_Printf("\r\nMARB Regisers End.\r\n");
// LBUF
Uart_Printf("\r\nLBUF Regisers begin:\r\n");
PrintRegisters(V5_REG_LBUF_LBUF_STATUS, V5_REG_LBUF_SEQ_ADDR_L);
Uart_Printf("\r\nLBUF Regisers End.\r\n");
// JPEG
Uart_Printf("\r\nJPEG Regisers begin:\r\n");
PrintRegisters(V5_REG_JPEG_JPEG_MODE, V5_REG_JPEG_DEC_BYPASS);
Uart_Printf("\r\nJPEG Regisers End.\r\n");
// LCDC
Uart_Printf("\r\nLCDC Regisers begin:\r\n");
PrintRegisters(V5_REG_LCDC_DC, V5_REG_LCDC_LINEINTV);
Uart_Printf("\r\nLCDC Regisers End.\r\n");
#endif
}
extern const unsigned char rgb64x48[6144];
extern unsigned char const BMP2[];
extern UINT8 g_Reverse;
extern UINT8 FastPreview;
extern UINT8 CAPTUREEND;
UINT8 buf123 [0x2000];
extern UINT8 JpegBuf[0x160000];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -