示例#1
0
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
示例#3
0
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
示例#4
0
def cbSleep(idleTime=None):
    if idleTime == None:
        idleTime = virtualtimers.idle_time()
    gui_redraw = True
    drawTask(True)
    samd.backlight(0)
    system.sleep(idleTime, True)
示例#5
0
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)
示例#6
0
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)
示例#7
0
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)
示例#8
0
def goToSleep():
	onSleep(virtualtimers.idle_time())
示例#9
0
def onSleep(idleTime=None):
    if idleTime == None:
        idleTime = virtualtimers.idle_time()
    gui_redraw = True
    drawTask(True)
    deepsleep.start_sleeping(idleTime)
示例#10
0
def cbSleep(idleTime=None):
    if idleTime == None:
        idleTime = virtualtimers.idle_time()
    system.sleep(idleTime, True)