예제 #1
0
def waitRelease(i, state):
    easydraw.messageCentered("ACTION\nRelease " + pinToName[i] + "\n(" +
                             state + ")")
    print("(" + state + ") ACTION: Release " + pinToName[i])
    while mpr121.get(i):
        time.sleep(0.01)
    print("OK")
예제 #2
0
def waitTouch(i, state):
    easydraw.messageCentered("ACTION\nPress " + pinToName[i] + "\n(" + state +
                             ")")
    print("(" + state + ") ACTION: Press " + pinToName[i])
    while not mpr121.get(i):
        time.sleep(0.01)
    print("OK")
예제 #3
0
def value(button):
    # Reads the state of a button
    global _buttons, __mprMap, __num
    if button < 0 or button >= __num:
        raise ValueError("Invalid button!")
    if button == BTN_FLASH:
        return not _buttons.pin(0).value()  # This input has is active LOW
    else:
        return mpr121.get(__mprMap[button])
예제 #4
0
        time.sleep(0.01)
    print("OK")


if use_verification:
    easydraw.messageCentered("CALIBRATION\nVerification...")
    for i in range(12):
        if not isTouch[i]:
            continue
        elif isTooLow[i]:
            #easydraw.msg("(low)")
            waitTouch(i, "too low")
            waitRelease(i, "too low")
        elif isTooHigh[i]:
            #easydraw.msg("(high)")
            waitTouch(i, "too high")
            waitRelease(i, "too high")

easydraw.messageCentered("CALIBRATION\nWaiting for release...")

for i in range(12):
    if mpr121.isTouch(i) and mpr121.get(i):
        waitRelease(i, "check")

easydraw.messageCentered("CALIBRATION\nSaving to NVS...")

for i in range(12):
    machine.nvs_set_u16("system", "mpr121.base." + str(i), baseLine[i])

easydraw.messageCentered("CALIBRATION\nOK")
예제 #5
0
def waitRelease(i):
    easydraw.msg("ACTION: Release button " + str(i))
    while mpr121.get(i):
        pass
예제 #6
0
def waitTouch(i):
    easydraw.msg("ACTION: Press button " + str(i))
    while not mpr121.get(i):
        pass
예제 #7
0
        pass


for i in range(12):
    if not isTouch[i]:
        continue
    elif isTooLow[i]:
        easydraw.msg(str(i) + ". Too low!")
        waitTouch(i)
        waitRelease(i)
    elif isTooHigh[i]:
        easydraw.msg(str(i) + ". Too high!")
        waitTouch(i)
        waitRelease(i)

for i in range(12):
    if mpr121.getDefaultBaseline(i) > 0:
        print(i, mpr121.getDefaultBaseline(i), baseLine[i], "=",
              baseLine[i] - mpr121.getDefaultBaseline(i))

for i in range(12):
    if mpr121.getDefaultBaseline(i) > 0 and mpr121.get(i):
        waitRelease(i)

easydraw.msg("Check passed.")

for i in range(12):
    machine.nvs_set_u16("system", "mpr121.base." + str(i), baseLine[i])

easydraw.msg("Calibration stored to NVS!")