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(); } }
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(); }
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; } } }
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(); }