Skip to content

Commit daf9f7d

Browse files
new display mode: only display time
1 parent 0ff6c2a commit daf9f7d

File tree

1 file changed

+124
-19
lines changed

1 file changed

+124
-19
lines changed

display.py

Lines changed: 124 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from machine import Pin, SPI
22
import framebuf
3+
import math
34
import time
45

56
DC = 8
@@ -102,6 +103,117 @@ def restart_display():
102103

103104
oled.fill(0x0000)
104105
oled.show()
106+
107+
def show_time(hour, minute, second):
108+
hour_0 = hour % 10
109+
hour_1 = math.floor(hour / 10)
110+
minute_0 = minute % 10
111+
minute_1 = math.floor(minute / 10)
112+
second_0 = second % 10
113+
second_1 = math.floor(second / 10)
114+
print(f"{hour_1}{hour_0}:{minute_1}{minute_0}:{second_1}{second_0}")
115+
116+
if hour_1 == 0:
117+
oled.fill_rect(3, 16, 4, 14, oled.white)
118+
if hour_1 == 0 or hour_1 == 1:
119+
oled.fill_rect(15, 34, 4, 14, oled.white)
120+
if hour_1 == 0 or hour_1 == 2:
121+
oled.fill_rect(7, 12, 8, 4, oled.white)
122+
oled.fill_rect(3, 34, 4, 14, oled.white)
123+
oled.fill_rect(7, 48, 8, 4, oled.white)
124+
if hour_1 == 0 or hour_1 == 1 or hour_1 == 2:
125+
oled.fill_rect(15, 16, 4, 14, oled.white)
126+
if hour_1 == 2:
127+
oled.fill_rect(7, 30, 8, 4, oled.white)
128+
129+
if hour_0 in [0, 2, 3, 5, 6, 7, 8, 9]:
130+
oled.fill_rect(27, 12, 8, 4, oled.white)
131+
if hour_0 in [0, 4, 5, 6, 8, 9]:
132+
oled.fill_rect(23, 16, 4, 14, oled.white)
133+
if hour_0 in [0, 1, 2, 3, 4, 7, 8, 9]:
134+
oled.fill_rect(35, 16, 4, 14, oled.white)
135+
if hour_0 in [2, 3, 4, 5, 6, 8, 9]:
136+
oled.fill_rect(27, 30, 8, 4, oled.white)
137+
if hour_0 in [0, 2, 6, 8]:
138+
oled.fill_rect(23, 34, 4, 14, oled.white)
139+
if hour_0 in [0, 1, 3, 4, 5, 6, 7, 8, 9]:
140+
oled.fill_rect(35, 34, 4, 14, oled.white)
141+
if hour_0 in [0, 2, 3, 5, 6, 8, 9]:
142+
oled.fill_rect(27, 48, 8, 4, oled.white)
143+
144+
oled.fill_rect(43, 29, 4, 4, oled.white)
145+
oled.fill_rect(43, 35, 4, 4, oled.white)
146+
147+
if minute_1 in [0, 2, 3, 5, 6, 7, 8, 9]:
148+
oled.fill_rect(55, 12, 8, 4, oled.white)
149+
if minute_1 in [0, 4, 5, 6, 8, 9]:
150+
oled.fill_rect(51, 16, 4, 14, oled.white)
151+
if minute_1 in [0, 1, 2, 3, 4, 7, 8, 9]:
152+
oled.fill_rect(63, 16, 4, 14, oled.white)
153+
if minute_1 in [2, 3, 4, 5, 6, 8, 9]:
154+
oled.fill_rect(55, 30, 8, 4, oled.white)
155+
if minute_1 in [0, 2, 6, 8]:
156+
oled.fill_rect(51, 34, 4, 14, oled.white)
157+
if minute_1 in [0, 1, 3, 4, 5, 6, 7, 8, 9]:
158+
oled.fill_rect(63, 34, 4, 14, oled.white)
159+
if minute_1 in [0, 2, 3, 5, 6, 8, 9]:
160+
oled.fill_rect(55, 48, 8, 4, oled.white)
161+
162+
if minute_0 in [0, 2, 3, 5, 6, 7, 8, 9]:
163+
oled.fill_rect(75, 12, 8, 4, oled.white)
164+
if minute_0 in [0, 4, 5, 6, 8, 9]:
165+
oled.fill_rect(71, 16, 4, 14, oled.white)
166+
if minute_0 in [0, 1, 2, 3, 4, 7, 8, 9]:
167+
oled.fill_rect(83, 16, 4, 14, oled.white)
168+
if minute_0 in [2, 3, 4, 5, 6, 8, 9]:
169+
oled.fill_rect(75, 30, 8, 4, oled.white)
170+
if minute_0 in [0, 2, 6, 8]:
171+
oled.fill_rect(71, 34, 4, 14, oled.white)
172+
if minute_0 in [0, 1, 3, 4, 5, 6, 7, 8, 9]:
173+
oled.fill_rect(83, 34, 4, 14, oled.white)
174+
if minute_0 in [0, 2, 3, 5, 6, 8, 9]:
175+
oled.fill_rect(75, 48, 8, 4, oled.white)
176+
177+
if second_1 in [0, 2, 3, 5, 6, 7, 8, 9]:
178+
oled.fill_rect(97, 24, 6, 4, oled.white)
179+
if second_1 in [0, 4, 5, 6, 8, 9]:
180+
oled.fill_rect(93, 28, 4, 8, oled.white)
181+
if second_1 in [0, 1, 2, 3, 4, 7, 8, 9]:
182+
oled.fill_rect(103, 28, 4, 8, oled.white)
183+
if second_1 in [2, 3, 4, 5, 6, 8, 9]:
184+
oled.fill_rect(97, 36, 6, 4, oled.white)
185+
if second_1 in [0, 2, 6, 8]:
186+
oled.fill_rect(93, 40, 4, 8, oled.white)
187+
if second_1 in [0, 1, 3, 4, 5, 6, 7, 8, 9]:
188+
oled.fill_rect(103, 40, 4, 8, oled.white)
189+
if second_1 in [0, 2, 3, 5, 6, 8, 9]:
190+
oled.fill_rect(97, 48, 6, 4, oled.white)
191+
192+
if second_0 in [0, 2, 3, 5, 6, 7, 8, 9]:
193+
oled.fill_rect(115, 24, 6, 4, oled.white)
194+
if second_0 in [0, 4, 5, 6, 8, 9]:
195+
oled.fill_rect(111, 28, 4, 8, oled.white)
196+
if second_0 in [0, 1, 2, 3, 4, 7, 8, 9]:
197+
oled.fill_rect(121, 28, 4, 8, oled.white)
198+
if second_0 in [2, 3, 4, 5, 6, 8, 9]:
199+
oled.fill_rect(115, 36, 6, 4, oled.white)
200+
if second_0 in [0, 2, 6, 8]:
201+
oled.fill_rect(111, 40, 4, 8, oled.white)
202+
if second_0 in [0, 1, 3, 4, 5, 6, 7, 8, 9]:
203+
oled.fill_rect(121, 40, 4, 8, oled.white)
204+
if second_0 in [0, 2, 3, 5, 6, 8, 9]:
205+
oled.fill_rect(115, 48, 6, 4, oled.white)
206+
207+
def show_time_and_date(hour, minute, second, year, month, day):
208+
time_string = f"{hour:02}:{minute:02}:{second:02}"
209+
print(time_string)
210+
oled.text("Time:", 10, 10, oled.white)
211+
oled.text(time_string, 10, 20, oled.white)
212+
213+
date_string = f"{day:02}.{month:02}.{year}"
214+
print(date_string)
215+
oled.text("Date:", 10, 35, oled.white)
216+
oled.text(date_string, 10, 45, oled.white)
105217

106218
def start_display():
107219
oled.fill(0x0000)
@@ -152,28 +264,21 @@ def start_display():
152264
oled.text("Hello World!", 16, 29, oled.black)
153265
oled.show()
154266

155-
def toggle_screensaver(display_on):
267+
def toggle_display_mode():
156268
oled.fill(0x0000)
157269
oled.show()
158270

159-
def update_display(hour, minute, second, year, month, day, display_on):
160-
if display_on:
161-
start_time = time.ticks_ms()
162-
163-
oled.fill(0x0000)
271+
def update_display(hour, minute, second, year, month, day, display_mode):
272+
start_time = time.ticks_ms()
164273

165-
time_string = f"{hour:02}:{minute:02}:{second:02}"
166-
date_string = f"{day:02}.{month:02}.{year}"
274+
oled.fill(0x0000)
167275

168-
print(time_string)
169-
print(date_string)
276+
if display_mode == 0:
277+
show_time_and_date(hour, minute, second, year, month, day)
278+
else:
279+
show_time(hour, minute, second)
170280

171-
oled.text("Time:", 10, 10, oled.white)
172-
oled.text(time_string, 10, 20, oled.white)
173-
oled.text("Date:", 10, 35, oled.white)
174-
oled.text(date_string, 10, 45, oled.white)
175-
176-
oled.show()
177-
178-
end_time = time.ticks_ms()
179-
print(f"Updating Display took: {end_time - start_time} ms")
281+
oled.show()
282+
283+
end_time = time.ticks_ms()
284+
print(f"Updating Display took: {end_time - start_time} ms")

0 commit comments

Comments
 (0)