Skip to content

PING020903/AC695N-jieli--demo-GamePad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 

Repository files navigation

AC695N-demo_gamepad, support PC and PS3

基于杰理AC695N系列,AC6951C的游戏手柄控制器
将usb通讯抓包,模仿Xbox360对WindowsPC的通信
测试在WindowsPC中有反应、能用,但没做Xbox主机适配

该demo project本人是用code::blocks打开.cbp文件,按齿轮形状的按钮( build ),即便可以进行编译( 前提是你的电脑需要事先安装GUN编译 )

切记!!!要记得安装杰理包管理器!!!

sdk/cpu/br23/tools/download.bat

这个下载的批处理文件,在上传GitHub的时候可能会被转换为UNIX( LF )格式的文本,而本项目是在Windows环境下执行的,下载后使用的时候需要转换回Windows( CR LF )格式的文本

按下 build 后若你的电脑有连接开发板,且开发板处于烧录模式,即可自动下载到 flash 中

若要添加功能,请在app_dongle.c中app_start添加你的任务初始化函数,可参照当前代码中添加任务初始化的形式。
若要添加.c文件进行编译,请修改你要添加.c文件的文件夹中的makefile
[image]
如图中被选中的行,按照该格式,在该行下方添加自己的.c文件,编译时即可包含你自己所创建的.c文件

设备描述符与配置描述符在 descriptor.c, 接口描述符在 uac1.c, 配置描述符与接口描述符的拼接在 uar1.c 中,该配置描述符中的配置总长度会经过SDK中自行算出,初值赋值并不重要

image

手柄的摇杆,软件输入的值,都应当由实际物理层面紫色矩形区域放大映射到软件层面黄色矩形区域,而这个天蓝色圆形是实际物理极限范围。 当楼主意识到这个问题的时候,已经做了两个摇杆的值的读取处理赋值,都仅仅只做了中心死区,任由物理极限范围作为约束,直到用自己做的这个PS3的代码在PS3中试了试,发现不能很好的达到软件边界导致无法触发技能跟动作。。。 但现在不太想改了,以后有空且有这个意愿的时候再改。

更多请阅读该路径下的详细代码逻辑描述

/sdk/Code_Logic_Description_CN.md

代碼修改日志( Code Log )

2023.9.13

增加了對PS3的支持,但沒有支持PS3的三軸傳感器。將默認支持Xbox360修改為默認支持PS3,利用WindowsOS會多次發送USB復位信號切換為Xbox360模式。若要修改為默認Xbox360模式,將不能用相同的方法判斷主機平臺自行切換至PS3平臺。

2023.9.25

重構了搖桿在PS3模式下輸入的處理邏輯,由於離職了,該代碼未經過試驗,暫且保留了原來的版本。

About

基于杰理AC695N的游戏手柄控制器

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages