Exemple #1
0
void rolladen_page_handle_key_down_event(eds_rolladen_page_block_t *p, 
		uint8_t key)
{
	if (key == KEY_OK)
	{
		canix_frame message;

		message.src = canix_selfaddr();
		message.dst = HCAN_MULTICAST_CONTROL;
		message.proto = HCAN_PROTO_SFP;
		message.data[0] = HCAN_SRV_HES;
		message.data[1] = HCAN_HES_ROLLADEN_POSITION_SET;
		message.data[2] = p->gruppe;
		message.data[3] = p->pos;
		message.size = 4;
		canix_frame_send_with_prio(&message, HCAN_PRIO_HI);

		lcdctrl_blink();

		return;
	}

	if (key == KEY_ESC)
	{
		goto_page_up();
		return;
	}

	if (key == KEY_UP)
		goto_prev_page();

	if (key == KEY_DOWN)
		goto_next_page();
}
void fenster_monitor_page_handle_key_down_event(
		eds_fenster_monitor_page_block_t *p, uint8_t key)
{
	if (key == KEY_ESC)
	{
		goto_page_up();
	}
}
Exemple #3
0
void taster_page_handle_key_down_event(eds_taster_page_block_t *p, 
		uint8_t key)
{
	if (key == KEY_OK)
	{
		canix_frame message;

		message.src = canix_selfaddr();
		message.dst = HCAN_MULTICAST_CONTROL;
		message.proto = HCAN_PROTO_SFP;
		message.data[0] = HCAN_SRV_HES;
		message.data[1] = HCAN_HES_TASTER_DOWN;
		message.data[2] = p->gruppe;
		message.size = 3;
		canix_frame_send_with_prio(&message, HCAN_PRIO_HI);

		canix_sleep_100th(1);
		
		message.data[1] = HCAN_HES_TASTER_UP;
		message.size = 3;
		canix_frame_send_with_prio(&message, HCAN_PRIO_HI);

		lcdctrl_blink();

		return;
	}

	if (key == KEY_ESC)
	{
		goto_page_up();
		return;
	}

	if (key == KEY_UP)
		goto_prev_page();

	if (key == KEY_DOWN)
		goto_next_page();
}
Exemple #4
0
void weck_page_handle_key_down_event(eds_weck_page_block_t *p, uint8_t key)
{
	if (key == KEY_OK)
	{
		if (weck_page_state == STATE_VIEW)
		{
			// Wir beginnen mit dem Editieren; dazu muessen zuerst die
			// aktuellen Parameter in die *_edit Variablen geladen werden,
			// damit sie spaeter per RETURN uebernommen, oder per ESC
			// verworfen werden koennen

			//get_weck_details(p->weck_id, &weck_details_dauer_edit);
			weck_details_dauer_edit = 1200; //Startwert: 1200 s = 20 min

			weck_page_state = STATE_EDIT;
			lcd_command(LCD_DISP_ON_CURSOR_BLINK);
			weck_page_print_page(p);
			return;
		}
		if (weck_page_state == STATE_EDIT)
		{
			// das Editieren wurde mit RETURN abgeschlossen; d.h. wir muessen
			// den Wert uebernehmen und ihn an den Wecker weiterreichen
			weck_page_state = STATE_VIEW;
			lcd_command(LCD_DISP_ON);
			set_weck_edited_details(p);
			weck_page_print_page(p);
			return;
		}
	}

	if (key == KEY_ESC)
	{
		if (weck_page_state == STATE_VIEW)
		{
			goto_page_up();
			return;
		}

		if (weck_page_state == STATE_EDIT)
		{
			weck_page_state = STATE_VIEW;
			lcd_command(LCD_DISP_ON);
			weck_page_print_page(p);
			return;
		}
	}

	if (key == KEY_UP)
	{
		if (weck_page_state == STATE_EDIT)
		{
			if (weck_details_dauer_edit < 43200) // 12h
			{
				weck_details_dauer_edit =
					((weck_details_dauer_edit/300)+1) * 300; //Achtung: 299/300=0, 599/300=1
				weck_details_dauer_edit += 300; //5 min Schritte
			}

			weck_page_print_page(p);
			return;
		}
	}

	if (key == KEY_DOWN)
	{
		if (weck_page_state == STATE_EDIT)
		{
			if (weck_details_dauer_edit > 300)
			{
				weck_details_dauer_edit =
					(weck_details_dauer_edit/300) * 300; //Achtung: 299/300=0, 599/300=1
					//((weck_details_dauer_edit/300)+1) * 300; //Achtung: 299/300=0, 599/300=1
				weck_details_dauer_edit -= 300; //5 min Schritte
			}

			weck_page_print_page(p);
			return;
		}
	}
}
Exemple #5
0
void powerport_page_handle_key_down_event(eds_powerport_page_block_t *p, 
		uint8_t key)
{
	if (key == KEY_OK)
	{
		if ((powerport_page_state == 1) && (powerport_page_timer > 0))
		{
			// Powerport ist eingeschaltet und der Timer laeuft; in diesem
			// Fall schaltet die OK Taste den Timer aus, laesst aber den
			// Powerport an
			//
			canix_frame message;

			message.src = canix_selfaddr();
			message.dst = HCAN_MULTICAST_CONTROL;
			message.proto = HCAN_PROTO_SFP;
			message.data[0] = HCAN_SRV_HES;
			message.data[1] = HCAN_HES_POWER_GROUP_SET_TIMER;
			message.data[2] = p->gruppe;
			message.data[3] = 0;
			message.data[4] = 0;
			message.size = 5;
			canix_frame_send_with_prio(&message, HCAN_PRIO_HI);

			lcdctrl_blink();
			canix_sleep_100th(5);
			powerport_page_print_page(p);

			return;

		}

		// Wenn der Powerport ein oder aus ist:
		if (powerport_page_state != -1)
		{
			canix_frame message;

			message.src = canix_selfaddr();
			message.dst = HCAN_MULTICAST_CONTROL;
			message.proto = HCAN_PROTO_SFP;
			message.data[0] = HCAN_SRV_HES;
			message.data[1] = powerport_page_state ? 
				HCAN_HES_POWER_GROUP_OFF : HCAN_HES_POWER_GROUP_ON;
			message.data[2] = p->gruppe;
			message.size = 3;
			canix_frame_send_with_prio(&message, HCAN_PRIO_HI);

			lcdctrl_blink();
			canix_sleep_100th(5);
			powerport_page_print_page(p);

			return;
		}
	}

	if (key == KEY_ESC)
	{
		goto_page_up();
		return;
	}

	if (key == KEY_UP)
		goto_prev_page();

	if (key == KEY_DOWN)
		goto_next_page();
}