Пакеты Python libgpiod и gpiod в Linux?

Я написал небольшую тестовую программу на Python для управления выводами GPIO на Intel Up Xtreme i11. Сначала запустив под NixOS, я ввел пакет как «libgpiod», и все работает. (Менеджеры пакетов MacOS также знают «libgpiod».) Затем я попытался перенести это в мир Ubuntu на том же оборудовании. Но apt и apt-get ничего не знают о libgpiod, они знают только gpiod. пип3 тоже. Итак, я установил gpiod, но расхождения нарастают…

  1. gpiod имеет элемент «чип», а не «чип».
  2. chip.get_line получает ошибку 22 для любого небольшого целого числа, которое я могу найти.

Чего мне не хватает, так это документации. Есть ли где-то что-то, что четко объясняет различие между этими двумя пакетами, которые кажутся похожими, но не являются таковыми? И как на самом деле правильно использовать пакет Ubuntu gpiod в Python?

Кстати, я работаю как root в обоих случаях. Вот код (версия gpiod):

      import gpiod, time

# pins
POWER = 9

chip=gpiod.chip('gpiochip0')
power=chip.get_line(POWER)
power.request(consumer="motor_movement", type=gpiod.LINE_REQ_DIR_OUT)

def run():
    delay = 1.0
    try:
        #power.set_value(0)
        while True:
            power.set_value(1)
            time.sleep(delay)
            power.set_value(0)
            time.sleep(delay)
    finally:
        cleanup()

def cleanup():
    power.release()

if __name__ == "__main__":
    run()

0 ответов

Другие вопросы по тегам