| + +**Markdown** + + | +
+
+```markdown
+This
+will
+all
+be
+on
+one
+line.
+
+The empty line above creates a new paragraph.
+
+This forces a soft return +rather than creating a new paragraph + +| Column1 | Column2 | +| ------- | ------------------------------------- | +| Row 1 | - Line 1 - Line 2 - Line3 | +``` + + |
+
| + +**显示** + + | +
+
+This
+will
+all
+be
+on
+one
+line.
+
+The empty line above creates a new paragraph.
+
+This forces a soft return +rather than creating a new paragraph + +| Column1 | Column2 | +| ------- | ------------------------------------- | +| Row 1 | - Line 1 - Line 2 - Line3 | + + |
+
| + +**Markdown** + + | ++ +```markdown + +``` + + | +
| + +**显示** + + | ++ + + + | +
| + +**Markdown** + + | +
+
+```markdown
+Select the button labels to be displayed in the usage guide:
+
+ + +Document Content +``` + + |
+
| + +**显示** + + | +
+
+Select the button labels to be displayed in the usage guide:
+
+ + +Document Content + + |
+
| + +**Markdown** + + | +
+
+```markdown
+ |
+
| + +**显示** + + | +
+
+ |
+
| + +**Markdown** + + | ++ +```markdown +This comment refers to the `GP2040-CE_X.X.X_Pico.uf2` file. +``` + + | +
| + +**显示** + + | ++ +This comment refers to the `GP2040-CE_X.X.X_Pico.uf2` file. + + | +
| + +**Markdown** + + | ++ + ```md title="Example Markdown Page" + --- + title: TITLE + # tags: + # - + pagination_next: null + pagination_prev: null + description: "PAGE DESCRIPTION" + --- + + # Document Title + + CONTENT + ``` + + | +
| + +**显示** + + | ++ +```md title="Example Markdown Page" +--- +title: TITLE +pagination_next: null +pagination_prev: null +description: "PAGE DESCRIPTION" +--- + +# Document Title + +CONTENT +``` + + | +
| + +**Markdown** + + | ++ +```markdown +:::note + +给您的相关信息。 + +::: + +:::tip + +您应该这样做。 + +::: + +:::caution + +您可能需要注意这些事。 + +::: + +:::warning + +您可能会进行危险操作。 + +::: +``` + + | +
| + +**显示** + + | ++ +:::note + +给您的相关信息。 + +::: + +:::tip + +您应该这样做。 + +::: + +:::caution + +您可能需要注意这些事。 + +::: + +:::warning + +您可能会进行危险操作。 + +::: + + | +
| + +**Markdown** + + | ++ +```markdown +:::note 这是一个标记 + +给您的相关信息。 + +::: +``` + + | +
| + +**显示** + + | ++ +:::note 这是一个标记 + +给您的相关信息。 + +::: + + | +
+ Description of Microcontroller board and manufacturer +
+ ), +}, + +``` + +#### 游戏控制器 + +```tsx +{ + name: 'Controller Name', + configName: 'ConfigName', + pinout: null, + website: 'http://www.example.com/index.html', + image: require('@site/docs/gp2040-ce-placeholder.png').default, + category: 'official/open/closed/legacy', + desc: () => ++ Description of the device and maker. +
, +}, +``` diff --git a/i18n/zh/docusaurus-plugin-content-docs/current.json b/i18n/zh/docusaurus-plugin-content-docs/current.json new file mode 100644 index 0000000..d92ba73 --- /dev/null +++ b/i18n/zh/docusaurus-plugin-content-docs/current.json @@ -0,0 +1,30 @@ +{ + "version.label": { + "message": "Next", + "description": "The label for version current" + }, + "sidebar.docSidebar.category.General": { + "message": "通用", + "description": "The label for category General in sidebar docSidebar" + }, + "sidebar.docSidebar.category.FAQ": { + "message": "疑难解答", + "description": "The label for category FAQ in sidebar docSidebar" + }, + "sidebar.docSidebar.category.Controller Building": { + "message": "游戏控制器组装", + "description": "The label for category Controller Building in sidebar docSidebar" + }, + "sidebar.docSidebar.doc.Web Configurator": { + "message": "网页配置器", + "description": "The label for the doc item Web Configurator in sidebar docSidebar, linking to the doc web-configurator/web-configurator" + }, + "sidebar.webConfigSidebar.category.Web Configurator Menu": { + "message": "网页配置器菜单", + "description": "The label for category Web Configurator Menu in sidebar webConfigSidebar" + }, + "sidebar.webConfigSidebar.category.Add-Ons": { + "message": "插件", + "description": "The label for category Add-Ons in sidebar webConfigSidebar" + } +} diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/add-ons/analog.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/add-ons/analog.mdx new file mode 100644 index 0000000..4d0b20f --- /dev/null +++ b/i18n/zh/docusaurus-plugin-content-docs/current/add-ons/analog.mdx @@ -0,0 +1,74 @@ +--- +title: 模拟摇杆 (Analog) +# tags: +# - +pagination_next: null +pagination_prev: null +description: "Add-on to use hardware analog joysticks with GP2040-CE" +--- + +# 模拟摇杆 (Analog) + +:::info + +此页面“模拟摇杆”指可以输出向量信号的摇杆硬件,又称类比摇杆,而非对摇杆的“模拟”。 + +::: + +用途:此插件旨在通过 GP2040-CE 使用硬件模拟摇杆,用于游戏控制器的左模拟摇杆和右模拟摇杆。 + + + +## 网页配置器选项 + +- `模拟摇杆 1 X 引脚` - 用于模拟摇杆 1 的 X 值的 GPIO 引脚。此处仅允许使用 ADC 引脚 26、27、28 和 29。 +- `模拟摇杆 1 Y 引脚` - 用于模拟摇杆 1 的 Y 值的 GPIO 引脚。此处仅允许使用 ADC 引脚 26、27、28 和 29。 +- `模拟摇杆 1 模式` - 选择模拟摇杆 1 用作左模拟摇杆或右模拟摇杆。 +- `模拟摇杆 1 反转` - 选择是否翻转模拟摇杆 1 的 X 或 Y 轴输入(或同时翻转)。 +- `模拟摇杆 2 X 引脚` - 用于模拟摇杆 2 的 X 值的 GPIO 引脚。此处仅允许使用 ADC 引脚 26、27、28 和 29。 +- `模拟摇杆 2 Y 引脚` - 用于模拟摇杆 2 的 Y 值的 GPIO 引脚。此处仅允许使用 ADC 引脚 26、27、28 和 29。 +- `模拟摇杆 2 模式` - 选择模拟摇杆 2 用作左模拟摇杆或右模拟摇杆(必须与模拟摇杆 1 不同)。 +- `模拟摇杆 2 反转` - 选择是否反转模拟摇杆 2 的 X 或 Y 轴输入(或同时反转)。 +- `内部死区范围 (%)` - 输入您希望在模拟摇杆上设置的内死区百分比值。 +- `外部死区范围 (%)` - 输入您希望在模拟摇杆上设置的外死区百分比值。 +- `强制圆形` - 强制将模拟摇杆限制在完美圆形内。这对某些游戏可能有益,但请注意,这可能会对某些允许摇杆超出圆形移动的游戏产生负面影响。 +- `自动校准` - 自动校准模拟摇杆。这通过在启动时读取中心偏移并在下次电源循环之前进行补偿来工作。这对存在漂移问题的模拟摇杆可能非常有用。 + +## 硬件 + +### 要求 + +至少需要一个硬件模拟摇杆才能使用此插件。每个摇杆至少有以下 4 个引脚: + +- 参考电压 (ADC_VREF/3.3V) +- X 轴输入电压 (Vx) +- Y 轴输入电压 (Vy) +- 接地 (GND) + +每个轴输入电压引脚都需要一个模拟到数字转换器 (ADC) 引脚来运行。因此,某些板可能对可用摇杆的最大数量有限制(例如,树莓派 Pico 只有 3 个 ADC 引脚可用,因此只能使用 1 个摇杆)。 + +:::note 摇杆按钮 + +模拟摇杆可能有一个额外的引脚用于摇杆按钮。此引脚可以连接到任何 GPIO 引脚,并作为常规按钮使用。 + +::: + +### 安装 + +将模拟摇杆的引脚连接到开发板,如下所示,然后在 `网页配置器 > 功能配置 > 插件配置 > 模拟摇杆` 中设置 GPIO 引脚值: + +- 参考电压 (ADC_VREF/3.3V) -> ADC_VREF/3.3V 引脚 +- X 轴输入电压 (Vx) -> 任意 ADC GPIO 引脚 +- Y 轴输入电压 (Vy) -> 任意 ADC GPIO 引脚 +- 接地 (GND) -> 任意 GND 引脚 + +开发板上的 ADC 引脚具体位置因设计和制造商而异,但在 RP2040 上始终为以下 GPIO 引脚之一: + +- GPIO 26 +- GPIO 27 +- GPIO 28 +- GPIO 29 + +## 其他注意事项 + +支持电位器和霍尔效应类型的摇杆,只要它们使用 3.0-3.3V 的参考电压并输出 0-3.3V 范围内的电压作为 RP2040 的输入即可。这是因为 RP2040 的 GPIO 引脚使用 3.3V 逻辑电平,不支持 5V 电平。 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/add-ons/bootsel-button.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/add-ons/bootsel-button.mdx new file mode 100644 index 0000000..d9d5cdd --- /dev/null +++ b/i18n/zh/docusaurus-plugin-content-docs/current/add-ons/bootsel-button.mdx @@ -0,0 +1,38 @@ +--- +title: BOOTSEL 键配置 +# tags: +# - +pagination_next: null +pagination_prev: null +description: "Add-on to use the BOOTSEL button as an additional button input" +--- + +# BOOTSEL 键配置 + +用途:此插件旨在允许将 BOOTSEL 键作为额外的按键输入使用。 + + + +## 网页配置器选项 + +- `BOOTSEL 键` - 选择一个输入映射到 BOOTSEL 键。 + +## 硬件 + +### 要求 + +此插件仅适用于具有 BOOTSEL 键的设备。 + +### 安装 + +此插件没有安装说明。 + +## 其他注意事项 + +如果设置了此键,OLED 可能会变得无响应。您可以取消设置以恢复 OLED 功能。 + +:::warning + +`BOOTSEL 键配置` 仅适合有经验的用户使用。 + +::: diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/add-ons/buzzer-speaker.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/add-ons/buzzer-speaker.mdx new file mode 100644 index 0000000..3071116 --- /dev/null +++ b/i18n/zh/docusaurus-plugin-content-docs/current/add-ons/buzzer-speaker.mdx @@ -0,0 +1,37 @@ +--- +title: 蜂鸣器 +# tags: +# - +pagination_next: null +pagination_prev: null +description: "Add-on to add a buzzer to your controller" +--- + +# 蜂鸣器 + +用途:此插件旨在允许您为 GP2040-CE 设备添加蜂鸣器并播放声音。 + + + +## 网页配置器选项 + +- `Use buzzer` - 开启/关闭蜂鸣器模块。 +- `Buzzer Pin` - 用于蜂鸣器的 GPIO 引脚。 +- `Buzzer Volume` - 蜂鸣器的音量,范围为 0-100。 + +## 硬件 + +### 要求 + +- 3-3.3V 压电扬声器 + +扬声器只需要电源 (VCC) 和接地 (GND) 引脚。如果扬声器上有 I/O 引脚,可以将引脚跳线,只使用连接到 RP2040 GPIO 引脚的 VCC。 + +### 安装 + +- 将开发板上的 GPIO 引脚连接到扬声器的 VCC。 +- 在网页配置器中输入 GPIO 引脚。 + +## 其他注意事项 + +无 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/add-ons/drv8833-rumble.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/add-ons/drv8833-rumble.mdx new file mode 100644 index 0000000..35f6205 --- /dev/null +++ b/i18n/zh/docusaurus-plugin-content-docs/current/add-ons/drv8833-rumble.mdx @@ -0,0 +1,27 @@ +--- +title: DRV8833 马达震动配置 +# tags: +# - +pagination_next: null +pagination_prev: null +description: "Add-on to use the DRV8833 Rumble in Xinput mode" +--- + +# DRV8833 马达震动配置 + +用途:此插件允许您在 Xinput 模式下使用 DRV8833 震动功能。 + + + +## 网页配置器选项 + +- `左马达引脚` - DRV8833 上左侧电机 `AIN1` 连接的 GPIO 引脚。 +- `右马达引脚` - DRV8833 上右侧电机 `AIN2` 连接的 GPIO 引脚。 +- `马达休眠引脚` - DRV8833 上 `SLP` 连接的 GPIO 引脚。 +- `PWM 频率` - 电机的 PWM 频率(建议从 10,000 开始,并根据需要调整)。 +- `最小占空比` - 0-255 震动值的最低范围百分比。 +- `最大占空比` - 0-255 震动值的最高范围百分比。 + +### 要求 + +此插件需要一个 DRV8833 电机驱动器或扩展板,以及一个或两个震动电机。 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/add-ons/dual-direction-input.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/add-ons/dual-direction-input.mdx new file mode 100644 index 0000000..8445cdb --- /dev/null +++ b/i18n/zh/docusaurus-plugin-content-docs/current/add-ons/dual-direction-input.mdx @@ -0,0 +1,58 @@ +--- +title: 双重方向输入 (DDI) +# tags: +# - +pagination_next: null +pagination_prev: null +description: "Add-on to add more digital DPad, left analog stick, and right analog stick directional inputs to your controller" +--- + +# 双重方向输入 (DDI) + +用途:此插件旨在允许使用额外的数字按钮作为方向输入,支持 D-Pad 或左、右模拟摇杆的最大幅度的基本方向输入。 + + + +## 网页配置器选项 + +:::info GPIO 引脚映射已迁移 + +这些引脚现在可以在 [GPIO 引脚映射页面](../web-configurator/menu-pages/02-gpio-pin-mapping.mdx) 中配置,通过为选定引脚选择正确的选项。 + +- DDI 上 +- DDI 下 +- DDI 左 +- DDI 右 + +::: + +- `双十字键模式` - 选择此功能是否作为 D-Pad、左模拟摇杆或右模拟摇杆的附加实例。 +- `混合模式` - 选择这些方向输入与游戏控制器方向的组合方式。 +- `双重 4 向摇杆模式` - 在 DDI 摇杆上启用 4 向摇杆模式,此模式将阻止非基本方向的输入。当接收到第二个基本方向的输入时,游戏控制器方向将切换到最新的基本方向,类似于 [SOCD 后输入优先](../hotkeys.mdx#socd-后输入优先)。 + +### 双十字键模式 + +- `十字键` 用于十字键模式。 +- `左模拟摇杆` 用于左模拟摇杆模式。 +- `右模拟摇杆` 用于右模拟摇杆模式。 + +### 混合模式 + +- `混合` - 将游戏控制器方向与 DDI 方向结合,并允许使用所有 4 种 SOCD 模式。 +- `游戏控制器覆盖` - 游戏控制器方向优先,当按下时覆盖 DDI,否则游戏控制器和 DDI 独立运行。 +- `DDI 覆盖` - DDI 方向优先,当按下时覆盖游戏控制器方向,否则游戏控制器和 DDI 独立运行。 +- `无` - 游戏控制器方向和 DDI 方向相互独立运行。 + +## 硬件 + +### 要求 + +每个额外的方向输入需要额外的按钮。 + +### 安装 + +对于每个按钮,将按钮的一侧连接到其在网页配置器中分配的对应 GPIO 引脚。将按钮的另一侧连接到 GND。 + +## 其他注意事项 + +“游戏控制器方向”指核心方向(如“上”),而“DDI 方向”指此插件使用的方向(如“DDI 上”)。 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/add-ons/focus-mode.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/add-ons/focus-mode.mdx new file mode 100644 index 0000000..2e0ceed --- /dev/null +++ b/i18n/zh/docusaurus-plugin-content-docs/current/add-ons/focus-mode.mdx @@ -0,0 +1,36 @@ +--- +title: 专注模式配置 +# tags: +# - +pagination_next: null +pagination_prev: null +description: "Add-on to disable functions and inputs while Focus Mode is enabled" +--- + +# 专注模式配置 + +用途:此插件旨在允许您在启用专注模式时禁用多个功能或输入,但在其他情况下仍可访问它们。 + + + +## 网页配置器选项 + +- `锁定宏` - 启用后,在专注模式下宏触发将无法激活宏序列。 +- `锁定按键` - 启用后,列出的输入在专注模式下将不会被发送。随着输入的添加,将出现新的下拉菜单以供选择更多输入。 + +请注意,专注模式引脚可以在 [GPIO 引脚映射](../web-configurator/menu-pages/gpio-pin-mapping) 页面上设置。 + +## 硬件 + +### 要求 + +设置为 `Focus Mode Pin` 的 GPIO 引脚需要保持低电平以保持专注模式的激活。需要使用拨动开关、滑动开关或锁定开关才能使用 `Focus Mode Pin`。 + +也可以通过快捷键操作 [专注模式切换](../hotkeys.mdx#专注模式切换)(可在 [快捷键设置](../web-configurator/menu-pages/01-settings.mdx#快捷键设置) 中配置)启用或禁用专注模式。按下该快捷键将激活专注模式,按住该快捷键 3 秒将关闭专注模式。 +### 安装 + +安装方式取决于使用的是拨动开关、滑动开关还是锁定开关。通常情况下,将开关的一侧连接到设置为 `Focus Mode Pin` 的 GPIO 引脚。将开关的另一侧或如果有 3 个触点则连接中心触点到任何 GND 引脚。 + +## 其他注意事项 + +无。 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/add-ons/gamepad-usb-host.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/add-ons/gamepad-usb-host.mdx new file mode 100644 index 0000000..ebcbcab --- /dev/null +++ b/i18n/zh/docusaurus-plugin-content-docs/current/add-ons/gamepad-usb-host.mdx @@ -0,0 +1,36 @@ +--- +title: 游戏控制器 USB 主机 +# tags: +# - +pagination_next: null +pagination_prev: null +description: "Add-on to allow gamepads to be used inline with GP2040-CE" +--- + +# 游戏控制器 USB 主机 + +用途:此插件旨在允许游戏控制器与 GP2040-CE 一起使用。例如,可以将受支持的 USB 游戏控制器插入可用的 USB 主机端口,然后使用该 USB 游戏控制器进行游戏。此功能可以将受支持的游戏控制器转换为适用于其原本不支持的系统。 + + + +## 网页配置器选项 + +目前,您只能启用或禁用此插件。 + +请注意,目前您必须在 `键盘/鼠标主机` 和 `游戏控制器 USB 主机` 之间进行选择。 + +## 硬件 + +要使用此插件,您需要以下之一的游戏控制器: +- Sony Dualshock 4 无线控制器 +- Google Stadia 控制器 +- Ultrastick 360(2015 年之前版本) +- Ultrastick 360 + +### 要求 + +:::note + +请注意,未来可能会增加更多游戏控制器的支持。目前我们不接受添加额外游戏控制器的请求。 + +::: diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/add-ons/hall-effect-trigger.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/add-ons/hall-effect-trigger.mdx new file mode 100644 index 0000000..5d02532 --- /dev/null +++ b/i18n/zh/docusaurus-plugin-content-docs/current/add-ons/hall-effect-trigger.mdx @@ -0,0 +1,67 @@ +--- +title: 霍尔效应按键 +# tags: +# - +pagination_next: null +pagination_prev: null +description: "Add-on to use hall-effect trigger buttons with GP2040-CE" +--- + +# 霍尔效应按键 + +用途:此插件用于单独使用霍尔效应按键,或通过多路复用器扩展板使用霍尔效应按键。 + + + +## 网页配置器选项 + +- `每个多路复用器的通道数` - 多路复用器的通道数量。请注意,如果使用多个多路复用器,它们的通道数必须相同。如果不使用多路复用器而是直接连接,请选择 `直连(无多路复用器)`。 +- `选择引脚 0` - 多路复用器选择引脚所使用的 GPIO 引脚。 +- `选择引脚 1` - 多路复用器选择引脚所使用的 GPIO 引脚。 +- `选择引脚 2` - 多路复用器选择引脚所使用的 GPIO 引脚。 +- `选择引脚 3` - 多路复用器选择引脚所使用的 GPIO 引脚。 +- `ADC 引脚 0` - 第一个多路复用器或单个霍尔效应轴体所使用的 ADC GPIO 引脚。 +- `ADC 引脚 1` - 第二个多路复用器或单个霍尔效应轴体所使用的 ADC GPIO 引脚。 +- `ADC 引脚 2` - 第三个多路复用器或单个霍尔效应轴体所使用的 ADC GPIO 引脚。 +- `ADC 引脚 3` - 第四个多路复用器或单个霍尔效应轴体所使用的 ADC GPIO 引脚。 +- `模拟平滑` - 启用模拟平滑,如果读数存在噪声,此选项可能会有帮助。 +- `平滑系数` - 介于 1 到 99 之间的 EMA(指数移动平均)值。值为 1 时平滑程度最高,值为 99 时平滑程度最低。 + +## 校准 + + + +### 如何校准霍尔效应轴体 + +所有已连接的霍尔效应轴体都需要校准,可以逐个校准,也可以一次性全部校准。在大多数情况下,建议同时校准所有霍尔效应按键,除非您使用了不同类型的霍尔效应轴体。 + +1 - 点击 `全部校准` 按钮,或点击任意一个多路复用器通道对应的磁铁按钮。 +2 - 在不按下按键的情况下,等待 `空闲电压读数` 稳定。 +3 - 点击 `校准空闲` 按钮。 +4 - 将霍尔效应轴体完全按下,在保持轴体完全按下的同时,点击 `校准按下` 按钮。 + + + +也可以点击 `手动调整` 按钮,手动进行高级校准。 + +在高级校准中可以使用以下选项: +- `空闲电压` - 轴体处于空闲状态时的电压。 +- `触发电压` - 轴体处于您希望设置的触发点时的电压。 +- `按下电压` - 轴体处于最大按下值时的电压。 +- `翻转极性` - 暂不支持。 + +`触发点读数` 部分会在您按下霍尔效应轴体时实时显示其状态。 + +如果您处于 `全部校准` 界面,将会看到一个 `覆盖所有按键` 按钮,用于覆盖所有之前保存的设置。 + +## 霍尔效应电压表 + + + +霍尔效应电压表会汇总显示您的霍尔效应轴体当前的所有设置。 + +:::note + +在网页配置器中切换到其他页面或重启进入控制器模式之前,请务必点击 `保存按键数值`,否则您的更改将不会被保存。 + +::: diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/add-ons/i2c-analog-ads1219.mdx b/i18n/zh/docusaurus-plugin-content-docs/current/add-ons/i2c-analog-ads1219.mdx new file mode 100644 index 0000000..46612ef --- /dev/null +++ b/i18n/zh/docusaurus-plugin-content-docs/current/add-ons/i2c-analog-ads1219.mdx @@ -0,0 +1,67 @@ +--- +title: I2C Analog ADS1219 +# tags: +# - +pagination_next: null +pagination_prev: null +description: "Add-on to use an ADS1219 ADC for Left and Right analog joysticks on your controller" +--- + +import I2CTable from "../snippets/_i2c-block-table.mdx"; + +# I2C Analog ADS1219 + +用途:此插件旨在使用 ADS1219 24 位模拟-数字转换器(ADC)添加左右模拟摇杆功能。 + + + +## 网页配置器选项 + +:::info GPIO 引脚分配 + +I2C 的 SDA 和 SCL 引脚以及速度现在可以在 [`配置 > 外围设备映射 - I2C`](../web-configurator/menu-pages/03-peripheral-mapping.mdx#i2c) 中进行配置。 + +::: + +- `I2C Analog ADS1219 模块` - 要使用的 I2C 块(i2c0 或 i2c1)。 +- `I2C Analog ADS1219 地址` - 根据 SDA 和 SCL 引脚的使用情况设置 I2C 模拟 ADS1219 的地址,详见以下表格。 + +| A0 | A1 | I2C 地址 | +| :-: | --- | :---------: | +| SDA | SCL | 1001110 | +| SCL | SDA | 1001011 | + +## 硬件 + +### 要求 + +此插件需要 ADS1219 模数转换器(ADC)才能正常工作。 + +### 安装 + +根据以下表格连接 ADS1219 的引脚: + +| ADS1219 引脚 | 功能 | +| :----------: | ------------------------ | +| A0 | SDA 或 SCL | +| A1 | SDA 或 SCL | +| AIN0 | 左模拟摇杆 X 轴 | +| AIN1 | 左模拟摇杆 Y 轴 | +| AIN2 | 右模拟摇杆 X 轴 | +| AIN3 | 右模拟摇杆 Y 轴 | + ++ +  + +
+ ++ 基于RP2040的多平台游戏控制器固件 +
+ +
+
+
+
+
+
+
+ GP2040-CE(社区版)是一款用于树莓派 Pico 和其他基于 RP2040 微控制器的游戏控制器固件,结合了多平台兼容性、低延迟和丰富的功能集,为用户提供了无限的自定义可能性,同时不牺牲性能。 +
+ ++ GP2040-CE 兼容 PC、PS3、PS4、PS5、Nintendo Switch、Xbox One、Steam Deck、MiSTer 和 Android。 +
+ +## 链接 + +[下载](./downloads) | [安装](/installation) | [接线](/controller-build/wiring) | [使用](/usage) | [常见问题](/faq/faq-general) | [GitHub](https://github.com/OpenStickCommunity/GP2040-CE) + +## 功能 + +- 可选择 13 种输入模式,包括 X-Input、Nintendo Switch、Playstation 4/5、Xbox One、D-Input 和键盘模式 +- Xinput 平均输入延迟为 0.76ms,Playstation 5 平均输入延迟为 0.90ms +- 多种 SOCD 覆盖模式 - 上优先(又称无摇杆模式)、回中、后输入优先和先输入优先 +- 通过方向键输入模拟左摇杆和右摇杆,以及专用切换开关 +- 方向键 + LS/RS 双方向输入支持 +- 按钮反转输入支持 +- [连发 (Turbo) 和 Turbo LED](/add-ons/turbo),支持速度选择 +- 每个按钮支持 RGB LED +- PWM 玩家指示灯 LED 支持(仅限 XInput) +- 支持多种 LED 配置文件 +- 支持 128x64 单色 I2C 显示屏 - 兼容 SSD1306、SH1106 和 SH1107 +- 自定义启动画面,支持通过网页配置轻松上传图像 +- 支持被动蜂鸣器扬声器(3V 或 5V) +- [内置嵌入式网页配置器](/web-configurator) - 无需下载! + +访问 [GP2040-CE 使用指南](/usage) 页面了解更多详情。 + +## 性能 + +输入延迟使用 [WydD 的 inputlag.science 网站](https://inputlag.science/controller/methodology) 中描述的方法进行测试,固件使用默认的 1000 Hz(1ms)轮询率。您可以在 [这里](https://github.com/OpenStickCommunity/Site/blob/main/latency_testing/README.md) 阅读我们用于延迟测试的设置,以便自行测试或了解用于测试的设备。 + +| 版本 | 模式 | 轮询率 | 最小值 | 最大值 | 平均值 | 标准差 | 准时概率 | 1帧跳过概率 | 2帧跳过概率 | +| ------- | --------- | -------- | -------- | -------- | -------- | -------- | ---------- | ------------- | ------------- | +| v0.7.11 | Xinput | 1 ms | 0.45 ms | 1.28 ms | 0.76 ms | 0.24 ms | 98.48% | 1.52% | 0% | +| v0.7.11 | Switch | 1 ms | 0.41 ms | 1.23 ms | 0.72 ms | 0.24 ms | 98.53% | 1.47% | 0% | +| v0.7.11 | HID USB | 1 ms | 0.41 ms | 1.30 ms | 0.72 ms | 0.24 ms | 98.53% | 1.47% | 0% | +| v0.7.11 | PS3 | 1 ms | 0.52 ms | 1.46 ms | 0.83 ms | 0.24 ms | 98.38% | 1.62% | 0% | +| v0.7.11 | PS4 | 1 ms | 0.55 ms | 2.37 ms | 0.90 ms | 0.32 ms | 98.19% | 1.81% | 0% | +| v0.7.11 | PS5 | 1 ms | 0.55 ms | 2.37 ms | 0.91 ms | 0.33 ms | 98.17% | 1.83% | 0% | + +完整测试结果可在 [GP2040-CE v0.7.11 固件延迟测试结果.xlsx](https://github.com/OpenStickCommunity/Site/raw/main/latency_testing/GP2040-CE_Firmware_Latency_Test_Results_v0.7.11.xlsx) 表中找到。 + +v0.7.10 的结果可在 [这里](https://github.com/OpenStickCommunity/Site/raw/main/latency_testing/GP2040-CE_Firmware_Latency_Test_Results_v0.7.10.xlsx) 找到。之前的测试结果可在 [`latency_testing`](https://github.com/OpenStickCommunity/Site/tree/main/latency_testing) 文件夹中找到。 + +## 支持 + +如果您希望讨论功能、问题或任何与 GP2040-CE 相关的内容,请 [创建 issue](https://github.com/OpenStickCommunity/GP2040-CE/issues/new) 或加入 [OpenStick GP2040-CE Discord](https://discord.gg/k2pxhke7q8) 支持频道。 + +## 贡献 + +希望帮助改进 GP2040-CE?有很多方式可以参与! + +### 社区参与 + +有一个很酷的新功能想法,或者只是想与开发人员讨论一些技术细节?加入 [OpenStick GP2040-CE Discord](https://discord.gg/k2pxhke7q8) 服务器,与我们活跃且不断壮大的社区互动! + +### 拉取请求 + +欢迎并鼓励提交拉取请求以进行功能增强、错误修复和文档更新。 + +请遵守您正在处理的文件的编码风格,并在存在 `.editorconfig` 文件时强制使用。 + +## 致谢 + +- [FeralAI](https://github.com/FeralAI) 构建了 [GP2040](https://github.com/FeralAI/GP2040),为这个社区项目奠定了基础 +- Ha Thach 的优秀 [TinyUSB 库](https://github.com/hathach/tinyusb) 示例 +- fluffymadness 的 [tinyusb-xinput](https://github.com/fluffymadness/tinyusb-xinput) 示例 +- Kevin Boone 的 [关于使用 RP2040 闪存作为模拟 EEPROM 的博客文章](https://kevinboone.me/picoflash.html) +- [bitbank2](https://github.com/bitbank2) 提供的 [OneBitDisplay](https://github.com/bitbank2/OneBitDisplay) 和 [BitBang_I2C](https://github.com/bitbank2/BitBang_I2C) 库,这些库已移植用于 Pico SDK +- [arntsonl](https://github.com/arntsonl) 提供了出色的清理和功能增强,使我们达到了 v0.5.0 +- [alirin222](https://github.com/alirin222) 提供了出色的 Turbo 代码(在 Twitter 上为 [@alirin222](https://twitter.com/alirin222)) +- [deeebug](https://github.com/deeebug) 改进了 Web-UI 并修复了 PS3 Home 按钮问题 +- [TheTrain](https://github.com/TheTrainGoes/GP2040-Projects) 和 [Fortinbra](https://github.com/Fortinbra) 帮助推动我们的社区发展 +- [PassingLink](https://github.com/passinglink/passinglink) 提供了有关 PS4 实现的技术细节和代码 +- [Youssef Habchi](https://youssef-habchi.com/) 允许我们购买 Road Rage 字体的使用许可 +- [tamanegitaro](https://github.com/tamanegitaro/) 和 [alirin222](https://github.com/alirin222) 为迷你/经典游戏控制器工作提供了基础 +- [Ryzee119](https://github.com/Ryzee119) 提供了出色的 [ogx360_t4](https://github.com/Ryzee119/ogx360_t4/) 和 xid_driver 库,用于支持原版 Xbox +- [Santroller](https://github.com/Santroller/Santroller) 和 [GIMX](https://github.com/matlo/GIMX) 提供了使用直通认证 Xbox One 的技术示例 diff --git a/i18n/zh/docusaurus-theme-classic/navbar.json b/i18n/zh/docusaurus-theme-classic/navbar.json new file mode 100644 index 0000000..919b4a1 --- /dev/null +++ b/i18n/zh/docusaurus-theme-classic/navbar.json @@ -0,0 +1,22 @@ +{ + "logo.alt": { + "message": "GP2040-CE Logo", + "description": "The alt text of navbar logo" + }, + "item.label.Documentation": { + "message": "文档", + "description": "Navbar item with label Documentation" + }, + "item.label.Web Config": { + "message": "网页设置", + "description": "Navbar item with label Web Config" + }, + "item.label.Contribute": { + "message": "贡献", + "description": "Navbar item with label Contribute" + }, + "item.label.Downloads": { + "message": "下载", + "description": "Navbar item with label Downloads" + } +} diff --git a/src/components/Download.tsx b/src/components/Download.tsx index 1cea082..3a80263 100644 --- a/src/components/Download.tsx +++ b/src/components/Download.tsx @@ -3,6 +3,7 @@ import styles from './download.module.css'; import LinkIcon from './LinkIcon'; import boards from '../config/boards'; import { useGitHubInfo } from '../hooks/useGitHubInfo'; +import { translate } from '@docusaurus/Translate'; const createDownloadLink = ({ releaseVersion, configName }) => releaseVersion @@ -31,10 +32,28 @@ const RenderDownloadBox = ({- The Raspberry Pi Pico is a powerful, low-cost board based on the - Raspberry Pi RP2040 microcontroller. This build is the reference - implementation for GP2040-CE. -
- ), - }, - { - name: 'Raspberry Pi Pico W', - configName: 'PicoW', - pinout: '/controller-build/wiring#raspberry-pi-pico', - website: 'https://www.raspberrypi.com/products/raspberry-pi-pico/', - image: '/img/boards/PicoW.jpg', - supported: true, - desc: () => ( -- The Raspberry Pi Pico W is a powerful, low-cost board based on the - Raspberry Pi RP2040 microcontroller. -
- ), - }, - { - name: 'Raspberry Pi Pico 2', - configName: 'Pico2', - pinout: '/controller-build/wiring#raspberry-pi-pico', - website: 'https://www.raspberrypi.com/products/raspberry-pi-pico-2/', - image: '/img/boards/Pico2.jpg', - supported: true, - desc: () => ( -- The Raspberry Pi Pico 2 is a powerful, low-cost board based on the - Raspberry Pi RP2350 microcontroller. -
- ), - }, - { - name: 'Adafruit KB2040', - configName: 'KB2040', - pinout: '/controller-build/wiring#adafruit-kb2040', - website: 'https://learn.adafruit.com/adafruit-kb2040', - image: '/img/boards/KB2040.jpg', - supported: true, - desc: () => ( -- Another RP2040 board in the Pro Micro form factor, with 2 additional - pins for USB data. This build is configured for DIY gamepad mods. -
- ), - }, - { - name: 'Liatris', - configName: 'SparkFunProMicro', - pinout: '/controller-build/wiring#sparkfun-pro-micro---rp2040', - website: - 'https://splitkb.com/products/liatris', - image: '/img/boards/Liatris.jpg', - supported: true, - desc: () => ( -- Drop in RP2040 replacement for Pro Micro builds by {' '} - - SplitKB.com - - . -
- ), - }, - { - name: 'Seeed XAIO RP2040', - configName: 'SeeedXIAORP2040', - pinout: '/controller-build/wiring#seeed-xiao-rp2040', - website: - 'https://wiki.seeedstudio.com/XIAO-RP2040/', - image: '/img/boards/SeeedXIAORP2040.jpg', - supported: true, - desc: () => ( -- The Seeed Studio XIAO RP2040 is a small RP2040 board created by Seeed Studio. -
- ), - }, - { - name: 'SparkFun Pro Micro', - configName: 'SparkFunProMicro', - pinout: '/controller-build/wiring#sparkfun-pro-micro---rp2040', - website: - 'https://learn.sparkfun.com/tutorials/pro-micro-rp2040-hookup-guide', - image: '/img/boards/SparkFunProMicro.jpg', - supported: true, - desc: () => ( -- An RP2040 board in the Pro Micro form factor. This build is a drop-in - replacement for the{' '} - - Daemonbite Arcade Encoder - - . -
- ), - }, - { - name: 'Waveshare RP2040-Zero', - configName: 'WaveshareZero', - pinout: '/controller-build/wiring#waveshare-rp2040-zero', - website: 'https://www.waveshare.com/wiki/RP2040-Zero', - image: '/img/boards/WaveshareZero.jpg', - supported: true, - desc: () => ( -- The{' '} - - Waveshare RP2040-Zero - {' '} - is a small form factor board with castellated pins and USB-C, making - this a popular choice for custom built PCBs without the need for SMT - assembly. -
- ), - }, - ], - 'Community Devices': [ - { - name: 'ARC Accessibility Controller', - configName: 'ARCController', - pinout: null, - website: 'https://github.com/OpenStickCommunity/Hardware/tree/main/Boards/GP2040-CE%20Official%20Controllers/ARC%20Accessibility%20Controller', - image: '/img/boards/ARCController.jpg', - category: 'official', - desc: () => ( -- The ARC Controller is an accessibility controller.{' '} - This was designed by TheTrain taking some design ideas from jfedor2{' '} - as well as the universal standards for accessibility controller connectors. -
- ), - }, - { - name: 'ASi LVL ABC', - configName: 'ASiLVLABC', - pinout: null, - website: 'https://asindo.pro/products/lvl-abc', - image: '/img/boards/ASiLVLABC.jpg', - category: 'closed', - desc: () => ( -- The ASi LVL ABC Controller is a compact leverless controller created by ASIndo. -
- ), - }, - { - name: 'ASi LVL WASD', - configName: 'ASiLVLWASD', - pinout: null, - website: 'https://asindo.pro/collections/lvl/products/lvl-wasd', - image: '/img/boards/ASiLVLWASD.jpg', - category: 'closed', - desc: () => ( -- The ASi LVL WASD Controller is a compact leverless controller created by ASIndo. -
- ), - }, - { - name: 'Flatbox Rev 4', - configName: 'FlatboxRev4', - pinout: null, - website: 'https://github.com/jfedor2/flatbox/tree/master/hardware-rev4', - image: '/img/boards/FlatboxRev4.jpg', - category: 'open', - desc: () => ( -- Stickless PCB designed by{' '} - jfedor2 using an embedded - RP2040 chip. -
- ), - }, - { - name: 'Flatbox Rev 5', - configName: 'FlatboxRev5', - pinout: null, - website: 'https://github.com/jfedor2/flatbox/tree/master/hardware-rev5', - image: '/img/boards/FlatboxRev5.jpg', - category: 'open', - desc: () => ( -- Stickless PCB designed by{' '} - jfedor2 using the Waveshare - RP2040-Zero. -
- ), - }, - { - name: 'Flatbox Rev 5 Southpaw', - configName: 'FlatboxRev5Southpaw', - pinout: null, - website: 'https://github.com/SkylaHila/flatbox-southpaw', - image: '/img/boards/FlatboxRev5Southpaw.jpg', - category: 'open', - desc: () => ( -- Mirrored version of the Flatbox Rev 5 by SkylaHila. Based on the Flatbox Rev 5 by - jfedor2. -
- ), - }, - { - name: 'Flatbox Rev 5 RGB', - configName: 'FlatboxRev5RGB', - pinout: null, - website: - 'https://github.com/OpenStickCommunity/Hardware/tree/main/Boards/GP2040-CE%20Official%20Controllers/Flatbox%20Rev%205%20RGB', - image: '/img/boards/FlatboxRev5RGB.jpg', - category: 'open', - desc: () => ( -- Stickless PCB designed by{' '} - jfedor2 and{' '} - TheTrain using the - Waveshare RP2040-Zero. -
- ), - }, - { - name: 'Flatbox Rev 5 USB Passthrough', - configName: 'FlatboxRev5USBPassthrough', - pinout: null, - website: - 'https://github.com/OpenStickCommunity/Hardware/tree/main/Boards/GP2040-CE%20Official%20Controllers/Flatbox%20Rev%205%20Passthrough', - image: '/img/boards/FlatboxRev5USBPassthrough.jpg', - category: 'open', - desc: () => ( -- Stickless PCB designed by{' '} - jfedor2 and{' '} - TheTrain using the - Waveshare RP2040-Zero. -
- ), - }, - { - name: 'GP2040-CE Keyboard Converter', - configName: 'KeyboardConverter', - pinout: null, - website: - 'https://github.com/OpenStickCommunity/Hardware/tree/main/Boards/Supported%20Boards/GP2040%20Keyboard%20Converter/Waveshare%20Zero-PCB', - image: '/img/boards/KeyboardConverter.jpg', - category: 'open', - desc: () => ( -- The GP2040-CE Keyboard Converter Case is designed to be a USB Host - Device for the use of a keyboard with the GP2040-CE project. -
- ), - }, - { - name: 'Granola Summit', - configName: 'Granola', - pinout: null, - website: 'https://granola.games/collections/controllers', - image: '/img/boards/Granola.jpg', - category: 'open', - desc: () => ( -- Configuration for the {' '} - - Granola Summit - - . PCB and design files can be found here. -
- ), - }, - { - name: 'Granola Beacon', - configName: 'GranolaBeacon', - pinout: null, - website: 'https://granola.games/products/beacon', - image: '/img/boards/GranolaBeacon.jpg', - category: 'closed', - desc: () => ( -- Configuration for the {' '} - - Granola Beacon - -
- ), - }, - { - name: 'Haute42 Series', - configName: 'Haute42COSMOX', - pinout: null, - website: 'https://haute42.com/', - image: '/img/boards/Haute42.jpg', - category: 'closed', - desc: () => ( -- Configuration for the {' '} - - Haute42 Series - - . The Haute42 products are all compatible with the same configuration file. - These products include the Haute42 Pad M Series, T Series, G Series, and mini. -
- ), - }, - { - name: 'HautePad M Lite', - configName: 'Haute42COSMOXMLite', - pinout: null, - website: 'https://cosmoxgaming.com/m-lite/', - image: '/img/boards/Haute42COSMOXMLite.jpg', - category: 'closed', - desc: () => ( -- Configuration for the {' '} - - HautePad M Lite - - . The HautePad M Lite product contains special case RGB code specific to the M-Lite. - The firmware uf2 will automatically set the case rgbs and mode to enable full LEDs. -
- ), - }, - { - name: 'HautePad M Ultra', - configName: 'Haute42COSMOXMUltra', - pinout: null, - website: 'https://cosmoxgaming.com/m-ultra/', - image: '/img/boards/Haute42COSMOXMUltra.jpg', - category: 'closed', - desc: () => ( -- Configuration for the {' '} - - HautePad M Ultra - - . The HautePad M Ultra product contains special case RGB code specific to the M Ultra. - The firmware uf2 will automatically set the case rgbs and mode to enable full LEDs. -
- ), - }, - { - name: 'HautePad X (Analog Configuration)', - configName: 'Haute42COSMOXXAnalog', - pinout: null, - website: 'https://cosmoxgaming.com/x/', - image: '/img/boards/Haute42COSMOXXAnalog.jpg', - category: 'closed', - desc: () => ( -- Configuration for the {' '} - - HautePad X Series in Analog Configuration - - . The HautePad X Series with the analog attachment requires a special configuration file to work immediately. -
- ), - }, - { - name: 'Mavercade Rev1', - configName: 'MavercadeRev1', - pinout: null, - website: - 'https://mavercade.com/', - image: '/img/boards/MavercadeRev1.jpg', - category: 'closed', - desc: () => ( -- Configuration for the{' '} - - Mavercade Rev1 - - . These revisions use a Waveshare RP2040-Zero board. -
- ), - }, - { - name: 'Mavercade Rev2', - configName: 'MavercadeRev2', - pinout: null, - website: - 'https://mavercade.com/', - image: '/img/boards/MavercadeRev2.jpg', - category: 'closed', - desc: () => ( -- Configuration for the{' '} - - Mavercade Rev2 - - . These revisions use a Waveshare RP2040-Zero board. -
- ), - }, - { - name: 'Mavercade Rev3', - configName: 'MavercadeRev3', - pinout: null, - website: - 'https://mavercade.com/', - image: '/img/boards/MavercadeRev3.jpg', - category: 'closed', - desc: () => ( -- Configuration for the{' '} - - Mavercade Rev3 - - . These revisions use a Waveshare RP2040-Zero board. -
- ), - }, - { - name: 'MiSTercadeV2', - configName: 'MiSTercadeV2', - pinout: null, - website: - 'https://github.com/misteraddons/MiSTercadeV1', - image: '/img/boards/MistercadeV2.jpg', - category: 'closed', - desc: () => ( -- Configuration for the{' '} - - Mistercade V2 - - . MiSTercade is the original JAMMA extension for MiSTer FPGA. -
- ), - }, - { - name: 'Open Core0', - configName: 'OpenCore0', - pinout: null, - website: - 'https://github.com/OpenStickCommunity/Hardware/tree/main/Boards/GP2040-CE%20Official%20Controllers/Open_Core0', - image: '/img/boards/OpenCore0.jpg', - category: 'official', - desc: () => ( -- Open source stickless controller designed by {' '} - - TheTrain - . -
- ), - }, - { - name: 'Open Core0 WASD', - configName: 'OpenCore0WASD', - pinout: null, - website: - 'https://github.com/OpenStickCommunity/Hardware/tree/main/Boards/GP2040-CE%20Official%20Controllers/Open_Core0%20WASD', - image: '/img/boards/OpenCore0WASD.jpg', - category: 'official', - desc: () => ( -- Open source stickless WASD controller designed by {' '} - - TheTrain - . -
- ), - }, - { - name: 'OSUMGP-RP2040', - configName: 'OSUMGP-RP2040', - pinout: null, - website: - 'https://github.com/NickGuyver/OSUMGP-RP2040', - image: '/img/boards/OSUMGP-RP2040.jpg', - category: 'open', - desc: () => ( -- OSUMGP-RP2040: Open Source Universal Modern Game Pad - RP2040 Edition by - - NickGuyver - . -
- ), - }, - { - name: 'Pico Fighting Board', - configName: 'PicoFightingBoard', - pinout: null, - website: 'https://github.com/FeralAI/PicoFightingBoard', - image: '/img/boards/PicoFightingBoard.jpg', - category: 'open', - desc: () => ( -- Arcade encoder board designed by {' '} - FeralAI using a Raspberry Pi - Pico or pin-equivalent RP2040 board. -
- ), - }, - { - name: 'PXP-Gamepad', - configName: 'PXPGamepad', - pinout: null, - website: 'https://github.com/MegaBitmap/PXP-Gamepad', - image: '/img/boards/PXPGamepad.png', - category: 'open', - desc: () => ( -- DIY universal controller pocket gamepad by {' '} - MegaBitmap using - an RP2040-Zero MCU soldered onto a custom PCB. -
- ), - }, - { - name: 'Reflex Encode v1.2', - configName: 'ReflexEncodeV1.2', - pinout: null, - website: 'https://github.com/misteraddons/ReflexFightingBoard', - image: '/img/boards/ReflexEncode_v1.2.jpg', - category: 'open', - desc: () => ( -- Arcade encoder board designed and sold by{' '} - MiSTerAddons using an - embedded RP2040 chip. -
- ), - }, - { - name: 'Reflex Encode v2.0', - configName: 'ReflexEncodeV2.0', - pinout: null, - website: 'https://github.com/misteraddons/ReflexFightingBoard', - image: '/img/boards/ReflexEncode_v2.0.jpg', - category: 'open', - desc: () => ( -- Arcade encoder board designed and sold by {' '} - MiSTerAddons using an - embedded RP2040 chip. -
- ), - }, - { - name: 'Reflex CTRL Genesis 6', - configName: 'ReflexCtrlGenesis6', - pinout: null, - website: 'https://github.com/misteraddons/Reflex-CTRL', - image: '/img/boards/ReflexCTRLGenesis6.png', - category: 'open', - desc: () => ( -- Reflex Board Open source PCB for Sega Genesis 6 button Controller replacement PCBs - designed and sold by{' '} - MiSTerAddons using an - embedded RP2040 chip. -
- ), - }, - { - name: 'Reflex CTRL NES', - configName: 'ReflexCtrlNES', - pinout: null, - website: 'https://github.com/misteraddons/Reflex-CTRL', - image: '/img/boards/ReflexCTRLNES.png', - category: 'open', - desc: () => ( -- Reflex Board Open source PCB for NES Controller replacement PCBs - designed and sold by{' '} - MiSTerAddons using an - embedded RP2040 chip. -
- ), - }, - { - name: 'Reflex CTRL SNES', - configName: 'ReflexCtrlSNES', - pinout: null, - website: 'https://github.com/misteraddons/Reflex-CTRL', - image: '/img/boards/ReflexCTRLSNES.png', - category: 'open', - desc: () => ( -- Reflex Board Open source PCB for SNES Controller replacement PCBs - designed and sold by{' '} - MiSTerAddons using an - embedded RP2040 chip. -
- ), - }, - { - name: 'Reflex CTRL Saturn', - configName: 'ReflexCtrlSaturn', - pinout: null, - website: 'https://github.com/misteraddons/Reflex-CTRL', - image: '/img/boards/ReflexCTRLSaturn.png', - category: 'open', - desc: () => ( -- Reflex Board Open source PCB for Sega Saturn Controller replacement PCBs - designed and sold by{' '} - MiSTerAddons using an - embedded RP2040 chip. -
- ), - }, - { - name: 'Reflex CTRL Virtual Boy', - configName: 'ReflexCtrlVB', - pinout: null, - website: 'https://github.com/misteraddons/Reflex-CTRL', - image: '/img/boards/ReflexCTRLVB.png', - category: 'open', - desc: () => ( -- Reflex Board Open source PCB for Virtual Boy Controller replacement PCBs - designed and sold by{' '} - MiSTerAddons using an - embedded RP2040 chip. -
- ), - }, - { - name: 'RP2040 Advanced Breakout', - configName: 'RP2040AdvancedBreakoutBoard', - pinout: null, - website: - 'https://github.com/OpenStickCommunity/Hardware/tree/main/Boards/GP2040-CE%20Official%20Boards/RP2040%20Advanced%20Breakout%20Board/RP2040%20Advanced%20Breakout%20Board', - image: '/img/boards/RP2040AdvancedBreakoutBoard.jpg', - category: 'official', - desc: () => ( -- Arcade encoder board designed by {' '} - TheTrain using an - embedded RP2040, and is the official board of the GP2040-CE project. -
- ), - }, - { - name: 'RP2040 Advanced Breakout (USB Passthrough)', - configName: 'RP2040AdvancedBreakoutBoardUSBPassthrough', - pinout: null, - website: 'https://github.com/OpenStickCommunity/Hardware/tree/main/Boards/GP2040-CE%20Official%20Boards/RP2040%20Advanced%20Breakout%20Board/RP2040%20Advanced%20Breakout%20Board%20-%20Passthrough', - image: '/img/boards/RP2040AdvancedBreakoutBoardUSBPassthrough.jpg', - category: 'official', - desc: () => -- Official USB Passthrough Board of the Open Stick project. Updated version of - the RP2040 Advanced Breakout Board with USB passthrough included on the board. -
, - }, - { - name: 'RP2040 Mini Breakout Board', - configName: 'RP2040MiniBreakoutBoard', - pinout: null, - website: - 'https://github.com/OpenStickCommunity/Hardware/tree/main/Boards/GP2040-CE%20Official%20Boards/RP2040%20Mini%20Breakout%20Board/RP2040%20Mini%20Breakout%20Board', - image: '/img/boards/RP2040MiniBreakoutBoard.jpg', - category: 'open', - desc: () => ( -- A reduced-footprint spin off of the RP2040 Advanced Breakout Board designed by {' '} - - TheTrain - . -
- ), - }, - { - name: 'ScrubTier BentoBox', - configName: 'BentoBox', - pinout: null, - website: - 'https://github.com/OpenStickCommunity/GP2040-CE/tree/main/configs/BentoBox', - image: '/img/boards/BentoBox.jpg', - category: 'closed', - desc: () => ( -- Configuration for the{' '} - - ScrubTier BentoBox v1 and v2 as well as the GGEZStick Keebfighters - - . -
- ), - }, - { - name: 'SGF Devices', - configName: 'SGFDevices', - pinout: null, - website: 'https://sgfdevices.com/collections/controllers', - image: '/img/boards/SGFFaust.jpg', - category: 'closed', - desc: () => ( -- The SGF stickless controllers are inspired by the open-source - flatbox rev4 design by jfedor. -
- ), - }, - { - name: 'Stress', - configName: 'Stress', - pinout: null, - website: 'https://github.com/GroooveBob/Stress', - image: '/img/boards/Stress.jpg', - category: 'open', - desc: () => ( -- A small and portable PCB-as-a-controller designed by{' '} - GroooveBob using the - Waveshare RP-2040-Zero. -
- ), - }, - { - name: 'Zero Rhythm', - configName: 'ZeroRhythm', - pinout: null, - website: 'https://github.com/OpenStickCommunity/Hardware/tree/main/Boards/GP2040-CE%20Official%20Controllers/Zero%20Rhythm', - image: '/img/boards/Zero_Rhythm.jpg', - category: 'official', - desc: () => ( -- The Zero Rhythm is a controller for the Theatrhythm game on the Nintendo Switch.{' '} - It allows you to play rhythm as well as dual stick games in a double WASD layout. -
- ), - }, - ], + 'Microcontroller Boards': [ + { + name: translate({ + id: 'boards.microcontroller.pico.name', + message: 'Raspberry Pi Pico', + }), + configName: 'Pico', + pinout: '/controller-build/wiring#raspberry-pi-pico', + website: 'https://www.raspberrypi.com/products/raspberry-pi-pico/', + image: '/img/boards/Pico.jpg', + supported: true, + desc: () => ( +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+