📄 dspmodu.c
字号:
@param 側偟
@return 側偟
@date 2007/XX/XX
*/
/************************************************************************/
void vDSP_PON(void)
{
if( ucDSP_initmode==INI_ZERO ){
ucDSP_initmode = INI_PON;
}
}
/************************************************************************/
/*!
@fn void vDSP_INIT(void)
@brief 儌乕僪娭悢丗弶婜壔張棟
@param 側偟
@return 側偟
@date 2007/XX/XX
*/
/************************************************************************/
void vDSP_INIT(void)
{
if( ucDSP_initmode==INI_PON ){
ucDSP_initmode = INI_INIT;
ucDSP_romver = DEV_ROMVER;
ucDSP_lsiver = DEV_LSIVER;
dsp_img_poweron(); /* 夋幙挷惍婡擻棫偪忋偘 */
/* 弶婜愝掕抣妋曐 */
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_DEVICE(void)
@brief 儌乕僪娭悢丗僨僶僀僗忣曬庢摼張棟
@param 側偟
@return 側偟
@date 2007/XX/XX
*/
/************************************************************************/
void vDSP_DEVICE(void)
{
if( ucDSP_initmode==INI_INIT ){
ucDSP_initmode = INI_DEV;
}
}
/************************************************************************/
/*!
@fn void vDSP_POFF(void)
@brief 儌乕僪娭悢丗俹俷俥俥張棟
@param 側偟
@return 側偟
@date 2007/XX/XX
*/
/************************************************************************/
void vDSP_DISPON(void)
{
if( (ucDSP_initmode==INI_DEV) ||
(ucDSP_initmode==INI_DSPOFF) ){
ucDSP_initmode = INI_DSPON;
dsp_src = SRC_CLOCK;
dsp_display(1);
}
}
/************************************************************************/
/*!
@fn void vDSP_DISPOFF(void)
@brief 儌乕僪娭悢丗昞帵掆巭張棟
@param 側偟
@return 側偟
@date 2007/XX/XX
*/
/************************************************************************/
void
vDSP_DISPOFF(void){
if( ucDSP_initmode==INI_DSPON ){
ucDSP_initmode = INI_DSPOFF;
dsp_display(0);
dsp_layer(LAYER_DRW0,ID_DRW0_0,GD_LYR_DISP_OFF);
}
}
/************************************************************************/
/*!
@fn void vDSP_POFF(void)
@brief 儌乕僪娭悢丗俹俷俥俥張棟
@param 側偟
@return 側偟
@date 2007/XX/XX
*/
/************************************************************************/
void vDSP_POFF(void)
{
if( ucDSP_initmode==INI_DSPOFF ){
ucDSP_initmode = INI_ZERO;
dsp_src = SRC_NOP;
}
}
/************************************************************************/
/*!
@fn void vDSP_menu(UCHAR src,UCHAR button)
@brief 俵俤俶倀儃僞儞昤夋僒僽儖乕僠儞
@param UCHAR src,UCHAR button
@return 側偟
@date 2007/XX/XX
*/
/************************************************************************/
void vDSP_menu(UCHAR src ,UCHAR button)
{
UCHAR i;
UCHAR *tbl;
USHORT id,width,height;
/* 僜乕僗偱暘婒 */
switch(src){
case SRC_CLOCK:
id = ID_MENU_CLOCK;
width = GTTX_MENU_CLOCK_WIDTH;
height = GTTX_MENU_CLOCK_HEIGHT;
tbl = (UCHAR *)tbl_CLOCK_MENU;
break;
case SRC_AIRCON:
id = ID_MENU_AIRCON;
width = GTTX_MENU_AIRCON_WIDTH;
height = GTTX_MENU_AIRCON_HEIGHT;
tbl = (UCHAR *)tbl_AIRCON_MENU;
break;
case SRC_AUDIO:
id = ID_MENU_AUDIO;
width = GTTX_MENU_AUDIO_WIDTH;
height = GTTX_MENU_AUDIO_HEIGHT;
tbl = (UCHAR *)tbl_AUDIO_MENU;
break;
case SRC_CAMERA:
id = ID_MENU_CAMERA;
width = GTTX_MENU_CAMERA_WIDTH;
height = GTTX_MENU_CAMERA_HEIGHT;
tbl = (UCHAR *)tbl_CAMERA_MENU;
break;
case SRC_DRGB:
id = ID_MENU_DRGB;
width = GTTX_MENU_DRGB_WIDTH;
height = GTTX_MENU_DRGB_HEIGHT;
tbl = (UCHAR *)tbl_DRGB_MENU;
break;
case SRC_SETTING:
id = ID_MENU_SETTING;
width = GTTX_MENU_SETTING_WIDTH;
height = GTTX_MENU_SETTING_HEIGHT;
tbl = (UCHAR *)tbl_SETTING_MENU;
break;
default:
src = SRC_NOP;
break;
}
/* 僥僋僗僠儍嶲徠愝掕 */
drw_set_source( id );
drw_set_texture(0,0,width,height);
/* 儃僞儞昤夋 */
for(i=0;i<12;i++){
if( (i+1)==button ){
#if 0 /* @003s4[08/01/13] */
// drw_set_color(GD_COLOR0,0x3F000000);
#else /* @003s4[08/01/13] */
drw_set_color(GD_COLOR0,0x3F000000|BLACK32);
#endif /* @003s4[08/01/13] */
drw_set_alpha(GD_ALPH_ARGB,0x20);
}else{
drw_set_alpha(GD_ALPH_IGNORE,0x3F);
}
if( (*(tbl+i))!=MENU_OFF ){
drw_prect( tbl_MENU_BUTTON[i][0], /* X1 */
tbl_MENU_BUTTON[i][1], /* Y1 */
0<<5, /* U1 */
(MENU_HEIGHT*(*(tbl+i)-1))<<5, /* V1 */
tbl_MENU_BUTTON[i][0]+MENU_WIDTH-1, /* X2 */
tbl_MENU_BUTTON[i][1]+MENU_HEIGHT-1,/* Y2 */
(MENU_WIDTH-1)<<5, /* U2 */
(MENU_HEIGHT*(*(tbl+i)-0)-1)<<5 /* V1 */
);
}
}
drw_set_alpha(GD_ALPH_IGNORE,0x3F);
}
/************************************************************************/
/*!
@fn void vDSP_dclock(UCHAR mode,UCHAR hour,UCHAR min)
@brief 僨僕僞儖僋儘僢僋昤夋
@param UCHAR mode,UCHAR hour,UCHAR min
@return 側偟
@date 2007/XX/XX
*/
/************************************************************************/
void vDSP_dclock(UCHAR mode ,UCHAR hour ,UCHAR min)
{
UCHAR min10;
if( min < 10 ){
min10=0;
}else{
min10=1;
}
if( mode ){
if( min10 ){
vDSP_gprintf( FONT_SIZE,
DCLOCK_POS_X,
DCLOCK_POS_Y,
#if 0 /* @003s4[08/01/13] */
// WHITE,
#else /* @003s4[08/01/13] */
WHITE32,
#endif /* @003s4[08/01/13] */
"AM %2d:%2d",
hour,min
);
}else{
vDSP_gprintf( FONT_SIZE,
DCLOCK_POS_X,
DCLOCK_POS_Y,
#if 0 /* @003s4[08/01/13] */
// WHITE,
#else /* @003s4[08/01/13] */
WHITE32,
#endif /* @003s4[08/01/13] */
"AM %2d:%d%d",
hour,0x00,min
);
}
}else{
if( min10 ){
vDSP_gprintf( FONT_SIZE,
DCLOCK_POS_X,
DCLOCK_POS_Y,
#if 0 /* @003s4[08/01/13] */
// WHITE,
#else /* @003s4[08/01/13] */
WHITE32,
#endif /* @003s4[08/01/13] */
"PM %2d:%2d",
hour,min
);
}else{
vDSP_gprintf( FONT_SIZE,
DCLOCK_POS_X,
DCLOCK_POS_Y,
#if 0 /* @003s4[08/01/13] */
// WHITE,
#else /* @003s4[08/01/13] */
WHITE32,
#endif /* @003s4[08/01/13] */
"PM %2d:%d%d",
hour,0x00,min
);
}
}
}
/************************************************************************/
/*!
@fn void vDSP_blink(UCHAR button);
@brief 儃僞儞僽儕儞僋愝掕
@param UCHAR button
@return 側偟
@date 2007/XX/XX
*/
/************************************************************************/
void vDSP_blink_set(UCHAR button)
{
blink_button = button;
tm_button = TM_BUTTON;
}
/************************************************************************/
/*!
@fn void vDSP_aircon_fan(UCHAR fan)
@brief 僼傽儞偺僶乕昞帵
@param UCHAR fan
@return 側偟
@date 2007/XX/XX
*/
/************************************************************************/
void vDSP_aircon_fan(UCHAR fan)
{
#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] */
switch(fan){
default:
break;
case 4:
drw_rect( AIRCON_FAN_POS_X+AIRCON_FAN_WIDTH*6,
AIRCON_FAN_POS_Y-AIRCON_FAN_HEIGHT-AIRCON_FAN_H_SIZE*3,
AIRCON_FAN_POS_X+AIRCON_FAN_WIDTH*7,
AIRCON_FAN_POS_Y
);
/* no break */
case 3:
drw_rect( AIRCON_FAN_POS_X+AIRCON_FAN_WIDTH*4,
AIRCON_FAN_POS_Y-AIRCON_FAN_HEIGHT-AIRCON_FAN_H_SIZE*2,
AIRCON_FAN_POS_X+AIRCON_FAN_WIDTH*5,
AIRCON_FAN_POS_Y
);
/* no break */
case 2:
drw_rect( AIRCON_FAN_POS_X+AIRCON_FAN_WIDTH*2,
AIRCON_FAN_POS_Y-AIRCON_FAN_HEIGHT-AIRCON_FAN_H_SIZE,
AIRCON_FAN_POS_X+AIRCON_FAN_WIDTH*3,
AIRCON_FAN_POS_Y
);
/* no break */
case 1:
drw_rect( AIRCON_FAN_POS_X,
AIRCON_FAN_POS_Y-AIRCON_FAN_HEIGHT,
AIRCON_FAN_POS_X+AIRCON_FAN_WIDTH,
AIRCON_FAN_POS_Y
);
/* no break */
case 0:
break;
}
}
/************************************************************************/
/*!
@fn void vDSP_aircon_temp(UCHAR temp)
@brief 愝掕壏搙偺昤夋
@param UCHAR temp
@return 側偟
@date 2007/XX/XX
*/
/************************************************************************/
void vDSP_aircon_temp(UCHAR temp)
{
switch( temp ){
case AIRCON_TEMP_COLD:
vDSP_gprintf( FONT_SIZE,
AIRCON_TEMP_POS_X,
AIRCON_TEMP_POS_Y,
#if 0 /* @003s4[08/01/13] */
// GREEN,
#else /* @003s4[08/01/13] */
GREEN32,
#endif /* @003s4[08/01/13] */
"COLD",
temp+AIRCON_TEMP_OFFSET
);
break;
case AIRCON_TEMP_HOT:
vDSP_gprintf( FONT_SIZE,
AIRCON_TEMP_POS_X,
AIRCON_TEMP_POS_Y,
#if 0 /* @003s4[08/01/13] */
// GREEN,
#else /* @003s4[08/01/13] */
GREEN32,
#endif /* @003s4[08/01/13] */
"HOT ",
temp+AIRCON_TEMP_OFFSET
);
break;
default:
vDSP_gprintf( FONT_SIZE,
AIRCON_TEMP_POS_X,
AIRCON_TEMP_POS_Y,
#if 0 /* @003s4[08/01/13] */
// GREEN,
#else /* @003s4[08/01/13] */
GREEN32,
#endif /* @003s4[08/01/13] */
"%2d C'",
temp+AIRCON_TEMP_OFFSET
);
break;
}
}
/************************************************************************/
/*!
@fn void vDSP_audio_src(UCHAR src,UCHAR d1,UCHAR d2,UCHAR d3)
@brief 僆乕僨傿僆僜乕僗枅偺昤夋
@param UCHAR src, UCHAR d1, UCHAR d2, UCHAR d3
@return 側偟
@date 2007/XX/XX
*/
/************************************************************************/
void vDSP_audio_src(UCHAR src, UCHAR d1, UCHAR d2 ,UCHAR d3)
{
USHORT freq;
switch( src ){
case SRC_CD:
vDSP_gprintf( FONT_SIZE,
AUDIO_SRC_POS_X,
AUDIO_SRC_POS_Y,
#if 0 /* @003s4[08/01/13] */
// RED,
#else /* @003s4[08/01/13] */
RED32,
#endif /* @003s4[08/01/13] */
"CD",
d1
);
vDSP_gprintf( FONT_SIZE,
AUDIO_SRC_POS_X+FONT_SIZE*2,
AUDIO_SRC_POS_Y,
#if 0 /* @003s4[08/01/13] */
// WHITE,
#else /* @003s4[08/01/13] */
WHITE32,
#endif /* @003s4[08/01/13] */
" FM 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] */
"Tr %2d %2d:%d%d",
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] */
"Tr %2d %2d:%2d",
d1,d2,d3
);
}
break;
case SRC_FM:
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",
d1
);
vDSP_gprintf( FONT_SIZE,
AUDIO_SRC_POS_X+FONT_SIZE*2,
AUDIO_SRC_POS_Y,
#if 0 /* @003s4[08/01/13] */
// RED,
#else /* @003s4[08/01/13] */
RED32,
#endif /* @003s4[08/01/13] */
" FM",
d1
);
vDSP_gprintf( FONT_SIZE,
AUDIO_SRC_POS_X+FONT_SIZE*5,
AUDIO_SRC_POS_Y,
#if 0 /* @003s4[08/01/13] */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -