Esempio n. 1
0
void Menu_Select(void)
{
	menuChange(SELECT);
	dispMenu();
	//LCD_CMD (1);
	//LCD_GOTO (25);
	//LCD_STRING ("SELECT");
}
Esempio n. 2
0
void Menu_Next(void)
{
	//LCD_CMD (1);//clrscr
	menuChange(NEXT);
	dispMenu();
	//LCD_CMD (1);
	//LCD_GOTO (25);
	//LCD_STRING ("NEXT");
}
Esempio n. 3
0
void Menu_Child(void)
{
	//LCD_CMD (1);//clrscr
	menuChange(CHILD);
	dispMenu();
	//LCD_CMD (1);
	//LCD_GOTO (25);
	//LCD_STRING ("CHILD");
}
Esempio n. 4
0
void Menu_Parent(void)
{
	//LCD_CMD (1);//clrscr
	menuChange(PARENT);
	dispMenu();
	//LCD_CMD (1);
	//LCD_GOTO (25);
	//LCD_STRING ("PARENT");
}
bool Menu::select(byte select){
    if (select>=0 && select<numberOfMenuItems){
        setCurrentIndex(select);
        if (menuChange!=0){
            menuChange( item[currentIndex]->use() );
        }
        return true;
    }
    return false;
}
Esempio n. 6
0
void Menu_Previous(void)
{
	//LCD_CMD (1);//clrscr
	menuChange(PREVIOUS);
	dispMenu();
	//LCD_CMD (1);//clrscr
	//LCD_CMD (1);
	//LCD_GOTO (25);
	//LCD_STRING ("PREV");

}
Esempio n. 7
0
uint8_t menuKey(msg_par par) {
	switch (par) {
	case 0: {
		return 1;
	}
	case KEY_LEFT: {
		menuChange(PREVIOUS);
		break;
	}
	case KEY_RIGHT: {
		menuChange(NEXT);
		break;
	}
	case KEY_DOWN:
		;
	case KEY_OK:
		{ // выбор пункта
			uint8_t sel;
			sel = SELECT;
			if (sel != 0) {
				sendMessage(MSG_MENU_SELECT, sel);

				killHandler(MSG_KEY_PRESS, &menuKey);
				killHandler(MSG_DISP_REFRESH, &dispMenu);

				return (1);
			} else {
				menuChange(CHILD);
			}
			break;
		}
	case KEY_UP: { // отмена выбора (возврат)
		menuChange(PARENT);
	}
	}
	dispMenu(0);
	return (1);
}
Esempio n. 8
0
File: menu.c Progetto: nowhard/IRDA
uint8_t menuKey(msg_par par) {
	switch (par) 
	{
		case 0: 
		{
			return 1;
		}
		//------------------------
		case KEY_LEFT: 
		{
			switch(SELECT)//пункт меню
			{			
				case MENU_TUNE_TIME://определяем поведение кнопок в этом меню
				{
					time_tune_state=0;
				}
				break;

				case MENU_TUNE_DATE:
				{
					date_tune_state=0;
				}
				break;
				
				default:
				{
					menuChange(PREVIOUS);
				}
				break;				
			}
		}
		break;

		//------------------------
		case KEY_RIGHT: 
		{
			switch(SELECT)//пункт меню
			{			
				case MENU_TUNE_TIME:
				{
					time_tune_state=1;
				}
				break;

				case MENU_TUNE_DATE:
				{
					date_tune_state=1;
				}
				break;
				
				default:
				{
					menuChange(NEXT);
				}
				break;				
			}

		}
		break;
		//------------------------
		case KEY_UP:
		{ 
			switch(SELECT)//пункт меню
			{			
				case MENU_TUNE_BRIGHTNESS:
				{	
					if(brightness>=0xF)
					{
						brightness=0xF;	
					}
					else
					{
						brightness=(brightness+1)&0xF;	
						I2C_Write_Byte(SLA_ADDR,0x0,brightness);
					}
				}
				break;

				case MENU_TUNE_TIME:
				{
					if(time_tune_state)
					{
						if(clk.hour<23)
						{
							clk.hour++;
						}
						else
						{
							clk.hour=23;	
						}
					}
					else
					{
						if(clk.minute<59)
						{
							clk.minute++;
						}
						else
						{
							clk.minute=59;
						}
					}
				}
				break;

				case MENU_TUNE_DATE:
				{
					if(date_tune_state)
					{
						if(clk.month<12)
						{
							clk.month++;
						}
					}
					else
					{
						if(clk.day<31)
						{
							clk.day++;
						}
					}
				}
				break;

				case MENU_TUNE_YEAR:
				{
					if(clk.year>=99)
					{
						clk.year=99;
					}
					else
					{
						clk.year++;	
					}
				}
				break;
				
				default:
				{
					//menuChange(NEXT);
				}
				break;				
			}			
		}
		break;
		//------------------------
		case KEY_DOWN:
		{
			switch(SELECT)//пункт меню
			{			
				case MENU_TUNE_BRIGHTNESS:
				{

					if(brightness<=0x1)
					{
						brightness=0x1;	
					}
					else
					{
						brightness=(brightness-1)&0xF;	
						I2C_Write_Byte(SLA_ADDR,0x0,brightness);					
					}
				}
				break;

				case MENU_TUNE_TIME:
				{
					if(time_tune_state)
					{
						if(clk.hour>0)
						{
							clk.hour--;
						}
					}
					else
					{
						if(clk.minute>0)
						{
							clk.minute--;
						}
					}				
				}
				break;

				case MENU_TUNE_DATE:
				{
					if(date_tune_state)
					{
						if(clk.month>1)
						{
							clk.month--;
						}
					}
					else
					{
						if(clk.day>1)
						{
							clk.day--;
						}
					}
				}
				break;

				case MENU_TUNE_YEAR:
				{	
					if(clk.year<=0)
					{
						clk.year=0;
					}
					else
					{
						clk.year--;	
					}
				}
				break;
				
				default:
				{
					
				}
				break;				
			}
		}
		break;
			
		//------------------------
		case KEY_OK:
		{ // выбор пункта
			switch(SELECT)//пункт меню
			{			
				case MENU_TUNE_TIME:
				{
					StoreTime(&clk,0);
					menuChange(PARENT);
				}
				break;

				case MENU_TUNE_DATE:
				{
					StoreTime(&clk,1);
					menuChange(PARENT);
				}
				break;

				case MENU_TUNE_YEAR:
				{	
					StoreTime(&clk,2);
					menuChange(PARENT);
				}
				break;
				
				default:
				{
					menuChange(CHILD);	
				}
				break;				
			}		
		}
		break;
		//------------------------
		case KEY_GND:// отмена выбора (возврат)
		{
			menuChange(PARENT);
		}
		break;
		//------------------------
		default:
		{
		}
		break;
	}
	//dispMenu(0);
	return (1);
}
Esempio n. 9
0
unsigned char menuKey(unsigned char key) 
{
	menuItem* sel;


	if(!flag_menu_entry)
	{
		switch (key) 
		{
			case 0: 
			{
				return 1;
			}
			break;
		
			case '[': 
			{
				menuChange(PREVIOUS);
	
			}
			break;
		
			case ']': 
			{
				menuChange(NEXT);			
			}
			break;
		
			case 'x':
			{
			  _nop_();
			}
			break;
		
			case 'F':
			{ // выбор пункта					
					sel = selectedMenuItem->Select;//SELECT;
					if (selectedMenuItem->Select != 0) 
					{
						menuHandler(selectedMenuItem,key);	
						return (1);
					} 
					else 
					{
						menuChange(CHILD);
					}
			}
			break;
	
			case 'C': 
			{ // отмена выбора (возврат)
				menuChange(PARENT);
//				LCD_WriteCommand(LCD_CMD_ON);
			}
			break;
	
			default:
			{
	
			}		
		} 
	
		if(key!=0)
	   	{
			LCD_WriteCommand(LCD_CMD_CLEAR);
			delay(10);
			dispMenu(); 
		}
	}
	else
	{
		if(key== 'C') 
		{ // отмена выбора (возврат)
	
			flag_menu_entry=0;
			dynamic_disp=DYN_NOT_DISPLAY;
			LCD_WriteCommand(LCD_CMD_CLEAR);
			delay(3);
			LCD_WriteCommand(LCD_CMD_ON);
			delay(3);
			dispMenu(); 
		}
		else
		{
			sel = SELECT;
			if (sel != 0) 
			{
				menuHandler(selectedMenuItem,key);
			}
			 
		}
	}
	return (1);
}