📄 menuprocess.c
字号:
get_line_name(name, 6);
name[6] = 0;
display_attribute( 0,3,0 );
display_string(name);
}
}
/*显示"↑↓"箭头*/
void display_arrow(char fx)
{
unsigned char a[] = {24,0}; /*显示"↑"箭头,24是"↑"的ASCII码值。*/
unsigned char b[] = {25,0}; /*显示"↓"箭头,25是"↓"的ASCII码值。*/
if (fx == BUS_UPWARD)
{
display_attribute( 9,3,0 );
display_string(a);
}
else
{
display_attribute( 9,3,0 );
display_string(b);
}
}
/*显示方向,该内容从*get_busInfo()中获取*/
unsigned char menuMianDriveDir = 0;
void display_drivDirection(char flash)
{
Byte diretion;
get_cur_direction(&diretion);
if ((flash == FLASH_SCREEN)||(diretion != menuMianDriveDir))
{
menuMianDriveDir = diretion;
switch (menuMianDriveDir)
{
case BUS_UPWARD:
display_arrow(BUS_UPWARD);
break;
case BUS_BACKWARD:
display_arrow(BUS_BACKWARD);
break;
default:
break;
}
}
}
/*显示运营状态,该内容从RUN_MODE get_bus_runmode()中获取*/
unsigned char menuMainRunmode = 0;
void display_runmode(char flash)
{
RUN_MODE mode;
get_cur_runmode(&mode);
if ((flash == FLASH_SCREEN) || (mode != menuMainRunmode))
{
menuMainRunmode = mode;
display_attribute( 10,3,0 );
if (mode == RUN_NORMAL)
display_string(drivingMsg[11]);
else
display_string(drivingMsg[12]);
}
}
/*显示时间,该内容从*get_curtime()中获取*/
Byte menuMainHour=0, menuMainMinute=0;
void display_time(char flash)
{
Byte tmpBuf[3], timeChar[6];
get_raw_termtime(tmpBuf);
if ((flash == FLASH_SCREEN) || (menuMainHour != tmpBuf[0]) || (menuMainMinute != tmpBuf[1]))
{
menuMainHour = tmpBuf[0];
menuMainMinute = tmpBuf[1];
timeChar[0] = menuMainHour/10+'0';
timeChar[1] = menuMainHour%10+'0';
timeChar[2] = ':';
timeChar[3] = menuMainMinute/10+'0';
timeChar[4] = menuMainMinute%10+'0';
timeChar[5] = '\0';
display_attribute( 10,0,0 );
display_string(timeChar);
}
}
/************************************
*value:1表示要显示,0表示不显示
****************************/
void alarmIcon_glitter(Byte value) /*告警图标闪烁处理*/
{
/*alarm_glitter记录上次图标显示与否,alarm_glitter=1是显示,以下相同。*/
//static unsigned char data alarm_glitter = 0;
unsigned char icon[2] = {GRAPHICS_ALARM,0};
if (value == 1)
{
display_attribute( 0,1,0 );
display_string(icon);
}
else
{
display_attribute( 0,1,0 );
display_string(" ");
}
}
unsigned char menuGprsGlitter = 0;
void gprsIcon_glitter()/*GPRS图标闪烁处理*/
{
unsigned char icon[2] = {GRAPHICS_GPRS,0};
if (menuGprsGlitter == 1)
{
display_attribute( 2,0,0 );
display_string(" ");
menuGprsGlitter = 0;
}
else
{
display_attribute( 2,0,0 );
display_string(icon);
menuGprsGlitter = 1;
}
}
unsigned char menuGpsGlitter = 0;
void gpsIcon_glitter()/*GPS图标闪烁处理*/
{
unsigned char icon[2] = {GRAPHICS_GPS,0};
display_attribute( 6,0,0 );
if (get_board_mode() == FORCE_BOARD)
display_string("强制");
else
display_string(drivingMsg[YX_manual]);
if (menuGpsGlitter == 1)
{
/*显示空格*/
display_attribute( 0,0,0 );
display_string(" ");
menuGpsGlitter = 0;
}
else
{
display_attribute( 0,0,0 );
display_string(icon);
menuGpsGlitter = 1;
}
}
/*显示GPS图标,该状态由get_gpsStatus()获取。*/
void display_gpsIcon()
{
unsigned char graphics[2] = {GRAPHICS_GPS,0};
display_attribute( 0,0,0 );
display_string(graphics);
display_attribute( 6,0,0 );
if (get_board_mode() == FORCE_BOARD)
display_string("强制");
else
display_string(drivingMsg[YX_auto]);
}
/*显示GPRS图标,从get_gprsStatus()中获取状态。*/
void display_gprsIcon()
{
unsigned char graphics[2] = {GRAPHICS_GPRS,0};
display_attribute( 2,0,0 );
display_string(graphics);
}
/*显示告警图标,收到is_alarm()为TURE时显示告警图标,否则不显示。*/
Byte menuMianAlarmFlag = 0;
void display_alarmIcon(char flash)
{
Byte flag;
flag = is_alarm();
if ((flag != menuMianAlarmFlag) || (flash == FLASH_SCREEN))
{
menuMianAlarmFlag = flag;
alarmIcon_glitter(menuMianAlarmFlag);
}
}
unsigned char glitterTimeout = 0, menuMainGpsFlag = 0, menuMainGprsFlag = 0;
void display_icon(char flash)
{
unsigned char glitter_flag,gps,gprs;
glitter_flag = 0;
get_gpsStatus(&gps);
get_gprsStatus(&gprs);
if (flash == FLASH_SCREEN)
{
glitterTimeout = 0;
}
if ((menuMainGpsFlag != gps) || (FLASH_SCREEN == flash))
{
if (gps == GPS_ANTENNA_WELL)
{
display_gpsIcon();
}
menuMainGpsFlag = gps;
}
if ((menuMainGprsFlag != gprs) || (FLASH_SCREEN == flash))
{
if (gprs == PPP_CONECTTOCENTER)
{
display_gprsIcon();
}
menuMainGprsFlag = gprs;
}
if (GPS_ANTENNA_WELL != gps)
glitter_flag = glitter_flag | GPS_GLITTER;
if (PPP_CONECTTOCENTER != gprs)
glitter_flag = glitter_flag | GPRS_GLITTER;
if (0 != glitter_flag)
{
if (0 == glitterTimeout)
{
if ((glitter_flag & GPS_GLITTER) == 1)
{
gpsIcon_glitter();
}
if ((glitter_flag & GPRS_GLITTER) == 2)
{
gprsIcon_glitter();
}
}
glitterTimeout++;
if (4 == glitterTimeout)
glitterTimeout = 0;
}
/* if ((menuMainGpsFlag != gps) || (flash == FLASH_SCREEN))
{
glitterTimeout = 0;
menuMainGpsFlag = gps;
if (menuMainGpsFlag == GPS_ANTENNA_WELL)
{
display_gpsIcon();
}
else
glitter_flag = glitter_flag | GPS_GLITTER;
}
if ((menuMainGprsFlag != gprs) || (flash == FLASH_SCREEN))
{
menuMainGprsFlag = gprs;
if (menuMainGprsFlag == PPP_CONECTTOCENTER)
{
display_gprsIcon();
}
else
glitter_flag = glitter_flag | GPRS_GLITTER;
}
if ((glitter_flag & GPS_GLITTER) == 1)
{
gpsIcon_glitter();
}
if ((glitter_flag & GPRS_GLITTER) == 2)
{
gprsIcon_glitter();
}*/
}
/*is_msg_incoming()为TURE时显示短信图标。*/
unsigned char menuMainMsgFlag = 0;//dis_flag = 0
void display_msgIcon(char flash)
{
unsigned char graphics[2] = {GRAPHICS_MESSAGE,0},flag;
flag = is_msg_incoming();
if ((flag != menuMainMsgFlag) || (flash == FLASH_SCREEN))
{
menuMainMsgFlag = flag;
if (menuMainMsgFlag == TRUE)
{
/*此处应显示短信图标*/
display_attribute( 4,0,0 );
display_string(graphics);
}
else
{
display_attribute( 4,0,0 );
display_string(" ");
}
}
}
/*显示音量等级*/
char display_voice(char class)
{
int i,j,colume;
unsigned char num[9];
i = 4;
colume = i + class;
for (j = 0;j < class;j ++)
num[j] = '>';
num[j] = 0;
display_attribute( 4,2,0 );
display_string(num);
colume = colume - 1;
return colume;
}
/*音量调节菜单处理函数*/
char voice_count= 0,voice_row = 0;
char menu_voiceClass(char FlashLcd)
{
char value,key;
if (FlashLcd == FLASH_SCREEN)
{
value = get_curvolume();
lcd_clear_srceen();
display_attribute( 0,0,0 );
display_string(voiceClassAjust[YLTJ_YLDJ]);
voice_count = value;
voice_row = display_voice(voice_count);
}
key = get_key();
switch (key)
{
case KEY_CODE_START:
voice_count++;
if (voice_count < 9)
{
voice_row++;
display_attribute( voice_row,2,0 );
display_string(">");
}
else
{
voice_count = 8;
display_attribute( 11,2,0 );
display_string(">");
}
return NOCHANGE_MENU;
break;
case KEY_CODE_NUM8:
voice_count--;
if (voice_count > 0)
{
display_attribute( voice_row,2,0 );
display_string(" ");
voice_row--;
}
else voice_count = 1;
return NOCHANGE_MENU;
break;
case KEY_CODE_ENTER:
set_volume(voice_count);
return PREVIEW_MENU;
case KEY_CODE_ESC:
return PREVIEW_MENU;
case KEY_CODE_NO:
return NOKEY_MENU;
break;
default:
return NOCHANGE_MENU;
break;
}
}
Byte driveKeyProcess()
{
char key, tmpValue;
key = get_key();
switch (key)
{
case KEY_CODE_NUM0:
key_process_station(KEY_LEAVE);
// key_process_station(KEY_REPEAT);
return NOCHANGE_MENU;
break;
case KEY_CODE_NUM1:
play_notitionsound(1);
return NOCHANGE_MENU;
break;
case KEY_CODE_NUM2:
play_notitionsound(2);
return NOCHANGE_MENU;
break;
case KEY_CODE_NUM3:
play_notitionsound(3);
return NOCHANGE_MENU;
break;
case KEY_CODE_NUM4:
play_notitionsound(4);
return NOCHANGE_MENU;
break;
case KEY_CODE_NUM5:
play_notitionsound(5);
return NOCHANGE_MENU;
break;
case KEY_CODE_NUM6:
key_process_station(KEY_CHANGEDIR);
return NOCHANGE_MENU;
break;
case KEY_CODE_NUM7:
//运营状态切换
gbMenuInMain = INVALID_DATA;
menuPopUp(&menu8_main[1]);
return NOCHANGE_MENU;
break;
case KEY_CODE_NUM8:
key_process_station(KEY_LAST);
return NOCHANGE_MENU;
break;
case KEY_CODE_NUM9:
key_process_station(KEY_ARRIVE);
return NOCHANGE_MENU;
break;
case KEY_CODE_START:
key_process_station(KEY_NEXT);
return NOCHANGE_MENU;
break;
case KEY_CODE_FUNC:
get_gprsStatus(&tmpValue);
if (PPP_CONECTTOCENTER == tmpValue)
{
make_assess_message(5);
return NOCHANGE_MENU;
}
else
return NOKEY_MENU;
break;
case KEY_CODE_ALT:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -