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

📄 dspmodu.c

📁 日本IRON os 在汽车电子中的应用 高度机密
💻 C
📖 第 1 页 / 共 5 页
字号:
//						WHITE,
#else	/*	@003s4[08/01/13]	*/
						WHITE32,
#endif	/*	@003s4[08/01/13]	*/
						" AM",
						d1
						);
			if( d3 < 10 ){
				vDSP_gprintf(	FONT_SIZE,
							AUDIO_INFO_POS_X,
							AUDIO_INFO_POS_Y,
#if 0	/*	@003s4[08/01/13]	*/
//							WHITE,
#else	/*	@003s4[08/01/13]	*/
							WHITE32,
#endif	/*	@003s4[08/01/13]	*/
							"P:%d %2d.%d%dMHz",
							d1,d2,0x00,d3
							);
			}else{
				vDSP_gprintf(	FONT_SIZE,
							AUDIO_INFO_POS_X,
							AUDIO_INFO_POS_Y,
#if 0	/*	@003s4[08/01/13]	*/
//							WHITE,
#else	/*	@003s4[08/01/13]	*/
							WHITE32,
#endif	/*	@003s4[08/01/13]	*/
							"P:%d %2d.%2dMHz",
							d1,d2,d3
							);
			}
			break;
		case SRC_AM:
			vDSP_gprintf(	FONT_SIZE,
						AUDIO_SRC_POS_X,
						AUDIO_SRC_POS_Y,
#if 0	/*	@003s4[08/01/13]	*/
//						WHITE,
#else	/*	@003s4[08/01/13]	*/
						WHITE32,
#endif	/*	@003s4[08/01/13]	*/
						"CD FM",
						d1
						);
			vDSP_gprintf(	FONT_SIZE,
						AUDIO_SRC_POS_X+FONT_SIZE*5,
						AUDIO_SRC_POS_Y,
#if 0	/*	@003s4[08/01/13]	*/
//						RED,
#else	/*	@003s4[08/01/13]	*/
						RED32,
#endif	/*	@003s4[08/01/13]	*/
						" AM",
						d1
						);
			freq = d2;
			freq = freq * 100 | d3;
			vDSP_gprintf(	FONT_SIZE,
						AUDIO_INFO_POS_X,
						AUDIO_INFO_POS_Y,
#if 0	/*	@003s4[08/01/13]	*/
//						WHITE,
#else	/*	@003s4[08/01/13]	*/
						WHITE32,
#endif	/*	@003s4[08/01/13]	*/
						"P:%d %4dkHz",
						d1,freq
						);
			break;
	}

}

/************************************************************************/
/*!
  @fn			void vDSP_aircon_fan_fix(long x, long y)
  @brief		俥俙俶偺俛俵俹偺屌掕昞帵
  @param		long x, long y
  @return		側偟
  @date			2007/XX/XX
*/
/************************************************************************/
void	vDSP_aircon_fan_fix(long x,long y)
{
	drw_set_source(ID_AIRCON_FAN);
	drw_set_texture(0,0,GTTX_AIRCON_FAN_WIDTH,GTTX_AIRCON_FAN_HEIGHT);
#if 0	/*	@003s4[08/01/13]	*/
//	drw_set_color(GD_COLOR1,WHITE);
//	drw_set_color(GD_COLOR0,BLUE);
#else	/*	@003s4[08/01/13]	*/
	drw_set_color(GD_COLOR1,WHITE32);
	drw_set_color(GD_COLOR0,BLUE32);
#endif	/*	@003s4[08/01/13]	*/
	drw_prect(	x,
				y,
				0<<5,
				0<<5,
				x+GTTX_AIRCON_FAN_WIDTH-1,
				y+GTTX_AIRCON_FAN_HEIGHT-1,
				(GTTX_AIRCON_FAN_WIDTH-1)<<5,
				(GTTX_AIRCON_FAN_HEIGHT-1)<<5
				);
}

/************************************************************************/
/*!
  @fn			void vDSP_audio_vol(UCHAR vol)
  @brief		倁俷俴偺僥僉僗僩丄僶乕昞帵
  @param		UCHAR vol
  @return		側偟
  @date			2007/XX/XX
*/
/************************************************************************/
void	vDSP_audio_vol(UCHAR vol)
{

	SHORT	prim[9];

	/*	僥僉僗僩	*/
	vDSP_gprintf(	FONT_SIZE,
					AUDIO_VOL_POS_X,
					AUDIO_VOL_POS_Y,
#if 0	/*	@003s4[08/01/13]	*/
//					WHITE,
#else	/*	@003s4[08/01/13]	*/
					WHITE32,
#endif	/*	@003s4[08/01/13]	*/
					"Vol.%2d",
					vol
				);

	/*	僶乕昞帵	*/
#if 0
//	drw_set_color(GD_COLOR0,WHITE);
//	drw_rect(	AUDIO_VOL_RECT_X,
//				AUDIO_VOL_RECT_Y,
//				AUDIO_VOL_RECT_X+1+AUDIO_VOL_RECT_STEP*vol,
//				AUDIO_VOL_RECT_Y+AUDIO_VOL_RECT_H
//				);
#else
	drw_set_textmode(	GD_MSK_REFER|GD_MSK_ARRAY_TYPE,
						GD_TXT_REFER_OFF|GD_ART_XYC);
#if 0	/*	@003s4[08/01/13]	*/
//	drw_set_color( GD_COLOR0,WHITE );
//	drw_set_color( GD_COLOR1,BLUE );
#else	/*	@003s4[08/01/13]	*/
	drw_set_color( GD_COLOR0,WHITE32 );
	drw_set_color( GD_COLOR1,BLUE32 );
#endif	/*	@003s4[08/01/13]	*/

	prim[0]	=	AUDIO_VOL_RECT_X;
	prim[1]	=	AUDIO_VOL_RECT_Y;
#if 0	/*	@003s4[08/01/13]	*/
//	prim[2]	=	WHITE8;
#else	/*	@003s4[08/01/13]	*/
	prim[2]	=	WHITE16;
#endif	/*	@003s4[08/01/13]	*/
	prim[3]	=	AUDIO_VOL_RECT_X+AUDIO_VOL_RECT_STEP*vol;
	prim[4]	=	AUDIO_VOL_RECT_Y-AUDIO_VOL_RECT_H/2-vol/2;
#if 0	/*	@003s4[08/01/13]	*/
//	prim[5]	=	RED8;
#else	/*	@003s4[08/01/13]	*/
	prim[5]	=	RED16;
#endif	/*	@003s4[08/01/13]	*/
	prim[6]	=	AUDIO_VOL_RECT_X+AUDIO_VOL_RECT_STEP*vol;
	prim[7]	=	AUDIO_VOL_RECT_Y+AUDIO_VOL_RECT_H/2+vol/2;
#if 0	/*	@003s4[08/01/13]	*/
//	prim[8]	=	RED8;
#else	/*	@003s4[08/01/13]	*/
	prim[8]	=	RED16;
#endif	/*	@003s4[08/01/13]	*/

	drw_triangles( 3,(USHORT *)prim );

	drw_set_textmode(	GD_MSK_REFER|GD_MSK_ARRAY_TYPE,
						GD_TXT_REFER_CLAMP|GD_ART_XYUV);

#endif

}

/************************************************************************/
/*!
  @fn			void vDSP_aircon_mode(UCHAR mode)
  @brief		僄傾僐儞悂偒弌偟岥偺昤夋
  @param		UCHAR mode
  @return		側偟
  @date			2007/XX/XX
*/
/************************************************************************/
void	vDSP_aircon_mode(UCHAR mode)
{
	switch(mode){
		case	AIR_MODE0:
			drw_set_source(ID_AIRCON_MODE0);
			drw_set_texture(0,0,GTTX_AIRCON_MODE0_WIDTH,GTTX_AIRCON_MODE0_HEIGHT);
			break;
		case	AIR_MODE1:
			drw_set_source(ID_AIRCON_MODE1);
			drw_set_texture(0,0,GTTX_AIRCON_MODE1_WIDTH,GTTX_AIRCON_MODE1_HEIGHT);
			break;
		case	AIR_MODE2:
			drw_set_source(ID_AIRCON_MODE2);
			drw_set_texture(0,0,GTTX_AIRCON_MODE2_WIDTH,GTTX_AIRCON_MODE2_HEIGHT);
			break;
		case	AIR_MODE3:
			drw_set_source(ID_AIRCON_MODE3);
			drw_set_texture(0,0,GTTX_AIRCON_MODE3_WIDTH,GTTX_AIRCON_MODE3_HEIGHT);
			break;
		case	AIR_MODE4:
			drw_set_source(ID_AIRCON_MODE4);
			drw_set_texture(0,0,GTTX_AIRCON_MODE4_WIDTH,GTTX_AIRCON_MODE4_HEIGHT);
			break;
	}

	drw_prect(	AIRCON_MODE_POS_X,						/*	倃侾	*/
				AIRCON_MODE_POS_Y,						/*	倄俀	*/
				0<<5,									/*	倀侾	*/
				0<<5,									/*	倁侾	*/
				AIRCON_MODE_POS_X+AIRCON_MODE_WIDTH,	/*	倃俀	*/
				AIRCON_MODE_POS_Y+AIRCON_MODE_HEIGHT,	/*	倄俀	*/
				(AIRCON_MODE_WIDTH-1)<<5,				/*	倀俀	*/
				(AIRCON_MODE_HEIGHT-1)<<5
				);

}

/************************************************************************/
/*!
  @fn			void vDSP_audio_eq(UCHAR eq)
  @brief		僆乕僨傿僆俤俻昤夋
  @param		UCHAR eq
  @return		側偟
  @date			2007/XX/XX
*/
/************************************************************************/
void	vDSP_audio_eq(UCHAR eq)
{
	USHORT	x,y,size;

	/*	暥帤楍昤夋			*/
	vDSP_gprintf(	FONT_SIZE/2,
					AUDIO_EQ_POS_X,
					AUDIO_EQ_POS_Y,
#if 0	/*	@003s4[08/01/13]	*/
//					WHITE,
#else	/*	@003s4[08/01/13]	*/
					WHITE32,
#endif	/*	@003s4[08/01/13]	*/
					"CLASSIC JAZZ POP",
					eq
					);

	/*	慖戰埵抲儔僀儞昤夋	*/
	switch(eq){
		default:
		case	EQ_OFF:
			return;
			break;
		case	EQ_CLASSIC:
			x	=	AUDIO_EQ_POS_X;
			size=	6;
			break;
		case	EQ_JAZZ:
			x	=	AUDIO_EQ_POS_X+FONT_SIZE/2*8;
			size=	4;
			break;
		case	EQ_POP:
			x	=	AUDIO_EQ_POS_X+FONT_SIZE/2*13;
			size=	3;
			break;
	}
	y = AUDIO_EQ_POS_Y+FONT_SIZE;
#if 0	/*	@003s4[08/01/13]	*/
//	drw_set_color(GD_COLOR0,RED);
#else	/*	@003s4[08/01/13]	*/
	drw_set_color(GD_COLOR0,RED32);
#endif	/*	@003s4[08/01/13]	*/
	drw_line(	x,
				y,
				x+FONT_SIZE/2*size,
				y
				);
}

/************************************************************************/
/*!
  @fn			void vDSP_camera_txt(UCHAR ch)
  @brief		僇儊儔俠俫昤夋
  @param		UCHAR ch
  @return		側偟
  @date			2007/XX/XX
*/
/************************************************************************/
void	vDSP_camera_txt(UCHAR ch)
{
	/*	暥帤楍昤夋			*/
	vDSP_gprintf(	FONT_SIZE,
					CAMERA_TXT_POS_X,
					CAMERA_TXT_POS_Y,
#if 0	/*	@003s4[08/01/13]	*/
//					RED,
#else	/*	@003s4[08/01/13]	*/
					RED32,
#endif	/*	@003s4[08/01/13]	*/
					"CAMERA:%d",
					ch
					);

}

/************************************************************************/
/*!
  @fn			void vDSP_drgb_txt(void)
  @brief		俢俼俧俛僥僉僗僩昤夋
  @param		側偟
  @return		側偟
  @date			2007/XX/XX
*/
/************************************************************************/
void	vDSP_drgb_txt(void)
{

	UCHAR	dummy=0;

	/*	暥帤楍昤夋			*/
	vDSP_gprintf(	FONT_SIZE,
					DRGB_TXT_POS_X,
					DRGB_TXT_POS_Y,
#if 0	/*	@003s4[08/01/13]	*/
//					RED,
#else	/*	@003s4[08/01/13]	*/
					RED32,
#endif	/*	@003s4[08/01/13]	*/
					"DRGB",
					dummy
					);
}

/************************************************************************/
/*!
  @fn			void vDSP_camera_set(UCHAR ch,USHORT tim)
  @brief		僇儊儔擖弌椡愝掕
  @param		UCHAR ch,USHORT tim
  @return		側偟
  @date			2007/XX/XX
*/
/************************************************************************/
void	vDSP_camera_set(UCHAR ch,USHORT tim)
{

	if( video_mode==0 ){
		dsp_layer( LAYER_YUV,ID_VIDEO,GD_LYR_DISP_OFF );	/*	堦扷夝彍*/
		vi_set_scaling_down(1,VIDEO_WIDTH,VIDEO_HEIGHT);
		switch(ch){
			case	0:
				vi_select_video(GD_VI_ANALOG1,GD_VI_FORCE);
				break;
			case	1:
				vi_select_video(GD_VI_ANALOG2,GD_VI_FORCE);
				break;
			default:
				break;
		}
		vi_control_video(ID_VIDEO,GD_VI_START);
		video_mode++;
	}else if( video_mode==1 ){
		if( tim < 1 ){
			dsp_layer( LAYER_YUV,ID_VIDEO,GD_LYR_DISP_ON );
			video_mode++;
		}
	}else{
		;
	}

}

/************************************************************************/
/*!
  @fn			void vDSP_setting(UCHAR,UCHAR,UCHAR,UCHAR,UCHAR)
  @brief		夋幙愝掕僶乕昤夋
  @param		UCHAR sharp,UCHAR color,UCHAR tint,UCHAR contrast,UCHAR bright
  @return		側偟
  @date			2007/XX/XX
*/
/************************************************************************/
void	vDSP_setting(UCHAR sharp ,UCHAR color ,UCHAR tint ,UCHAR contrast ,UCHAR bright)
{

	USHORT	x,y;
	/*	攚宨昤夋		*/
	drw_set_source(ID_SETTING);
	drw_set_texture(0,0,GTTX_SETTING_WIDTH,GTTX_SETTING_HEIGHT);
	drw_prect(	SETTING_POS_X,
				SETTING_POS_Y,
				0<<5,
				0<<5,
				SETTING_POS_X+GTTX_SETTING_WIDTH-1,
				SETTING_POS_Y+GTTX_SETTING_HEIGHT-1,
				(GTTX_SETTING_WIDTH-1)<<5,
				(GTTX_SETTING_HEIGHT-1)<<5
				);

	/*	僗儔僀僟昤夋	*/
#if 0	/*	@003s4[08/01/13]	*/
//	drw_set_color(GD_COLOR0,WHITE);
#else	/*	@003s4[08/01/13]	*/
	drw_set_color(GD_COLOR0,WHITE32);
#endif	/*	@003s4[08/01/13]	*/
	x = SETTING_POS_X2+sharp*SETTING_STEP;
	y = SETTING_POS_Y+SETTING_OFFSET+SETTING_HEIGHT/2-SETTING_SW_HEIGHT/2;
	drw_rect(	x,
				y,
				x+SETTING_SW_WIDTH,
				y+SETTING_SW_HEIGHT
				);
	x = SETTING_POS_X2+color*SETTING_STEP;
	y = SETTING_POS_Y+SETTING_OFFSET+SETTING_HEIGHT*1+SETTING_HEIGHT/2-SETTING_SW_HEIGHT/2;
	drw_rect(	x,
				y,
				x+SETTING_SW_WIDTH,
				y+SETTING_SW_HEIGHT
				);
	x = SETTING_POS_X2+tint*SETTING_STEP;
	y = SETTING_POS_Y+SETTING_OFFSET+SETTING_HEIGHT*2+SETTING_HEIGHT/2-SETTING_SW_HEIGHT/2;
	drw_rect(	x,
				y,
				x+SETTING_SW_WIDTH,
				y+SETTING_SW_HEIGHT
				);
	x = SETTING_POS_X2+contrast*SETTING_STEP;
	y = SETTING_POS_Y+SETTING_OFFSET+SETTING_HEIGHT*3+SETTING_HEIGHT/2-SETTING_SW_HEIGHT/2;
	drw_rect(	x,
				y,
				x+SETTING_SW_WIDTH,
				y+SETTING_SW_HEIGHT
				);
	x = SETTING_POS_X2+bright*4*SETTING_STEP;
	y = SETTING_POS_Y+SETTING_OFFSET+SETTING_HEIGHT*4+SETTING_HEIGHT/2-SETTING_SW_HEIGHT/2;
	drw_rect(	x,
				y,
				x+SETTING_SW_WIDTH,
				y+SETTING_SW_HEIGHT
				);


}

/************************************************************************/
/*!
  @fn			void vDSP_drgb_set(USHORT tim)
  @brief		俢俼俧俛擖弌椡愝掕
  @param		USHORT tim
  @return		側偟
  @date			2007/XX/XX
*/
/************************************************************************/
void	vDSP_drgb_set(USHORT tim)
{
	if( video_mode==0 ){
		dsp_layer( LAYER_DRGB,GD_DRGB_FRAME,GD_LYR_DISP_OFF );	/*	夝彍*/
		video_mode++;
	}else if( video_mode==1 ){
		if( tim < 10 ){
			dsp_layer( LAYER_DRGB,GD_DRGB_FRAME,GD_LYR_DISP_ON );
			dsp_display(FALSE);
#if ( DRGBMODE == DRGBON )
			dsp_set_clk(0,3,525,58,858,28,508,150,790);
#endif
			dsp_display(TRUE);
			video_mode++;
		}
	}else{
		;
	}
}


/************************************************************************/
/*!
  @fn			void vDSP_audio_pch(void)
  @brief		僾儕僙僢僩俠俫偺俵俤俶倀昤夋
  @param		側偟
  @return		側偟
  @date			2007/XX/XX
*/
/************************************************************************/
void	vDSP_audio_pch(void)
{
	drw_set_source(ID_PCH);
	drw_set_texture(0,0,GTTX_PCH_WIDTH,GTTX_PCH_HEIGHT);

	drw_prect(	AUDIO_PCH_POS_X,
				AUDIO_PCH_POS_Y,
				0<<5,
				0<<5,
				AUDIO_PCH_POS_X+GTTX_PCH_WIDTH-1,
				AUDIO_PCH_POS_Y+GTTX_PCH_HEIGHT-1,
				(GTTX_PCH_WIDTH-1)<<5,
				(GTTX_PCH_HEIGHT-1)<<5
				);


}

/*	仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚	*/
#elif (SSPFMODE == SSPF_V2)

/************************************************************************/

⌨️ 快捷键说明

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