⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menuprocess.c

📁 通过车载终端采集GPS数据
💻 C
📖 第 1 页 / 共 5 页
字号:
        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 + -