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


 19 12
发新话题
打印

Github上的手柄转接项目求助

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

posted by wap, platform: iPhone
引用:
原帖由 @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
}
感谢!我代码都看晕了。



TOP

posted by wap, platform: iPhone
USB手柄转DB15手柄转接器也实验成功了。接下来做ps ss手柄转接DB15的项目,根据项目图纸bom淘宝上定做了pcb和零件,ATmega328au的test socket等工具,准备尝试下。


TOP

posted by wap, platform: iPhone
Ps ss转DB15的项目也制作成功了。

TOP

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