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

📄 dspmodu.c

📁 日本IRON os 在汽车电子中的应用 高度机密
💻 C
📖 第 1 页 / 共 5 页
字号:
/************************************************************************/
void	vDSP_SUB_SPEANA(void)
{

#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]	*/

	/*	侾杮栚	*/
	drw_rect(	SPEANA_X+SPEANA_OFFSET*0,
				SPEANA_Y,
				SPEANA_X+SPEANA_OFFSET*0+SPEANA_WIDTH,
				SPEANA_Y-speana0*10-20
			);

	/*	俀杮栚	*/
	drw_rect(	SPEANA_X+SPEANA_OFFSET*1,
				SPEANA_Y,
				SPEANA_X+SPEANA_OFFSET*1+SPEANA_WIDTH,
				SPEANA_Y-speana1*10-20
				);

	/*	俁杮栚	*/
	drw_rect(	SPEANA_X+SPEANA_OFFSET*2,
				SPEANA_Y,
				SPEANA_X+SPEANA_OFFSET*2+SPEANA_WIDTH,
				SPEANA_Y-speana2*10-20
				);

	/*	係杮栚	*/
	drw_rect(	SPEANA_X+SPEANA_OFFSET*3,
				SPEANA_Y,
				SPEANA_X+SPEANA_OFFSET*3+SPEANA_WIDTH,
				SPEANA_Y-speana3*10-20
				);

}

/************************************************************************/
/*!
  @fn			void vDSP_TITLE(void)
  @brief		僒僽儌乕僪丗僞僀僩儖
  @param		側偟
  @return		側偟
  @date			2007/XX/XX
*/
/************************************************************************/
void	vDSP_SUB_TITLE(void)
{
	ULONG	color[8];
	UCHAR	i;

#if 0	/*	@003s4[08/01/13]	*/
//	for( i=0 ; i<8 ; i++ ){
//		color[i] = WHITE;
//	}
//	color[title_no] = RED;
#else	/*	@003s4[08/01/13]	*/
	for( i=0 ; i<8 ; i++ ){
		color[i] = WHITE32;
	}
	color[title_no] = RED32;
#endif	/*	@003s4[08/01/13]	*/

	vDSP_gprintf(FONT_SIZE/2,TITLE_X,TITLE_Y+TITLE_OFFSET*0,color[0],"%s",dspchar0);
	vDSP_gprintf(FONT_SIZE/2,TITLE_X,TITLE_Y+TITLE_OFFSET*1,color[1],"%s",dspchar1);
	vDSP_gprintf(FONT_SIZE/2,TITLE_X,TITLE_Y+TITLE_OFFSET*2,color[2],"%s",dspchar2);
	vDSP_gprintf(FONT_SIZE/2,TITLE_X,TITLE_Y+TITLE_OFFSET*3,color[3],"%s",dspchar3);
	vDSP_gprintf(FONT_SIZE/2,TITLE_X,TITLE_Y+TITLE_OFFSET*4,color[4],"%s",dspchar4);
	vDSP_gprintf(FONT_SIZE/2,TITLE_X,TITLE_Y+TITLE_OFFSET*5,color[5],"%s",dspchar5);
	vDSP_gprintf(FONT_SIZE/2,TITLE_X,TITLE_Y+TITLE_OFFSET*6,color[6],"%s",dspchar6);
	vDSP_gprintf(FONT_SIZE/2,TITLE_X,TITLE_Y+TITLE_OFFSET*7,color[7],"%s",dspchar7);

}

/************************************************************************/
/*!
  @fn			void vDSP_menu(UCHAR src)
  @brief		俵俤俶倀儃僞儞昞帵
  @param		UCHAR	src
  @return		側偟
  @date			2007/XX/XX
*/
/************************************************************************/
void	vDSP_menu(UCHAR src)
{
	UCHAR	id;
	USHORT	y,w,h;
	UCHAR	i;

	/*	尰嵼僜乕僗偵榞傪昤偔	*/
	/*	俵俤俶倀僞僀僩儖傕昤偔	*/
	switch(src){
		case	SRC_CLOCK:
			y	=	BUTTON_CLOCK_Y;
#if 0	/*	@003s4[08/01/13]	*/
//			vDSP_gprintf(FONT_SIZE*2,MENU_TITLE_X,MENU_TITLE_Y,WHITE,"CLOCK",i);
#else	/*	@003s4[08/01/13]	*/
			vDSP_gprintf(FONT_SIZE*2,MENU_TITLE_X,MENU_TITLE_Y,WHITE32,"CLOCK",i);
#endif	/*	@003s4[08/01/13]	*/
			break;
		case	SRC_AIRCON:
			y	=	BUTTON_AIRCON_Y;
#if 0	/*	@003s4[08/01/13]	*/
//			vDSP_gprintf(FONT_SIZE*2,MENU_TITLE_X,MENU_TITLE_Y,WHITE,"AIRCON",i);
#else	/*	@003s4[08/01/13]	*/
			vDSP_gprintf(FONT_SIZE*2,MENU_TITLE_X,MENU_TITLE_Y,WHITE32,"AIRCON",i);
#endif	/*	@003s4[08/01/13]	*/
			break;
		case	SRC_CD:
			y	=	BUTTON_CD_Y;
#if 0	/*	@003s4[08/01/13]	*/
//			vDSP_gprintf(FONT_SIZE*2,MENU_TITLE_X,MENU_TITLE_Y,WHITE,"CD",i);
#else	/*	@003s4[08/01/13]	*/
			vDSP_gprintf(FONT_SIZE*2,MENU_TITLE_X,MENU_TITLE_Y,WHITE32,"CD",i);
#endif	/*	@003s4[08/01/13]	*/
			break;
		case	SRC_MP3:
			y	=	BUTTON_MP3_Y;
#if 0	/*	@003s4[08/01/13]	*/
//			vDSP_gprintf(FONT_SIZE*2,MENU_TITLE_X,MENU_TITLE_Y,WHITE,"MP3",i);
#else	/*	@003s4[08/01/13]	*/
			vDSP_gprintf(FONT_SIZE*2,MENU_TITLE_X,MENU_TITLE_Y,WHITE32,"MP3",i);
#endif	/*	@003s4[08/01/13]	*/
			break;
		case	SRC_FM:
			y	=	BUTTON_FM_Y;
#if 0	/*	@003s4[08/01/13]	*/
//			vDSP_gprintf(FONT_SIZE*2,MENU_TITLE_X,MENU_TITLE_Y,WHITE,"FM",i);
#else	/*	@003s4[08/01/13]	*/
			vDSP_gprintf(FONT_SIZE*2,MENU_TITLE_X,MENU_TITLE_Y,WHITE32,"FM",i);
#endif	/*	@003s4[08/01/13]	*/
			break;
		case	SRC_AM:
			y	=	BUTTON_AM_Y;
#if 0	/*	@003s4[08/01/13]	*/
//			vDSP_gprintf(FONT_SIZE*2,MENU_TITLE_X,MENU_TITLE_Y,WHITE,"AM",i);
#else	/*	@003s4[08/01/13]	*/
			vDSP_gprintf(FONT_SIZE*2,MENU_TITLE_X,MENU_TITLE_Y,WHITE32,"AM",i);
#endif	/*	@003s4[08/01/13]	*/
			break;
		case	SRC_CAMERA:
			y	=	BUTTON_CAMERA_Y;
#if 0	/*	@003s4[08/01/13]	*/
//			vDSP_gprintf(FONT_SIZE*2,MENU_TITLE_X,MENU_TITLE_Y,WHITE,"CAMERA",i);
#else	/*	@003s4[08/01/13]	*/
			vDSP_gprintf(FONT_SIZE*2,MENU_TITLE_X,MENU_TITLE_Y,WHITE32,"CAMERA",i);
#endif	/*	@003s4[08/01/13]	*/
			break;
		case	SRC_SETTING:
			y	=	BUTTON_SETTING_Y;
#if 0	/*	@003s4[08/01/13]	*/
//			vDSP_gprintf(FONT_SIZE*2,MENU_TITLE_X,MENU_TITLE_Y,WHITE,"SETTING",i);
#else	/*	@003s4[08/01/13]	*/
			vDSP_gprintf(FONT_SIZE*2,MENU_TITLE_X,MENU_TITLE_Y,WHITE32,"SETTING",i);
#endif	/*	@003s4[08/01/13]	*/
			break;
	}
	drw_set_source(ID_YELLOW);
	drw_set_texture(0,0,GTTX_YELLOW_WIDTH,GTTX_YELLOW_HEIGHT);
	drw_prect(	BUTTON_X-4,
				y-3,
				0<<5,
				0<<5,
				BUTTON_X+BUTTON_WIDTH+4-1,
				y+BUTTON_HEIGHT+3-1,
				(GTTX_YELLOW_WIDTH-1)<<5,
				(GTTX_YELLOW_HEIGHT-1)<<5
				);

	/*	屌掕儃僞儞傪昤偔	*/
	for( i=0 ; i<8 ; i++ ){	/*	儃僞儞偼俉屄	*/
		switch(i){
			case	0:	/*	俠俴俷俠俲	*/
				id	=	ID_BT_CLOCK;
				y	=	BUTTON_CLOCK_Y;
				w	=	GTTX_BT_CLOCK_WIDTH;
				h	=	GTTX_BT_CLOCK_HEIGHT;
				break;
			case	1:	/*	僄傾僐儞	*/
				id	=	ID_BT_AIRCON;
				y	=	BUTTON_AIRCON_Y;
				w	=	GTTX_BT_AIRCON_WIDTH;
				h	=	GTTX_BT_AIRCON_HEIGHT;
				break;
			case	2:	/*	俠俢		*/
				id	=	ID_BT_CD;
				y	=	BUTTON_CD_Y;
				w	=	GTTX_BT_CD_WIDTH;
				h	=	GTTX_BT_CD_HEIGHT;
				break;
			case	3:	/*	俵俹俁		*/
				id	=	ID_BT_MP3;
				y	=	BUTTON_MP3_Y;
				w	=	GTTX_BT_MP3_WIDTH;
				h	=	GTTX_BT_MP3_HEIGHT;
				break;
			case	4:	/*	俥俵		*/
				id	=	ID_BT_FM;
				y	=	BUTTON_FM_Y;
				w	=	GTTX_BT_FM_WIDTH;
				h	=	GTTX_BT_FM_HEIGHT;
				break;
			case	5:	/*	俙俵		*/
				id	=	ID_BT_AM;
				y	=	BUTTON_AM_Y;
				w	=	GTTX_BT_AM_WIDTH;
				h	=	GTTX_BT_AM_HEIGHT;
				break;
			case	6:	/*	僇儊儔		*/
				id	=	ID_BT_CAMERA;
				y	=	BUTTON_CAMERA_Y;
				w	=	GTTX_BT_CAMERA_WIDTH;
				h	=	GTTX_BT_CAMERA_HEIGHT;
				break;
			case	7:	/*	夋幙愝掕	*/
				id	=	ID_BT_SETTING;
				y	=	BUTTON_SETTING_Y;
				w	=	GTTX_BT_SETTING_WIDTH;
				h	=	GTTX_BT_SETTING_HEIGHT;
				break;
		}
		drw_set_source(id);
		drw_set_texture(0,0,w,h);
		drw_prect(	BUTTON_X,
					y,
					0<<5,
					0<<5,
					BUTTON_X+BUTTON_WIDTH-1,
					y+BUTTON_HEIGHT-1,
					(w-1)<<5,
					(h-1)<<5
					);
	}

}

/************************************************************************/
/*!
  @fn			void vDSP_picture(void)
  @brief		僕儍働僢僩昞帵傕偳偒
  @param		側偟
  @return		側偟
  @date			2007/XX/XX
*/
/************************************************************************/
void	vDSP_picture(void)
{
	drw_set_source(ID_CAT);
	drw_set_texture(0,0,GTTX_CAT_WIDTH,GTTX_CAT_HEIGHT);
#if (DEMOMODE == DEMOOFF)
	drw_prect(	PICTURE_X,
				PICTURE_Y,
				0<<5,
				0<<5,
				PICTURE_X+GTTX_CAT_WIDTH-1,
				PICTURE_Y+GTTX_CAT_HEIGHT-1,
				(GTTX_CAT_WIDTH-1)<<5,
				(GTTX_CAT_HEIGHT-1)<<5
				);
#elif (DEMOMODE == DEMOON )
	if( demo3_flag ){
		if( demo3_flag == 1 ){
			drw_set_textmode(	GD_MSK_BILINEAR,
								GD_TXT_BILINEAR	);
		}else{
			drw_set_textmode(	GD_MSK_BILINEAR,
								GD_TXT_REFER_OFF);
		}
		drw_prect(	0,
					0,
					0<<5,
					0<<5,
					DISP_WIDTH-1,
					DISP_HEIGHT-1,
					(GTTX_CAT_WIDTH-1)<<5,
					(GTTX_CAT_HEIGHT-1)<<5
					);
	}else{
		drw_prect(	PICTURE_X,
					PICTURE_Y,
					0<<5,
					0<<5,
					PICTURE_X+GTTX_CAT_WIDTH-1,
					PICTURE_Y+GTTX_CAT_HEIGHT-1,
					(GTTX_CAT_WIDTH-1)<<5,
					(GTTX_CAT_HEIGHT-1)<<5
					);
	}
#endif	/*	DEMOMODE	*/
}

/************************************************************************/
/*!
  @fn			void vDSP_audio(UCHAR src)
  @brief		奺僆乕僨傿僆僜乕僗暿僷儔儊乕僞昤夋
  @param		側偟
  @return		側偟
  @date			2007/XX/XX
*/
/************************************************************************/
void	vDSP_audio(UCHAR src)
{

	UCHAR	d10;

	switch(src){
		default:
			break;
		case	SRC_CD:
			if( cd_sec < 10 ){
				d10 = 1;
			}else{
				d10 = 0;
			}
			if( d10 ){
#if 0	/*	@003s4[08/01/13]	*/
//				vDSP_gprintf(FONT_SIZE,AUDIO_INFO_X,AUDIO_INFO_Y,WHITE,
#else	/*	@003s4[08/01/13]	*/
				vDSP_gprintf(FONT_SIZE,AUDIO_INFO_X,AUDIO_INFO_Y,WHITE32,
#endif	/*	@003s4[08/01/13]	*/
							"TNO:%2d %2d:%d%d",
							 cd_tno,cd_min,0x00,cd_sec
							);
			}else{
#if 0	/*	@003s4[08/01/13]	*/
//				vDSP_gprintf(FONT_SIZE,AUDIO_INFO_X,AUDIO_INFO_Y,WHITE,
#else	/*	@003s4[08/01/13]	*/
				vDSP_gprintf(FONT_SIZE,AUDIO_INFO_X,AUDIO_INFO_Y,WHITE32,
#endif	/*	@003s4[08/01/13]	*/
							"TNO:%2d %2d:%2d",
							 cd_tno,cd_min,cd_sec
							);
			}
			break;
		case	SRC_MP3:
			if( mp3_sec < 10 ){
				d10 = 1;
			}else{
				d10 = 0;
			}
			if( d10 ){
#if 0	/*	@003s4[08/01/13]	*/
//				vDSP_gprintf(FONT_SIZE,AUDIO_INFO_X,AUDIO_INFO_Y,WHITE,
#else	/*	@003s4[08/01/13]	*/
				vDSP_gprintf(FONT_SIZE,AUDIO_INFO_X,AUDIO_INFO_Y,WHITE32,
#endif	/*	@003s4[08/01/13]	*/
							"FNO:%2d TNO:%2d %2d:%d%d",
							 mp3_fno,mp3_tno,mp3_min,0x00,mp3_sec
							);
			}else{
#if 0	/*	@003s4[08/01/13]	*/
//				vDSP_gprintf(FONT_SIZE,AUDIO_INFO_X,AUDIO_INFO_Y,WHITE,
#else	/*	@003s4[08/01/13]	*/
				vDSP_gprintf(FONT_SIZE,AUDIO_INFO_X,AUDIO_INFO_Y,WHITE32,
#endif	/*	@003s4[08/01/13]	*/
							"FNO:%2d TNO:%2d %2d:%2d",
							 mp3_fno,mp3_tno,mp3_min,mp3_sec
							);
			}
			break;
		case	SRC_FM:
			if( audio_fmfreq_lo < 10 ){
				d10 = 1;
			}else{
				d10 = 0;
			}
			if( d10 ){
#if 0	/*	@003s4[08/01/13]	*/
//				vDSP_gprintf(FONT_SIZE,AUDIO_INFO_X,AUDIO_INFO_Y,WHITE,
#else	/*	@003s4[08/01/13]	*/
				vDSP_gprintf(FONT_SIZE,AUDIO_INFO_X,AUDIO_INFO_Y,WHITE32,
#endif	/*	@003s4[08/01/13]	*/
							"P:%d %2d.%d%dMHz",
							 audio_fmch,audio_fmfreq_hi,0x00,audio_fmfreq_lo
							);
			}else{
#if 0	/*	@003s4[08/01/13]	*/
//				vDSP_gprintf(FONT_SIZE,AUDIO_INFO_X,AUDIO_INFO_Y,WHITE,
#else	/*	@003s4[08/01/13]	*/
				vDSP_gprintf(FONT_SIZE,AUDIO_INFO_X,AUDIO_INFO_Y,WHITE32,
#endif	/*	@003s4[08/01/13]	*/
							"P:%d %2d.%2dMHz",
							 audio_fmch,audio_fmfreq_hi,audio_fmfreq_lo
							);
			}
			break;
		case	SRC_AM:
#if 0	/*	@003s4[08/01/13]	*/
//			vDSP_gprintf(FONT_SIZE,AUDIO_INFO_X,AUDIO_INFO_Y,WHITE,
#else	/*	@003s4[08/01/13]	*/
			vDSP_gprintf(FONT_SIZE,AUDIO_INFO_X,AUDIO_INFO_Y,WHITE32,
#endif	/*	@003s4[08/01/13]	*/
						"P:%d %4dkHz",
						 audio_amch,audio_amfreq
						);
			break;
	}

}

/************************************************************************/
/*!
  @fn			void vDSP_eq_vol(void)
  @brief		俤俻愝掕丄倁俷俴昞帵
  @param		側偟
  @return		側偟
  @date			2007/XX/XX
*/
/************************************************************************/
void	vDSP_eq_vol(void)
{
	switch(audio_eq){
		case	EQ_OFF:
#if 0	/*	@003s4[08/01/13]	*/
//			vDSP_gprintf(FONT_SIZE,AUDIO_EQ_X,AUDIO_EQ_Y,WHITE,
#else	/*	@003s4[08/01/13]	*/
			vDSP_gprintf(FONT_SIZE,AUDIO_EQ_X,AUDIO_EQ_Y,WHITE32,
#endif	/*	@003s4[08/01/13]	*/
						"VOL %2d  EQ:OFF",
						 audio_volume
						);
			break;
		case	EQ_CLASSIC:
#if 0	/*	@003s4[08/01/13]	*/
//			vDSP_gprintf(FONT_SIZE,AUDIO_EQ_X,AUDIO_EQ_Y,WHITE,
#else	/*	@003s4[08/01/13]	*/
			vDSP_gprintf(FONT_SIZE,AUDIO_EQ_X,AUDIO_EQ_Y,WHITE32,
#endif	/*	@003s4[08/01/13]	*/
						"VOL %2d  EQ:CLASSIC",
						 audio_volume,
						 audio_eq
						);
			break;
		case	EQ_JAZZ:
#if 0	/*	@003s4[08/01/13]	*/
//			vDSP_gprintf(FONT_SIZE,AUDIO_EQ_X,AUDIO_EQ_Y,WHITE,
#else	/*	@003s4[08/01/13]	*/
			vDSP_gprintf(FONT_SIZE,AUDIO_EQ_X,AUDIO_EQ_Y,WHITE32,
#endif	/*	@003s4[08/01/13]	*/
						"VOL %2d  EQ:JAZZ",
						 audio_volume,
						 audio_eq
						);
			break;
		case	EQ_POP:
#if 0	/*	@003s4[08/01/13]	*/
//			vDSP_gprintf(FONT_SIZE,AUDIO_EQ_X,AUDIO_EQ_Y,WHITE,
#else	/*	@003s4[08/01/13]	*/
			vDSP_gprintf(FONT_SIZE,AUDIO_EQ_X,AUDIO_EQ_Y,WHITE32,
#endif	/*	@003s4[08/01/13]	*/
						"VOL %2d  EQ:POP",
						 audio_volume,
						 audio_eq
						);
			break;
	}

}

/*	仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚	*/
#endif	/*	SSPFMODE	*/
/*	仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚	*/

/************************************************************************/
/*!
  @fn			void vDSP_draw_fan(long x,long y, long theta)
  @brief		僼傽儞昤夋僒僽儖乕僠儞
  @param		long x, long y, long theta
  @return		側偟
  @date			2007/XX/XX
*/
/************************************************************************/
void vDSP_draw_fan( long x,long y,long theta )
{

	SHORT	prim[16];
	long	s, c;

	s = lLIB_sin(theta);
	c = lLIB_cos(theta);

	prim[0] = x + ((-GTTX_AIRCON_FAN_WIDTH*c + GTTX_AIRCON_FAN_HEIGHT*s) >> 16);
	prim[1] = y + ((-GTTX_AIRCON_FAN_WIDTH*s - GTTX_AIRCON_FAN_HEIGHT*c) >> 16);
	prim[2] = 0 << 5;
	prim[3] = 0 << 5;

	prim[4] = x + ((GTTX_AIRCON_FAN_WIDTH*c + GTTX_AIRCON_FAN_HEIGHT*s) >> 16);
	prim[5] = y + ((GTTX_AIRCON_FAN_WIDTH*s - GTTX_AIRCON_FAN_HEIGHT*c) >> 16);
	prim[6] = (GTTX_AIRCON_FAN_WIDTH-1) << 5;
	prim[7] = 0 << 5;

	prim[8] = x + ((-GTTX_AIRCON_FAN_WIDTH*c - GTTX_AIRCON_FAN_HEIGHT*s) >> 16);
	prim[9] = y + ((-GTTX_AIRCON_FAN_WIDTH*s + GTTX_AIRCON_FAN_HEIGHT*c) >> 16);
	prim[10] = 0 << 5;
	prim[11] = (GTTX_AIRCON_FAN_HEIGHT-1) << 5;

	prim[12] = x + ((GTTX_AIRCON_FAN_WIDTH*c - GTTX_AIRCON_FAN_HEIGHT*s) >> 16);
	prim[13] = y + ((GTTX_AIRCON_FAN_WIDTH*s + GTTX_AIRCON_FAN_HEIGHT*c) >> 16);
	prim[14] = (GTTX_AIRCON_FAN_WIDTH-1) << 5;
	prim[15] = (GTTX_AIRCON_FAN_HEIGHT-1) << 5;

#if 0	/*	@003s4[08/01/13]	*/
//#if (SSPFMODE == SSPF_V1)
//	drw_set_alpha(GD_ALPH_ARGB, 0x20);
//	drw_set_source(ID_AIRCON_FAN);
//	drw_set_texture(0,0, GTTX_AIRCON_FAN_WIDTH,GTTX_AIRCON_FAN_HEIGHT);
//	drw_set_color(GD_COLOR1, 

⌨️ 快捷键说明

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