获取USB描述符的帮助工具
项目描述
简介
获取USB描述符的帮助工具
依赖关系
此驱动依赖于
请确保所有依赖项在CircuitPython文件系统中可用。这可以通过下载Adafruit库和驱动程序捆绑包轻松实现,或者可以使用circup安装单个库。
从PyPI安装
在支持的GNU/Linux系统(如Raspberry Pi)上,您可以从PyPI本地安装驱动程序。要安装当前用户
pip3 install adafruit-circuitpython-usb-host-descriptors
要全局安装(在某些情况下可能需要)
sudo pip3 install adafruit-circuitpython-usb-host-descriptors
在当前项目中的虚拟环境中安装
mkdir project-name && cd project-name
python3 -m venv .venv
source .env/bin/activate
pip3 install adafruit-circuitpython-usb-host-descriptors
使用Circup在连接的CircuitPython设备上安装
请确保您已经将circup安装到Python环境中。如有必要,使用以下命令进行安装
pip3 install circup
安装circup后,并连接了CircuitPython设备,使用以下命令进行安装
circup install adafruit_usb_host_descriptors
或以下命令更新现有版本
circup update
使用示例
打印有关设备及其第一个(通常也是唯一)配置的基本信息。
# SPDX-FileCopyrightText: 2017 Scott Shawcroft, written for Adafruit Industries
# SPDX-FileCopyrightText: Copyright (c) 2023 Scott Shawcroft for Adafruit Industries
#
# SPDX-License-Identifier: Unlicense
import time
import usb.core
import adafruit_usb_host_descriptors
DIR_IN = 0x80
while True:
print("searching for devices")
for device in usb.core.find(find_all=True):
print("pid", hex(device.idProduct))
print("vid", hex(device.idVendor))
print("man", device.manufacturer)
print("product", device.product)
print("serial", device.serial_number)
print("config[0]:")
config_descriptor = adafruit_usb_host_descriptors.get_configuration_descriptor(
device, 0
)
i = 0
while i < len(config_descriptor):
descriptor_len = config_descriptor[i]
descriptor_type = config_descriptor[i + 1]
if descriptor_type == adafruit_usb_host_descriptors.DESC_CONFIGURATION:
config_value = config_descriptor[i + 5]
print(f" value {config_value:d}")
elif descriptor_type == adafruit_usb_host_descriptors.DESC_INTERFACE:
interface_number = config_descriptor[i + 2]
interface_class = config_descriptor[i + 5]
interface_subclass = config_descriptor[i + 6]
print(f" interface[{interface_number:d}]")
print(
f" class {interface_class:02x} subclass {interface_subclass:02x}"
)
elif descriptor_type == adafruit_usb_host_descriptors.DESC_ENDPOINT:
endpoint_address = config_descriptor[i + 2]
if endpoint_address & DIR_IN:
print(f" IN {endpoint_address:02x}")
else:
print(f" OUT {endpoint_address:02x}")
i += descriptor_len
print()
time.sleep(5)
文档
此库的API文档可以在Read the Docs上找到。
有关构建库文档的信息,请参阅本指南。
贡献
欢迎贡献!请在贡献之前阅读我们的行为准则,以帮助本项目保持开放。
项目详情
关闭
adafruit-circuitpython-usb-host-descriptors-0.1.2.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9723d854ca5657583b8e4d8627988977812a6f69fce571cc7061349d3677f71e |
|
MD5 | 8e696dd5f2b6dce686ce54e5877a80de |
|
BLAKE2b-256 | 2d200e4f49b968cb140c67680292524b421d3f963dd95f1a0572c76cee564cc0 |
关闭
adafruit_circuitpython_usb_host_descriptors-0.1.2-py3-none-any.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5a804d54f4d4d16d5e52b14635f6c0b6f50cf6e16d78b165c0bb40eae5292dc2 |
|
MD5 | 827cfe78c54a9aba17b8f66be59b76d1 |
|
BLAKE2b-256 | c2251738c9ffd8f1c1e4f402690583cba08adb8198292b218c40a86b9eed2b6a |