【问题标题】:Logitech G29: Physical Maximum in HID Device Descriptor is to little罗技 G29:HID 设备描述符中的物理最大值太小
【发布时间】:2016-09-24 02:53:21
【问题描述】:

我正在使用 Raspberry Pi(Linux 内核 4.4)和“libusb”来读取 Logitech G29 HID 设备(PS3 模式)的转向角。我只得到一个字节的角度数据,这对于 +-450° 度的转向范围来说是非常少的。 HID 设备描述符显示了问题。

项目(全局):物理最大值,数据= [ 0xff 0x00 ] 255

如何将物理最大值更改为 65535?

【问题讨论】:

    标签: linux raspberry-pi kernel usb linux-device-driver


    【解决方案1】:

    为什么你认为 0 到 255 之间的数字不能用来表示 -450 到 +450 之间的角度?值 0 是否可能对应于 -450 度,而值 255 对应于 455 度?罗技不太可能在其设备的 HID 接口中制造致命的设计缺陷。

    如果您真的想更改 HID 接口,那么至少必须重新编程 G29 设备的固件才能更改该描述符并更改它描述的 HID 报告。该设备很可能是封闭源代码并且没有重新编程固件的说明,因此您可能不走运。为该测量增加更高的分辨率可能还需要更改硬件,这可能很困难。

    【讨论】:

    • 感谢您的回复。仅将 900 度的角度范围分成 256 块是没有意义的。所以结果是每步 3,51 度......并且使用一个字节表示 -450 度,另一个字节表示 +450 也没有意义(分辨率 1.75 度/秒)。因为如果您使用两个字节作为补码,您将得到 0.01373 的结果,这是可以接受的。你想这样做 2^8 + 2^8 = 512 而正常的方法是这样做 2^8 * 2^8 = 65536 (二进制补码)。我不想改Lg固件,我想在linux中配置HID设备驱动。
    • 要么您正在查看 HID 描述符的错误部分,并且有一些更高分辨率的字段报告了转向,或者设备实际上以 8 位分辨率报告了转向,您只需要忍受它。您真的不太可能像这样更改消费设备的固件或硬件。
    猜你喜欢
    • 2019-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-10
    • 1970-01-01
    • 2014-11-27
    • 2023-03-21
    相关资源
    最近更新 更多