📄 dspmodu.c
字号:
/********************************************************************************/
/*!
@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 + -