📄 fieldtest.c
字号:
if( data EQ NULL )
{
return NULL;
}
// Create window handler
data->win = win_create (parent_window, 0, E_WIN_VISIBLE, NULL);
if( data->win EQ NULL )
{
FREE_MEMORY( (void *) data, sizeof( tSpecialMode ) );
return NULL;
}
// connect the dialog data to the MFW-window
data->mmi_control.dialog = (T_DIALOG_FUNC)MemFlashRtc_DialogCB;
data->mmi_control.data = data;
win = ((T_MFW_HDR *)data->win)->data;
win->user = (void *)data;
data->parent_win = parent_window;
data->kbd=kbdCreate(data->win,KEY_ALL,(MfwCb)MemFlashRtcCB);
return data->win;
}
/*******************************************************************************
$Function: MemFlashRtc_DialogCB
$Description: CallBack Function
$Returns:
$Arguments:
*******************************************************************************/
static void MemFlashRtc_DialogCB(T_MFW_HND win, USHORT e, SHORT identifier,
void *parameter)
{
T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data;
tSpecialMode* data = (tSpecialMode*) win_data->user;
UINT8 ctrl_reg,stat_reg;
UINT32 FFS_free,FFS_used,FFS_lost;
UINT16 memoryleft;
TRACE_FUNCTION("MemFlashRtc_DialogCB()");
switch( e )
{ //when window first created
case MEMFLASHRTC_INIT:
{
dspl_ClearAll();
//sprintf(memoryleft,"memory left: %d\n",mfwCheckMemoryLeft());
//strcat(data->buffer,memoryleft);
memoryleft=mfwCheckMemoryLeft();
FFS_free = FFS_Get_Free_Bytes();
FFS_lost = FFS_Get_Lost_Bytes();
FFS_used = FFS_Get_Used_Bytes();
ctrl_reg = Rtc_getctrreg(); //added by xzy for rtc reg status 0218
stat_reg = Rtc_getstatusreg();
/* 2004/03/02 sunsj modify for display area */
sprintf(data->buffer,"mem left:%d",memoryleft);
dspl_TextOut(0, 0, 0, (char*)data->buffer);
sprintf(data->buffer,"FFS_free:%d",(FFS_free-FFS_lost));
dspl_TextOut(0, 13, 0, (char*)data->buffer);
sprintf(data->buffer,"FFS_lost:%d",FFS_lost);
dspl_TextOut(0, 26, 0, (char*)data->buffer);
sprintf(data->buffer,"FFS_used:%d",FFS_used);
dspl_TextOut(0, 39, 0, (char*)data->buffer);
sprintf(data->buffer,"rtc_ctrl:%d",ctrl_reg);
dspl_TextOut(0, 52, 0, (char*)data->buffer);
sprintf(data->buffer,"rtc_status:%d",stat_reg);
dspl_TextOut(0, 65, 0, (char*)data->buffer);
}
break;
default:
{
TRACE_EVENT("MemFlashRtc_DialogCB(): Unknown Event");
}
break;
}
}
static void MemFlashRtcCB (MfwEvt e, MfwKbd *k)
{
T_MFW_HND win = mfw_parent (mfw_header());
T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data;
tSpecialMode*data = (tSpecialMode*) win_data->user;
TRACE_FUNCTION("MemFlashRtcCB()");
SpkMic_destroy(data->win); //ganchh modified
}
/*******************************************************************************
$Function: SpkMic_destroy
$Description: Destroys the dialog
$Returns:
$Arguments:
*******************************************************************************/
void MemFlashRtc_destroy(MfwHnd own_window)
{
T_MFW_WIN * win_data;
tSpecialMode* data = NULL;
if( own_window )
win_data = ((T_MFW_HDR *)own_window)->data;
if( win_data != NULL )
data = (tSpecialMode*)win_data->user;
if( data )
{
TRACE_EVENT ("MemFlashRtc_destroy()");
win_delete (data->win);
// Free Memory
FREE_MEMORY ((void *)data, sizeof (tSpecialMode));
}
else
{
TRACE_EVENT ("MemFlashRtc_destroy() called twice");
}
}
//end xzy added 0219 for spk and rtc mem flash status
void LCDDisplayTestStart(MfwMnu* m, MfwMnuItem* i)
{
T_MFW_HND window = mfwParent( mfw_header() );
T_MFW_WIN *win_data = ((T_MFW_HDR *)window)->data;
tBookStandard *data = (tBookStandard *) win_data->user;
//char * dspltext;
//sprintf(dspltext,"MIC:");
LCD_OFF();
//rvf_delay(200);
//LedLightnessAdjust(10); // 3 level backlight,
//LCD_ON();
//rvf_delay(200);
//LedLightnessAdjust(255); // 3 level backlight,
//LCD_ON();
//rvf_delay(200);
#ifndef _INNOVATION_EMULATOR_
#if R2D_COMPARE_REFRESH /* Robert.Chen add, 2003-12-13 */
memset(OriginLCDData, '\0',sizeof(OriginLCDData));
#endif
#endif
/* 2004/04/10 sunsj modify */
dspl_ClearAll();
dspl_Enable(1);
rvf_delay(300);
/* 2004/05/21 sunsj modify */
LedLightnessAdjust(255);
/* 2004/06 sunsj modify for icon manage */
//dspl_BitBlt(0, 0, 102, 65, 0, (void *)iconMainIdle12, 0);
dspl_TextOut_Blk(2, 14, SCREEN_SIZE_X, DSPL_TXTATTR_TRANSPARENT, "\x80\x00\x4c\x00\x43\x00\x44\x6d\x4b\x8b\xd5\x00\x00");
displaySoftKeys( TxtNull, TxtSoftBack);
dspl_Enable(1);
rvf_delay(300);
#if 0
WriteLcdColor(1); //全白
rvf_delay(300);
WriteLcdColor(2); //全黑
rvf_delay(300);
WriteLcdColor(3); //黑白方格
rvf_delay(300);
//Force_refresh();
//dspl_ClearAll();
controlBrowseNew();
//rvf_delay(300);
winShow( window );
//uShow(data->menu );
//rvf_delay(400);
displaySoftKeys( TxtSoftSelect, TxtSoftBack);
#endif
}
void LEDBacklightTestStart(MfwMnu* m, MfwMnuItem* i)
{
dspl_ClearAll();
displaySoftKeys( TxtNull, TxtSoftBack);
dspl_TextOut_Blk(2, 14, SCREEN_SIZE_X, DSPL_TXTATTR_TRANSPARENT, "\x80\x80\xcc\x51\x49\x6d\x4b\x8b\xd5\x00\x00");
LedLightnessAdjust(0);
rvf_delay(300);
LedLightnessAdjust(255);
rvf_delay(100);
dspl_ClearAll();
dspl_TextOut_Blk(2, 14, SCREEN_SIZE_X, DSPL_TXTATTR_TRANSPARENT, "\x80\x95\x2e\x76\xd8\x70\x6f\x6d\x4b\x8b\xd5\x00\x00");
Backlight_ON();
rvf_delay(300);
Backlight_OFF();
dspl_ClearAll();
dspl_TextOut_Blk(2, 14, SCREEN_SIZE_X, DSPL_TXTATTR_TRANSPARENT, "\x80\x00\x4c\x00\x45\x00\x44\x6d\x4b\x8b\xd5\x00\x00");
Green_On();
rvf_delay(300);
}
void MelodyandVibratorTestStart(MfwMnu* m, MfwMnuItem* i)
{
SetMVol_DownLinkPGA(6);
//StartMelody(0);
dspl_ClearAll();
displaySoftKeys( TxtNull, TxtSoftBack);
dspl_TextOut_Blk(2, 14, SCREEN_SIZE_X, DSPL_TXTATTR_TRANSPARENT, "\x80\x94\xc3\x58\xf0\x6d\x4b\x8b\xd5\x00\x00");
StartPlayingMelody2(5, 0); //glowing,2003-12-23, use the yamaha api
rvf_delay(600);
//StopMelody();
StopPlayingMelody2(); //glowing,2003-12-23, use the yamaha api
dspl_ClearAll();
dspl_TextOut_Blk(2, 14, SCREEN_SIZE_X, DSPL_TXTATTR_TRANSPARENT, "\x80\x97\x07\x52\xa8\x6d\x4b\x8b\xd5\x00\x00");
StartVibrator();
rvf_delay(400);
StopVibrator();
}
//added for xzy by ljq 2003/3/20
void WriteLcdColor(unsigned short color)
{
#ifdef _M188_
UINT16 loopp;
WriteIR(0x21);
WriteRam(0x0000); //set address COM=14,SEG=00
WriteIR(0x22); //Begain write ram
switch( color )
{
case 1:
//white
for( loopp=0;loopp<102*80;loopp++ ) //write 20*120 pixel blue+gree
{
WriteRam(0xffff);
}
break;
case 2:
//black
for( loopp=0;loopp<102*80;loopp++ ) //write 20*120 pixel blue+gree
{
WriteRam(0x0000);
}
break;
case 3:
//black and white
for( loopp=0;loopp<10*80;loopp++ )
{
WriteRam(0x0000);
}
for( loopp=0;loopp<10*80;loopp++ )
{
WriteRam(0xffff);
}
for( loopp=0;loopp<10*80;loopp++ )
{
WriteRam(0x0000);
}
for( loopp=0;loopp<10*80;loopp++ )
{
WriteRam(0xffff);
}
for( loopp=0;loopp<10*80;loopp++ )
{
WriteRam(0x0000);
}
for( loopp=0;loopp<10*80;loopp++ )
{
WriteRam(0xffff);
}
for( loopp=0;loopp<10*80;loopp++ )
{
WriteRam(0x0000);
}
for( loopp=0;loopp<10*80;loopp++ )
{
WriteRam(0xffff);
}
for( loopp=0;loopp<10*80;loopp++ )
{
WriteRam(0x0000);
}
for( loopp=0;loopp<10*80;loopp++ )
{
WriteRam(0xffff);
}
for( loopp=0;loopp<10*80;loopp++ )
{
WriteRam(0x0000);
}
for( loopp=0;loopp<10*80;loopp++ )
{
WriteRam(0xffff);
}
for( loopp=0;loopp<10*80;loopp++ )
{
WriteRam(0x0000);
}
for( loopp=0;loopp<10*80;loopp++ )
{
WriteRam(0xffff);
}
for( loopp=0;loopp<10*80;loopp++ )
{
WriteRam(0x0000);
}
for( loopp=0;loopp<10*80;loopp++ )
{
WriteRam(0xffff);
}
break;
case 4:
//black and white
for( loopp=0;loopp<10*120;loopp++ )
{
WriteRam(0x0000);
}
for( loopp=0;loopp<10*120;loopp++ )
{
WriteRam(0xffff);
}
for( loopp=0;loopp<10*120;loopp++ )
{
WriteRam(0x0000);
}
for( loopp=0;loopp<10*120;loopp++ )
{
WriteRam(0xffff);
}
default:
break;
}
#endif
}
int KeyPressTest(MfwMnu* m, MfwMnuItem* i)
{
T_MFW_HND parent_window = mfwParent( mfw_header() );
T_MFW_HND win = KeyPressTest_create(parent_window);
TRACE_FUNCTION("KeyPressTest()");
//#ifdef _DAIENABLE_
// DAIsignalEnable(); //enable the DAI
//#endif
if( win NEQ NULL )
{
SEND_EVENT (win, KEYPRESSTEST_INIT, 0, 0);
}
return 0;
}
static T_MFW_HND KeyPressTest_create(MfwHnd parent_window)
{
tSpecialMode* data = (tSpecialMode*)ALLOC_MEMORY (sizeof (tSpecialMode));
T_MFW_WIN * win;
if( data EQ NULL )
{
return NULL;
}
// Create window handler
data->win = win_create (parent_window, 0, E_WIN_VISIBLE, (T_MFW_CB)KeyPressTest_WinCB);
if( data->win EQ NULL )
{
FREE_MEMORY( (void *) data, sizeof( tSpecialMode ) );
return NULL;
}
// connect the dialog data to the MFW-window
data->mmi_control.dialog = (T_DIALOG_FUNC)KeyPressTest_DialogCB;
data->mmi_control.data = data;
win = ((T_MFW_HDR *)data->win)->data;
win->user = (void *)data;
data->parent_win = parent_window;
data->kbd=kbd_create(data->win,KEY_ALL,(T_MFW_CB)KeyPressTest_kbd_cb);
keyPressNumber = 0; /* 2004/04/01 sunsj add */
return data->win;
}
static int KeyPressTest_WinCB (T_MFW_EVENT event, T_MFW_WIN * win)
{
tSpecialMode* data = (tSpecialMode *)win->user;
//const unsigned char str[];
int row,line,counter=0;
char keypresstxt[5];
TRACE_EVENT ("KeyPressTest_WinCB");
//sprintf(keypresstxt, "#*");
if( data EQ 0 )
return 1;
switch( event )
{
case E_WIN_VISIBLE:
if( win->flags & E_WIN_VISIBLE )
{
dspl_ClearAll();
for( row=0;row<6;row++ )
{
for( line=0;line<4;line++ )
{
switch( counter )
{
case 0:
sprintf(keypresstxt, " ");
break;
case 1:
sprintf(keypresstxt, "b");
break;
case 2:
sprintf(keypresstxt, "c");
break;
case 3:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -