parent
f1d32b2835
commit
f9ffe8b366
@ -0,0 +1,62 @@ |
|||||||
|
#include <stdio.h> |
||||||
|
#include "app_gui.h" |
||||||
|
#include "gui_event.h" |
||||||
|
#include "app_io.h" |
||||||
|
#include "app_config.h" |
||||||
|
|
||||||
|
static int phase = 0; |
||||||
|
static int tick_counter = 0; |
||||||
|
static uint16_t last_moisture = 0; |
||||||
|
|
||||||
|
static uint16_t sample_dry = 0; |
||||||
|
|
||||||
|
void screen_moisture_calib(GuiEvent event) |
||||||
|
{ |
||||||
|
char buf[100]; |
||||||
|
|
||||||
|
switch (event) { |
||||||
|
case GUI_EVENT_SCREEN_INIT: |
||||||
|
phase = 0; |
||||||
|
tick_counter = 0; |
||||||
|
// pass through
|
||||||
|
case GUI_EVENT_SCREEN_TICK_10MS: |
||||||
|
tick_counter++; |
||||||
|
if (tick_counter == 25) { |
||||||
|
request_paint(); // will read new measurement
|
||||||
|
tick_counter = 0; |
||||||
|
} |
||||||
|
last_moisture = moisture_read(); |
||||||
|
break; |
||||||
|
|
||||||
|
case GUI_EVENT_PAINT: |
||||||
|
if (phase == 0) { |
||||||
|
LcdBuffer_Write(&lcd, 0, 0, "Dej čidlo do vyschlé"); |
||||||
|
LcdBuffer_Write(&lcd, 1, 0, "půdy (vlhkost 0%)"); |
||||||
|
} else { |
||||||
|
LcdBuffer_Write(&lcd, 0, 0, "Dej čidlo do mokré"); |
||||||
|
LcdBuffer_Write(&lcd, 1, 0, "půdy (vlhkost 100%)"); |
||||||
|
} |
||||||
|
|
||||||
|
snprintf(buf, 100, "Vlhkost %4d/4095", last_moisture); |
||||||
|
LcdBuffer_Write(&lcd, 2, 0, buf); |
||||||
|
|
||||||
|
LcdBuffer_Write(&lcd, 3, 0, "🅳Zrušit 🅰Potvrdit"); |
||||||
|
break; |
||||||
|
|
||||||
|
case GUI_EVENT_KEY_A: // Confirm
|
||||||
|
if (phase == 0) { |
||||||
|
sample_dry = last_moisture; |
||||||
|
phase++; |
||||||
|
LcdBuffer_Clear(&lcd); // make sure there isnt overlap with previous step
|
||||||
|
} else { |
||||||
|
settings_scratch.moisture_dry = sample_dry; |
||||||
|
settings_scratch.moisture_wet = last_moisture; |
||||||
|
switch_screen(screen_settings, false); |
||||||
|
} |
||||||
|
break; |
||||||
|
|
||||||
|
case GUI_EVENT_KEY_D: // CANCEL
|
||||||
|
switch_screen(screen_settings, false); |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue