コード例 #1
0
ファイル: keypad.py プロジェクト: koenschepens/OldPhone
def setRowEvents(row, mode):
    global bounceTime
    global rowsWithColumns
    if mode == KEYPAD_MODE_READROWS:
        # Set row to IN
        if GPIO.gpio_function(row) == GPIO.IN:
            logging.warning("Pin " + str(row) + " already set to IN")

        GPIO.setup(row, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
        # GPIO.add_event_detect(row, GPIO.RISING, callback=row_changed, bouncetime=bounceTime)

        # Set columns to OUT
        for column in rowsWithColumns[row]:
            if GPIO.gpio_function(column) == GPIO.OUT:
                logging.warning("Pin " + str(column) + " already set to OUT")
            else:
                GPIO.setup(column, GPIO.OUT, initial=1)
    else:
        # Set row to OUT
        # GPIO.remove_event_detect(row)
        if GPIO.gpio_function(row) == GPIO.OUT:
            logging.warning("Pin " + str(row) + " already set to OUT")
        else:
            GPIO.setup(row, GPIO.OUT, initial=1)

        # Set columns to IN
        for column in rowsWithColumns[row]:
            if GPIO.gpio_function(column) == GPIO.IN:
                logging.warning("Pin " + str(column) + " already set to IN")

            GPIO.setup(column, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)