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

📄 testapi.c

📁 中芯微camera 图像处理芯片演示
💻 C
📖 第 1 页 / 共 3 页
字号:
			info.wCaptureWidth=320;
			info.wCaptureHeight=240;
			info.dFileMaxSize=0x20000000;
			info.wFrameRate=10;
			framecounter=0;
			CAPTUREEND=0;
			Avi_LoadInfo(&info,ROMSAVE,User_CaptureAviCallback);
			Avi_StartCapture(g_file);*/
			break;
		default:
		break;
	}
	return 1;	
}

int USER_closeSavePicture()
{
	
	switch (mainSelectedItem)
	{
		case CAMERA_ITEM:
			//VIM_HAPI_StopCapture();
			if(g_file)
			{
				f_close(g_file);
				Uart_Printf("\n close file ok! ");
			}
			User_InitCamera();
			break;
		case VIDEO_ITEM:
			if(!CAPTUREEND)	
			   Avi_StopCapture();
			CAPTUREEND=1;
			g_withframe=0;
			Uart_Printf("\n avi frame counter:%d",framecounter);
			VIM_HAPI_SetPreviewMode(VIM_HAPI_PREVIEW_ON);
		default:
		break;
	}	
	return 1;	
}
void Menu_SavePicture(UINT iMsg, WPARAM wParam, LPARAM lParam)
{
	SetSavePictureStart(User_InitSavePicture,USER_ExitInitSavePicture,USER_closeSavePicture);
	MSavePictureMain(NULL,NULL,NULL,SW_SHOW);
}

int User_SavePictureUp()
{
	switch (mainSelectedItem)
	{
		case CAMERA_ITEM:
			User_MediaPlayerKeyUp();
			break;
		case VIDEO_ITEM:
			//User_CameraUp();
			break;
		default:
		break;
	}	
	return 1;
}
int User_SavePictureDown()
{
	switch (mainSelectedItem)
	{
		case CAMERA_ITEM:
			User_MediaPlayerKeyDown();
			break;
		case VIDEO_ITEM:
			//User_CameraDown();
			break;
		default:
		break;
	}	
	return 1;
}
int User_SavePictureLeft()
{
	switch (mainSelectedItem)
	{
		case CAMERA_ITEM:
			User_MediaPlayerKeyLeft();
			break;
		case VIDEO_ITEM:
			//User_CameraLeft();
			break;
		default:
		break;
	}	
	return 1;
}
int User_SavePictureRight()
{
	switch (mainSelectedItem)
	{
		case CAMERA_ITEM:
			User_MediaPlayerKeyRight();
			break;
		case VIDEO_ITEM:
			//User_CameraRight();
			break;
		default:
			break;
	}	
	return 1;
}

int User_SavePictureMiddleKey()
{
	UINT16 result;
	switch (mainSelectedItem)
	{
		case CAMERA_ITEM:
			JpegOffsetX=JpegOffsetY=0;
			result=VIM_HAPI_SetLCDWorkMode(VIM_HAPI_LCDMODE_BLONLY,0);
			Uart_Printf("\n VIM_HAPI_SetLCDWorkMode return : %d  ",result);
			result=VIM_HAPI_SetLCDSize(VIM_HAPI_B1_LAYER,0,0,0,0);	
			Uart_Printf("\n VIM_HAPI_SetLCDSize return : %d  ",result);
			result=VIM_HAPI_SetLCDSize(VIM_HAPI_B0_LAYER,4,4,MAINFRAME_WIDTH_DEFAULT-8,MAINFRAME_WIDTH_DEFAULT+30-4);
			Uart_Printf("\n VIM_HAPI_SetLCDSize return : %d  ",result);
			result=VIM_HAPI_DrawLCDPureColor(VIM_HAPI_B0_LAYER,4,4,MAINFRAME_WIDTH_DEFAULT-8,MAINFRAME_WIDTH_DEFAULT+30-4,0);
			Uart_Printf("\n VIM_HAPI_DrawLCDPureColor return : %d  ",result);
			result=VIM_HAPI_UpdateLCD(VIM_HAPI_B0_LAYER,4,4,MAINFRAME_WIDTH_DEFAULT-8,MAINFRAME_WIDTH_DEFAULT+30-4);
			Uart_Printf("\n VIM_HAPI_UpdateLCD return : %d  ",result);
			result=VIM_HAPI_SetLCDWorkMode(VIM_HAPI_LCDMODE_AFIRST,0);
			Uart_Printf("\n VIM_HAPI_SetLCDWorkMode return : %d  ",result);
			if(g_file)
				result=VIM_HAPI_Display_Jpeg(VIM_HAPI_ROM_SAVE, g_file,gCaptureSize, 4, 4, Displaywidth, DisplayHeight);
				Uart_Printf("\n VIM_HAPI_Display_Jpeg return : %d  ",result);
			break;
		case VIDEO_ITEM:
		default:
		break;
	}	
	return 1;
}
int User_SavePictureSave()
{
	switch (mainSelectedItem)
	{
		case CAMERA_ITEM:
			SpecialEffec++;
			if (SpecialEffec>4)
				SpecialEffec=1;
			User_DrawLCDBlack(4,4,MAINFRAME_WIDTH_DEFAULT-8,320-4);
			VIM_HAPI_SetLCDSize(VIM_HAPI_B0_LAYER,0,0,MAINFRAME_WIDTH_DEFAULT,32+4);
			VIM_HAPI_SetLCDSize(VIM_HAPI_B1_LAYER,0,MAINFRAME_WIDTH_DEFAULT+30,MAINFRAME_WIDTH_DEFAULT,
				MAINFRAME_HEIGHT_DEFAULT-MAINFRAME_WIDTH_DEFAULT-30);
			VIM_HAPI_SetLCDWorkMode(VIM_HAPI_LCDMODE_AFIRST,0);

			VIM_HAPI_SetEffect(SpecialEffec);
			
			if(g_file)
				VIM_HAPI_Display_Jpeg(VIM_HAPI_ROM_SAVE, g_file,gCaptureSize, 4, 4, Displaywidth, DisplayHeight);
			Delay(200);
			 break;
		case VIDEO_ITEM:	
	               break;
		default:
		        break;
	}
	return 1;
}
///////////////////////////////////U_Disk//////////////////////////////////

Menu U_DiskMenu[] = {
	{ "Nand Flash",	NandFlask_UDisk},
					};
Form FormUDiskList= { U_DiskMenu,1,0};

int User_initU_Disk(void)
{
	VIM_HAPI_SetWorkMode(VIM_HAPI_MODE_BYPASS);//through mode power on lcd
	BypassUpdate=1;
	return 1;
}

int User_closeU_Disk()
{
	return 1;
}
void Menu_UDisk(UINT iMsg, WPARAM wParam, LPARAM lParam)
{
	SetUDisk(User_initU_Disk,User_closeU_Disk,FormUDiskList);
	VMUDiskMain(NULL,NULL,NULL,SW_SHOW);
}

int User_initSDU_Disk(void)
{
	return 1;
}

int User_closeSDU_Disk()
{
	return 1;
}
extern int MassStorage_Init(void);
extern UINT8 g_UDiskExit;

int User_initNandFlashU_Disk(void)
{
	g_UDiskExit=0;
	return 1;
}


int User_closeNandFlashU_Disk()
{
	g_UDiskExit=1;
	//Init_Key();
	return 1;
}

Menu U_DiskSDMenu[] = {

	{ "SD Card",	NULL},
};
Form FormUDiskSDList= { U_DiskSDMenu,1,0};
Menu U_DiskNandFlashMenu[] = {
	{ "Nand Flash",	NULL},
};
Form FormUDiskNandFlashList= { U_DiskNandFlashMenu,1,0};
void SD_UDisk(UINT iMsg, WPARAM wParam, LPARAM lParam)
{
	SetUDiskList(User_initSDU_Disk,User_closeSDU_Disk,FormUDiskSDList);
	VMUDiskListMain(NULL,NULL,NULL,SW_SHOW);

}
void NandFlask_UDisk(UINT iMsg, WPARAM wParam, LPARAM lParam)
{
	SetUDiskList(User_initNandFlashU_Disk,User_closeNandFlashU_Disk,FormUDiskNandFlashList);
	VMUDiskListMain(NULL,NULL,NULL,SW_SHOW);	

}


int GetFileCount(void)
{
	//FILE_INFO FindFile;
	//int result;
	int filenum=0;

	/*result=MMD_FILE_FindFirst((MMD_U08*)"*.*",&FindFile);
	if(result==0) 
	{
		do 
		{
			if(FindFile.attr&F_ATTR_DIR) 
			{

			}
			else
			{
				filenum++;
			}
		}while (!MMD_FILE_FindNext(&FindFile));
	}*/
	return filenum;
}
int MMI_CompareName(char* name)
{
	/*FILE_INFO FindFile;
	int result;
	int filenum=0;

	result=MMD_FILE_FindFirst((MMD_U08*)"*.*",&FindFile);
	if(result==0) 
	{
		do 
		{
			if(0==strcmp(name,FindFile.filename))
			{
				return 0;
			}
			else
			{
				filenum++;
			}
		}while (!MMD_FILE_FindNext(&FindFile));
	}*/
	return 1;
}



////////////////////////////////////setting_slider////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////


//Init appSetting_slider.c
int User_closeSettingSlider();
Menu SettingSliderMenu[20] = {
	{ "mp3",	NULL},
	{ "wave",    NULL},
	{ "line",	NULL},
};
//Form FormSettingSlider= { SettingSliderMenu,3,0};
Form gMyFormSetting_slider= { SettingSliderMenu,3,0};
SLIDER_Obj gScrollBarSetting_Data_slider[20];
int MMI_SettingSlider_AddItem(char* str)
{
	if(gMyFormSetting_slider.MenuSize>=100) return 0; //failed
	strcpy(SettingSliderMenu[gMyFormSetting_slider.MenuSize].MenuName, str);
 //   	 FileListMenu[gMyFormFileListList.MenuSize].event=Menu_MediaPlayer;
	gMyFormSetting_slider.MenuSize++;
	return 1;//succ
}

int User_initSettingSlider(void)
{
	int i;
	switch(MMI_GetSettingSelectItem())
		{
		case 1://volume
			for(i=0;i<5;i++)
			{
				MMI_SettingSlider_AddItem(MMI_AudioSetting[i].ItemName);
				MMI_SetSettingSliderValue(i,MMI_AudioSetting[i].Value);
			}
			break;	
		case 2://phone
			for(i=0;i<1;i++)
			{
				MMI_SettingSlider_AddItem(MMI_SysSetting[i].ItemName);
				MMI_SetSettingSliderValue(i,MMI_SysSetting[i].Value);
			}

			break;
		}
		return 1;
	return 1;
}
NU_TIMER test_timer;
int tt=20;
void Slider_test(UNSIGNED val)
{
	tt+=10;
	MMI_SetSettingSliderValue(3,tt);
}
void Menu_SettingSlider(UINT iMsg, WPARAM wParam, LPARAM lParam)
{
	VIM_HAPI_SetWorkMode(VIM_HAPI_MODE_BYPASS);//through mode power on lcd
	BypassUpdate=1;
	gMyFormSetting_slider.MenuSize=0;
	gMyFormSetting_slider.CurrentMenuItem=0;
	MMI_SetSettingSliderMaxValue(100);
	SetSettingSlider(User_initSettingSlider,User_closeSettingSlider);
	VMSettingSliderMain(NULL,NULL,NULL,SW_SHOW);
}
int User_closeSettingSlider()
{

	return 1;
}
int User_SettingSliderLeft()
{
	int i=MMI_GetSettingSliderSelectItem();

	switch(MMI_GetSettingSelectItem())
		{
		case 1://volume
			if(MMI_AudioSetting[i].Value>=10)
				MMI_AudioSetting[i].Value-=10;
			MMI_SetSettingSliderValue(i,MMI_AudioSetting[i].Value);
			break;	
		case 2://system
			if(MMI_SysSetting[i].Value>=10)
				MMI_SysSetting[i].Value-=10;
			MMI_SetSettingSliderValue(i,MMI_SysSetting[i].Value);
			break;
		}	
	return 1;
}
int User_SettingSliderRight()
{
	int i=MMI_GetSettingSliderSelectItem();

	switch(MMI_GetSettingSelectItem())
		{
		case 1://volume
			MMI_AudioSetting[i].Value+=10;
			if(MMI_AudioSetting[i].Value>MMI_AudioSetting[i].MaxValue)
				MMI_AudioSetting[i].Value=0;
			MMI_SetSettingSliderValue(i,MMI_AudioSetting[i].Value);
			break;	
		case 2://system
			MMI_SysSetting[i].Value+=10;
			if(MMI_SysSetting[i].Value>MMI_SysSetting[i].MaxValue)
				MMI_SysSetting[i].Value=0;
			MMI_SetSettingSliderValue(i,MMI_SysSetting[i].Value);
			break;
		}	
	return 1;
}
////////////////////////////////////setting_slider///////////////////
//Init appSetting_character.c
int User_closeSettingCharacter();
Menu SettingCharacterMenu[20] = {
	{ "mp3",	NULL},
	{ "wave",    NULL},
	{ "line",	NULL},
};
//Form FormSettingSlider= { SettingSliderMenu,3,0};

Form gMyFormSetting_character= { SettingCharacterMenu,3,0};
int MMI_SettingCharacter_AddItem(char* str)
{
	if(gMyFormSetting_character.MenuSize>=100) return 0; //failed
	strcpy(SettingCharacterMenu[gMyFormSetting_character.MenuSize].MenuName, str);
 //   	 FileListMenu[gMyFormFileListList.MenuSize].event=Menu_MediaPlayer;
	gMyFormSetting_character.MenuSize++;
	return 1;//succ
}
int MMI_SettingCharacter_ChangeItem(int itemnumber, char* str)
{
	//if(gMyFormSetting_character.MenuSize>=100) return 0; //failed
	strcpy(SettingCharacterMenu[itemnumber].MenuName, str);
 //   	 FileListMenu[gMyFormFileListList.MenuSize].event=Menu_MediaPlayer;
	//gMyFormSetting_character.MenuSize++;
	return 1;//succ
}

int User_initSettingCharacter(void)
{
	char strtmpResolution[30];
	char strtmpQuality[30];
	switch(MMI_GetSettingSelectItem())
		{
		case 0://camera
			memset(strtmpResolution,0,30);
			strcat(strtmpResolution,MMI_VideoSetting[0].ItemName);
			strcat(strtmpResolution,Cam_Resolution[MMI_VideoSetting[0].Value]);
			MMI_SettingCharacter_AddItem(strtmpResolution);
			memset(strtmpQuality,0,30);
			strcat(strtmpQuality,MMI_VideoSetting[1].ItemName);
			strcat(strtmpQuality,Cam_Quality[MMI_VideoSetting[1].Value]);
			MMI_SettingCharacter_AddItem(strtmpQuality);
			
			break;	
		}
	return 1;
}

void Menu_SettingCharacter(UINT iMsg, WPARAM wParam, LPARAM lParam)
{
	gMyFormSetting_character.MenuSize=0;
	gMyFormSetting_character.CurrentMenuItem=0;
	SetSettingCharacter(User_initSettingCharacter,User_closeSettingCharacter);
	VMSettingCharacterMain(NULL,NULL,NULL,SW_SHOW);
}
int User_closeSettingCharacter()
{
//	ChangePicQuality(&CamShotInfo, (MML_eJPG_QUA)MMI_VideoSetting[0].Value);
//	ChangePicResolution(&CamShotInfo, (MML_eSHOT_Resol)MMI_VideoSetting[1].Value);
	return 1;
}
int User_SettingCharacterLeft()
{
	char strtmp[30];
	int i=MMI_GetSettingCharacterSelectItem();
	if(MMI_VideoSetting[i].Value==0)
	{
		MMI_VideoSetting[i].Value=MMI_VideoSetting[i].MaxValue;
	}
	if(MMI_VideoSetting[i].Value>0)
	{
		MMI_VideoSetting[i].Value--;
	}
		

	memset(strtmp,0,30);
	strcat(strtmp,MMI_VideoSetting[i].ItemName);
	if(i==1)
	{
		strcat(strtmp,Cam_Quality[MMI_VideoSetting[i].Value]);
	}
	if(i==0)
	{
		strcat(strtmp,Cam_Resolution[MMI_VideoSetting[i].Value]);
	}
	MMI_SettingCharacter_ChangeItem(i,strtmp);
	return 1;
}
int User_SettingCharacterRight()
{
	char strtmp[30];
	int i=MMI_GetSettingCharacterSelectItem();
	if((MMI_VideoSetting[i].Value>=0)&&(MMI_VideoSetting[i].Value<MMI_VideoSetting[i].MaxValue))
	{
		MMI_VideoSetting[i].Value++;
	}
	if(MMI_VideoSetting[i].Value==MMI_VideoSetting[i].MaxValue)
	{
		MMI_VideoSetting[i].Value=0;
	}
		

	memset(strtmp,0,30);
	strcat(strtmp,MMI_VideoSetting[i].ItemName);
	if(i==1)
	{
		strcat(strtmp,Cam_Quality[MMI_VideoSetting[i].Value]);
	}
	if(i==0)
	{
		strcat(strtmp,Cam_Resolution[MMI_VideoSetting[i].Value]);
	}
	MMI_SettingCharacter_ChangeItem(i,strtmp);
			
	return 1;
}
///////////////////////////////////////setting////////////////////////////////////////
//Init appSetting.c
int User_closeSettingList();
Menu SettingListMenu[] = {
	{ "camera setting",	Menu_SettingCharacter},
	{ "volume setting ",    Menu_SettingSlider},
	{ "system setting",	Menu_SettingSlider},
};
Form FormSettingList= { SettingListMenu,3,0};

int User_initSettingList(void)
{
	return 1;
}

void Menu_SettingList(UINT iMsg, WPARAM wParam, LPARAM lParam)
{
	VIM_HAPI_SetWorkMode(VIM_HAPI_MODE_BYPASS);//through mode power on lcd
	BypassUpdate=1;
	SetSettingList(User_initSettingList,User_initSettingList,FormSettingList);
	VMSettingListMain(NULL,NULL,NULL,SW_SHOW);
}
int User_closeSettingList()
{
	return 1;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -