一种控制芯片io通道的模块

CHIP-IO的Python项目详细描述


芯片IO
一个芯片GPIO库

debian文件安装:


github.io/chip-io-u releases/index.html

构建基本python dev python pip flex bison chip dt overlays-y
git clone git://github.com/xtacocorex/chip_io.git
cd chip_io
sudo python setup.py install
cd..

python3的基本python3 dev python3 pip flex bison chip dt overlays-y
git clone git://github.com/xtacocorex/chip-io.git
cd chip-io
sudo python3 setup.py install
cd..


python2.7::

sudo apt get update
sudo apt get install git build essential python dev python pip flex bison chip dt overlays-y
sudo pip install chip-io

对于python3::

sudo apt get update
sudo apt get install git build essential python3 dev python3 pip flex bison chip dt overlays-y
sudo pip3 install chip-io

**用法**

下面是一些示例。


需要gpio、pwm(hw和/或sw)和overlay manager的所有脚本都需要以超级用户权限运行!

**库的允许管脚名称**

下表是库可以使用的允许管脚名称。name列是在芯片头上使用的普通名称,alt name列是pocketchip头使用的值(如果它断开了),而key是头和pin号,pin在物理上位于这个位置。这三种方法中的任何一种都可以在芯片IO中指定管脚。

+————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————+———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————|
+————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————| PWM0 U13芯片/芯片Pro否——+————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————IP/芯片Pro无
+——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————----+———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————D-D10 U13芯片否
+—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————+—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————|芯片否
+———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————|LCD-D15 U13芯片否
+—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————+————————————————————————————————————————————————————————————————————————————————————————————————————————————————-+-————————————————————————————————————————————————————————————|芯片否
+———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————---——+—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————| LCD-VSync U13芯片否
+—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————R/>+———————————————————————————————————————————————————————————————————————————|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------编号:1241;第1241-TX号;第1244-TX号;第U14-U3-1244号;CHIP/CHIP Pro-1244号;第1240号 |
+------------------+--------------------------+----------------+-----------------+-----------------+
| UART1-RX | UART-RX | U14_5 | CHIP/CHIP PRO | NO |
+------------------+--------------------------+----------------+-----------------+-----------------+
| LRADC | ADC | U14_11 | CHIP/CHIP PRO | NO |
+------------------+--------------------------+----------------+-----------------+-----------------+
| XIO-P0 | XIO-P0 | U14_13 | CHIP | YES |
+------------------+--------------------------+----------------+-----------------+-----------------+
| XIO-P1 | XIO-P1 | U14_14 | CHIP | YES |
+------------------+--------------------------+----------------+-----------------+-----------------+
| XIO-P2 | GPIO1 | U14_15 | CHIP | YES |
+------------------+--------------------------+----------------+-----------------+-----------------+
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------BR/>124;Xio-P4′124;GPIO3′124;U14′U17′124;CHIP′124;和ES |
+------------------+--------------------------+----------------+-----------------+-----------------+
| XIO-P5 | GPIO4 | U14_18 | CHIP | YES |
+------------------+--------------------------+----------------+-----------------+-----------------+
| XIO-P6 | GPIO5 | U14_19 | CHIP | YES |
+------------------+--------------------------+----------------+-----------------+-----------------+
| XIO-P7 | GPIO6 | U14_20 | CHIP | YES |
+------------------+--------------------------+----------------+-----------------+-----------------+
| AP-EINT1 | KPD-INT | U14_23 | CHIP/CHIP PRO | YES |
+------------------+--------------------------+----------------+-----------------+-----------------+
| AP-EINT3 | AP-INT3 | U14_24 | CHIP/CHIP PRO | YES |
+------------------+--------------------------+----------------+-----------------+-----------------+1240;Tw2-SCK′124;I2C-SCL′124;U14′U26′124;CHIP/CHIP pro| NO |
+------------------+--------------------------+----------------+-----------------+-----------------+
| CSIPCK | SPI-SEL | U14_27 | CHIP/CHIP PRO | NO |
+------------------+--------------------------+----------------+-----------------+-----------------+
| CSICK | SPI-CLK | U14_28 | CHIP/CHIP PRO | NO |
+------------------+--------------------------+----------------+-----------------+-----------------+
| CSIHSYNC | SPI-MOSI --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------——————————————————————————————————————————————————————————————————————————————————————D12124; U14 the 31the 1244; CHIP /CHIP PROPROPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLAPLA;< br />————————————————————————————————————————————————————————————————————————-????????????????????????????????????????????????????????????????U14-U 35quip/chip/chip proproprop124;no--124;;<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<-----------?????????????????????????????????????????????????????????????????br/><1244;csid71244D7;D71244;U1444;U1414124;芯片——————————————————————————————————————————————————————————————————————————--————————————————————————————————————————————————————————————————————————————————quiquip proproproproprop124;做复述124;<<<<<<<<<<<<<<<-————————————————————————————————————————————————————————————————————————————————————————————————您也可以参考基于其AlternaterAlternaterAlternaterAlternaterName的基于的AlternaterAlternaterAlternaterAlternaterName::<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>GPIO./>您可以使用以下命令确定硬件是否为chip/chip pro:

'35;确定硬件
'35;0表示chip
'35;1表示chip pro
gpio。是chip pro()

**br/>

设置pin以进行输出,并写入gpio.high或gpio.low。或者可以使用1或0。:


import chip io.gpio as gpio
gpio.setup("csid0",gpio.out)
gpio.output("csid0",gpio.high)

**gpio input**


输入与输出工作类似。:


将芯片io.gpio导入为gpio
gpio.setup("csid0",gpio.in)


设置管脚时的其他选项::

ull_up_down=gpio.pud_up)

允许的值是:pud_u off、pud_u up和pud戋u down。


轮询输入::


if gpio.input("csid0"):
print("high")
否则:
print("low")


读取大量数据::

"

打开("xio-p3",gpio.in)

在芯片上。

waiting for an edge(gpio.rising,gpio.falling,或gpio.both::



detection event s::

gpio.setup("xio-p0",gpio.in)
gpio.add廑event廑u detect("xio-p0",gpio.falling)
r/>
检测位置:
如果检测到gpio.event(xio-p0):
打印"检测到事件!"

芯片IO还可以处理在任何支持边缘检测的管脚上添加回调函数。请注意,每个管脚只能指定一个回调函数,如果尝试设置更多,则会引发异常。::

print("we hit the edge we want")


对于下降沿
gpio.add_event_detect("gpio3",gpio.falling)
gpio.add_event_callback("gpio3",mycallback)




d_event戋u detect()和gpio.add戋event戋u callback()
gpio.add戋event戋u detect("gpio3",gpio.falling,bouncetime=300)
gpio.add戋event戋u callback("gpio3",gpio.rising,mycallback,bouncetime=300)

**gpio clean up**


#清除每个导出的GPIO管脚
gpio.clean up()

要使用。
::
将芯片io.pwm导入为pwm
e有效值0(关)到100(开)
pwm.start("pwm0",50)
pwm.set_占空比("pwm0",25.5)
pwm.set_频率("pwm0",10)


启动时与1的极性:
pwm.start("pwm0",50,2000,1)


**softpwm**:



spwm.start(信道,占空比,频率=2000,极性=0)
m.stop("xio-p7")

cleanup
spwm.cleanup()

对于特定极性:此示例在启动时将极性设置为1:
spwm.start("xio-p7",50,2000,1)

使用低速(数百赫兹)软脉宽调制以获得最佳结果。不要用于任何需要高精度或高可靠性的场合。

如果同时使用软pwm和pwm,请将芯片软pwm作为spwm或与pwm不同的东西导入,以免混淆库。

**伺服**:


将芯片伺服作为伺服导入
对于chip
1对于chip pro
servo.is_chip_pro()

伺服启动("csid4",50)
伺服角度设置("csid4",25.5)
伺服范围设置("csid4",90)

停止伺服
伺服停止("csid4")

清理
伺服清理()

xio太慢,无法控制。

**lradc**:


4.4.13-ntc-mlc中启用了lradc。这是一个6位ADC,具有2伏耐受能力。
下面的示例代码详细说明了如何与lradc通信。:


设置lradc


设置采样率
adc。设置采样率

获取当前采样率
currentRate=adc。获取采样率

获取原始通道0或1数据
raw=adc。获取原始通道0分解的ADC通道数据
fulldata=adc.get_chan0()
fulldata=adc.get_chan1()

**spi**:

spi需要DTB覆盖才能访问。芯片IO不包含任何特定于SPI的代码,因为python spidev模块可以在看到SPI总线时工作。

**覆盖管理器**:


覆盖管理器使您能够快速加载简单的设备树覆盖。加载选项有:
pwm0、spi2、cust。覆盖管理器足够智能,可以确定您是否尝试在Chip Pro上加载脉宽调制,并且由于Chip Pro支持PWM0/1即开即用的基本DTB而失败。

一次只能加载每种覆盖类型中的一种,但所有三个选项都可以同时加载。因此,可以在没有pwm0的情况下使用spi2,但不能加载两次spi2。
::
将chip_io.overlaymanager导入为om
toggle_debug()函数打开/关闭调试打印
om.toggle_debug()

0"

要验证覆盖是否正确加载,get函数返回布尔值
om.get pwm loaded()
om.get spi loaded()

要卸载覆盖,请输入要卸载的名称()
om.unload("pwm0")

verlaymanager作为om需要指定dtbo文件的完整路径
om.load("cust","/home/chip/projects/myfunproject/overlays/mycustomoverlay.dtbo")

/>
启动期间未启用此电压轨。

设置v8引脚电压(2.0)


/>设置2.6v输出
设置v8引脚电压(2.6)

/>/>设置3.3v输出
ut设置v8引脚电压(3.3)


;禁用1.8v输出
ut。禁用v8引脚电压(3.3)



;禁用1.8v输出


;获取当前配置的配置,获取当前配置的配置。电压(如果pin未作为输出启用)
ut.get_1v8_pin_voltage()


/>**运行测试**

安装py.test以运行测试。您还需要py.test的python编译器包。:

python 2.7
sudo apt get install python pytest
python 3
sudo apt get install python3 pytest

要运行测试,请执行以下操作。:

/>#python 2
sudo make pytest2
python 3
sudo make pytest3
.
beaglebone io python库最初是从ben croston编写的麻省理工学院许可的[rpi.gpio]库(https://code.google.com/p/raspberry-gpio-python)中派生出来的。

**许可证**


Robert Wolterman的芯片IO端口,根据麻省理工学院许可证发布。
beaglebone IO贾斯汀库珀写的图书馆,阿达弗利特工业。beaglebone io python库是在mit许可下发布的。
0.7.1
--
*合并到pr中79
*合并到pr中80
*添加了通知用户gpio设置方向的消息retry


0.7.0
--
*添加了仅将gpio指定为数字的功能,这不适用于pwm/spwm/lradc/lradc/伺服


>0.6.2
-
-
是的我的文档添加了
*结束语74


0.5.9
--
*合并的pr 70使底层c代码能够在基于c的代码中正确使用
*更新的自述文件添加了芯片pro上丢失的管脚,这些管脚可用作gpio
*更新的自述文件表示边缘d可用的管脚检测

0.5.8
--
*为chip pro添加了3个管脚,允许设置回调和边缘检测以结束问题68


0.5.7
--
*在chip pro上添加了i2s管脚,使其具有GPIO能力/>*修复问题63,其中重新设置的pin不符合rpi.gpio标准。第一次调用安装程序后,现在将更新方向。
*自述文件更新以指出缺少的direction()函数


0.5.5
--
*fix for issue 62,其中使用xio的备用名称将由于尝试设置上/下电阻器setti而导致segfultng

0.5.4
--
*根据问题重新启用了脉冲宽度调制的极性设置t对于pwm,我们可以设置极性

>0.5.3
--
*对pwm pytest进行修复
*为lradc和实用程序添加pytest
*对所有东西进行文件更新


>0.5.2
--
*更新实用程序以更好地确定chip pro
*更新readme以修复

0.5.0
--
*Chip Pro支持
*自述文件更新

<0.4.0
--
*添加的软件伺服代码
-仅在LCD和CSI管脚上有效
*对软脉宽调制和伺服的固定清除功能
-软脉宽调制的每管脚清除功能不工作,因为stop()清除使用的pin
-伺服代码基于软pwm,因此它继承了这个问题

使用brettcvz的read_byte()和我的read_word()
*我终于修复了gpio.cleanup()代码one for all

0.3.4.1
--
*快速修复了xio设置作为输入,并启用了pud


0.3.4
---
*上拉/下拉电阻器设置现在可用于R8 GPIO。
*一些常规清理


>0.3.3
----
*添加了所有功能的调试打印,使用toggle_debug()函数
*从@streamnsight for pwm添加了两个函数,允许设置脉冲宽度和脉冲宽度,均以纳秒为单位
*使用NTC覆盖层而不是我的覆盖层修复了SPI2覆盖层材料。


0.3.2
----
*修复问题53以处理在脉冲宽度调制启用中设置的函数的返回值。
*开始对55


0.3.1
----
*修复问题50,在未指定输入时,我中断了gpio.cleanup()和softpwm.cleanup()。

<0.3.0
----
*为gpio添加了setmode()函数以保持与raspberry pi脚本的兼容性,此函数实际上什么也不做ITY用于GPIO和SoftPWM,因此您可以在不取消每个管脚的情况下取消管脚的导出
*更新了自述文件,使边缘检测措辞更好一些,并添加了每个管脚的清除代码
*版本更新,因为我在Github上浏览了3期,感觉我们需要一个0.3


0.2.7
----
*在浮点上不允许对启用的1.8V管脚代码进行修复,因为它由于位移位而无法工作。
*更新了自述文件以更好地表示PocketChip管脚名称


0.2.6
----
*修复以保持GPIO值文件打开,直到管脚未报告为止(问题34)


0.2.5
----
*更新了硬件脉宽调制和软脉宽调制的pytest代码
*删除了overlymanager中的i2c-1加载/卸载支持,因为芯片内核4.4.13默认情况下,该总线已恢复

<0.2.4
----
*硬件脉宽调制已修复
-启动/停止/占空比/频率设置工作
-pol无法更改arity,因此不要费心在start()中将其设置为1
*将unexport_all()函数添加到utilites

>0.2.3
----
*lradc支持
*添加的utilities
-启用/禁用1.8v pin
-将1.8v pin更改为输出2.0v、2.6v或3.3v
(当前限50毫安)

0.2.2
----
*问题的修复16
-将softpwm设置错误传递到python层(internetof)
-更新了spwmtest.py以测试此问题


0.2.1
----
*拉取请求12修复:
-i2c-1 dts中的固定缩进
-删除了spi a中的导入依赖项nd-pwm覆盖
-在setup.py安装时重新启用dtbo构建

<0.2.0
----
*增加了从芯片内部加载dtb覆盖的能力
-支持pwm0、spi2和i2c-1(在4.4芯片上返回为i2c-3
-支持自定义dtb覆盖
*修复在pwm单元测试中,除了2个外,其余都通过了:)

>0.1.2
----
*softpwm fix by an internetof
*为softpwm添加了一个验证测试

<0.1.1
-
*对边缘检测代码进行了一些重构,使其功能更好
*为g添加了上升和两个边缘检测测试ptest.py
-第一次回叫命中时两个边触发双泵的小问题


0.1.0
----
*固定边检测代码,现在将触发正确的回叫

<0.0.9
-
*fixed softpwm segfault
*为gpios添加了替代名称

0.8
----
*处理4.4内核芯片的更新。许多修复代码问题的方法。
*增加了将xio库导入python的能力。
*仍然需要一个适当的硬件pwm和spi覆盖。


0.0.7
---
*gpio边缘检测扩展到包括ap-eint1和ap-eint3,因为它们是唯一支持边缘检测的其他管脚。n

0.0.6
----
*初始脉冲宽度调制
*xio-p0到xio-p7工作的gpio边缘检测和回调


>0.0.4

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

推荐PyPI第三方库


热门话题
java这算是人工智能吗?   java@OnDelete(级联)不处理双向映射(hibernate)   java我怎样才能在基元类型(int)上修复这个等式   java如何初始化PrintWriter数组?   arraylist如何使用java添加敌人   java如何处理2019年的背景地理围栏?   java是否有一个XPath表达式可用于在CDATA区域中导航XML?   Kotlin(Android Studio)中的java选项卡式活动   安卓 java。lang.IllegalArgumentException:provider=网络   广播控制流和主流的java排序   java Apache Nifi无法启动Nifi实例   java我正在尝试将内容作为字符串放入ListView   java阻止mozilla会话还原   java在春季选择引用哪个bean?