You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
1.8 KiB
68 lines
1.8 KiB
#include <stdio.h>
|
|
#include "app_gui.h"
|
|
#include "gui_event.h"
|
|
#include "app_io.h"
|
|
#include "lcd.h"
|
|
|
|
static bool valve1, valve2, valve3, valve4;
|
|
|
|
void screen_manual_control(GuiEvent event)
|
|
{
|
|
switch (event) {
|
|
case GUI_EVENT_SCREEN_INIT:
|
|
open_valve(0); // make sure all are closed
|
|
valve1 = valve2 = valve3 = valve4 = false;
|
|
break;
|
|
|
|
case GUI_EVENT_PAINT:
|
|
LcdBuffer_Write(&lcd, 0, 0, "== MANUÁLNÍ REŽIM ==");
|
|
LcdBuffer_Write(&lcd, 1, 0, "1-4 ventil,0 vyp.vše");
|
|
|
|
LcdBuffer_SetCursor(&lcd, 2, 0, CURSOR_BOTH);
|
|
|
|
snprintf(sbuf, sbuf_len, " %s %s %s %s ",
|
|
valve1 ? "█1█" : " 1 ",
|
|
valve2 ? "█2█" : " 2 ",
|
|
valve3 ? "█3█" : " 3 ",
|
|
valve4 ? "█4█" : " 4 ");
|
|
LcdBuffer_Write(&lcd, 2, 0, sbuf);
|
|
|
|
LcdBuffer_Write(&lcd, 3, 0, "🅳Konec");
|
|
break;
|
|
|
|
case GUI_EVENT_KEY_D: // CANCEL
|
|
open_valve(0);
|
|
switch_screen(screen_home, true);
|
|
break;
|
|
|
|
case GUI_EVENT_KEY_0:
|
|
valve1 = valve2 = valve3 = valve4 = false;
|
|
open_valve(0);
|
|
request_paint();
|
|
break;
|
|
|
|
case GUI_EVENT_KEY_1:
|
|
valve1 = !valve1;
|
|
set_one_relay(1, valve1);
|
|
break;
|
|
|
|
case GUI_EVENT_KEY_2:
|
|
valve2 = !valve2;
|
|
set_one_relay(2, valve2);
|
|
break;
|
|
|
|
case GUI_EVENT_KEY_3:
|
|
valve3 = !valve3;
|
|
set_one_relay(3, valve3);
|
|
break;
|
|
|
|
case GUI_EVENT_KEY_4:
|
|
valve4 = !valve4;
|
|
set_one_relay(4, valve4);
|
|
break;
|
|
|
|
case GUI_EVENT_SCREEN_DEINIT:
|
|
open_valve(0); // close all
|
|
break;
|
|
}
|
|
}
|
|
|