Skip to content

gustavsl/pygpiod

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pygpiod

A simple Python wrapper for the libgpiod Python bindings

The libgpiod Python bindings are not very straightforward to use and they lack proper documentation besides the examples.

I've created this simple library to provide an easy-to-use interface to those libs.

This library also makes it easier to set up and use a GPIO by its line-name instead of gpiochip lines/offsets.

Requirements

libgpiod and its Python bindings.

On Debian/Ubuntu:

sudo apt install libgpiod2 python3-libgpiod

Examples

GPIO write

from gpio import GPIO
import time

myGpio = GPIO()

# Get the GPIO by its gpio-line-name on the device tree!

# Setting up GPIO on SODIMM 138 on a Toradex Colibri module
myGpio.setup("SODIMM_138", GPIO.OUT)

# Example: Setting up GPIO on GPIO22 on a Raspberry Pi 3
# myGpio.setup("GPIO22", GPIO.OUT)

myGpio.write(GPIO.HIGH)

time.sleep(1)

myGpio.write(GPIO.LOW)

GPIO write & read

from gpio import GPIO
import time

myGpio = GPIO()

# Get the GPIO by its gpio-line-name on the device tree!

# Setting up GPIO on SODIMM 138 on a Toradex Colibri module
myGpio.setup("SODIMM_138", GPIO.OUT)

# Example: Setting up GPIO on GPIO22 on a Raspberry Pi 3
# myGpio.setup("GPIO22", GPIO.OUT)

myGpio.write(GPIO.HIGH)
print(myGpio.read())

time.sleep(1)

myGpio.write(GPIO.LOW)
print(myGpio.read())

time.sleep(1)

TODO

  • GPIO toggle
  • GPIO set pull-up/pull-down

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages