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