Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit8133513

Browse files
Add sleep and poweroff buttons
1 parent03a9a5a commit8133513

File tree

1 file changed

+39
-24
lines changed

1 file changed

+39
-24
lines changed

‎internal_filesystem/lib/mpos/ui/__init__.py‎

Lines changed: 39 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -290,8 +290,9 @@ def brightness_slider_released(e):
290290
editor.commit()
291291
slider.add_event_cb(brightness_slider_changed,lv.EVENT.VALUE_CHANGED,None)
292292
slider.add_event_cb(brightness_slider_released,lv.EVENT.RELEASED,None)
293+
drawer_button_pct=31
293294
wifi_btn=lv.button(drawer)
294-
wifi_btn.set_size(lv.pct(40),lv.pct(20))
295+
wifi_btn.set_size(lv.pct(drawer_button_pct),lv.pct(20))
295296
wifi_btn.align(lv.ALIGN.LEFT_MID,0,0)
296297
wifi_label=lv.label(wifi_btn)
297298
wifi_label.set_text(lv.SYMBOL.WIFI+" WiFi")
@@ -300,9 +301,8 @@ def wifi_event(e):
300301
close_drawer()
301302
mpos.apps.start_app_by_name("com.micropythonos.wifi")
302303
wifi_btn.add_event_cb(wifi_event,lv.EVENT.CLICKED,None)
303-
304304
settings_btn=lv.button(drawer)
305-
settings_btn.set_size(lv.pct(40),lv.pct(20))
305+
settings_btn.set_size(lv.pct(drawer_button_pct),lv.pct(20))
306306
settings_btn.align(lv.ALIGN.RIGHT_MID,0,0)
307307
settings_label=lv.label(settings_btn)
308308
settings_label.set_text(lv.SYMBOL.SETTINGS+" Settings")
@@ -312,21 +312,39 @@ def settings_event(e):
312312
mpos.apps.start_app_by_name("com.micropythonos.settings")
313313
settings_btn.add_event_cb(settings_event,lv.EVENT.CLICKED,None)
314314
launcher_btn=lv.button(drawer)
315-
launcher_btn.set_size(lv.pct(40),lv.pct(20))
316-
launcher_btn.align(lv.ALIGN.BOTTOM_LEFT,0,0)
315+
launcher_btn.set_size(lv.pct(drawer_button_pct),lv.pct(20))
316+
launcher_btn.align(lv.ALIGN.CENTER,0,0)
317317
launcher_label=lv.label(launcher_btn)
318-
launcher_label.set_text(lv.SYMBOL.HOME+"Launcher")
318+
launcher_label.set_text(lv.SYMBOL.HOME+"Home")
319319
launcher_label.center()
320320
deflauncher_event(e):
321-
print("Launcher button pressed!")
321+
print("Home button pressed!")
322322
close_drawer(True)
323323
show_launcher()
324324
launcher_btn.add_event_cb(launcher_event,lv.EVENT.CLICKED,None)
325+
sleep_btn=lv.button(drawer)
326+
sleep_btn.set_size(lv.pct(drawer_button_pct),lv.pct(20))
327+
sleep_btn.align(lv.ALIGN.BOTTOM_LEFT,0,0)
328+
sleep_label=lv.label(sleep_btn)
329+
sleep_label.set_text("Zz Sleep")
330+
sleep_label.center()
331+
defsleep_event(e):
332+
print("Sleep button pressed!")
333+
importsys
334+
ifsys.platform=="esp32":
335+
#On ESP32, there's no power off but there's a hundred-year deepsleep.
336+
importmachine
337+
machine.deepsleep(10000)# TODO: make it wakeup when it receives an interrupt from the accelerometer or a button press
338+
else:# assume unix:
339+
# maybe do a system suspend here? or at least show a popup toast "not supported"
340+
close_drawer(True)
341+
show_launcher()
342+
sleep_btn.add_event_cb(sleep_event,lv.EVENT.CLICKED,None)
325343
restart_btn=lv.button(drawer)
326-
restart_btn.set_size(lv.pct(40),lv.pct(20))
327-
restart_btn.align(lv.ALIGN.BOTTOM_RIGHT,0,0)
344+
restart_btn.set_size(lv.pct(drawer_button_pct),lv.pct(20))
345+
restart_btn.align(lv.ALIGN.BOTTOM_MID,0,0)
328346
restart_label=lv.label(restart_btn)
329-
restart_label.set_text(lv.SYMBOL.POWER+" Reset")
347+
restart_label.set_text(lv.SYMBOL.REFRESH+" Reset")
330348
restart_label.center()
331349
defreset_cb(e):
332350
importmachine
@@ -336,27 +354,24 @@ def reset_cb(e):
336354
machine.soft_reset()
337355
else:
338356
print("Warning: machine has no reset or soft_reset method available")
339-
340-
try:
341-
restart_btn.add_event_cb(reset_cb,lv.EVENT.CLICKED,None)
342-
exceptExceptionase:
343-
print("Warning: could not import machine, not adding reset callback")
344-
345-
'''
346-
On ESP32, there's no power off but there's a hundred-year deepsleep.
357+
restart_btn.add_event_cb(reset_cb,lv.EVENT.CLICKED,None)
347358
poweroff_btn=lv.button(drawer)
348-
poweroff_btn.set_size(lv.pct(40),lv.SIZE_CONTENT)
359+
poweroff_btn.set_size(lv.pct(drawer_button_pct),lv.pct(20))
349360
poweroff_btn.align(lv.ALIGN.BOTTOM_RIGHT,0,0)
350361
poweroff_label=lv.label(poweroff_btn)
351-
poweroff_label.set_text(lv.SYMBOL.POWER+"PowerOff")
362+
poweroff_label.set_text(lv.SYMBOL.POWER+" Off")
352363
poweroff_label.center()
353364
defpoweroff_cb(e):
354-
lv.deinit() # Deinitialize LVGL (if supported)
365+
print("Power off action...")
355366
importsys
356-
sys.exit(0)
367+
ifsys.platform=="esp32":
368+
#On ESP32, there's no power off but there's a hundred-year deepsleep.
369+
importmachine
370+
machine.deepsleep(10000)
371+
else:# assume unix:
372+
lv.deinit()# Deinitialize LVGL (if supported)
373+
sys.exit(0)
357374
poweroff_btn.add_event_cb(poweroff_cb,lv.EVENT.CLICKED,None)
358-
'''
359-
360375

361376

362377
EVENT_MAP= {

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp