diff options
| author | Syndamia <kamen.d.mladenov@protonmail.com> | 2020-07-09 00:10:04 +0300 |
|---|---|---|
| committer | Syndamia <kamen.d.mladenov@protonmail.com> | 2020-07-09 00:10:04 +0300 |
| commit | a0e1f16bd0a3c1d9a9476b7c29a6687b6b37897c (patch) | |
| tree | 0d75f99b03e4f2956feebc6b2cba8ba64ce7150d /remihap | |
| parent | d02ca2a130eec444a203dae0d056cf6a76fd0316 (diff) | |
| download | RemiHap-a0e1f16bd0a3c1d9a9476b7c29a6687b6b37897c.tar RemiHap-a0e1f16bd0a3c1d9a9476b7c29a6687b6b37897c.tar.gz RemiHap-a0e1f16bd0a3c1d9a9476b7c29a6687b6b37897c.zip | |
Implimented week days
Diffstat (limited to 'remihap')
| -rw-r--r-- | remihap/remihap.ino | 49 |
1 files changed, 46 insertions, 3 deletions
diff --git a/remihap/remihap.ino b/remihap/remihap.ino index 48123fb..d3c7d03 100644 --- a/remihap/remihap.ino +++ b/remihap/remihap.ino @@ -189,7 +189,8 @@ char maxDays[] = {-1, 31, 28, 31, 30, 31, 30, 31, 31, 30, 30, 30, 31}; int hours = 9; int minutes = 15; int seconds = 0; -int day = 31; +int day = 9; +int weekdayIndex = 4; int month = 7; int year = 2020; char time[17]; @@ -368,6 +369,43 @@ void alarmMenu(char key) } } +/* Weekday menu */ + +char selWeekdayIndex; + +void printWeekdayMenu() { + if (confirm) { + printToLCD(0, MSG_CONFIRM); + } + else { + printToLCD(0, MSG_DAY_NUM); + } + printToLCD(1, " "); +} + +void weekdayMenu(char key) { + switch(key) { + case '1': case '2': case '3': case '4': + case '5': case '6': case '7': + if(!confirm) { + selWeekdayIndex = key - '0'; + confirm = true; + weekdayMenu('~'); + } + break; + case '#': + if(confirm) { + confirm = false; + weekdayIndex = selWeekdayIndex; + weekdayMenu('*'); + } + break; + case 'C': confirm = false; weekdayMenu('~'); break; + case '*': menu = mainMenu; menu('~'); break; + case '~': printWeekdayMenu(); break; + } +} + /* Week menu */ bool waitForDayNum; @@ -430,11 +468,12 @@ void alarmSettingsMenu(char key) void mainMenu(char key) { switch(key) { case 'A': menu = alarmSettingsMenu; menu('~'); break; + case 'B': menu = weekdayMenu; menu('~'); break; case '~': - snprintf(time,17," %02i:%02i:%02i ", hours, minutes, seconds); + snprintf(time,17," %02i:%02i:%02i |A", hours, minutes, seconds); printToLCD(0,time); - snprintf(time,17," %02i/%02i/%04i ", day, month, year); + snprintf(time,17," %c %02i/%02i/%04i |B", weekLetters[weekdayIndex], day, month, year); printToLCD(1,time); } } @@ -487,8 +526,12 @@ void loop() } if (hours > 23) { hours = 0; + weekdayIndex++; day++; } + if(weekdayIndex > 7) { + weekdayIndex = 1; + } if (day > maxDays[month]) { day = 1; month++; |
