Skip to content

It's time to switch to the linux GPIO device (gpiod)

Notifications You must be signed in to change notification settings

voice-engine/gpio-next

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GPIO NEXT

This is a python ctypes binding for libgpiod.

It's time to switch from the GPIO sysfs interface to gpiod to the linux GPIO character device (gpiod, stands for GPIO device)

Since linux 4.8 the GPIO sysfs interface is deprecated. User space should use the character device instead. This library encapsulates the ioctl calls and data structures behind a straightforward API.

from kernel.org

Requirements

  • libgpiod1

Install

sudo apt install libgpiod1
pip install gpio-next

Usage

  1. turn on/off an LED
import time
from gpio_next import Output

LED = Output(64, default_value=0)
for i in range(10):
    LED.write(i & 1)
    time.sleep(1)
  1. detect button events
from gpio_next import Input

button = Input(203)

for i in range(10):
    print(button.wait())
    print(button.read())