Example #1
0
ScreenManager::ScreenManager() : currentScreen(NULL), history_idx(0)
{
    homeScreen = HomeScreen();
    statusScreen = StatusScreen();
    deviceScreen = DeviceScreen();
    deviceAddScreen = DeviceAddScreen();
    deviceRemoveScreen = DeviceRemoveScreen();
    settingsScreen = SettingsScreen();
    settingsSetModeScreen = SettingsSetModeScreen();
    settingsSetTimeScreen = SettingsSetTimeScreen();
    schedulePickDeviceScreen = SchedulePickDeviceScreen();
    scheduleScreen = ScheduleScreen();
}
Example #2
0
void SettingsKey(unsigned char key)
{
		switch(key)
		{
			case 'F':
			{				
				LCD_WriteCommand(LCD_CMD_CLEAR);

//				input_field_hi.char_count=2;
				input_field_lo.char_count=2;

//				sprintf(input_field_hi.input_char_buf,"%02u",channels[channel].calibrate.cal.cal_hi);
				sprintf(input_field_lo.input_char_buf,"%02bu",ADRESS_DEV);	
				

//				input_field_hi.input_char_buf[2]=0;
				input_field_lo.input_char_buf[2]=0;

				input_field_ptr=&input_field_lo;

			}
			break;

//			case '[':
//			{
//				input_field_ptr=&input_field_lo;
//			}
//			break;
//
//			case ']':
//			{
//				input_field_ptr=&input_field_hi;
//			}
//			break;

			case '=':
			{
				if((input_field_ptr->input_char_buf[0]!=' ')/*&&(input_field_ptr->input_char_buf[0]!='-')*/)
				{
					if(input_field_ptr==&input_field_lo)
					{	
						sscanf(input_field_lo.input_char_buf,"%bu",&ADRESS_DEV);
						//SetFirstPoint(channel,channels[channel].channel_data,channels[channel].calibrate.cal.cal_lo);
						Device_Save_Address(ADRESS_DEV);
					}
				}
			}
			break;

			case '/':
			{
				if(input_field_ptr->char_count)
				{
					input_field_ptr->input_char_buf[input_field_ptr->char_count-1]=' ';
					input_field_ptr->char_count--;
				}				
			}
			break;
		}

		if(input_field_ptr->char_count<2)
		{
			if((key>='0') && (key<='9'))
			{
				   if(input_field_ptr->char_count==0)
				   {
				   		if((key=='0')||(key=='1'))
						{
						   input_field_ptr->input_char_buf[input_field_ptr->char_count]=key;
						   input_field_ptr->char_count++;							
						}
				   }
				   else
				   {
					   if(input_field_ptr->char_count==1)
					   {
					   		   if(input_field_ptr->input_char_buf[0]=='0')
							   {
								   		input_field_ptr->input_char_buf[input_field_ptr->char_count]=key;
								   		input_field_ptr->char_count++;							   		
							   }
							   else
							   {
								   if(((key>='0') && (key<='5')))
								   {
								   		input_field_ptr->input_char_buf[input_field_ptr->char_count]=key;
								   		input_field_ptr->char_count++;
								   }
							   }
					   }
				   }
			}
		}
		else
		{
			 input_field_ptr->char_count=2;
		}
		SettingsScreen();		
}