No project description provided
Project description
python3-gpiod
Ref: https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git
Installation
sudo apt update \
&& sudo apt install -y python3 python3-pip gpiod
python3 -m pip install -U --user pip gpiod
help command
>>> import gpiod
>>> help(gpiod)
>>> help(gpiod.libgpiodcxx)
>>> help(gpiod.libgpiodcxx.chip)
>>> help(gpiod.libgpiodcxx.chip.get_line)
Test
python3 -m gpiod.test.blink <chip> <line offset>
python3 -m gpiod.test.bulk_blink <chip> <line offset1> [<line offset2> ...]
python3 -m gpiod.test.sequential_blink <chip> <line offset1> \
[<line offset2> ...]
python3 -m gpiod.test.button <chip> <line offset> [rising|falling|both]
python3 -m gpiod.test.bulk_button <chip> <line offset> [<line offset2> ...]
<[rising|falling|both]>
Blink example
Python3
import gpiod
import sys
import time
if len(sys.argv) > 2:
LED_CHIP = sys.argv[1]
LED_LINE_OFFSET = int(sys.argv[2])
else:
print('''Usage:
python3 blink.py <chip> <line offset>''')
sys.exit()
chip = gpiod.chip(LED_CHIP)
led = chip.get_line(LED_LINE_OFFSET)
config = gpiod.line_request()
config.consumer = "Blink"
config.request_type = gpiod.line_request.DIRECTION_OUTPUT
led.request(config)
print(led.consumer)
while True:
led.set_value(0)
time.sleep(0.1)
led.set_value(1)
time.sleep(0.1)
#include <chrono>
#include <cstdlib>
#include <gpiod.hpp>
#include <iostream>
#include <string>
#include <thread>
int main(int argc, char **argv) {
std::string LED_CHIP;
int LED_LINE_OFFSET;
if(argc > 2) {
LED_CHIP = argv[1];
LED_LINE_OFFSET = std::stoi(argv[2]);
} else {
std::cout << "Usage:" << std::endl
<< " ./blink <chip> <line offset>" << std::endl;
std::exit(0);
}
gpiod::chip chip(LED_CHIP);
gpiod::line led = chip.get_line(LED_LINE_OFFSET);
gpiod::line_request config;
config.consumer = "Blink";
config.request_type = gpiod::line_request::DIRECTION_OUTPUT;
led.request(config);
std::cout << led.consumer() << std::endl;
while(1) {
led.set_value(0);
std::this_thread::sleep_for(std::chrono::milliseconds(100));
led.set_value(1);
std::this_thread::sleep_for(std::chrono::milliseconds(100));
}
}
g++ -o blink test.cpp -lgpiodcxx
Changelog
Ref: CHANGELOG
python3-gpiod (1.0.0) unstable; urgency=medium
- libgpiod: call libgpiod.so using ctypes
- libgpiodcxx: implement chip class
- libgpiodcxx: implement line class
- libgpiodcxx: implement line_bulk class
- libgpiodcxx: implement line_event class
- libgpiodcxx: implement line_request class
-- Hyeonki Hong hhk7734@gmail.com Wed, 15 Apr 2020 03:47:31 +0900
python3-gpiod (0.6.0) unstable; urgency=medium
- Fix issue where 'setup.py clean' is not executed
- Correct error messages to be noticeable
- Fix iterator in line_bulk class
-- Hyeonki Hong hhk7734@gmail.com Thu, 02 Apr 2020 14:55:17 +0900
python3-gpiod (0.5.4) unstable; urgency=medium
- Update README.md
-- Hyeonki Hong hhk7734@gmail.com Mon, 30 Mar 2020 20:04:10 +0900
python3-gpiod (0.5.3) unstable; urgency=medium
- Add std::bitset<32> type caster
-- Hyeonki Hong hhk7734@gmail.com Thu, 26 Mar 2020 11:39:33 +0900
python3-gpiod (0.5.2) unstable; urgency=medium
- Add documentation for tested methods
- Add test code
- Update README.md
-- Hyeonki Hong hhk7734@gmail.com Fri, 20 Mar 2020 13:17:41 +0900
python3-gpiod (0.5.1) unstable; urgency=medium
- Move xxx class into xxx_wrapper.h
- Add blink test module
-- Hyeonki Hong hhk7734@gmail.com Fri, 20 Mar 2020 00:58:05 +0900
python3-gpiod (0.5.0) unstable; urgency=medium
- Add pybind11/chrono.h for std::chrono
- Prevent installation if libgpiodcxx v1.0 or lower
- Add xxx_lines into chip class
- Add operators
- Add MAX_LINES attribute
- Fix issue where 'setup.py sdist' is not executed
-- Hyeonki Hong hhk7734@gmail.com Sat, 14 Mar 2020 02:37:13 +0900
python3-gpiod (0.4.1) unstable; urgency=medium
- Fix issue where pip does not install dependencies
-- Hyeonki Hong hhk7734@gmail.com Thu, 12 Mar 2020 19:11:24 +0900
python3-gpiod (0.4.0) unstable; urgency=medium
- Add libgpiodcxx version check
- Remove -std=c++11 option
- Add line_bulk, chip_iter, line_iter classes
-- Hyeonki Hong hhk7734@gmail.com Thu, 12 Mar 2020 14:18:16 +0900
python3-gpiod (0.3.0) unstable; urgency=medium
- Add open, reset function
- Add LICENSE
- Create README.md
-- Hyeonki Hong hhk7734@gmail.com Wed, 11 Mar 2020 18:58:14 +0900
python3-gpiod (0.2.0) unstable; urgency=medium
- Add chip, line_request, line, line_event class
-- Hyeonki Hong hhk7734@gmail.com Wed, 11 Mar 2020 13:28:45 +0900
python3-gpiod (0.1.0) unstable; urgency=medium
- Add initial setup files
-- Hyeonki Hong hhk7734@gmail.com Tue, 10 Mar 2020 15:40:13 +0900
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.