1517 Commits

Author SHA1 Message Date
TheTrain
3d963fae93 Update web-config labels for dedicated analog inputs (#1432)
This is a very small PR that updates the labels for the dedicated analog inputs to include their overall direction as well.
2025-07-23 11:20:48 -04:00
Pelsin
b04223af8c Themes default check on startup (#1429)
Attempt at solving themes defaulting, check themes after they have been added
2025-07-23 11:18:18 -04:00
Luke A
ed3477f7a2 Xbox 360 - No Dongle Authentication (#1426)
* Solid connection?

* Add a small wait after we reset the port

* Moving up to latest as this fixes a lot of reset logic

* Moving libraries over to jfedor's set, standard does not work for SDK 2.1.1

* Switching Pico and TinyUSB to specific versions via hid-remapper

* Working?

* Move TX to PIO0:2

Move NeoPico to PIO0:1

* Moving state machines back to 0.7.11 alignment

* And a pause/wait for core1 to be ready before running it solves my last issue

* Removing core1 reset entirely, remove i2c hangup if display is not present during web config

* Reverting / clean some code, restore tusb to our old config, update aux and remove comments for PR

* Xbox 360 authentication - Santroller + XSM3

* Adding the missing files to the make

* ANd the missing XSM3 files
2025-07-15 22:17:12 -04:00
Luke A
8c4ac5c7b5 Code Cleanups (removed SI, max profiles) (#1427)
Minor code cleanup, removed SI as we never ended up using it, added MAX_PROFILES to get rid of 4; magic number
2025-07-15 18:26:52 -04:00
TheTrain
314c0b3240 Update profile to 6 (#1397)
* Update profile to 6

* Update config_utils.cpp

* Update requirements.txt

* 20250609 profile addition test (#1400)

* Bump node workflow actions (#1399)

* Bump max count of profiles in protobuf

* Update fortinbra picobuild

* Add hotkeys to proto

* Add hotkeys to proto

* Add hotkey options and translation for non-english

---------

Co-authored-by: Pelsin <ian@vidales.se>
Co-authored-by: Luke A <arntsonl@gmail.com>
2025-07-15 17:41:45 -04:00
Brian S. Stephan
1aae598b5e code USBHID button display w/generic numbers rather than PS buttons (#1421) 2025-07-15 17:38:09 -04:00
Jacek Fedoryński
a3e0769bc8 Add board config for Flatbox rev8 (#1410) 2025-07-13 13:02:18 -04:00
Luke A
07e42fa016 Fix for rndis crashing the i2c (#1420)
* Moving rndis init slightly and removing tusb_inint from the rndis driver and lib

* Small notes on code, rndis_init has to happen after we've setup tinyusb
2025-07-08 10:55:38 -04:00
TheTrain
dbb9fbe2f6 Update to the FRET_A layout (#1413)
This PR updates the BANDHERO_FRET_A layout as per https://github.com/OpenStickCommunity/GP2040-CE/issues/1408
2025-07-07 20:48:46 -04:00
Pelsin
5e54496158 Add option to select what config to build from github actions (#1418)
* Adding manual config build option to skip non choosen

* Build board config matrix depending on input
2025-07-07 20:47:24 -04:00
Mike Parks
0b095cdd0c Early support for RP2350-based devices (#1391)
* Early support for Pico 2/RP2350
Includes board configs for Pico 2 and SparkFun Pro Micro RP2350

* Exclude Pico2 and ProMicro2350 from Pico build rule

* Correct logic on Pico2 and ProMicro2350 rules

* Adding ws2812.pio.h to ignorelist

* Fix conflicts
2025-06-23 09:43:44 -04:00
NickGuyver
4d133f0db7 separate all analog settings per stick (#1401)
* separate all analog settings per stick

* remove old variables

* align toggles

* merge fix
2025-06-22 21:47:05 -04:00
Luke A
9fceeacb2f Adding ws2812.pio.h to ignorelist (#1409)
* Solid connection?

* Add a small wait after we reset the port

* Moving up to latest as this fixes a lot of reset logic

* Moving libraries over to jfedor's set, standard does not work for SDK 2.1.1

* Switching Pico and TinyUSB to specific versions via hid-remapper

* Working?

* Move TX to PIO0:2

Move NeoPico to PIO0:1

* Moving state machines back to 0.7.11 alignment

* And a pause/wait for core1 to be ready before running it solves my last issue

* Removing core1 reset entirely, remove i2c hangup if display is not present during web config

* Reverting / clean some code, restore tusb to our old config, update aux and remove comments for PR

* Adding ws2812.pio.h to our ignore list as its generated during make
2025-06-22 18:11:23 -04:00
NickGuyver
0c404fa101 Add-on cleaning (#1403)
* initial cleaning

Link the titles to docs, add alerts, fix wording, link GPIO and Peripheral mapping within alerts

* snes and focus mode

add contextualhelpoverlay for SNES mappings, fix spacing on focusmode

* add missing letter

* class -> className

* last class

* fix hidden and alignments

Moved alerts to be within hidden
Aligned alerts and buttons

* more alignment
2025-06-22 16:05:36 -04:00
Brian S. Stephan
e1fd4131c6 retain the unaltered DPAD state in order to use it in display (#1392)
my build has both a lever (dpad mode) and buttons assigned to direct
digital, and a display that is intended to be input-pin-based rather
than output-based (so that the same things display in the viewer
regardless of which profile mode I am in). main works great for that,
for buttons, but the current GP_LEVER_MODEs all are looking at the
output, e.g. GP_LEVER_MODE_DIGITAL only shows the lever moving if the
dpad is set to digital output, not e.g. left analog output. meanwhile,
it would also show lever activity if I was pressing the direct digital
buttons even when I wasn't moving the lever.

this fixes that by adding a new GP_LEVER_MODE_DPAD, which is looking at
the unaltered dpad-mode input, regardless of how it is output, bringing
the display lever functionally equivalent to GPIO-based button displays.
conveniently, we already were holding onto the dpad inputs in the main
loop in order to handle the direct directionals, this just puts it in
the gamepad state object instead
2025-06-22 15:59:32 -04:00
Darren
17f4da6fec Update cmake.yml (#1394)
Co-authored-by: fortinbra <fortinbra@becauseimclever.com>
2025-06-22 15:53:48 -04:00
Luke A
28377cf7ae Fix for USB host (#1404)
Fixes the USB host not working by reverting the tinyusb and pico-pio-usb libraries to jfedor's branch. There are several issues that make these libraries not work in SDK 2.1.1, but jfedor's dev branch on pico-pio-usb fixes the issues we were having.

I2C breaks on web config in this build, but I will be investigating i2c hal implementation which reverts some of the i2c functionality. If that works, we can add that as a patch as well.
2025-06-22 15:52:04 -04:00
NickGuyver
0241324b8b fix issue 1381 (#1406) 2025-06-17 21:41:52 -04:00
Pelsin
cc18d158e9 Bump node workflow actions (#1399) 2025-06-10 16:08:37 -04:00
Mike Parks
acfff4ca35 Fix for broken nanopb build process (#1398)
Forces grpcio-tools to 1.71.0 to prevent breakage of protobuf build process. Temporary fix suggestion c/o @bvoo
2025-06-10 13:16:57 -04:00
TheTrain
41b2149c8b Add additional board defined layout slot (#1385)
This PR adds another board defined layout slot for boardconfig.h.  This also adds a layout for the Haute42|COSMOX E16 Southpaw.
2025-06-03 07:55:47 -07:00
Luke A
805f41e2a6 TinyUSB State Machine - Back to Default (#1393)
Setting state machine to regular pio_cfg now that we moved NeoPico to pio1
2025-06-01 18:29:46 -04:00
smahdink
e67dc9747b Mapped Stadia Capture and Assistant button to touchpad right and left (#1282)
* Mapped Stadia Capture and Assistant button to touchpad right and left

* Update gamepad_usb_host_listener.cpp

This should be A2, the "both pins" was never added so I'm updating and commiting

---------

Co-authored-by: Luke A <arntsonl@gmail.com>
2025-05-23 17:23:38 -04:00
mizma
e046b1d93a Add a command to check for changes in en locale strings since last update of another language locale. (#1338)
* add initial script for checklocale

* Convert script from shell script to node.js

Initial implementation using node.js.

* Change argument parsing code

- Use util.parseArgs
- Change locale from flags to option with argument
- Added options for specifying which history to refer (not implemented)
- Fixed formatting.

* Implement all options and refactor

- Implement the --to and --from option. can now specify how many commit
	history against the target locale directory to go back to.
- Refactored code.
- Clean up some unnecessary/unused variables.

* add option to diff on other locales

* add --help option

* Clean-up console.log code.

- Stop use of multiple console.log in a row.  make code a little more
	readable.
- added example for usage.

* add usage for windows

Windows does not support flag argument passing through npm run.
To avoid issue, add usage for Windows to use node directly.

* add error handling to parseArgs

* Refactor checklocale.js

- remove unnecessary variable assignment
- add comment on error handling

* Fix bug in checklocale.js

- Fixed handling of no commit history case. since .filter() creates empty
	array. Use if (array.length() == 0) instead.

* Run formatting to scripts in npm format.
2025-05-23 17:19:23 -04:00
Luke A
11db75d939 Pico SDK 2.1.1 (Fortinbra's fix) (#1389)
* [ImgBot] Optimize images

*Total -- 12,577.34kb -> 11,716.38kb (6.85%)

/configs/DuelPadZen/assets/DuelPad_Zen_02.jpg -- 289.93kb -> 241.24kb (16.79%)
/configs/RP2040MiniBreakoutBoardUSBPassthrough/assets/RP2040MiniBreakoutBoardUSBPassthrough.jpeg -- 3,161.76kb -> 2,841.92kb (10.12%)
/configs/OpenCore0MIXUP/assets/OpenCore0_MIXUP_01.jpg -- 2,850.06kb -> 2,638.22kb (7.43%)
/configs/SeeedXIAORP2040/assets/Xiao_rp2040_pins.png -- 208.78kb -> 197.98kb (5.17%)
/configs/DuelPadZen/assets/DuelPad_Zen_01.jpg -- 6,035.09kb -> 5,765.88kb (4.46%)
/configs/Haute42COSMOXMLite/assets/Haute42COSMOX_M_Lite.jpg -- 31.73kb -> 31.13kb (1.89%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>

* Updating to SDK 2.1.1

* Trying this on the github build

* Fix state machines for RX/TX/EOP

* PIO should not be blocking for neopico writes.... will have to test this but this causes locks in web config

* Update ws2812 to newest SDK

* Updated NeoPico PIO to PIO1:0 instead of PIO0:0

Added stateMachine integer if we ever need to move the state machine assignment for NeoPico

---------

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
Co-authored-by: ImgBotApp <ImgBotHelp@gmail.com>
2025-05-23 17:18:47 -04:00
Pelsin
3c2af4cb17 Fix profiles import, if no profiles are present (#1383)
* Fix profiles import, if no profiles are present

* Parse hasCustomTheme to fix "0" rendering when disabled
2025-05-20 11:35:47 -04:00
Luke A
d083203cb1 [ImgBot] Optimize images (#1388)
*Total -- 12,577.34kb -> 11,716.38kb (6.85%)

/configs/DuelPadZen/assets/DuelPad_Zen_02.jpg -- 289.93kb -> 241.24kb (16.79%)
/configs/RP2040MiniBreakoutBoardUSBPassthrough/assets/RP2040MiniBreakoutBoardUSBPassthrough.jpeg -- 3,161.76kb -> 2,841.92kb (10.12%)
/configs/OpenCore0MIXUP/assets/OpenCore0_MIXUP_01.jpg -- 2,850.06kb -> 2,638.22kb (7.43%)
/configs/SeeedXIAORP2040/assets/Xiao_rp2040_pins.png -- 208.78kb -> 197.98kb (5.17%)
/configs/DuelPadZen/assets/DuelPad_Zen_01.jpg -- 6,035.09kb -> 5,765.88kb (4.46%)
/configs/Haute42COSMOXMLite/assets/Haute42COSMOX_M_Lite.jpg -- 31.73kb -> 31.13kb (1.89%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
Co-authored-by: ImgBotApp <ImgBotHelp@gmail.com>
2025-05-20 11:35:22 -04:00
Brian Mata
84ab80b01f Add Spanish (Mexico) translation support [Done] (#1369)
* Add Spanish (Mexico) translation support

- Created esMX.tsx flag icon for the Mexico flag
- Added Spanish language option to LanguageSelector.jsx
- Translated AddonsConfig.jsx and BackupPage.jsx to Spanish (es-MX)
- Maintained consistent terminology with existing translations
- Preserved technical terms while adapting UI text for Spanish speakers

This commit begins the Spanish localization effort for GP2040-CE.

* Add more Spanish (Mexico) translations

- Translated CaptureButton.jsx to Spanish
- Translated Common.jsx to Spanish
- Translated Components.jsx to Spanish (added es-MX to language selector)
- Translated CustomTheme.jsx to Spanish
- Translated DisplayConfig.jsx to Spanish
- Translated HomePage.jsx to Spanish

This continues the Spanish localization effort for GP2040-CE, adding
translations for core UI components and configuration pages.

* Add more Spanish (Mexico) translations

- Translated InputMacroAddon.jsx - Macro configuration
- Translated LayoutConfig.jsx - Button layouts and controls
- Translated LedConfig.jsx - LED configuration
- Translated Navigation.jsx - Main menu and navigation
- Translated PeripheralMapping.jsx - Peripheral mapping
- Translated PinMapping.jsx - GPIO pin mapping
- Translated ResetSettings.jsx - Reset configuration
- Translated SettingsPage.jsx - General settings
- Translated addon files:
  - PCF8575.jsx - IO expander
  - ReactiveLED.jsx - Reactive LEDs
  - Rotary.jsx - Rotary encoders
  - WiiAddon.jsx - Wii controller extension

All translations maintain consistent technical terminology
while adapting the interface for Spanish-speaking users.

* Add Spanish (Mexico) language option to all language selectors
Added 'es-MX': 'Español (México)' to all Components.jsx files with
appropriate translations of "Mexico" in each language:
- Chinese: 墨西哥 (Mòxīgē)
- Korean: 멕시코 (Meksiko)
- Japanese: メキシコ (Mekishiko)
- German: Mexiko

This ensures the Spanish language option appears correctly in all
language interfaces.

* fixed de-DE, en, jp
2025-04-28 10:30:57 -04:00
TheTrain
1ba77b8821 Adds Open_Core0 MIXUP config (#1372) 2025-04-28 10:19:11 -04:00
Pelsin
e5646b073a Disallow disabling of active profile and choosing a disabled profile in gamepad settings (#1366) 2025-04-17 17:37:28 -04:00
onebitboy
3537f5a33a Fix for wrong font size in SNES add-on configuration (#1363)
* fix spelling

* fix formatting and add missing text from translation

* fix spelling

* fix formatting

* fix formatting

* fix spelling

* fix formatting

* fix formatting

* fix formatting

* fix formatting
2025-04-17 17:36:31 -04:00
Joohan Lee
ff4af97c41 update ko-KR localization strings (#1360)
* update ko-KR localization strings for new labels
2025-04-14 11:52:37 -04:00
TheTrain
fe29506575 Update latency numbers for v0.7.11 (#1359) 2025-04-12 15:09:33 -04:00
Mike Parks
e1a7586d5a Fixed issue with default lever display mode (#1358)
Fixed issue with default lever display mode.
v0.7.11
2025-04-11 15:18:03 -04:00
TheTrain
4fbbf165d8 Update configs that use focus mode (#1357)
* Update configs that use focus mode

Focus mode must be updated to `#define GPIO_PIN_XX GpioAction::SUSTAIN_FOCUS_MODE`

* Update CMakeLists.txt

* Update CMakeLists.txt
2025-04-11 10:41:34 -04:00
Luke A
4569ef3115 Update conditional saves to PS4/PS5 only (#1355)
* Only do conditional saves if we're in PS4/PS5 usb dongle mode

* Adding ps4 driver functions
2025-04-10 13:23:14 -04:00
Luke A
456d1355c9 Force Save Conditionals Update (#1354)
Update force save to a conditional based on input driver (and xb360 auth mode present)
2025-04-10 10:18:28 -04:00
Luke A
0ae2ff2160 Custom Theme Pressed Fix (#1353)
Fixed missing custom theme pressed lights
2025-04-09 22:35:57 -04:00
Mike Parks
2e086b0627 Standalone D-Pad/Analog updates (#1350)
Fixed handling of digital only dpad inputs to correctly separate them while allowing them to affect lighting and display.
Updated labels for standalone analog and tilt modifiers in webconfig for more consistency.
2025-04-09 17:33:46 -04:00
Luke A
d756adf214 Fix for toast and bounce screen saver logos (#1351) 2025-04-09 14:25:40 -04:00
Mike Parks
b0e3d18d7c Disable Tilt if no pins mapped. (#1352)
Disable Tilt functionality when addon is either disabled dynamically or pin mappings for percentage modifiers are unset.
2025-04-09 14:24:37 -04:00
TheTrain
c9fc3a5c4c Update for analog on Haute42COSMOXXAnalog (#1349) 2025-04-08 14:39:37 -04:00
Luke A
3f82c6de0a Button Layout Preview Fix for Web-Config (#1348)
Removing redundant previewDisplayOptions

Updated Screen Saver 0 for OFF (English only for now)
2025-04-08 13:40:53 -04:00
TheTrain
c2cd768d86 Update Ultra Lite and Zen configs (#1347) 2025-04-07 22:24:39 -04:00
Luke A
3ba8f9ee1b Profile Mini Menu Fix (#1346)
Only show profiles under the Main Menu profile menu screen that are enabled (or profile #1)
2025-04-07 18:28:32 -04:00
Pelsin
13fe8a2efd Adds an advanced tab where individual macro definitions as json can be copied/import (#1340)
* Adds an advanced tab where individual macro definitions as json can be copied/import

* Remove incorrect feedback message

* Better validation if someone where to paste a macro into advanced
2025-04-07 17:39:25 -04:00
Pelsin
3fa7c158b2 Restructure fetching to not trigger abundant saves (#1334)
* Restructure fetching to not trigger abundant saves

* enabled and invertDisplay needs to be parsed to int before sending
2025-04-07 17:36:58 -04:00
Luke A
4ebaef5c24 Initial LED Brightness Fix (#1344)
Brightness fix (was always setting animationOptions.brightness to 1 out of however many steps we got)
2025-04-07 17:35:54 -04:00
Mike Parks
20a5df7943 Fixed PS4 mode support for Gamepad Host (#1345)
Changed magic numbers for PS4 device IDs to use defines in Gamepad Host.
Added main PS4 "Console" IDs to Gamepad Host device check to allow both modes to function.
2025-04-07 17:35:39 -04:00
Mike Parks
694d2fd01e Updated Tilt addon to be profile friendly (#1342)
Added event handler to Tilt to reload inputs when profile is changed.
Fixed issue with Tilt input mapping not correctly resetting the map on event.
2025-04-07 12:37:44 -04:00