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

📄 config_menu.c

📁 dm270 source code
💻 C
字号:
/*
    DM270 ARM Evaluation Software

    (c)Texas Instruments 2003
*/

#include <system/uart270.h>

#include <user/ccdm.h>
#include <user/ccdm_3d3.h>
#include <user/ccdm_3d3_lens_ctrl.h>

#include <demo/config_menu.h>
#include <demo/menu.h>
#include <demo/ui.h>

#include <h3a/af_demo.h>

#include <demo_gui/demo_gui.h>

#include <system/osd270.h>

#include <util/file_name_gen.h>

#include <demo/usb_demo.h>

void MAIN_CONFIG_MENU_run() {
	char ch;

	while(1) {
		UART_sendString( UART0, main_config_menu );

		ch = UI_getInput();

		switch(ch) {
			case '0':
				return;
			case '1':
				CCDM_3D3_CONFIG_MENU_run();
				break;
			case '2':
				MEMORY_CARD_SELECT_run();
				break;
			case '3':
				TI_LOGO_MENU_run();
				break;
			case '4':
				GUI_MENU_run();
				break;
			case '5':
				AEWB_MENU_run();
				break;
			case '6':
				USB_MEDIA_SELECT_run();
			default:
				break;
		}
	}
}
	
void CCDM_3D3_CONFIG_MENU_run() {
	char ch;

	while(1) {
		UART_sendString( UART0, ccdm_3d3_lens_control_menu );

		ch = UI_getInput();

		switch(ch) {
			case '0':
				return;
			case '1':
				DraftPreview(TRUE);
				break;
			case '2':
				CCDM_3D3_LENS_INIT_MENU_run();
				break;
			case '3':
				CCDM_3D3_AFE_CTRL_MENU_run(CCDM_DRAFT_MODE);
				break;
			case '4':
				CCDM_3D3_AFE_CTRL_MENU_run(CCDM_FINE_MODE);
				break;
			default:
				break;
		}
	}
}

void CCDM_3D3_AFE_CTRL_MENU_run(Uint16 mode) {
	char afe_gain_str[8];
	Uint16 afe_gain;

	INTC_enable( INT_UART0, FALSE );

	if(mode == CCDM_DRAFT_MODE) 
		UART_sendString( UART0, "\r\n\n Enter draft mode AFE Gain Value : ");
	else
		UART_sendString( UART0, "\r\n\n Enter fine  mode AFE Gain Value : ");

	UART_recvString( UART0, afe_gain_str, 6);
	
	afe_gain = atoi(afe_gain_str);

	if(afe_gain) {
		CCDM_3D3_afeInit(mode, 0x1000|afe_gain);
		sprintf( UART_outBuff, "\r\n New AFE Gain Value is %d\r\n", afe_gain);
		UART_sendString( UART0, UART_outBuff );
	}

	INTC_enable( INT_UART0, TRUE );
}

void CCDM_3D3_LENS_INIT_MENU_run() {
	char ch;

	while(1) {
		UART_sendString( UART0, ccdm_3d3_lens_init_menu );

		ch = UI_getInput();

		switch(ch) {
			case '0':
				return;
			case '1':
				CCDM_3D3_lensInit(0);	
				AFDemoReset();	
				return;
			case '2':
				CCDM_3D3_lensInit(1);	
				AFDemoReset();	
				return;
			case '3':
				CCDM_3D3_lensInit(2);	
				AFDemoReset();	
				return;
			case '4':
				CCDM_3D3_lensInit(3);	
				AFDemoReset();	
				return;
			default:
				return;
		}
	}
}


void TI_LOGO_MENU_run() {
	char ch;
	static BOOL TI_LOGO_enable=TRUE;
	
	if(TI_LOGO_enable) {
		sprintf( UART_outBuff, "\r\n"
						   "\r\n  TI LOGO is ENABLED."
						   "\r\n  TI LOGO Disable [y/n] : "
			);	
	} else {
		sprintf( UART_outBuff, "\r\n"
						   "\r\n  TI LOGO is DISABLED."
						   "\r\n  TI LOGO Enable [y/n] : "
			);	
	}

	UART_sendString( UART0, UART_outBuff);

	ch = UI_getInput();

	if(ch=='y'||ch=='Y')
		TI_LOGO_enable=(BOOL)!TI_LOGO_enable;

	if(TI_LOGO_enable) {
		sprintf( UART_outBuff, "\r\n"
						   "\r\n  TI LOGO is ENABLED."
			);	
		GUI_tiLogoDraw();
	} else {
		sprintf( UART_outBuff, "\r\n"
						   "\r\n  TI LOGO is DISABLED."
			);	
		GUI_tiLogoClear();
	}

	UART_sendString( UART0, UART_outBuff);

}

void GUI_MENU_run() {
	char ch;
	static BOOL GUI_enable=TRUE;
	
	if(GUI_enable) {
		sprintf( UART_outBuff, "\r\n"
						   "\r\n  GUI is ENABLED."
						   "\r\n  GUI Disable [y/n] : "
			);	
	} else {
		sprintf( UART_outBuff, "\r\n"
						   "\r\n  GUI is DISABLED."
						   "\r\n  GUI Enable [y/n] : "
			);	
	}

	UART_sendString( UART0, UART_outBuff);

	ch = UI_getInput();

	if(ch=='y'||ch=='Y')
		GUI_enable=(BOOL)!GUI_enable;

	if(GUI_enable) {
		sprintf( UART_outBuff, "\r\n"
						   "\r\n  GUI is ENABLED."
			);	
		OSD_winEnable( OSD_BMP_WIN0, TRUE);
	} else {
		sprintf( UART_outBuff, "\r\n"
						   "\r\n  GUI is DISABLED."
			);	
		OSD_winEnable( OSD_BMP_WIN0, FALSE);
	}

	UART_sendString( UART0, UART_outBuff);

}

void AEWB_MENU_run() {
	char ch;
	extern BOOL AEWB_DEMO_enable;
	
	if(AEWB_DEMO_enable) {
		sprintf( UART_outBuff, "\r\n"
						   "\r\n  AE/AWB is ENABLED."
						   "\r\n  AE/AWB Disable [y/n] : "
			);	
	} else {
		sprintf( UART_outBuff, "\r\n"
						   "\r\n  AE/AWB is DISABLED."
						   "\r\n  AE/AWB Enable [y/n] : "
			);	
	}

	UART_sendString( UART0, UART_outBuff);

	ch = UI_getInput();

	if(ch=='y'||ch=='Y')
		AEWB_DEMO_enable=(BOOL)!AEWB_DEMO_enable;

	if(AEWB_DEMO_enable) {
		sprintf( UART_outBuff, "\r\n"
						   "\r\n  AE/AWB is ENABLED."
			);	
		AEWBDemoStart();
	} else {
		sprintf( UART_outBuff, "\r\n"
						   "\r\n  AE/AWB is DISABLED."
			);	
		AEWBDemoStop();
	}

	UART_sendString( UART0, UART_outBuff);
}


static char memory_card_select_menu[] = {
"\r\n"
"\r\n =================="
"\r\n Memory Card Select"
"\r\n =================="
"\r\n"
"\r\n Currently drive [%s] is selected"
"\r\n"
"\r\n 0 : Previous Menu"
"\r\n 1 : Select CF:"
"\r\n 2 : Select SM:"
"\r\n 3 : Select SD:"
"\r\n 4 : Select SDRAM Storage Mode"
"\r\n"
"\r\n Enter choice : "
};


void MEMORY_CARD_SELECT_run() {
	char ch;

	while(1) {
		sprintf( UART_outBuff, memory_card_select_menu, FileDevice );
		UART_sendString( UART0, UART_outBuff );

		ch = UI_getInput();

		switch(ch) {
			case '0':
				return;
			case '1':
				if( SelectDevice(DRV_CF) == E_PASS ) {
					GUI_fileInfoPanelSelectMedia(GUI_MEDIA_DRV_A);
					CheckDirStruct();
					FS_FILE_IO = TRUE;
				}
				break;
			case '2':
				if( SelectDevice(DRV_SM) == E_PASS ) {
					GUI_fileInfoPanelSelectMedia(GUI_MEDIA_DRV_A);
					CheckDirStruct();
					FS_FILE_IO = TRUE;
				}
				break;
			case '3':
				if( SelectDevice(DRV_SD) == E_PASS ) {
					GUI_fileInfoPanelSelectMedia(GUI_MEDIA_DRV_B);
					CheckDirStruct();
					FS_FILE_IO = TRUE;
				}
				break;
			case '4':
				GUI_fileInfoPanelSelectMedia(GUI_MEDIA_SDRAM);
				strcpy( FileDevice, DRV_SDRAM );
				FS_FILE_IO = FALSE;
				break;
		}
	}
}

static char usb_media_select_menu[] = {
"\r\n"
"\r\n ================"
"\r\n USB Media Select"
"\r\n ================"
"\r\n"
"\r\n Currently drive [%s] is selected"
"\r\n"
"\r\n 0 : Previous Menu"
"\r\n 1 : Select CF:"
"\r\n 2 : Select SM:"
"\r\n 3 : Select SD:"
"\r\n"
"\r\n Enter choice : "
};

void USB_MEDIA_SELECT_run() {
	char ch;

	while(1) {
		sprintf( UART_outBuff, usb_media_select_menu, UsbMediaDevice );
		UART_sendString( UART0, UART_outBuff );

		ch = UI_getInput();

		switch(ch) {
			case '0':
				return;
			case '1':
				USBDEMO_selectMedia(DRV_CF);
				break;
			case '2':
				USBDEMO_selectMedia(DRV_SM);
				break;
			case '3':
				USBDEMO_selectMedia(DRV_SD);
				break;
		}
	}
}

⌨️ 快捷键说明

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