📄 menuprocess.c
字号:
char num[2];
num[0] = disNum + '0';
num[1] = 0;
device_time = device_time + 1;
if ((device_time < 7) && (device_time > 0))
{
display_attribute( device_time,2,0 );
display_string(num);
deviceNum[device_time - 1] = num[0];
}
else
device_time = 6;
return NOCHANGE_MENU;
}
//设备号查询菜单
char search_deviceNum(char FlashLcd)
{
char key;
Byte tmpBuf[3];
if (nMenuIndex == 0)
{
if (FlashLcd == FLASH_SCREEN)
{
Byte DevAscii[7];
lcd_clear_srceen();
display_attribute( 0,1,0 );
display_string(sysMsg[28]);
get_device_id(tmpBuf);
bcdArray_to_asciiArray(tmpBuf,DevAscii,3);
DevAscii[6] = 0;
display_attribute( 0,2,0 );
display_string(DevAscii);
}
//第一次进入界面时要获取设备号
return (get_deviceNum());
}
if (nMenuIndex == 1)
{
key = get_key();
switch (key)
{
case KEY_CODE_NUM0:
input_devNum(0);
break;
case KEY_CODE_NUM1:
input_devNum(1);
break;
case KEY_CODE_NUM2:
input_devNum(2);
break;
case KEY_CODE_NUM3:
input_devNum(3);
break;
case KEY_CODE_NUM4:
input_devNum(4);
break;
case KEY_CODE_NUM5:
input_devNum(5);
break;
case KEY_CODE_NUM6:
input_devNum(6);
break;
case KEY_CODE_NUM7:
input_devNum(7);
break;
case KEY_CODE_NUM8:
input_devNum(8);
break;
case KEY_CODE_NUM9:
input_devNum(9);
break;
case KEY_CODE_ESC:
if (device_time == 0)
{
nMenuIndex = 0;
return PREVIEW_MENU;
}
if ((device_time > 0) && (device_time < 7))
{
display_attribute( device_time,2,0 );
display_string(" ");
device_time = device_time - 1;
deviceNum[device_time] = 0;
return NOCHANGE_MENU;
}
break;
case KEY_CODE_ENTER:
asciiArray_to_bcdArray(deviceNum,tmpBuf,3);
set_device_id(tmpBuf);
return PREVIEW_MENU;
break;
case KEY_CODE_NO:
return NOKEY_MENU;
break;
default:
return NOCHANGE_MENU;
break;
}
}
}
#define PROGRAM_MAINHOST 3//主机程序
#define PROGRAM_TERM 2//终端程序
/*语音/程序更新菜单*/
char menu44Process(char FlashLcd)
{
char key;
if (FlashLcd == FLASH_SCREEN)
comm_menu(sysMsg[30],sysMsg[31], NULL, NULL);//,sysMsg[32]);
key = get_key();
switch (key)
{
case KEY_CODE_NUM1:/*更新语音*/
return NEXT_MENU1;
break;
case KEY_CODE_NUM2:/*更新程序*/
return NEXT_MENU2;
break;
// case KEY_CODE_NUM3:/*终端程序更新*/
// return NEXT_MENU3;
// break;
// case KEY_CODE_NUM4:/*主机程序更新*/
// return NEXT_MENU4;
// break;
case KEY_CODE_ESC:
case KEY_CODE_ENTER:
return PREVIEW_MENU;
break;
case KEY_CODE_NO:
return NOKEY_MENU;
break;
default:
return NOCHANGE_MENU;
break;
}
}
//USB下载,选择线路后按键操作处理
void menu_USBdownload_voice(Byte lineNum)
{
Uint16 status;
lcd_clear_srceen();
display_attribute( 0,1,0 );
display_string(sysMsg[20]);
display_attribute( 0,2,0 );
display_string(sysMsg[21]);
status = readserial_toflash(lineNum);
if (status == 1)
{
lcd_clear_srceen();
display_attribute( 0,1,0 );
display_string(sysMsg[35]);
display_attribute( 0,2,0 );
display_string(sysMsg[36]);
nMenuIndex = 1;
}
else
{ //上传成功
lcd_clear_srceen();
display_attribute( 0,1,0 );
display_string(sysMsg[37]);
nMenuIndex = 1;
}
}
/*USB更新终端程序菜单*/
char update_terminalProgram(char FlashLcd)
{
char key;
key = get_key();
if (FlashLcd == FLASH_SCREEN)
{
Byte nTmp;
lcd_clear_srceen();
display_attribute( 0,1,0 );
display_string("正在下载...");
nTmp = readserial_to_termProgram(PROGRAM_TERM);
lcd_clear_srceen();
display_attribute( 0,1,0 );
if (1 == nTmp)
display_string("U盘类型错误,更新程序失败");
else
display_string("U盘中数据错误,请重新下载U盘");
return NOCHANGE_MENU;
}
switch (key)
{
case KEY_CODE_ESC:
case KEY_CODE_ENTER:
return PREVIEW_MENU;
break;
case KEY_CODE_NO:
return NOKEY_MENU;
break;
default:
return NOCHANGE_MENU;
}
}
/*USB更新主机程序菜单*/
char update_mainProgram(char FlashLcd)
{
/* char key;
Byte nValue;
key = get_key();
if (FlashLcd == FLASH_SCREEN)
{
lcd_clear_srceen();
display_attribute( 0,1,0 );
display_string("正在下载...");
nValue = readserial_to_hostProgram(PROGRAM_MAINHOST);
lcd_clear_srceen();
display_attribute( 0,1,0 );
if (2 == nValue)
display_string("更新程序成功");
else if (1 == nValue)
display_string("更新程序失败");
else//return 3
display_string("U盘中数据错误,请重新下载U盘");
return NOCHANGE_MENU;
}
switch (key)
{
case KEY_CODE_ESC:
case KEY_CODE_ENTER:
return PREVIEW_MENU;
break;
case KEY_CODE_NO:
return NOKEY_MENU;
break;
default:
return NOCHANGE_MENU;
}*/
}
char update_voiceByUSB(char FlashLcd)
{
char key;
static Byte USB_lineNum;//记录选择的线路号
unsigned char i,j,k;
key = get_key();
if (nMenuIndex == 1)
{ //上传成功
if ((key == KEY_CODE_ESC) || (key == KEY_CODE_ENTER))
{
nMenuIndex = 0;
USB_lineNum = 0;
return PREVIEW_MENU;
}
if (key == KEY_CODE_NO)
return NOKEY_MENU;
else
return NOCHANGE_MENU;
}
if (FlashLcd == FLASH_SCREEN)
{ //显示线路号,供用户选择下载线路
lcd_clear_srceen();
k = 8;
if (k < 14)
{
for (i = 0;i < 6;i ++)
{
if (i < 4)
{
display_attribute( 0,i,0 );
display_string(runSet[k]);
}
else
{
j = i - 4;
display_attribute( 8,j,0 );
display_string(runSet[k]);
}
k ++;
}
}
}
switch (key)
{
case KEY_CODE_NUM1:
display_attribute( 0,0,1 );
display_string("1");
USB_lineNum = 1;
break;
case KEY_CODE_NUM2:
display_attribute( 0,1,1 );
display_string("2");
USB_lineNum = 2;
break;
case KEY_CODE_NUM3:
display_attribute( 0,2,1 );
display_string("3");
USB_lineNum = 3;
break;
case KEY_CODE_NUM4:
display_attribute( 0,3,1 );
display_string("4");
USB_lineNum = 4;
break;
case KEY_CODE_NUM5:
display_attribute( 8,0,1 );
display_string("5");
USB_lineNum = 5;
break;
case KEY_CODE_NUM6:
display_attribute( 8,1,1 );
display_string("6");
USB_lineNum = 6;
break;
case KEY_CODE_ESC:
USB_lineNum = 0;
nMenuIndex = 0;
return PREVIEW_MENU;
break;
case KEY_CODE_ENTER:
if (0 != USB_lineNum)
menu_USBdownload_voice(USB_lineNum);
return NOCHANGE_MENU;
break;
case KEY_CODE_NO:
return NOKEY_MENU;
break;
default:
return NOCHANGE_MENU;
break;
}
return NOCHANGE_MENU;
}
/*串口语音更新菜单*/
unsigned char update_1s = 0,update_row = 12;
char update_voiceBySerialInterface(char FlashLcd)
{
/* char key;
FORMAT_BUFFER *format;
if (0 == nMenuIndex)
{
nMenuIndex = 1;
set_formatbuffer_status(RESPONSE_WAITING);
inter_uart_init(1);
}
if (FlashLcd == FLASH_SCREEN)
{
lcd_clear_srceen();
display_attribute( 0,1,0 );
display_string(sysMsg[XT_YYZZGX]);
}
format = get_format_buffer();
switch (format -> status)
{
case RESPONSE_VALID:
lcd_clear_srceen();
display_attribute( 0,1,0 );
display_string(sysMsg[XT_YYGXCG]);
inter_uart_init(0);
set_formatbuffer_status(RESPONSE_NOUSE);
break;
case RESPONSE_WAITING:
if (update_1s == 0)
{
update_1s = 1;
start_glitter();
}
if(get_glitter_status() == GLITTER_ACTION)
{
update_1s = 1;
start_glitter();
display_attribute( update_row,1,0 );
display_string(".");
update_row ++;
if (update_row == 16)
{
display_attribute( 12,1,0 );
display_string(" ");
update_row = 12;
}
}
nMenuIndex = 2;
break;
case RESPONSE_FAILED:
case RESPONSE_TIMEOUT:
lcd_clear_srceen();
display_attribute( 4,1,0 );
display_string(sysMsg[XT_GXSB]);
inter_uart_init(0);
set_formatbuffer_status(RESPONSE_NOUSE);
break;
case RESPONSE_NOUSE:
default:
break;
}
key = get_key();
switch (key)
{
case KEY_CODE_ESC:
nMenuIndex = 0;
inter_uart_init(0);
update_1s = 0;
return PREVIEW_MENU;
break;
case KEY_CODE_ENTER:
if (nMenuIndex == 2)
return NOCHANGE_MENU;
else
{
nMenuIndex = 0;
inter_uart_init(0);
update_1s = 0;
return PREVIEW_MENU;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -