未提供项目说明

gpiodcxx的Python项目详细描述


licensepypilanguage

Python3 gpiodcxx

参考号:https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git

安装

sudo apt update \&& sudo apt install -y python3 python3-dev python3-pip \
    gpiod libgpiod-dev pkg-config
^{pr2}$

如果您看到“OSError:pkg config:Failed to find libgpiodcxx。”,则需要手动安装libgpiodcxx。在

sudo apt purge -y gpiod libgpiod-dev
sudo apt install -y git autoconf-archive
git clone git://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git \&&cd libgpiod

如果内核版本是5.4或更低版本,请使用git checkout v1.4.2更改版本(将其更改为低于v1.5)

./autogen.sh --enable-tools=yes --prefix=/usr --enable-bindings-cxx \&& make \&& sudo make install
python3 -m pip install -U --user gpiodcxx

help命令

>>>importgpiodcxx>>>help(gpiodcxx)>>>help(gpiodcxx.chip)>>>help(gpiodcxx.chip.get_line)Helponinstancemethodinmodulegpiodcxx._gpiod:get_line(...)get_line(self:gpiodcxx._gpiod.chip,offset:int)->gpiod::line/***@briefGetthelineexposedbythischipatgivenoffset.*@paramoffsetOffsetoftheline.*@returnLineobject.*/

试验

python3 -m gpiodcxx.test.blink <chip> <line offset>
python3 -m gpiodcxx.test.blinks <chip> <line offset1> [<line offset2> ...]
python3 -m gpiodcxx.test.button <chip> <line offset> [rising|falling|both]

眨眼示例

Python3

importgpiodcxximportsysimporttimeiflen(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_OUTPUTled.request(config)whileTrue:led.set_value(0)time.sleep(0.1)led.set_value(1)time.sleep(0.1)

C++ +EH3>
#include<chrono>#include<cstdlib>#include<gpiod.hpp>#include<iostream>#include<string>#include<thread>intmain(intargc,char**argv){std::stringLED_CHIP;intLED_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::chipchip(LED_CHIP);gpiod::lineled=chip.get_line(LED_LINE_OFFSET);gpiod::line_requestconfig;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

变更日志

参考:变更日志

python3 gpiodcxx(0.6.0)不稳定;紧急程度=中等

  • 将包名称从gpiod更改为gpiodcxx

--Hyeonki Honghhk7734@gmail.com星期四,2020年3月26日14:08:29+0900

python3 gpiod(0.5.3)不稳定;紧急程度=中等

  • 添加std::bitset<;32>;type caster

--Hyeonki Honghhk7734@gmail.com星期四,2020年3月26日11:39:33+0900

python3gpiod(0.5.2)不稳定;紧急程度=中等

  • 添加测试方法的文档
  • 添加测试代码
  • 更新自述文件.md在

--Hyeonki Honghhk7734@gmail.com星期五,2020年3月20日13:17:41+0900

python3 gpiod(0.5.1)不稳定;紧急程度=中等

  • 将xxx类移到xxx_wrapper.h中
  • 添加闪烁测试模块

--Hyeonki Honghhk7734@gmail.com星期五,2020年3月20日00:58:05+0900

python3 gpiod(0.5.0)不稳定;紧急程度=中等

  • 为std::chrono添加pybind11/chrono.h
  • 如果libgpiodcxx v1.0或更低版本,则阻止安装
  • 在芯片类中添加xxx线
  • 添加运算符
  • 添加最大行属性
  • 解决问题在哪里'设置.pysdist'未执行

--Hyeonki Honghhk7734@gmail.com周六,2020年3月14日02:37:13+0900

python3 gpiod(0.4.1)不稳定;紧急程度=中等

  • 修复pip不安装依赖项的问题

--Hyeonki Honghhk7734@gmail.com星期四,2020年3月12日19:11:24+0900

python3 gpiod(0.4.0)不稳定;紧急程度=中等

  • 添加libgpiodcxx版本检查
  • 删除-std=c++11选项
  • 添加line_bulk、chip_iter、line_iter类

--Hyeonki Honghhk7734@gmail.com星期四,2020年3月12日14:18:16+0900

python3 gpiod(0.3.0)不稳定;紧急程度=中等

  • 增加开启、复位功能
  • 添加许可证
  • 创建自述文件.md在

--Hyeonki Honghhk7734@gmail.com星期三,2020年3月11日18:58:14+0900

python3 gpiod(0.2.0)不稳定;紧急程度=中等

  • 添加chip、line_请求、line、line\u事件类

--Hyeonki Honghhk7734@gmail.com星期三,2020年3月11日13:28:45+0900

python3 gpiod(0.1.0)不稳定;紧急程度=中等

  • 添加初始安装文件

--Hyeonki Honghhk7734@gmail.com周二,2020年3月10日15:40:13+0900

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaSpringBootHibernate5忽略@Table和@Column   java readLine是如何工作的?   java除了Oracle的JVM(windows)之外,还有什么BSD许可的替代方案吗?   javascript处理程序执行导致异常:所需的MultipartFile参数“file”不存在   java如何检查url是否与标识符匹配?   java在对象创建之后实现一个接口   java安卓:如何将github库放入项目中   java如何制作自定义文本组件?   如何在java中更新属性文件   java Hibernate持久映射   JavaSpring批处理如何从postgres读取数据,然后在步骤中写入数据   java应用程序已在Android Emulator Eclipse中停止   java找不到参数[org.jetbrains.kotlin:kotlinstdlibjdk7:1.3.50]的方法实现()   java AWS DynamoDB如何从数据库中获取只有一个字段的对象   在使用ajax进行表单提交时,java无法阻止默认表单提交   集合如何在Java中定义基于两个变量进行比较的比较器   多线程基准测试Java中的多线程集合   java如何通过浏览器运行终端程序?