跳转到主要内容

用于配置Astro A50无线耳机和基座(第4代)的库

项目描述

eh-fifty

eh-fifty是一个用于配置Astro A50无线耳机和基座(第4代)的Python库。

使用风险自负。 eh-fifty是使用逆向工程开发的。如果您遇到问题,请重新连接基座并按住“游戏”和“杜比”按钮15秒以重置您的耳机。

eh-fifty仅在Linux上进行了测试,尽管它可能在PyUSB支持的其他平台上工作。

功能

  • 获取/设置麦克风级别
  • 获取/设置侧面音量
  • 获取/设置噪声门模式
  • 获取/设置警报音量
  • 获取/设置活动EQ预设
  • 获取/设置游戏/语音平衡
  • 保存配置值
  • 获取充电状态和电池级别
  • 获取耳机状态
  • 获取EQ预设名称
  • 修改EQ预设
  • 更新固件
  • 获取/设置音量(可能不可行)
  • 获取/设置杜比状态(可能不可行)

示例

检索当前电池更改

from eh_fifty import Device
device = Device()
charge_status = device.get_charge_status()
print(f"Battery: {charge_status.charge_percent}%")

非root访问

创建一个udev规则以允许非root用户访问USB设备

echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="9886", ATTR{idProduct}=="002c", MODE="0666"' | \
    sudo tee /etc/udev/rules.d/50-astro-a50.rules

重新连接您的基座以应用新规则。

协议文档

请求

请求的第一个字节是0x02

请求的第二个字节是请求类型(见下文)。

可能跟随一个可变数量的请求参数。

响应

响应的第一个字节是0x02

响应的第二个字节是“成功”为0x02或“错误”为0x01

响应的第三个字节是响应的剩余长度(以字节为单位),不包括此字节。

已保存的值

发送请求类型 0x61 将保存当前配置。已保存的值可以单独查询,以便应用程序实现恢复到已保存配置的操作。对当前配置的更改立即生效;无需保存更改。

请求类型

类型 描述
0x03 未知
...
0x54 返回耳机电源和基座状态
0x55 未知
...
0x61 保存活动值
0x62 设置指定滑块的值
...
0x64 设置噪声门模式
...
0x67 设置活动EQ预设
0x68 获取指定滑块的值
0x69 未知(与EQ预设有关?)
0x6A 获取噪声门模式
...
0x6C 获取活动EQ预设
...
0x6E 获取指定EQ预设名称
...
0x70 未知(与EQ预设有关?)
...
0x72 获取游戏/聊天平衡(重复)
0x73 设置游戏/聊天平衡
...
0x76 设置警报音量
0x77 获取游戏/聊天平衡
...
0x7A 获取警报音量
...
0x7C 获取电池电量变化级别和充电状态
...
0x83 未知(返回“从属设备超时”错误)
...
0xDA 未知
...
0xD6 未知

项目详情


下载文件

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

源分发

eh_fifty-0.2.0.tar.gz (5.7 kB 查看哈希)

上传时间

构建分发

eh_fifty-0.2.0-py3-none-any.whl (5.3 kB 查看哈希)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页