MIT License

项目介绍

OpenStickCommunity/GP2040-CE 是一个托管在 GitHub 上的开源项目,主要使用 C++ 编写,采用 MIT License 许可证,目前获得 2.6k 个 Star、703 次 Fork。

仓库全名
OpenStickCommunity/GP2040-CE
开源许可证
MIT License
Star 数
2.6k
Fork 数
703
未关闭 Issue
50

README 摘要

Multi-Platform Gamepad Firmware for RP2040 GP2040-CE (Community Edition) is a gamepad firmware for the Raspberry Pi Pico and other boards based on the RP2040 microcontrollers that combines multi-platform compatibility, low latency and a rich feature set to provide endless customization possibilities without sacrificing performance. GP2040-CE is compatible with PC, PS3, PS4, PS5, Nintendo Switch, Xbox One, Steam…

完整内容见 GitHub 原始 README 或本页 。

常见问题

GP2040-CE 用什么语言开发?

主要使用 C++ 编写,采用 MIT License 许可证,目前有 2.6k 个 Star。

GP2040-CE 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 GP2040-CE 的源码?

可以直接克隆仓库:git clone https://github.com/OpenStickCommunity/GP2040-CE.git,默认分支为 main;安装与运行步骤见仓库 README。

GP2040-CE 最近还在维护吗?

仓库最近一次更新为 1 天前,当前有 50 个未关闭 Issue;Star 数为 2.6k,可作为社区活跃度的参考。

简要分析

热度分
4034
价值分
1765
活跃状态
活跃

语言占比

Batchfile
C
C++
CMake
CSS
Dockerfile
HTML
JavaScript
Linker Script
MATLAB
Makefile
Objective-C
Python
SCSS
Shell
Starlark
Swift
TypeScript

Release

README

GP2040-CE

Multi-Platform Gamepad Firmware for RP2040


GP2040-CE (Community Edition) is a gamepad firmware for the Raspberry Pi Pico and other boards based on the RP2040 microcontrollers that combines multi-platform compatibility, low latency and a rich feature set to provide endless customization possibilities without sacrificing performance.

GP2040-CE is compatible with PC, PS3, PS4, PS5, Nintendo Switch, Xbox One, Steam Deck, MiSTer and Android.

Downloads | Installation | Wiring | Usage | FAQ | GitHub

Full documentation can be found at https://gp2040-ce.info

Features

  • Select from 14 input modes including X-Input, Nintendo Switch, Playstation 4/5, Xbox One, D-Input, and Keyboard
  • Input latency average of 0.76ms in Xinput and 0.91ms for Playstation 5.
  • Multiple SOCD cleaning modes - Up Priority (a.k.a. Stickless), Neutral, and Second Input Priority.
  • Left and Right stick emulation via D-pad inputs as well as dedicated toggle switches.
  • Dual direction via D-pad + LS/RS.
  • Reversed input via a button.
  • Turbo and Turbo LED with selectable speed
  • Per-button RGB LED support.
  • PWM Player indicator LED support (XInput only).
  • Multiple LED profiles support.
  • Support for 128x64 monochrome I2C displays - SSD1306, SH1106, and SH1107 compatible.
  • Custom startup splash screen and easy image upload via web configuration.
  • Support for passive buzzer speaker (3v or 5v).
  • Built-in, embedded web configuration - No download required!

Visit the GP2040-CE Usage page for more details.

Performance

Input latency is tested using the methodology outlined at WydD’s inputlag.science website, using the default 1000 Hz (1 ms) polling rate in the firmware. You can read more about the setup we use to conduct latency testing HERE if you are interested in testing for yourself or would just like to know more about the devices used to do the testing.

Version Mode Poll Rate Min Max Avg Stdev % on time %1f skip %2f skip
v0.7.12 Xinput 1 ms 0.45 ms 1.28 ms 0.76 ms 0.24 ms 98.48% 1.52% 0%
v0.7.12 Switch 1 ms 0.41 ms 1.22 ms 0.72 ms 0.24 ms 98.53% 1.47% 0%
v0.7.12 HID USB 1 ms 0.42 ms 1.25 ms 0.73 ms 0.24 ms 98.52% 1.48% 0%
v0.7.12 PS3 1 ms 0.52 ms 1.46 ms 0.83 ms 0.24 ms 98.37% 1.63% 0%
v0.7.12 PS4 1 ms 0.55 ms 2.33 ms 0.90 ms 0.32 ms 98.19% 1.81% 0%
v0.7.12 PS5 1 ms 0.55 ms 2.38 ms 0.91 ms 0.32 ms 98.18% 1.82% 0%

Full results can be found in the GP2040-CE v0.7.12 Firmware Latency Test Results .xlsx Sheet.

Results from v0.7.11 can be found HERE. Previous results can be found in the latency_testing folder.

Support

If you would like to discuss features, issues or anything else related to GP2040-CE please create an issue or join the OpenStick GP2040-CE Discord support channel.

Contributing

Want to help improve GP2040-CE? There are a bunch of ways to contribute!

Community Participation

Have an idea for a cool new feature, or just want to discuss some technical details with the developers? Join the OpenStick GP2040-CE Discord server to participate in our active and ever-growing community!

Pull Requests

Pull requests are welcome and encouraged for enhancements, bug fixes and documentation updates.

Please respect the coding style of the file(s) you are working in, and enforce the use of the .editorconfig file when present.

Acknowledgements

评论

暂无评论