⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testhiapi.c

📁 中芯微VC0528测试程序
💻 C
📖 第 1 页 / 共 3 页
字号:
			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 + -