5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
楼主: ckyo
打印 上一主题 下一主题

DIY 8 通道 PPM to USB 接口, 支持 USB摇杆 和 Reflex(2010.7.2增加phoneix rc支持)

[复制链接]
21
 楼主| 发表于 2008-1-13 20:35 | 只看该作者
找到了一个可以玩Phoenix的方法了!

只要把游戏杆设备的VID和PID改了Phoenix就可以识别了,但是只能用一分钟(1.03.c版本),必须要重新插上才能继续。不过无意中发现了只要USB总线上有设备插入或拔下来(比如拔下鼠标)这个时间就会重新计时,所以现在就再做一个电路,插在USB口上,定时自动断开和自动连接USB。这个设备没有别的什么用,仅仅是使电脑能定时检测到USB设备的连接或断开,这样Phoenix就可以连续的运行了。

缺点是要在做一个USB电路,而且每次连接和断开的时候电脑都会“叮咚”一声,不过声音可以在控制面板里关掉。终于凭自己的努力玩上了Phonex,G3已经很优秀了,Phoenx在一些方面确实比G3感觉要好不少,所以玩上Phoenix这些代价还是值得的。

哪位对Win32ASM比较了解的,能否帮忙把软件的这个地方给破解了,如有人愿意可以和我联系。

欢迎继续阅读楼主其他信息

22
发表于 2008-1-13 22:58 | 只看该作者
那个字节可能是整个数据包的校验, 和任功能性数据都不相关联

这个加密方法很多人都搞出来了,应该不会太难,只是没有时间研究

其实不必在设备自身做,只要做一个filter driver 就可以了,设备只要做个通用的USB HID设备,所有vid pid descript 都通过软件模拟,另外还可以做任何通道映射,设备固定返回 8个 通道,对系统界面报告为 8-aix 4 button,用软件设置任意映射及映射规则

我以前做过一个力反馈游戏杆驱动,里面用到filter driver就有通道任意映射功能,如果楼主有空做一个通用全通道的硬件,我可以来做filter driver 完成 模拟,映射 等功能
23
发表于 2008-1-13 23:37 | 只看该作者
原帖由 starmoon 于 2008-1-13 22:58 发表
那个字节可能是整个数据包的校验, 和任功能性数据都不相关联

这个加密方法很多人都搞出来了,应该不会太难,只是没有时间研究

其实不必在设备自身做,只要做一个filter driver 就可以了,设备只要做个通用 ...


原始的程序就是就是一个8通道通用摇杆。但是凤凰的接口是个组合设备,有2个接口,一个用来传递通道数据,另一个实现加密狗的验证。
24
发表于 2008-1-13 23:40 | 只看该作者
举个例子来说
凤凰发数据给usb                                           usb控制器回               
a6 d1 98 74  54 e1 01 7a                             0d
7b 0f 49 cd  f7 ea a2 e4                                24
2c 8e 22 cc  69 2f c6 b8                               2a
dd 55 88 a2  69 e3 4c 7a                             45
45 f7 f1 1c  25 f1 9c 4e                                 23
f2 b9 40 99  1f 21 7d 41                               44
a2 00 a8 68  6c b9 2b f5                              1a
25
发表于 2008-1-14 12:30 | 只看该作者
帮顶。不过单片机可不太好搞
26
发表于 2008-1-14 12:30 | 只看该作者
个烂码又说不对又发了出来,晕列死.............2便

[ 本帖最后由 uikyhuang 于 2008-1-14 12:32 编辑 ]
27
发表于 2008-1-14 20:56 | 只看该作者
模拟器的外壳我可以找的到
28
 楼主| 发表于 2008-1-14 23:33 | 只看该作者
原帖由 starmoon 于 2008-1-13 22:58 发表
那个字节可能是整个数据包的校验, 和任功能性数据都不相关联

这个加密方法很多人都搞出来了,应该不会太难,只是没有时间研究

其实不必在设备自身做,只要做一个filter driver 就可以了,设备只要做个通用 ...




好啊,高手出手了,如果能合作就可以作出一套软件和硬件,硬件支持标准的游戏杆,并且何以通过USB下载固件,软件可以支持任意的通道映射,甚至混控编程,并且可以切换不同的工作放方式支持各种模拟器软件.

请qq联系.
29
发表于 2008-1-15 20:06 | 只看该作者
值得一试
30
发表于 2008-1-15 21:05 | 只看该作者
按照原始设计图,和原始固件 joystick.a90 做出来的标准8轴即可作为通用平台。
31
发表于 2008-1-16 08:20 | 只看该作者
报文(report descriptor) 再增加4 button 描述,默认后四轴映射到4button (同时轴也报数据)
32
发表于 2008-1-16 10:34 | 只看该作者
没必要和phoneix的保持兼容。用8轴的一样可以玩。
如果要增加button 势必要减少一轴。 (单一报告)
33
发表于 2008-1-17 12:30 | 只看该作者
不减轴,同时报告,这样软件处理方便,不需要解释hid report和重打包
34
发表于 2008-1-17 22:53 | 只看该作者
不可能,增加报告ID需要占用一个字节。那就7个轴了,如果用2个报告,解释起来更麻烦。
35
发表于 2008-1-18 12:21 | 只看该作者
把hid report descriptor 重编一下就可以了,ROM不差这几个字节吧, 发回报文时把轴数据和键数据直接填上就可以了
36
发表于 2008-1-18 12:33 | 只看该作者
具体要什么格式,详细描述一下,注意每个报告8各字节
37
发表于 2008-1-18 19:34 | 只看该作者
HID REPORT不一定需要8的整数倍,可以任意长度,只要descriptor 里指定就可以了

USAGE_PAGE (Generic Desktop)
  USAGE (Joystick)
    COLLECTION (Application)
    USAGE_PAGE (Simulation Controls)
         USAGE (Throttle)
              REPORT_SIZE (8)
              REPORT_COUNT (1)
              INPUT (Data,Var,Abs)
         USAGE (Rudder)
             REPORT_SIZE (8)
             REPORT_COUNT (1)
             INPUT (Data,Var,Abs)
      USAGE_PAGE (Generic Desktop)
          USAGE (Pointer)
     COLLECTION (Physical)
          USAGE (X)
          USAGE (Y)
          INPUT (Data,Var,Abs)
       USAGE (Z)
          REPORT_SIZE (8)
          REPORT_COUNT (1)
          INPUT (Data,Var,Abs)
       USAGE (Rx)
          REPORT_SIZE (8)
          REPORT_COUNT (1)
          INPUT (Data,Var,Abs)
       USAGE (Ry)
          REPORT_SIZE (8)
          REPORT_COUNT (1)
          INPUT (Data,Var,Abs)
        USAGE (Rz)
          REPORT_SIZE (8)
          REPORT_COUNT (1)
          INPUT (Data,Var,Abs)
       END_COLLECTION
       USAGE_PAGE (Button)
          USAGE_MINIMUM (Button 1)
          USAGE_MAXIMUM (Button 4)
          LOGICAL_MINIMUM (0)
          LOGICAL_MAXIMUM (1)
          REPORT_SIZE (1)
          REPORT_COUNT (4)
          UNIT_EXPONENT (0)
          UNIT (None)
          INPUT (Data,Var,Abs)
          REPORT_SIZE (4)
          REPORT_COUNT (1)
          INPUT (Cnst,Var,Abs)
END_COLLECTION
38
发表于 2008-1-18 19:59 | 只看该作者
报告长度不是任意字节,对于慢速usb设备,必须小于等于8
如上,你需要实现6轴,4按钮, 最后半个字节是 什么指数? 报告一共7字节.对否?
39
发表于 2008-1-19 23:23 | 只看该作者
不需要LOW SPEED 设备,直接标准1.1FULL SPEED就可以了,D12或CRYPRESS芯片都可以,D+上拉3.3

我查了一下我以前用力反馈方向盘,是22字节的,也只是一个包
40
发表于 2008-1-20 10:58 | 只看该作者
full speed 是usb 2.0 标准,手头没有D12或crypress芯片 。。。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /2 下一条

快速回复 返回顶部 返回列表