Skip to main content

XDIMAX SUB-20 库周围的 Python 包装器

项目描述

pysub20 是一个 LGPL 许可的、简单的、用于 sub20 库的纯 Python 绑定:一个允许 PC 与 SUB-20 设备一起工作的软件。SUB-20 是一种通用且高效的桥接设备,通过 I2C、SPI、MDIO、RS232、RS485、SMBus、ModBus、IR 等流行接口在 PC(USB 主机)和不同硬件设备和系统之间提供简单的互连。您可以在官方网站上找到有关 SUB-20 设备的更多信息:http ://www.xdimax.com/sub20/sub20.html

该项目的主要目标是:使SUB-20库的使用更加方便和pythonic。可以直接使用 SUB-20 dll/so,但有点不方便,因为每次都必须使用 Python c_type 签名包装 C 库函数。

要求

您必须在系统中安装 sub20 库。要继续安装,请查看 SUB-20 文档: http ://www.xdimax.com/sub20/sub20.html 。

用法

低级 API: 低级 API 是从 SUB-20 C 库函数转换而来的原始 Python 函数。对于 SUB-20 和 Python c_types 文档,您可以“按原样”使用它们。

>>> from sub20.ctypeslib.libsub import SIGNATURES, sub_version
>>> from sub20.ctypeslib.utils import load_ctypes_library
>>> libname = "sub20.dll" if sys.platform == "win32" else "libsub.so"
>>> libsub = load_ctypes_library(libname, SIGNATURES)
>>> sub_errno = c_int.in_dll(libsub, "sub_errno")
... your code with SUB-20 functions
>>> libsub.sub_open(None)
>>> libsub.close()

高级 API: 高级 API 试图将常规操作隐藏在底层,并使 SUB-20 库更加 Python 和简单。高级 API 的核心是 SUBDevice 类。您不必显式加载库,因为它是在类实例化期间发生的。

>>> from sub20 import SUBDevice
>>> subdev = sub20.SUBDevice()
>>> subdev.open()

然后,您可以在代码中使用已实现的功能。要正确使用它们,强烈建议先阅读 SUB-20 文档:http ://www.xdimax.com/sub20/doc/sub20-man.pdf

注意:如果您的系统中没有 sub20 库并且您尝试创建一个 SUBDevice 实例,那么您将收到 ImportError 异常。

实现的功能列表:

sub_get_serial_number, sub_get_product_id, sub_get_version, sub_get_version_dict, sub_reset, sub_eep_read, sub_eep_write, sub_i2c_freq, sub_i2c_config, sub_i2c_start, sub_i2c_stop, sub_i2c_scan, sub_i2c_read, sub_i2c_write, sub_i2c_transfer, sub_gpio_config, sub_gpio_read, sub_gpio_write, sub_gpiob_config, sub_gpiob_read, sub_gpiob_write, sub_rs_set_config, sub_rs_get_config, sub_rs_timing, sub_rs_xfer, sub_fifo_config、sub_fifo_read、strerror

例子

正在建设中

下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

pysub20-0.0.1.tar.gz (17.3 kB 查看哈希

已上传 source

内置分布

pysub20-0.0.1-py3-none-any.whl (18.3 kB 查看哈希

已上传 py3