void print_time(bool type) { int h = hour; int m = minute; if(type == ALARM_TYPE){ h = alarm_hour; m = alarm_minute; } update_timeXPos(h, m); int tempXPos = print_hour(h); tempXPos = print_timeDot(tempXPos, timeYPos); print_minute(m, tempXPos + SPACE_TO_DOTS); }
// shows time based on mode // 4 digits: hour:min / sec // 6 digits: hour:min:sec / hour-min // 8 digits: hour:min:sec / hour-min-sec void show_time(struct tm* t, bool _24h_clock, uint8_t mode) { dots = 0; uint8_t offset = 0; uint8_t hour = _24h_clock ? t->hour : t->twelveHour; print_dots(mode, t->sec); if (mode == 0) { // normal display mode if (digits == 8) { // " HH.MM.SS " if (!_24h_clock && !t->am) offset = print_ch('P', offset); else offset = print_ch(' ', offset); offset = print_hour(hour, offset, _24h_clock); // wm offset = print_digits(t->min, offset); offset = print_digits(t->sec, offset); offset = print_ch(' ', offset); } else if (digits == 6) { // "HH.MM.SS" offset = print_hour(hour, offset, _24h_clock); // wm offset = print_digits(t->min, offset); offset = print_digits(t->sec, offset); } else { // HH.MM offset = print_hour(hour, offset, _24h_clock); // wm offset = print_digits(t->min, offset); } } else if (mode == 1) { // extra display mode if (digits == 8) { // "HH-MM-SS" offset = print_digits(hour, offset); offset = print_ch('-', offset); offset = print_digits(t->min, offset); offset = print_ch('-', offset); offset = print_digits(t->sec, offset); } else if (digits == 6) { // " HH-MM" offset = print_digits(hour, offset); offset = print_ch('-', offset); offset = print_digits(t->min, offset); if (!_24h_clock && !t->am) offset = print_ch('P', offset); else offset = print_ch(' ', offset); } else { // HH.MM if (_24h_clock) { offset = print_ch(' ', offset); offset = print_digits(t->sec, offset); offset = print_ch(' ', offset); } else { if (t->am) offset = print_ch('A', offset); else offset = print_ch('P', offset); offset = print_ch('M', offset); offset = print_digits(t->sec, offset); } } } }