小侠
原帖由 threek 于 2020-9-19 16:09 发表 posted by wap, platform: iPhone SS的这个我也弄了,但是编译一直不通过,显示缺少jvsio库里面的nanoclient文件,但我有这个文件啊,路径也对的。用nano和uno都试了,都不行。
查看详细资料
TOP
魔王撒旦
原帖由 @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目录下,就可以编译了。我这边试过,可以成功编译。
原帖由 threek 于 2020-9-19 17:42 发表 posted by wap, platform: iPhone 谢谢了,另外sketchbook目录在哪里?我找了半天没找到
原帖由 @micjil 于 2020-9-19 18:01 发表 在Arduino IDE的Preferences设置界面,Settings标签下面的Sketchbook location
原帖由 threek 于 2020-9-19 23:54 发表 posted by wap, platform: iPhone 我是中文版的aduino 1.8.13 选择文件-首选项- 然后里面只有 项目文件夹位置这个选项,里面的有libraries和sketch-sep16a这两个文件夹,后者好像是我最近保存的一个项目。但还是找不 ...
原帖由 @micjil 于 2020-9-19 23:58 发表 嗯,就是项目文件夹。
原帖由 threek 于 2020-9-20 00:15 发表 posted by wap, platform: iPhone 请教下,如何看出来这个项目需要用到submodule?
原帖由 @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板。
混世魔头
魔头
原帖由 threek 于 2020-9-20 01:30 发表 posted by wap, platform: iPhone Saturn转接器制作成功了,不过他的程序里面把拳和脚弄反了,我学要改一下代码。
原帖由 @micjil 于 2020-9-27 14:16 发表 交换按键只需要调整下比特位顺序就行,原始的代码118135(加了按钮的备注) 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 }