Skip to main content

No project description provided

Project description

license pypi language

gpiodcxx

Installation

sudo apt update \
&& sudo apt install -y python3 python3-dev python3-pip \
    gpiod libgpiod-dev pkg-config
python3 -m pip install -U --user pip gpiodcxx

Blink example

import gpiodcxx
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 = gpiodcxx.chip(LED_CHIP)
led = chip.get_line(LED_LINE_OFFSET)

config = gpiodcxx.line_request()
config.consumer = "Blink"
config.request_type = gpiodcxx.line_request.DIRECTION_OUTPUT

led.request(config)

while True:
    led.set_value(0)
    time.sleep(0.1)
    led.set_value(1)
    time.sleep(0.1)
#include <chrono>
#include <cstdlib>
#include <exception>
#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);

    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-gpiodcxx (0.5.1) UNRELEASED; urgency=medium

  • Rename package from gpiod to gpiodcxx
  • 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for gpiodcxx, version 0.5.1
Filename, size File type Python version Upload date Hashes
Filename, size gpiodcxx-0.5.1.tar.gz (9.6 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page