» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

Github上的手柄转接项目求助

引用:
原帖由 threek 于 2020-9-19 16:09 发表
posted by wap, platform: iPhone
SS的这个我也弄了,但是编译一直不通过,显示缺少jvsio库里面的nanoclient文件,但我有这个文件啊,路径也对的。用nano和uno都试了,都不行。
SS的这个git工程用了submodule,而且指定了特定的版本,需要用到git命令行clone工程,然后初始化submodule才能用。

git如果不熟悉,可以按照下面的步骤操作:

  • 先下载git工具并安装 https://git-scm.com/download/win
  • 然后运行Git Bash,先切换路径(比如需要下载项目到C:\Workspace\git)。在bash哪里输入cd /c/Workspace/git
  • 克隆工程 git clone https://github.com/toyoshim/iona-346.git
  • clone完成后,进入该路径 cd iona-346
  • 然后用文本编辑软件修改下 .gitmodules文件,切换到https协议。url = git@github.com:toyoshim/jvsio.git 这一行需要修改成 url = https://github.com/toyoshim/jvsio.git
  • 接着在bash窗口执行同步 git submodule sync
  • 最后是初始化子模块,git会下载指定版本的子模块 git submodule update --init --recursive


弄完后,把这个工程目录放到sketchbook目录下,就可以编译了。我这边试过,可以成功编译。


TOP

posted by wap, platform: iPhone
引用:
原帖由 @micjil  于 2020-9-19 17:13 发表
SS的这个git工程用了submodule,而且指定了特定的版本,需要用到git命令行clone工程,然后初始化submodule才能用。

git如果不熟悉,可以按照下面的步骤操作:

先下载git工具并安装 https://gitscm.com/download/win
然后运行Git Bash,先切换路径(比如需要下载项目到C:Workspacegit)。在bash哪里输入cd /c/Workspace/git
克隆工程 git clone https://github.com/toyoshim/iona346.git
clone完成后,进入该路径 cd iona346
然后用文本编辑软件修改下 .gitmodules文件,切换到https协议。url = git@github.com:toyoshim/jvsio.git 这一行需要修改成 url = https://github.com/toyoshim/jvsio.git
接着在bash窗口执行同步 git submodule sync
最后是初始化子模块,git会下载指定版本的子模块 git submodule update init recursive


弄完后,把这个工程目录放到sketchbook目录下,就可以编译了。我这边试过,可以成功编译。
谢谢了,另外sketchbook目录在哪里?我找了半天没找到



TOP

引用:
原帖由 threek 于 2020-9-19 17:42 发表
posted by wap, platform: iPhone
谢谢了,另外sketchbook目录在哪里?我找了半天没找到
在Arduino IDE的Preferences设置界面,Settings标签下面的Sketchbook location


TOP

posted by wap, platform: iPhone
引用:
原帖由 @micjil  于 2020-9-19 18:01 发表
在Arduino IDE的Preferences设置界面,Settings标签下面的Sketchbook location
我是中文版的aduino 1.8.13
选择文件-首选项- 然后里面只有 项目文件夹位置这个选项,里面的有libraries和sketch-sep16a这两个文件夹,后者好像是我最近保存的一个项目。但还是找不到你说的sketchbook文件夹

TOP

引用:
原帖由 threek 于 2020-9-19 23:54 发表
posted by wap, platform: iPhone
我是中文版的aduino 1.8.13
选择文件-首选项- 然后里面只有 项目文件夹位置这个选项,里面的有libraries和sketch-sep16a这两个文件夹,后者好像是我最近保存的一个项目。但还是找不 ...
嗯,就是项目文件夹。

TOP

posted by wap, platform: iPhone
引用:
原帖由 @micjil  于 2020-9-19 23:58 发表
嗯,就是项目文件夹。
请教下,如何看出来这个项目需要用到submodule?

TOP

引用:
原帖由 threek 于 2020-9-20 00:15 发表
posted by wap, platform: iPhone
请教下,如何看出来这个项目需要用到submodule?
git项目根目录有.gitmodules文件,有这个文件就表示该项目会引用到其它git项目,直接clone或者下载zip会发现某些目录是空的,必须要再更新submodule才会下载缺失的文件。git submodule 具体细节可以上网搜索。如果配置了ssh key,可以直接用命令 git clone --recurse-submodules -j8 git://github.com/foo/bar.git 同时克隆工程加初始化子模块。

TOP

posted by wap, platform: iPhone
引用:
原帖由 @micjil  于 2020-9-19 15:09 发表
作者那个帖子里使用的电路图有些不一样,github里readme里D3连接JVS Sense加了电阻和电容,但是帖子里作者弄的电路板都是直连的。可以先按照作者的这个sch重新连接电路试试,PS接线在sch里是9, 10, 11, 12,代码还是要改成一样的。

这个是作者自己弄的PCB https://github.com/nzgamer41/IONAPSXPCB/,用Eagle打开IONAPSX.sch文件确认D3是直连的。

除了软件和电路连接,可能还需要排查硬件的问题,比如Arduino的供电,可以试试USB充电头、USB充电宝或者从Naomi那边提供+5V供电,有条件可以换一块Arduino试试。

如果还是不行,可以试试 https://github.com/toyoshim/iona346,这个是连接SS手柄的,估计PSX版的作者是参考的这个。SS版的这个,D3那里用到了电阻和电容,和PS版不一样。按理说JSVIO通讯那部分是一样的,可以只连接JVSIO的那部分电路,上传SS版的这个到Arduino,看系统能不能检测到IO板。
Saturn的识别成功!
你太牛了,感谢感谢!

TOP

posted by wap, platform: iPhone
而且,saturn的我并没有加电容电阻,直连的,接下来我把saturn接线弄一下,看看手柄是否正常

TOP

posted by wap, platform: iPhone
Saturn转接器制作成功了,不过他的程序里面把拳和脚弄反了,我学要改一下代码。

TOP

posted by wap, platform: iPhone
问题解决了,原因是multidefinition。
quote]原帖由 micjil 于 2020-9-20 00:35 发表


git项目根目录有.gitmodules文件,有这个文件就表示该项目会引用到其它git项目,直接clone或者下载zip会发现某些目录是空的,必须要再更新submodule才会下载缺失的文件。git submodule 具体细节可以上网搜索。如 ... [/quote]

在做另一个USB to DB15转接器编译遇到如下错误,还请教一下。 原文链接 https://www.arcade-projects.com/ ... apter/&pageNo=1
Github地址 https://github.com/Raphfriend/USB2DB15

Arduino:1.8.13 (Windows 10), 开发板:"Arduino Uno"



C:\Users\kof9xddt\AppData\Local\Temp\arduino_build_588202\libraries\RFUSB_to_DB15\drivers.cpp.o (symbol from plugin): In function `generateDPad(unsigned char, HIDController*)':

(.text+0x0): multiple definition of `setupController(unsigned int, unsigned int, HIDController*)'

C:\Users\kof9xddt\AppData\Local\Temp\arduino_build_588202\sketch\drivers.cpp.o (symbol from plugin).text+0x0): first defined here

collect2.exe: error: ld returned 1 exit status

使用库 RFUSB_to_DB15 在文件夹: C:\Users\kof9xddt\Documents\Arduino\libraries\RFUSB_to_DB15 (legacy)

使用 1.3.2  版本的库 USB_Host_Shield_2.0-master 在文件夹: C:\Users\kof9xddt\Documents\Arduino\libraries\USB_Host_Shield_2.0-master

使用 1.0  版本的库 SPI 在文件夹: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI

使用 2.0  版本的库 EEPROM 在文件夹: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\EEPROM

exit status 1

为开发板 Arduino Uno 编译时出错。

本帖最后由 threek 于 2020-9-26 18:23 通过手机版编辑

TOP

好帖子,学习了,正打算搞我新弄得naomi

TOP

posted by wap, platform: Samsung
看的一愣一愣,玩模拟器门槛这么高了

TOP

引用:
原帖由 threek 于 2020-9-20 01:30 发表
posted by wap, platform: iPhone
Saturn转接器制作成功了,不过他的程序里面把拳和脚弄反了,我学要改一下代码。
交换按键只需要调整下比特位顺序就行,原始的代码118-135(加了按钮的备注)
if (line == 1) {
    return ~(0x40 |
        ((pad & 0x0800) >>  4) |  // S
        ((pad & 0x0010) <<  1) |  // up
        ((pad & 0x0020) >>  1) |  // down
        ((pad & 0x0040) >>  3) |  // left
        ((pad & 0x0080) >>  5) |  // right
        ((pad & 0x0400) >>  9) |  //  A
        ((pad & 0x0100) >>  8));  // B
} else {
    return ~(0x03 |
        ((pad & 0x0200) >>  2) |  // C
        ((pad & 0x4000) >>  8) |  // X
        ((pad & 0x2000) >>  8) |  // Y
        ((pad & 0x1000) >>  8) |  // Z
        ((pad & 0x0008) >>  0) |  // L
        ((pad & 0x8000) >> 13));  // R
}
修改成
if (line == 1) {
    return ~(0x40 |
        ((pad & 0x0800) >>  4) |  // S
        ((pad & 0x0010) <<  1) |  // up
        ((pad & 0x0020) >>  1) |  // down
        ((pad & 0x0040) >>  3) |  // left
        ((pad & 0x0080) >>  5) |  // right
        ((pad & 0x4000) >>  13) |  //  X
        ((pad & 0x2000) >>  13));  // Y
} else {
    return ~(0x03 |
        ((pad & 0x1000) >>  5) |  // Z
        ((pad & 0x0400) >>  4) |  // A
        ((pad & 0x0100) >>  3) |  // B
        ((pad & 0x0200) >>  5) |  // C
        ((pad & 0x0008) >>  0) |  // L
        ((pad & 0x8000) >> 13));  // R
}

TOP

posted by wap, platform: iPhone
引用:
原帖由 @micjil  于 2020-9-27 14:16 发表
交换按键只需要调整下比特位顺序就行,原始的代码118135(加了按钮的备注)
if (line == 1) {
    return ~(0x40 |
        ((pad & 0x0800) &gt;&gt;  4) |  // S
        ((pad & 0x0010) &lt;&lt;  1) |  // up
        ((pad & 0x0020) &gt;&gt;  1) |  // down
        ((pad & 0x0040) &gt;&gt;  3) |  // left
        ((pad & 0x0080) &gt;&gt;  5) |  // right
        ((pad & 0x0400) &gt;&gt;  9) |  //  A
        ((pad & 0x0100) &gt;&gt;  8));  // B
} else {
    return ~(0x03 |
        ((pad & 0x0200) &gt;&gt;  2) |  // C
        ((pad & 0x4000) &gt;&gt;  8) |  // X
        ((pad & 0x2000) &gt;&gt;  8) |  // Y
        ((pad & 0x1000) &gt;&gt;  8) |  // Z
        ((pad & 0x0008) &gt;&gt;  0) |  // L
        ((pad & 0x8000) &gt;&gt; 13));  // R
}
修改成
if (line == 1) {
    return ~(0x40 |
        ((pad & 0x0800) &gt;&gt;  4) |  // S
        ((pad & 0x0010) &lt;&lt;  1) |  // up
        ((pad & 0x0020) &gt;&gt;  1) |  // down
        ((pad & 0x0040) &gt;&gt;  3) |  // left
        ((pad & 0x0080) &gt;&gt;  5) |  // right
        ((pad & 0x4000) &gt;&gt;  13) |  //  X
        ((pad & 0x2000) &gt;&gt;  13));  // Y
} else {
    return ~(0x03 |
        ((pad & 0x1000) &gt;&gt;  5) |  // Z
        ((pad & 0x0400) &gt;&gt;  4) |  // A
        ((pad & 0x0100) &gt;&gt;  3) |  // B
        ((pad & 0x0200) &gt;&gt;  5) |  // C
        ((pad & 0x0008) &gt;&gt;  0) |  // L
        ((pad & 0x8000) &gt;&gt; 13));  // R
}
感谢!我代码都看晕了。

TOP

发新话题
     
官方公众号及微博