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

📄 dspmodu.c

📁 日本IRON os 在汽车电子中的应用 高度机密
💻 C
📖 第 1 页 / 共 5 页
字号:
/********************************************************************************/
/*!
  @file		dspmodu.c
  @brief	奺儌乕僪昞帵乛昤夋僒僽儖乕僠儞
  @version	$Revision: 2.00 $
  @date		2007/XX/XX
  @author	Matsushita Electronics Co.,Ltd.
*/
/********************************************************************************/
#include	<stdio.h>
#include	<stdlib.h>

#include	<itron.h>
#include	<kernel.h>
#include	<kernel_id.h>

#include	"..\gerda_dd\include\gerda_dd.h"
#include	"..\gerda_dd\include\dd_sys.h"
#include	"..\gerda_dd\include\gerda_reg.h"
#include	"..\gerda_dd\dsp\dst_ram.h"
#include	"..\gerda_dd\dsp\ini_def.h"
#include	"..\texture\texdata.h"

#include	"systype.h"
#include	"sr103se60pub.h"
#include	"option.h"
#include	"if_cmd.h"
#include	"if_mxr.h"
#include	"if_txtid.h"
#include	"parameter.h"
#include	"dd_param.h"
#include	"dspctrl.h"

/********************************************************************/
/*	儅僋儘掕媊														*/
/********************************************************************/
#define		touch(x)				((x) = 0)
#define		lLIB_cos(x)				lLIB_sin(64-(x))

/********************************************************************/
/*	娭悢愰尵														*/
/********************************************************************/

/********************************************************************/
#if (MXMODE == MXROFF)

/********************************************************************/
#if (SSPFMODE == SSPF_V1)

void	vDSP_NOP(void);
void	vDSP_CLOCK(void);
void	vDSP_AIRCON(void);
void	vDSP_AUDIO(void);
void	vDSP_CAMERA(void);
void	vDSP_DRGB(void);
void	vDSP_SETTING(void);
void	vDSP_PON(void);
void	vDSP_INIT(void);
void	vDSP_DEVICE(void);
void	vDSP_DISPON(void);
void	vDSP_DISPOFF(void);
void	vDSP_POFF(void);

void	vDSP_menu(UCHAR,UCHAR);
void	vDSP_dclock(UCHAR,UCHAR,UCHAR);
void	vDSP_blink_set(UCHAR);
void	vDSP_aircon_fan(UCHAR);
void	vDSP_aircon_temp(UCHAR);
void	vDSP_audio_src(UCHAR,UCHAR,UCHAR,UCHAR);
void	vDSP_aircon_fan_fix(long,long);
void	vDSP_audio_vol(UCHAR);
void	vDSP_aircon_mode(UCHAR);
void	vDSP_audio_eq(UCHAR);
void	vDSP_camera_txt(UCHAR);
void	vDSP_drgb_txt(void);
void	vDSP_camera_set(UCHAR,USHORT);
void	vDSP_setting(UCHAR,UCHAR,UCHAR,UCHAR,UCHAR);
void	vDSP_drgb_set(USHORT);
void	vDSP_audio_pch(void);

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

void	vDSP_NOP(void);
void	vDSP_CLOCK(void);
void	vDSP_AIRCON(void);
void	vDSP_CD(void);
void	vDSP_MP3(void);
void	vDSP_FM(void);
void	vDSP_AM(void);
void	vDSP_CAMERA(void);
void	vDSP_SETTING(void);

void	vDSP_SUB_NONE(void);
void	vDSP_SUB_SPEANA(void);
void	vDSP_SUB_TITLE(void);

void	vDSP_menu(UCHAR);
void	vDSP_picture(void);
void	vDSP_audio(UCHAR);
void	vDSP_eq_vol(void);

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

void	vDSP_draw_fan(long,long,long);
LONG	lLIB_sin(UCHAR);
void	vDSP_gprintf(UCHAR,int,int,int,const char *format, ...);

#if 1	/*	@002s6[08/01/07]	*/
void	vDSP_pprintf(int,int,int,const char *format, ...);
#endif	/*	@002s6[08/01/07]	*/

#endif	/*	MXMODE==MXROFF	*/
/********************************************************************/

/********************************************************************/
/*	奜晹娭悢愰尵													*/
/********************************************************************/

/********************************************************************/
/*	曄悢愰尵														*/
/********************************************************************/

/********************************************************************/
/*	儅僋儘掕悢愰尵													*/
/********************************************************************/

/********************************************************************/
/*	掕悢愰尵														*/
/********************************************************************/
#if (MXMODE==MXROFF)
#if (SSPFMODE==SSPF_V1)
/*	帪寁夋柺偺儃僞儞昞帵楍		*/
const	UCHAR	tbl_CLOCK_MENU[12]={
	MENU_NO01,					/*	嵍侾			*/
	MENU_NO02,					/*	丂俀			*/
	MENU_NO03,					/*	丂俁			*/
	MENU_NO04,					/*	丂係			*/
	MENU_NO05,					/*	丂俆			*/
	MENU_NO06,					/*	丂俇			*/
	MENU_NO07,					/*	塃侾			*/
	MENU_NO08,					/*	丂俀			*/
	MENU_NO09,					/*	丂俁			*/
	MENU_NO10,					/*	丂係			*/
	MENU_NO11,					/*	丂俆			*/
	MENU_NO12					/*	丂俇			*/
};

/*	僄傾僐儞夋柺偺儃僞儞昞帵楍	*/
const	UCHAR	tbl_AIRCON_MENU[12]={
	MENU_NO01,					/*	嵍侾			*/
	MENU_NO02,					/*	丂俀			*/
	MENU_NO03,					/*	丂俁			*/
	MENU_NO04,					/*	丂係			*/
	MENU_OFF,					/*	丂俆			*/
	MENU_NO06,					/*	丂俇			*/
	MENU_NO07,					/*	塃侾			*/
	MENU_NO08,					/*	丂俀			*/
	MENU_NO09,					/*	丂俁			*/
	MENU_NO10,					/*	丂係			*/
	MENU_NO11,					/*	丂俆			*/
	MENU_NO12					/*	丂俇			*/
};

/*	僆乕僨傿僆夋柺偺儃僞儞昞帵楍	*/
const	UCHAR	tbl_AUDIO_MENU[12]={
	MENU_NO01,					/*	嵍侾			*/
	MENU_NO02,					/*	丂俀			*/
	MENU_NO03,					/*	丂俁			*/
	MENU_OFF,					/*	丂係			*/
	MENU_NO05,					/*	丂俆			*/
	MENU_NO06,					/*	丂俇			*/
	MENU_NO07,					/*	塃侾			*/
	MENU_NO08,					/*	丂俀			*/
	MENU_NO09,					/*	丂俁			*/
	MENU_NO10,					/*	丂係			*/
	MENU_NO11,					/*	丂俆			*/
	MENU_NO12					/*	丂俇			*/

};

/*	僇儊儔夋柺偺儃僞儞昞帵楍		*/
const	UCHAR	tbl_CAMERA_MENU[12]={
	MENU_NO01,					/*	嵍侾			*/
	MENU_NO02,					/*	丂俀			*/
	MENU_NO03,					/*	丂俁			*/
	MENU_NO04,					/*	丂係			*/
	MENU_NO05,					/*	丂俆			*/
	MENU_NO06,					/*	丂俇			*/
	MENU_NO07,					/*	塃侾			*/
	MENU_NO08,					/*	丂俀			*/
	MENU_NO09,					/*	丂俁			*/
	MENU_NO10,					/*	丂係			*/
	MENU_NO11,					/*	丂俆			*/
	MENU_NO12					/*	丂俇			*/
};

/*	俢俼俧俛夋柺偺儃僞儞昞帵楍		*/
const	UCHAR	tbl_DRGB_MENU[12]={
	MENU_OFF,					/*	嵍侾			*/
	MENU_OFF,					/*	丂俀			*/
	MENU_OFF,					/*	丂俁			*/
	MENU_OFF,					/*	丂係			*/
	MENU_OFF,					/*	丂俆			*/
	MENU_OFF,					/*	丂俇			*/
	MENU_OFF,					/*	塃侾			*/
	MENU_OFF,					/*	丂俀			*/
	MENU_OFF,					/*	丂俁			*/
	MENU_OFF,					/*	丂係			*/
	MENU_OFF,					/*	丂俆			*/
	MENU_NO12					/*	丂俇			*/
};

/*	夋幙愝掕夋柺偺儃僞儞昞帵楍		*/
const	UCHAR	tbl_SETTING_MENU[12]={
	MENU_NO01,					/*	嵍侾			*/
	MENU_NO02,					/*	丂俀			*/
	MENU_NO03,					/*	丂俁			*/
	MENU_NO04,					/*	丂係			*/
	MENU_NO05,					/*	丂俆			*/
	MENU_OFF,					/*	丂俇			*/
	MENU_NO07,					/*	塃侾			*/
	MENU_NO08,					/*	丂俀			*/
	MENU_NO09,					/*	丂俁			*/
	MENU_NO10,					/*	丂係			*/
	MENU_NO11,					/*	丂俆			*/
	MENU_NO12					/*	丂俇			*/
};

/*	俵俤俶倀儃僞儞攝抲埵抲			*/
const	USHORT	tbl_MENU_BUTTON[12][2]={
	{MENU_BUTTON_L,MENU_BUTTON1_H},		/*	嵍侾	*/
	{MENU_BUTTON_L,MENU_BUTTON2_H},		/*	丂俀	*/
	{MENU_BUTTON_L,MENU_BUTTON3_H},		/*	丂俁	*/
	{MENU_BUTTON_L,MENU_BUTTON4_H},		/*	丂係	*/
	{MENU_BUTTON_L,MENU_BUTTON5_H},		/*	丂俆	*/
	{MENU_BUTTON_L,MENU_BUTTON6_H},		/*	丂俇	*/
	{MENU_BUTTON_R,MENU_BUTTON1_H},		/*	塃侾	*/
	{MENU_BUTTON_R,MENU_BUTTON2_H},		/*	丂俀	*/
	{MENU_BUTTON_R,MENU_BUTTON3_H},		/*	丂俁	*/
	{MENU_BUTTON_R,MENU_BUTTON4_H},		/*	丂係	*/
	{MENU_BUTTON_R,MENU_BUTTON5_H},		/*	丂俆	*/
	{MENU_BUTTON_R,MENU_BUTTON6_H}		/*	丂俇	*/
};
#endif	/*	SSPFMODE==SSPF_V1	*/

/*	娙堈俽俬俶墘嶼僥乕僽儖				*/
/*		侽乣俇係偱侽搙乣俋侽搙傪昞尰	*/
/*		侽倶俉侽侽侽偱惓婯壔			*/
const USHORT	sint[] = {
	0x0000, 0x0324, 0x0648, 0x096b, 0x0c8c, 0x0fab, 0x12c8, 0x15e2, 0x18f9, 0x1c0c,
	0x1f1a, 0x2224, 0x2528, 0x2827, 0x2b1f, 0x2e11, 0x30fc, 0x33df, 0x36ba, 0x398d,
	0x3c57, 0x3f17, 0x41ce, 0x447b, 0x471d, 0x49b4, 0x4c40, 0x4ec0, 0x5134, 0x539b,
	0x55f6, 0x5843, 0x5a82, 0x5cb4, 0x5ed7, 0x60ec, 0x62f2, 0x64e9, 0x66d0, 0x68a7,
	0x6a6e, 0x6c24, 0x6dca, 0x6f5f, 0x70e3, 0x7255, 0x73b6, 0x7505, 0x7642, 0x776c,
	0x7885, 0x798a, 0x7a7d, 0x7b5d, 0x7c2a, 0x7ce4, 0x7d8a, 0x7e1e, 0x7e9d, 0x7f0a,
	0x7f62, 0x7fa7, 0x7fd9, 0x7ff6, 0x8000
};

#endif	/*	MXMODE==MXROFF	*/

/*	仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚	*/
#if (MXMODE == MXROFF)

/*	仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚仚	*/
#if (SSPFMODE == SSPF_V1)
/************************************************************************/
/*!
  @fn			void vDSP_NOP(void)
  @brief		儌乕僪娭悢丗俶俷俹張棟
  @param		側偟
  @return		側偟
  @date			2007/XX/XX
*/
/************************************************************************/
void vDSP_NOP(void)
{

	;

}

/************************************************************************/
/*!
  @fn			void vDSP_CLOCK(void)
  @brief		儌乕僪娭悢丗帪寁昞帵夋柺張棟
  @param		側偟
  @return		側偟
  @date			2007/XX/XX
*/
/************************************************************************/
void vDSP_CLOCK(void)
{

	UCHAR hour;

	dsp_src = SRC_CLOCK;

	/*	俵俤俶倀儃僞儞昤夋	*/
	vDSP_menu(SRC_CLOCK,blink_button);

	/*	傾僫儘僌帪寁昤夋	*/
	hour = clock_hour;
	if( clock_mode ){
		hour -= 12;
	}

	/*	僨僕僞儖帪寁昤夋	*/
	vDSP_dclock(clock_mode,clock_hour,clock_min);

}

/************************************************************************/
/*!
  @fn			void vDSP_AIRCON(void)
  @brief		儌乕僪娭悢丗俙俬俼俠俷俶昞帵夋柺張棟
  @param		側偟
  @return		側偟
  @date			2007/XX/XX
*/
/************************************************************************/
void vDSP_AIRCON(void)
{

	dsp_src = SRC_AIRCON;

	/*	俵俤俶倀儃僞儞昤夋	*/
	vDSP_menu(SRC_AIRCON,blink_button);

	/*	壏搙昞帵			*/
	vDSP_aircon_temp(aircon_temp);

	/*	僄傾僐儞俥俙俶僶乕	*/
	vDSP_aircon_fan(aircon_fan);

	/*	僼傽儞夞揮			*/
	if( aircon_fan ){
		vDSP_draw_fan(	AIRCON_FAN_BMP_POS_X,
						AIRCON_FAN_BMP_POS_Y,
						-7*(lTM_count5/5)
						);
	}else{
		vDSP_aircon_fan_fix(	AIRCON_FAN_BMP_POS_X-GTTX_AIRCON_FAN_WIDTH/2,
								AIRCON_FAN_BMP_POS_Y-GTTX_AIRCON_FAN_HEIGHT/2
								);
	}

	/*	僄傾僐儞俵俷俢俤昞帵*/
	vDSP_aircon_mode(aircon_mode);

}

/************************************************************************/
/*!
  @fn			void vDSP_AUDIO(void)
  @brief		儌乕僪娭悢丗俙倀俢俬俷昞帵夋柺張棟
  @param		側偟
  @return		側偟
  @date			2007/XX/XX
*/
/************************************************************************/
void vDSP_AUDIO(void)
{

	UCHAR	src,d1,d2,d3;

	dsp_src = SRC_AUDIO;

	/*	俵俤俶倀儃僞儞昤夋	*/
	vDSP_menu(SRC_AUDIO,blink_button);

	/*	俽俼俠枅昤夋		*/
	switch( audio_src ){
		case	SRC_CD:
			src = SRC_CD;
			d1	= audio_tno;
			d2	= audio_min;
			d3	= audio_sec;
			break;
		case	SRC_FM:
			src = SRC_FM;
			d1	= audio_fmch;
			d2	= audio_fmfreq_hi;
			d3	= audio_fmfreq_lo;
			break;
		case	SRC_AM:
			src = SRC_AM;
			d1	= audio_amch;
			d2	= audio_amfreq_hi;
			d3	= audio_amfreq_lo;
			break;
		default:
			break;
	}
	vDSP_audio_src(src,d1,d2,d3);

	/*	倁俷俴昤夋			*/
	vDSP_audio_vol(audio_volume);

	/*	俤俻昤夋			*/
	vDSP_audio_eq(audio_eq);

	/*	俹俠俫亅俵俤俶倀昤夋*/
	switch(audio_src){
		case	SRC_FM:
		case	SRC_AM:
			vDSP_audio_pch();
			break;
		default:
			break;
	}

}

/************************************************************************/
/*!
  @fn			void vDSP_CAMERA(void)
  @brief		儌乕僪娭悢丗僇儊儔昞帵夋柺張棟
  @param		側偟
  @return		側偟
  @date			2007/XX/XX
*/
/************************************************************************/
void vDSP_CAMERA(void)
{

	dsp_src = SRC_CAMERA;

	/*	俵俤俶倀儃僞儞昤夋	*/
	vDSP_menu(SRC_CAMERA,blink_button);

	/*	僇儊儔俠俫昤夋		*/
	if( tm_video ){
		vDSP_camera_txt(camera_ch);
	}

	/*	僇儊儔擖弌椡愝掕	*/
	vDSP_camera_set(camera_ch,tm_video);

}

/************************************************************************/
/*!
  @fn			void vDSP_DRGB(void)
  @brief		儌乕僪娭悢丗俢俼俧俛夋柺張棟
  @param		側偟
  @return		側偟
  @date			2007/XX/XX
*/
/************************************************************************/
void vDSP_DRGB(void)
{

	dsp_src = SRC_DRGB;

	/*	俵俤俶倀儃僞儞昤夋	*/
	vDSP_menu(SRC_DRGB,blink_button);

	/*	俢俼俧俛僥僉僗僩昤夋*/
	if( tm_video ){
		vDSP_drgb_txt();
	}

	/*	俢俼俧俛擖弌椡愝掕	*/
	vDSP_drgb_set(tm_video);

}

/************************************************************************/
/*!
  @fn			void vDSP_SETTING(void)
  @brief		儌乕僪娭悢丗夋幙愝掕夋柺張棟
  @param		側偟
  @return		側偟
  @date			2007/XX/XX
*/
/************************************************************************/
void vDSP_SETTING(void)
{

	dsp_src = SRC_SETTING;

	/*	俵俤俶倀儃僞儞昤夋	*/
	vDSP_menu(SRC_SETTING,blink_button);

	/*	僇儊儔擖弌椡愝掕	*/
	vDSP_camera_set(camera_ch,tm_video);

	/*	僗儔僀僪昤夋		*/
	vDSP_setting(disp_sharp,disp_color,disp_tint,disp_contrast,disp_bright);

	/*	僷儔儊乕僞愝掕		*/
	ucDSP_setting[0] = disp_sharp;
	ucDSP_setting[1] = disp_color;
	ucDSP_setting[2] = disp_tint;
	ucDSP_setting[3] = disp_contrast;
	ucDSP_setting[4] = disp_bright;
	vi_set_enhancer( (ULONG)disp_sharp, VI_INIT_SHP_LIMIT, VI_INIT_SHP_SELTAP );
	vi_set_tint( (ULONG)disp_tint, (ULONG)disp_color );
	vi_set_contrast( (ULONG)disp_contrast*4 );
	dsp_set_brightness( (ULONG)disp_bright );

}

/************************************************************************/
/*!
  @fn			void vDSP_PON(void)
  @brief		儌乕僪娭悢丗俹俷俶張棟

⌨️ 快捷键说明

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