diff --git a/Dashboard/configScreens.h b/Dashboard/configScreens.h index 98b8249a2d8d6366fe0a664916b1fce50e7eddc1..bb8685357be1e33665beefba4d3a4a5eb3e2bb2e 100644 --- a/Dashboard/configScreens.h +++ b/Dashboard/configScreens.h @@ -1,9 +1,10 @@ #define startWith SCREEN_WELCOME // Screens -// Welcome screen with greetings +/* Welcome screen with greetings + Swipe left when prompts to continue (nextScreeen0) */ void welcome(Arg *arg); -// Main screen with clock and CO2 bar +/* Main screen with clock and CO2 bar */ void dashboard(Arg *arg); // Links diff --git a/Dashboard/screens.h b/Dashboard/screens.h index cb605220d4e70fb2cc8395e902cfdbdaf98217b2..084079d824496e8e05779be6462c35dab56a4af0 100644 --- a/Dashboard/screens.h +++ b/Dashboard/screens.h @@ -2,6 +2,8 @@ // Clear touch panel bools void unhandle(); +// Change screen +void changeScreen(uint8_t current, uint8_t next); void unhandle() { @@ -10,6 +12,13 @@ void unhandle() globalVars.swipeLeft = globalVars.swipeRight = 0; } +void changeScreen(uint8_t current, uint8_t next) +{ + uint8_t ns = *(&(screens[current].nextScreen0) + sizeof(uint8_t) * next); + if(ns == NONE) return; + globalVars.currentScreen = ns; +} + void welcome(Arg *arg) { const uint16_t delayMap[] = {0, 50, 0, 99}; @@ -25,7 +34,7 @@ void welcome(Arg *arg) case 0: if(globalVars.panelOrientation != PANEL_UNKNOWN) { - globalVars.currentScreen = screens[SCREEN_WELCOME].nextScreen0; + changeScreen(SCREEN_WELCOME, 0); break; } counter = 0; @@ -57,7 +66,7 @@ void welcome(Arg *arg) break; case 3: if(tb.render()) globalVars.timer = millis(); - if(globalVars.swipeLeft) globalVars.currentScreen = screens[SCREEN_WELCOME].nextScreen0; + if(globalVars.swipeLeft) changeScreen(SCREEN_WELCOME, 0); break; } unhandle(); diff --git a/Dashboard/strings.h b/Dashboard/strings.h index a951e43ebc60c3e59023349c04c1d181dcc8c395..a60664daa78dc7ed510fd9d67de7c102748d7de3 100644 --- a/Dashboard/strings.h +++ b/Dashboard/strings.h @@ -1,9 +1,9 @@ #ifdef LANG_RU_RU #define LANGMASK(n) langmask[n] -const char hello[] PROGMEM = "Привет"; -const char start_prompt[] PROGMEM = "<- Свайпни влево"; -const char pomodoro[] PROGMEM = "Помидор"; -const char set_time[] PROGMEM = "УÑтанови времÑ"; +const char hello[] PROGMEM = "Ghbdtn"; // Привет +const char start_prompt[] PROGMEM = "<- Cdfqgyb dktdj"; // Свайпни влево +const char pomodoro[] PROGMEM = "Gjvbljh"; // Помидор +const char set_time[] PROGMEM = "Ecnfyjdb dhtvz"; // УÑтанови Ð²Ñ€ÐµÐ¼Ñ // Need to make it PROGMEM const uint64_t langmask[] = {0xFF, 0x1FFF, 0xFF, 0xFFFF}; #else diff --git a/Dashboard/textbox.h b/Dashboard/textbox.h index 6506c3330ac4b801a27bee68d57ddcbf4f36cb83..c76bceaa64beccfe3c7a665ebc1e4f3f207cba98 100644 --- a/Dashboard/textbox.h +++ b/Dashboard/textbox.h @@ -55,7 +55,7 @@ textbox::textbox(void) mode = 0; speed = 0; delay = 0; - memset(text, NULL, 64 * sizeof(char)); + memset(text, '\0', 64 * sizeof(char)); langMask = 0; // If 96th symbol is font_null there is no native language except for English native = pgm_read_byte(font[96]) != 0; @@ -68,7 +68,7 @@ void textbox::setup(char _text[], uint64_t _langMask, uint8_t _reciprocal_speed = 0, uint16_t _delay = 0) { // Copy string - memset(text, NULL, 64 * sizeof(char)); + memset(text, '\0', 64 * sizeof(char)); strcpy(text, _text); // Calculating width textlen = strlen(text);