Last active
July 13, 2024 01:45
-
-
Save chrysalysm/d292f104822c2ed4c797a78434362ad0 to your computer and use it in GitHub Desktop.
SKY2040 Leverless Firmware Update Guide 0.7.x
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
HOW TO UPDATE YOUR SKY2040 README | |
================================= | |
https://gp2040-ce.info/ | |
https://github.com/OpenStickCommunity/GP2040-CE | |
Tested from 0.7.3 to 0.7.7 | |
- SKY2040 uses the default 'Raspberry Pi Pico' chip as of Jan 2024. | |
- You want the Pico version of the firmware: GP2040-CE_0.X.X_Pico.uf2 | |
- You can find official GP2040 firmware here: https://gp2040-ce.info/downloads/download-page | |
- Updating the SKY2040 (and probably other older GP2040-CE leverless/hitboxes) can be problematic because importing old configs from an older GP2040 version may not import properly into newer versions. | |
- GP2040-CE specifically calls out in the backup config page that "Importing pin mappings from files prior to v0.7.6 has no effect." | |
- If you ordered your SKY2040 from China (AliExpress), it likely shipped with older firmware (<0.7.6) than what is current on the official GP2040 repository. | |
- MANUALLY entering in the proper configurations from clean settings after a configuration wipe seems to do the trick. | |
- Just in case something is different than what this guide describes, I recommended backing up your leverless GP2040 configuration. | |
1. Enter the webconfig mode before you flash/firmware update, and backup/export the current configs: http://192.168.7.1/backup | |
2. Take screenshots of every web configuration page, just in case. | |
1. Download [GP2040-CE_0.7.7_Pico.uf2] or whatever the latest GP2040 firmware is from: https://github.com/OpenStickCommunity/GP2040-CE/releases | |
2. Follow installation steps as normal: https://gp2040-ce.info/installation | |
- I recommend flash nuking before hand, but that is up to you. It isn't necessary unless issues occur. | |
3. Once the firmware update is done, reboot the leverless and set it back into the web configuration mode. | |
4. You can use the screenshots provided in the comments below to manually setup each configuration page. | |
Or use the reference backup config in this gists [sky2040_gp2040ce_backup_0_7_3_config.gp2040] as a guide. | |
- It is in JSON format, and is fairly human readable. | |
5. If you run into issues, I recommend you perform a full Reset Config in the "DANGER ZONE" and go back to Step 4. | |
6. I have included a backup of my SKY2040 0.7.7 configuration in this gists. Custom LED theme and add-ons are omitted. | |
- You can find the file below named: sky2040_gp2040ce_backup_0_7_7_config.gp2040 | |
You can find my SKY2040 0.7.3 config backup for reference below: sky2040_gp2040ce_backup_0_7_3_config.gp2040 | |
You can find my SKY2040 0.7.7 config backup for import: sky2040_gp2040ce_backup_0_7_7_config.gp2040 | |
You can find my screenshots for each config page in the comments section below. Scroll all the way down. | |
Some Q&A in the comments section... | |
I have used this guide to update other leverless controllers running GP2040-CE as well. | |
- Sallybox | |
- Sallybox Plus | |
- RTU Mini Hitbox |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"display": { | |
"enabled": 1, | |
"sdaPin": 0, | |
"sclPin": 1, | |
"i2cAddress": "0x3c", | |
"i2cBlock": 0, | |
"i2cSpeed": 400000, | |
"flipDisplay": 0, | |
"invertDisplay": 0, | |
"buttonLayout": 0, | |
"buttonLayoutRight": 3, | |
"splashMode": 3, | |
"splashChoice": 0, | |
"splashDuration": 7.5, | |
"displaySaverTimeout": 0, | |
"buttonLayoutCustomOptions": { | |
"params": { | |
"layout": 0, | |
"startX": 8, | |
"startY": 28, | |
"buttonRadius": 8, | |
"buttonPadding": 2 | |
}, | |
"paramsRight": { | |
"layout": 3, | |
"startX": 8, | |
"startY": 28, | |
"buttonRadius": 8, | |
"buttonPadding": 2 | |
} | |
} | |
}, | |
"gamepad": { | |
"dpadMode": 1, | |
"inputMode": 4, | |
"socdMode": 1, | |
"switchTpShareForDs4": 0, | |
"lockHotkeys": 0, | |
"fourWayMode": 0, | |
"fnButtonPin": -1, | |
"hotkey01": { | |
"auxMask": 0, | |
"buttonsMask": 66304, | |
"action": 4 | |
}, | |
"hotkey02": { | |
"auxMask": 0, | |
"buttonsMask": 131840, | |
"action": 1 | |
}, | |
"hotkey03": { | |
"auxMask": 0, | |
"buttonsMask": 262912, | |
"action": 2 | |
}, | |
"hotkey04": { | |
"auxMask": 0, | |
"buttonsMask": 525056, | |
"action": 3 | |
}, | |
"hotkey05": { | |
"auxMask": 0, | |
"buttonsMask": 70144, | |
"action": 6 | |
}, | |
"hotkey06": { | |
"auxMask": 0, | |
"buttonsMask": 135680, | |
"action": 7 | |
}, | |
"hotkey07": { | |
"auxMask": 0, | |
"buttonsMask": 266752, | |
"action": 8 | |
}, | |
"hotkey08": { | |
"auxMask": 0, | |
"buttonsMask": 528896, | |
"action": 10 | |
}, | |
"hotkey09": { | |
"auxMask": 0, | |
"buttonsMask": 0, | |
"action": 0 | |
}, | |
"hotkey10": { | |
"auxMask": 0, | |
"buttonsMask": 0, | |
"action": 0 | |
}, | |
"hotkey11": { | |
"auxMask": 0, | |
"buttonsMask": 0, | |
"action": 0 | |
}, | |
"hotkey12": { | |
"auxMask": 0, | |
"buttonsMask": 0, | |
"action": 0 | |
}, | |
"forcedSetupMode": 0 | |
}, | |
"led": { | |
"dataPin": 28, | |
"ledFormat": 0, | |
"ledLayout": 0, | |
"ledsPerButton": 1, | |
"brightnessMaximum": 50, | |
"brightnessSteps": 5, | |
"ledButtonMap": { | |
"Up": 3, | |
"Down": 1, | |
"Left": 0, | |
"Right": 2, | |
"B1": 8, | |
"B2": 9, | |
"B3": 4, | |
"B4": 5, | |
"L1": 7, | |
"R1": 6, | |
"L2": 11, | |
"R2": 10, | |
"S1": null, | |
"S2": null, | |
"L3": null, | |
"R3": null, | |
"A1": null, | |
"A2": null | |
}, | |
"pledType": -1, | |
"pledPin1": -1, | |
"pledPin2": -1, | |
"pledPin3": -1, | |
"pledPin4": -1, | |
"pledColor": "#ffffff" | |
}, | |
"ledTheme": { | |
"hasCustomTheme": 0, | |
"customTheme": { | |
"Up": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"Down": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"Left": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"Right": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"B1": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"B2": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"B3": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"B4": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"L1": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"R1": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"L2": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"R2": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"S1": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"S2": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"A1": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"A2": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"L3": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"R3": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
} | |
} | |
}, | |
"pinmappings": { | |
"Up": { | |
"pin": 2, | |
"key": 82, | |
"error": null | |
}, | |
"Down": { | |
"pin": 3, | |
"key": 81, | |
"error": null | |
}, | |
"Left": { | |
"pin": 5, | |
"key": 80, | |
"error": null | |
}, | |
"Right": { | |
"pin": 4, | |
"key": 79, | |
"error": null | |
}, | |
"B1": { | |
"pin": 6, | |
"key": 225, | |
"error": null | |
}, | |
"B2": { | |
"pin": 7, | |
"key": 29, | |
"error": null | |
}, | |
"B3": { | |
"pin": 10, | |
"key": 224, | |
"error": null | |
}, | |
"B4": { | |
"pin": 11, | |
"key": 226, | |
"error": null | |
}, | |
"L1": { | |
"pin": 13, | |
"key": 6, | |
"error": null | |
}, | |
"R1": { | |
"pin": 12, | |
"key": 44, | |
"error": null | |
}, | |
"L2": { | |
"pin": 9, | |
"key": 25, | |
"error": null | |
}, | |
"R2": { | |
"pin": 8, | |
"key": 27, | |
"error": null | |
}, | |
"S1": { | |
"pin": 16, | |
"key": 34, | |
"error": null | |
}, | |
"S2": { | |
"pin": 17, | |
"key": 30, | |
"error": null | |
}, | |
"L3": { | |
"pin": 18, | |
"key": 46, | |
"error": null | |
}, | |
"R3": { | |
"pin": 19, | |
"key": 45, | |
"error": null | |
}, | |
"A1": { | |
"pin": 20, | |
"key": 38, | |
"error": null | |
}, | |
"A2": { | |
"pin": 21, | |
"key": 59, | |
"error": null | |
}, | |
"Fn": { | |
"pin": -1, | |
"key": 0, | |
"error": null | |
} | |
}, | |
"addons": { | |
"analogAdc1PinX": -1, | |
"analogAdc1PinY": -1, | |
"analogAdc1Mode": 1, | |
"analogAdc1Invert": 0, | |
"analogAdc2PinX": -1, | |
"analogAdc2PinY": -1, | |
"analogAdc2Mode": 2, | |
"analogAdc2Invert": 0, | |
"forced_circularity": 0, | |
"analog_deadzone": 5, | |
"auto_calibrate": 0, | |
"AnalogInputEnabled": 0, | |
"bootselButtonMap": 0, | |
"BootselButtonAddonEnabled": 0, | |
"buzzerPin": -1, | |
"buzzerVolume": 100, | |
"BuzzerSpeakerAddonEnabled": 0, | |
"dualDirDownPin": -1, | |
"dualDirUpPin": -1, | |
"dualDirLeftPin": -1, | |
"dualDirRightPin": -1, | |
"dualDirDpadMode": 0, | |
"dualDirCombineMode": 0, | |
"dualDirFourWayMode": 0, | |
"DualDirectionalInputEnabled": 0, | |
"tilt1Pin": -1, | |
"tilt2Pin": -1, | |
"tiltLeftAnalogUpPin": -1, | |
"tiltLeftAnalogDownPin": -1, | |
"tiltLeftAnalogLeftPin": -1, | |
"tiltLeftAnalogRightPin": -1, | |
"tiltRightAnalogUpPin": -1, | |
"tiltRightAnalogDownPin": -1, | |
"tiltRightAnalogLeftPin": -1, | |
"tiltRightAnalogRightPin": -1, | |
"tiltSOCDMode": 1, | |
"TiltInputEnabled": 0, | |
"extraButtonPin": -1, | |
"extraButtonMap": 0, | |
"ExtraButtonAddonEnabled": 0, | |
"i2cAnalog1219SDAPin": -1, | |
"i2cAnalog1219SCLPin": -1, | |
"i2cAnalog1219Block": 0, | |
"i2cAnalog1219Speed": 400000, | |
"i2cAnalog1219Address": 64, | |
"I2CAnalog1219InputEnabled": 0, | |
"sliderLSPin": -1, | |
"sliderRSPin": -1, | |
"JSliderInputEnabled": 0, | |
"playerNumber": 1, | |
"PlayerNumAddonEnabled": 0, | |
"reversePin": -1, | |
"reversePinLED": -1, | |
"reverseActionUp": 1, | |
"reverseActionDown": 1, | |
"reverseActionLeft": 1, | |
"reverseActionRight": 1, | |
"ReverseInputEnabled": 0, | |
"sliderSOCDPinOne": -1, | |
"sliderSOCDPinTwo": -1, | |
"sliderSOCDModeOne": 0, | |
"sliderSOCDModeTwo": 2, | |
"sliderSOCDModeDefault": 1, | |
"SliderSOCDInputEnabled": 0, | |
"onBoardLedMode": 0, | |
"BoardLedAddonEnabled": 0, | |
"turboPin": 14, | |
"turboPinLED": -1, | |
"turboShotCount": 15, | |
"shmupMode": 0, | |
"shmupMixMode": 0, | |
"shmupAlwaysOn1": 0, | |
"shmupAlwaysOn2": 0, | |
"shmupAlwaysOn3": 0, | |
"shmupAlwaysOn4": 0, | |
"pinShmupBtn1": -1, | |
"pinShmupBtn2": -1, | |
"pinShmupBtn3": -1, | |
"pinShmupBtn4": -1, | |
"shmupBtnMask1": 0, | |
"shmupBtnMask2": 0, | |
"shmupBtnMask3": 0, | |
"shmupBtnMask4": 0, | |
"pinShmupDial": -1, | |
"TurboInputEnabled": 1, | |
"wiiExtensionSDAPin": -1, | |
"wiiExtensionSCLPin": -1, | |
"wiiExtensionBlock": 0, | |
"wiiExtensionSpeed": 400000, | |
"WiiExtensionAddonEnabled": 0, | |
"PS4ModeAddonEnabled": 1, | |
"snesPadClockPin": -1, | |
"snesPadLatchPin": -1, | |
"snesPadDataPin": -1, | |
"SNESpadAddonEnabled": 0, | |
"KeyboardHostAddonEnabled": 0, | |
"keyboardHostPinDplus": -1, | |
"keyboardHostMap": { | |
"Up": { | |
"pin": 2, | |
"key": 82, | |
"error": null | |
}, | |
"Down": { | |
"pin": 3, | |
"key": 81, | |
"error": null | |
}, | |
"Left": { | |
"pin": 5, | |
"key": 80, | |
"error": null | |
}, | |
"Right": { | |
"pin": 4, | |
"key": 79, | |
"error": null | |
}, | |
"B1": { | |
"pin": 6, | |
"key": 225, | |
"error": null | |
}, | |
"B2": { | |
"pin": 7, | |
"key": 29, | |
"error": null | |
}, | |
"B3": { | |
"pin": 10, | |
"key": 224, | |
"error": null | |
}, | |
"B4": { | |
"pin": 11, | |
"key": 226, | |
"error": null | |
}, | |
"L1": { | |
"pin": 13, | |
"key": 6, | |
"error": null | |
}, | |
"R1": { | |
"pin": 12, | |
"key": 44, | |
"error": null | |
}, | |
"L2": { | |
"pin": 9, | |
"key": 25, | |
"error": null | |
}, | |
"R2": { | |
"pin": 8, | |
"key": 27, | |
"error": null | |
}, | |
"S1": { | |
"pin": 16, | |
"key": 34, | |
"error": null | |
}, | |
"S2": { | |
"pin": 17, | |
"key": 30, | |
"error": null | |
}, | |
"L3": { | |
"pin": 18, | |
"key": 46, | |
"error": null | |
}, | |
"R3": { | |
"pin": 19, | |
"key": 45, | |
"error": null | |
}, | |
"A1": { | |
"pin": 20, | |
"key": 38, | |
"error": null | |
}, | |
"A2": { | |
"pin": 21, | |
"key": 59, | |
"error": null | |
}, | |
"Fn": { | |
"pin": -1, | |
"key": 0, | |
"error": null | |
} | |
}, | |
"focusModePin": -1, | |
"focusModeButtonLockMask": 0, | |
"focusModeButtonLockEnabled": 0, | |
"focusModeOledLockEnabled": 0, | |
"focusModeRgbLockEnabled": 0, | |
"FocusModeAddonEnabled": 0 | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"display": { | |
"enabled": 1, | |
"i2cAddress": "0x3c", | |
"i2cBlock": 0, | |
"flipDisplay": 0, | |
"invertDisplay": 0, | |
"buttonLayout": 1, | |
"buttonLayoutRight": 1, | |
"splashMode": 3, | |
"splashChoice": 0, | |
"splashDuration": 7, | |
"displaySaverTimeout": 0, | |
"turnOffWhenSuspended": 0, | |
"buttonLayoutCustomOptions": { | |
"params": { | |
"layout": 0, | |
"startX": 8, | |
"startY": 28, | |
"buttonRadius": 8, | |
"buttonPadding": 2 | |
}, | |
"paramsRight": { | |
"layout": 3, | |
"startX": 8, | |
"startY": 28, | |
"buttonRadius": 8, | |
"buttonPadding": 2 | |
} | |
} | |
}, | |
"splash": { | |
"splashImage": [ | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
32, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
64, | |
128, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
224, | |
223, | |
192, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
2, | |
193, | |
255, | |
160, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
31, | |
207, | |
254, | |
128, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
63, | |
255, | |
224, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
127, | |
171, | |
192, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
44, | |
0, | |
0, | |
251, | |
131, | |
255, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
12, | |
1, | |
255, | |
0, | |
1, | |
243, | |
7, | |
252, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
28, | |
7, | |
255, | |
0, | |
3, | |
224, | |
63, | |
244, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
44, | |
56, | |
10, | |
231, | |
128, | |
3, | |
192, | |
95, | |
128, | |
0, | |
0, | |
0, | |
0, | |
32, | |
7, | |
129, | |
255, | |
57, | |
195, | |
199, | |
1, | |
215, | |
128, | |
63, | |
0, | |
0, | |
0, | |
0, | |
0, | |
224, | |
31, | |
231, | |
255, | |
121, | |
199, | |
135, | |
159, | |
167, | |
128, | |
110, | |
60, | |
0, | |
0, | |
0, | |
160, | |
192, | |
63, | |
234, | |
231, | |
243, | |
239, | |
7, | |
127, | |
199, | |
1, | |
207, | |
255, | |
128, | |
0, | |
3, | |
143, | |
252, | |
127, | |
195, | |
199, | |
127, | |
254, | |
15, | |
126, | |
143, | |
135, | |
223, | |
252, | |
0, | |
0, | |
15, | |
255, | |
255, | |
115, | |
199, | |
135, | |
255, | |
222, | |
14, | |
80, | |
7, | |
31, | |
31, | |
208, | |
0, | |
0, | |
31, | |
87, | |
255, | |
231, | |
143, | |
7, | |
255, | |
28, | |
62, | |
0, | |
15, | |
255, | |
127, | |
0, | |
0, | |
0, | |
126, | |
11, | |
143, | |
143, | |
142, | |
15, | |
255, | |
158, | |
124, | |
0, | |
7, | |
253, | |
252, | |
0, | |
0, | |
0, | |
124, | |
55, | |
159, | |
31, | |
30, | |
15, | |
135, | |
30, | |
248, | |
0, | |
7, | |
240, | |
48, | |
0, | |
0, | |
0, | |
241, | |
247, | |
254, | |
30, | |
28, | |
62, | |
14, | |
31, | |
240, | |
0, | |
1, | |
64, | |
40, | |
0, | |
0, | |
1, | |
239, | |
231, | |
248, | |
60, | |
62, | |
124, | |
15, | |
31, | |
224, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
3, | |
255, | |
143, | |
240, | |
127, | |
254, | |
248, | |
14, | |
15, | |
128, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
3, | |
255, | |
207, | |
192, | |
255, | |
255, | |
240, | |
12, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
7, | |
139, | |
255, | |
1, | |
255, | |
143, | |
192, | |
6, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
7, | |
135, | |
254, | |
1, | |
254, | |
15, | |
128, | |
4, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
7, | |
31, | |
222, | |
3, | |
240, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
7, | |
191, | |
158, | |
1, | |
192, | |
0, | |
0, | |
4, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
7, | |
255, | |
156, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
7, | |
251, | |
56, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
3, | |
231, | |
48, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
1, | |
71, | |
40, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
14, | |
32, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
12, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
4, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
8, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0 | |
] | |
}, | |
"gamepad": { | |
"dpadMode": 0, | |
"inputMode": 4, | |
"socdMode": 1, | |
"switchTpShareForDs4": 0, | |
"lockHotkeys": 0, | |
"fourWayMode": 0, | |
"profileNumber": 1, | |
"ps4ControllerType": 0, | |
"debounceDelay": 5, | |
"inputModeB1": 1, | |
"inputModeB2": 0, | |
"inputModeB3": 2, | |
"inputModeB4": 4, | |
"inputModeL1": -1, | |
"inputModeL2": -1, | |
"inputModeR1": -1, | |
"inputModeR2": 3, | |
"ps4ReportHack": 0, | |
"fnButtonPin": -1, | |
"hotkey01": { | |
"auxMask": 0, | |
"buttonsMask": 66304, | |
"action": 4 | |
}, | |
"hotkey02": { | |
"auxMask": 0, | |
"buttonsMask": 131840, | |
"action": 1 | |
}, | |
"hotkey03": { | |
"auxMask": 0, | |
"buttonsMask": 262912, | |
"action": 2 | |
}, | |
"hotkey04": { | |
"auxMask": 0, | |
"buttonsMask": 525056, | |
"action": 3 | |
}, | |
"hotkey05": { | |
"auxMask": 0, | |
"buttonsMask": 70144, | |
"action": 6 | |
}, | |
"hotkey06": { | |
"auxMask": 0, | |
"buttonsMask": 135680, | |
"action": 7 | |
}, | |
"hotkey07": { | |
"auxMask": 0, | |
"buttonsMask": 266752, | |
"action": 8 | |
}, | |
"hotkey08": { | |
"auxMask": 0, | |
"buttonsMask": 0, | |
"action": 0 | |
}, | |
"hotkey09": { | |
"auxMask": 0, | |
"buttonsMask": 0, | |
"action": 0 | |
}, | |
"hotkey10": { | |
"auxMask": 0, | |
"buttonsMask": 0, | |
"action": 0 | |
}, | |
"hotkey11": { | |
"auxMask": 0, | |
"buttonsMask": 0, | |
"action": 0 | |
}, | |
"hotkey12": { | |
"auxMask": 0, | |
"buttonsMask": 0, | |
"action": 0 | |
}, | |
"hotkey13": { | |
"auxMask": 0, | |
"buttonsMask": 0, | |
"action": 0 | |
}, | |
"hotkey14": { | |
"auxMask": 0, | |
"buttonsMask": 0, | |
"action": 0 | |
}, | |
"hotkey15": { | |
"auxMask": 0, | |
"buttonsMask": 0, | |
"action": 0 | |
}, | |
"hotkey16": { | |
"auxMask": 0, | |
"buttonsMask": 0, | |
"action": 0 | |
}, | |
"forcedSetupMode": 0 | |
}, | |
"led": { | |
"dataPin": 28, | |
"ledFormat": 0, | |
"ledLayout": 0, | |
"ledsPerButton": 1, | |
"brightnessMaximum": 64, | |
"brightnessSteps": 5, | |
"turnOffWhenSuspended": 0, | |
"ledButtonMap": { | |
"Up": 3, | |
"Down": 1, | |
"Left": 0, | |
"Right": 2, | |
"B1": 8, | |
"B2": 9, | |
"B3": 4, | |
"B4": 5, | |
"L1": 7, | |
"R1": 6, | |
"L2": 11, | |
"R2": 10, | |
"S1": null, | |
"S2": null, | |
"L3": null, | |
"R3": null, | |
"A1": null, | |
"A2": null | |
}, | |
"pledType": -1, | |
"pledPin1": -1, | |
"pledPin2": -1, | |
"pledPin3": -1, | |
"pledPin4": -1, | |
"pledIndex1": -1, | |
"pledIndex2": -1, | |
"pledIndex3": -1, | |
"pledIndex4": -1, | |
"pledColor": "#ffffff" | |
}, | |
"ledTheme": { | |
"hasCustomTheme": 1, | |
"customTheme": { | |
"Up": { | |
"normal": "#33cce6", | |
"pressed": "#cc3399" | |
}, | |
"Down": { | |
"normal": "#33cce6", | |
"pressed": "#cc3399" | |
}, | |
"Left": { | |
"normal": "#00ffff", | |
"pressed": "#ff0080" | |
}, | |
"Right": { | |
"normal": "#6699cc", | |
"pressed": "#9966b3" | |
}, | |
"B1": { | |
"normal": "#9966b3", | |
"pressed": "#6699cc" | |
}, | |
"B2": { | |
"normal": "#cc3399", | |
"pressed": "#33cce6" | |
}, | |
"B3": { | |
"normal": "#9966b3", | |
"pressed": "#6699cc" | |
}, | |
"B4": { | |
"normal": "#cc3399", | |
"pressed": "#33cce6" | |
}, | |
"L1": { | |
"normal": "#ff0080", | |
"pressed": "#00ffff" | |
}, | |
"R1": { | |
"normal": "#ff0080", | |
"pressed": "#00ffff" | |
}, | |
"L2": { | |
"normal": "#ff0080", | |
"pressed": "#00ffff" | |
}, | |
"R2": { | |
"normal": "#ff0080", | |
"pressed": "#00ffff" | |
}, | |
"S1": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"S2": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"A1": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"A2": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"L3": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
}, | |
"R3": { | |
"normal": "#000000", | |
"pressed": "#000000" | |
} | |
} | |
}, | |
"macros": { | |
"macroList": [ | |
{ | |
"enabled": 0, | |
"exclusive": 1, | |
"interruptible": 1, | |
"showFrames": 0, | |
"macroType": 1, | |
"useMacroTriggerButton": 0, | |
"macroTriggerPin": -1, | |
"macroTriggerButton": 0, | |
"macroLabel": "", | |
"macroInputs": [] | |
}, | |
{ | |
"enabled": 0, | |
"exclusive": 1, | |
"interruptible": 1, | |
"showFrames": 0, | |
"macroType": 1, | |
"useMacroTriggerButton": 0, | |
"macroTriggerPin": -1, | |
"macroTriggerButton": 0, | |
"macroLabel": "", | |
"macroInputs": [] | |
}, | |
{ | |
"enabled": 0, | |
"exclusive": 1, | |
"interruptible": 1, | |
"showFrames": 0, | |
"macroType": 1, | |
"useMacroTriggerButton": 0, | |
"macroTriggerPin": -1, | |
"macroTriggerButton": 0, | |
"macroLabel": "", | |
"macroInputs": [] | |
}, | |
{ | |
"enabled": 0, | |
"exclusive": 1, | |
"interruptible": 1, | |
"showFrames": 0, | |
"macroType": 1, | |
"useMacroTriggerButton": 0, | |
"macroTriggerPin": -1, | |
"macroTriggerButton": 0, | |
"macroLabel": "", | |
"macroInputs": [] | |
}, | |
{ | |
"enabled": 0, | |
"exclusive": 1, | |
"interruptible": 1, | |
"showFrames": 0, | |
"macroType": 1, | |
"useMacroTriggerButton": 0, | |
"macroTriggerPin": -1, | |
"macroTriggerButton": 0, | |
"macroLabel": "", | |
"macroInputs": [] | |
}, | |
{ | |
"enabled": 0, | |
"exclusive": 1, | |
"interruptible": 1, | |
"showFrames": 0, | |
"macroType": 1, | |
"useMacroTriggerButton": 0, | |
"macroTriggerPin": -1, | |
"macroTriggerButton": 0, | |
"macroLabel": "", | |
"macroInputs": [] | |
} | |
], | |
"macroPin": -1, | |
"macroBoardLedEnabled": 1, | |
"InputMacroAddonEnabled": 0 | |
}, | |
"pins": { | |
"pin00": 0, | |
"pin01": 0, | |
"pin02": 1, | |
"pin03": 2, | |
"pin04": 4, | |
"pin05": 3, | |
"pin06": 5, | |
"pin07": 6, | |
"pin08": 12, | |
"pin09": 11, | |
"pin10": 7, | |
"pin11": 8, | |
"pin12": 10, | |
"pin13": 9, | |
"pin14": -10, | |
"pin15": -10, | |
"pin16": 13, | |
"pin17": 14, | |
"pin18": 17, | |
"pin19": 18, | |
"pin20": 15, | |
"pin21": 16, | |
"pin22": -10, | |
"pin23": -10, | |
"pin24": -10, | |
"pin25": -10, | |
"pin26": -10, | |
"pin27": -10, | |
"pin28": 0, | |
"pin29": -10 | |
}, | |
"profiles": [ | |
{ | |
"pin00": 0, | |
"pin01": 0, | |
"pin02": 1, | |
"pin03": 2, | |
"pin04": 4, | |
"pin05": 3, | |
"pin06": 5, | |
"pin07": 6, | |
"pin08": 12, | |
"pin09": 11, | |
"pin10": 7, | |
"pin11": 8, | |
"pin12": 10, | |
"pin13": 9, | |
"pin14": -10, | |
"pin15": -10, | |
"pin16": 13, | |
"pin17": 14, | |
"pin18": 17, | |
"pin19": 18, | |
"pin20": 15, | |
"pin21": 16, | |
"pin22": -10, | |
"pin23": -10, | |
"pin24": -10, | |
"pin25": -10, | |
"pin26": -10, | |
"pin27": -10, | |
"pin28": 0, | |
"pin29": -10 | |
}, | |
{ | |
"pin00": 0, | |
"pin01": 0, | |
"pin02": 1, | |
"pin03": 2, | |
"pin04": 4, | |
"pin05": 3, | |
"pin06": 5, | |
"pin07": 6, | |
"pin08": 12, | |
"pin09": 11, | |
"pin10": 7, | |
"pin11": 8, | |
"pin12": 10, | |
"pin13": 9, | |
"pin14": -10, | |
"pin15": -10, | |
"pin16": 13, | |
"pin17": 14, | |
"pin18": 17, | |
"pin19": 18, | |
"pin20": 15, | |
"pin21": 16, | |
"pin22": -10, | |
"pin23": -10, | |
"pin24": -10, | |
"pin25": -10, | |
"pin26": -10, | |
"pin27": -10, | |
"pin28": 0, | |
"pin29": -10 | |
}, | |
{ | |
"pin00": 0, | |
"pin01": 0, | |
"pin02": 1, | |
"pin03": 2, | |
"pin04": 4, | |
"pin05": 3, | |
"pin06": 5, | |
"pin07": 6, | |
"pin08": 12, | |
"pin09": 11, | |
"pin10": 7, | |
"pin11": 8, | |
"pin12": 10, | |
"pin13": 9, | |
"pin14": -10, | |
"pin15": -10, | |
"pin16": 13, | |
"pin17": 14, | |
"pin18": 17, | |
"pin19": 18, | |
"pin20": 15, | |
"pin21": 16, | |
"pin22": -10, | |
"pin23": -10, | |
"pin24": -10, | |
"pin25": -10, | |
"pin26": -10, | |
"pin27": -10, | |
"pin28": 0, | |
"pin29": -10 | |
} | |
], | |
"addons": { | |
"analogAdc1PinX": -1, | |
"analogAdc1PinY": -1, | |
"analogAdc1Mode": 1, | |
"analogAdc1Invert": 0, | |
"analogAdc2PinX": -1, | |
"analogAdc2PinY": -1, | |
"analogAdc2Mode": 2, | |
"analogAdc2Invert": 0, | |
"forced_circularity": 0, | |
"analog_deadzone": 5, | |
"auto_calibrate": 0, | |
"AnalogInputEnabled": 0, | |
"bootselButtonMap": 0, | |
"BootselButtonAddonEnabled": 0, | |
"buzzerPin": -1, | |
"buzzerVolume": 100, | |
"BuzzerSpeakerAddonEnabled": 0, | |
"dualDirDpadMode": 0, | |
"dualDirCombineMode": 0, | |
"dualDirFourWayMode": 0, | |
"DualDirectionalInputEnabled": 0, | |
"tilt1Pin": -1, | |
"factorTilt1LeftX": 35, | |
"factorTilt1LeftY": 35, | |
"factorTilt1RightX": 35, | |
"factorTilt1RightY": 35, | |
"tilt2Pin": -1, | |
"factorTilt2LeftX": 65, | |
"factorTilt2LeftY": 65, | |
"factorTilt2RightX": 65, | |
"factorTilt2RightY": 65, | |
"tiltLeftAnalogUpPin": -1, | |
"tiltLeftAnalogDownPin": -1, | |
"tiltLeftAnalogLeftPin": -1, | |
"tiltLeftAnalogRightPin": -1, | |
"tiltRightAnalogUpPin": -1, | |
"tiltRightAnalogDownPin": -1, | |
"tiltRightAnalogLeftPin": -1, | |
"tiltRightAnalogRightPin": -1, | |
"tiltSOCDMode": 1, | |
"TiltInputEnabled": 0, | |
"i2cAnalog1219Block": 0, | |
"i2cAnalog1219Address": 64, | |
"I2CAnalog1219InputEnabled": 0, | |
"sliderModeZero": 0, | |
"JSliderInputEnabled": 0, | |
"playerNumber": 1, | |
"PlayerNumAddonEnabled": 0, | |
"reversePin": -1, | |
"reversePinLED": -1, | |
"reverseActionUp": 0, | |
"reverseActionDown": 0, | |
"reverseActionLeft": 0, | |
"reverseActionRight": 0, | |
"ReverseInputEnabled": 0, | |
"sliderSOCDModeDefault": 1, | |
"SliderSOCDInputEnabled": 0, | |
"onBoardLedMode": 0, | |
"BoardLedAddonEnabled": 0, | |
"turboPinLED": -1, | |
"turboShotCount": 15, | |
"shmupMode": 0, | |
"shmupMixMode": 0, | |
"shmupAlwaysOn1": 0, | |
"shmupAlwaysOn2": 0, | |
"shmupAlwaysOn3": 0, | |
"shmupAlwaysOn4": 0, | |
"pinShmupBtn1": -1, | |
"pinShmupBtn2": -1, | |
"pinShmupBtn3": -1, | |
"pinShmupBtn4": -1, | |
"shmupBtnMask1": 0, | |
"shmupBtnMask2": 0, | |
"shmupBtnMask3": 0, | |
"shmupBtnMask4": 0, | |
"pinShmupDial": -1, | |
"TurboInputEnabled": 0, | |
"wiiExtensionBlock": 0, | |
"WiiExtensionAddonEnabled": 0, | |
"PS4ModeAddonEnabled": 1, | |
"snesPadClockPin": -1, | |
"snesPadLatchPin": -1, | |
"snesPadDataPin": -1, | |
"SNESpadAddonEnabled": 0, | |
"inputHistoryLength": 21, | |
"InputHistoryAddonEnabled": 0, | |
"inputHistoryCol": 0, | |
"inputHistoryRow": 7, | |
"KeyboardHostAddonEnabled": 0, | |
"keyboardHostMap": { | |
"Up": { | |
"pin": -1, | |
"key": 82, | |
"error": null | |
}, | |
"Down": { | |
"pin": -1, | |
"key": 81, | |
"error": null | |
}, | |
"Left": { | |
"pin": -1, | |
"key": 80, | |
"error": null | |
}, | |
"Right": { | |
"pin": -1, | |
"key": 79, | |
"error": null | |
}, | |
"B1": { | |
"pin": -1, | |
"key": 225, | |
"error": null | |
}, | |
"B2": { | |
"pin": -1, | |
"key": 29, | |
"error": null | |
}, | |
"B3": { | |
"pin": -1, | |
"key": 224, | |
"error": null | |
}, | |
"B4": { | |
"pin": -1, | |
"key": 226, | |
"error": null | |
}, | |
"L1": { | |
"pin": -1, | |
"key": 6, | |
"error": null | |
}, | |
"R1": { | |
"pin": -1, | |
"key": 44, | |
"error": null | |
}, | |
"L2": { | |
"pin": -1, | |
"key": 25, | |
"error": null | |
}, | |
"R2": { | |
"pin": -1, | |
"key": 27, | |
"error": null | |
}, | |
"S1": { | |
"pin": -1, | |
"key": 34, | |
"error": null | |
}, | |
"S2": { | |
"pin": -1, | |
"key": 30, | |
"error": null | |
}, | |
"L3": { | |
"pin": -1, | |
"key": 46, | |
"error": null | |
}, | |
"R3": { | |
"pin": -1, | |
"key": 45, | |
"error": null | |
}, | |
"A1": { | |
"pin": -1, | |
"key": 38, | |
"error": null | |
}, | |
"A2": { | |
"pin": -1, | |
"key": 59, | |
"error": null | |
}, | |
"Fn": { | |
"pin": -1, | |
"key": 0, | |
"error": null | |
} | |
}, | |
"PSPassthroughAddonEnabled": 0, | |
"XBOnePassthroughAddonEnabled": 0, | |
"focusModePin": -1, | |
"focusModeButtonLockMask": 0, | |
"focusModeButtonLockEnabled": 0, | |
"focusModeMacroLockEnabled": 1, | |
"FocusModeAddonEnabled": 0 | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Q: I lost my RGB LED light configuration after the firmware update.
A: You just need to reconfigure the RGB LED Configuration with the right settings.
SKY2040 uses Data Pin
28
for its RGB LEDs.28
.GRB
.8-Button Layout
.1
. I believe it still works if you set2
. Just make sure if you use custom LEDs, you stick with 1 or 2.64
.5
.To customize your own LED themes: http://192.168.7.1/custom-theme
Documentation for LED Custom Theme: https://gp2040-ce.info/web-configurator/menu-pages/custom-led-theme