def pm_task(): ''' The power management task [internal function] ''' global requestedStandbyTime global timeout global disabled if disabled: return timeout idleTime = virtualtimers.idle_time() usbStayAwake = False try: import badge usbStayAwake = badge.usb_attached() and machine.nvs_get_u8( 'system', 'usb_stay_awake') except: pass if idleTime > 30000 and (not usbStayAwake): global onSleepCallback if not onSleepCallback == None: print("[Power management] Running onSleepCallback...") try: onSleepCallback(idleTime) except BaseException as e: print("[ERROR] An error occured in the on sleep callback.") sys.print_exception(e) system.sleep(idleTime, False) return timeout
def pm_task(): ''' The power management task [internal function] ''' global requestedStandbyTime global timeout global disabled if disabled: return timeout idleTime = virtualtimers.idle_time() if idleTime > 30000 and not badge.safe_mode() and not ( usb_attached() and badge.nvs_get_u8('badge', 'usb_stay_awake', 0) != 0): global onSleepCallback if not onSleepCallback == None: print("[Power management] Running onSleepCallback...") try: onSleepCallback(idleTime) except BaseException as e: print("[ERROR] An error occured in the on sleep callback.") sys.print_exception(e) deepsleep.start_sleeping(idleTime) return timeout
def pm_task(): ''' The power management task [internal function] ''' global requestedStandbyTime idleTime = virtualtimers.idle_time() #print("[Power management] Next task wants to run in "+str(idleTime)+" ms.") if idleTime > 30000 and not badge.safe_mode() and not ( usb_attached() and badge.nvs_get_u8('badge', 'usb_stay_awake', 0) != 0): global onSleepCallback if not onSleepCallback == None: print("[Power management] Running onSleepCallback...") try: onSleepCallback(idleTime) except BaseException as e: print("[ERROR] An error occured in the on sleep callback.") sys.print_exception(e) if idleTime >= 86400000: # One day print("[Power management] Sleeping forever...") deepsleep.start_sleeping() else: print("[Power management] Sleeping for " + str(idleTime) + " ms...") deepsleep.start_sleeping(idleTime) global userResponseTime return userResponseTime
def cbSleep(idleTime=None): if idleTime == None: idleTime = virtualtimers.idle_time() gui_redraw = True drawTask(True) samd.backlight(0) system.sleep(idleTime, True)
def cbSleep(idleTime=None): global stopThreads neopixel.send(bytes([0x00] * 3 * 12)) if idleTime == None: idleTime = virtualtimers.idle_time() gui_redraw = True stopThreads = True drawTask(True) display.flush() time.sleep(0.1) system.sleep(idleTime, True)
def onSleep(idleTime=None): if idleTime == None: idleTime = virtualtimers.idle_time() gui_redraw = True drawTask(True) if (idleTime >= 86400000): #One day idleTime = 0 if idleTime < 1: term.header(True, "Sleeping until touchbutton is pressed...") else: term.header(True, "Sleeping for " + str(idleTime) + "ms...") system.sleep(idleTime)
def cbSleep(idleTime=None): global ledTask, scrollerTask neopixel.send(bytes([0x00] * 3 * 12)) if idleTime == None: idleTime = virtualtimers.idle_time() gui_redraw = True virtualtimers.delete(scrollerTask) virtualtimers.delete(ledTask) display.windowHide("scroller") drawTask(True) display.flush() time.sleep(0.1) system.sleep(idleTime, True)
def goToSleep(): onSleep(virtualtimers.idle_time())
def onSleep(idleTime=None): if idleTime == None: idleTime = virtualtimers.idle_time() gui_redraw = True drawTask(True) deepsleep.start_sleeping(idleTime)
def cbSleep(idleTime=None): if idleTime == None: idleTime = virtualtimers.idle_time() system.sleep(idleTime, True)