Compare commits

...

2 Commits

Author SHA1 Message Date
a1a3ebbbac
requirements bumps
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-04-08 09:07:50 -05:00
3e8209e2a5
update .proto snapshot for v0.7.8
this also clarifies the docs a bit regarding versions supported.

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-04-08 09:07:47 -05:00
12 changed files with 1520 additions and 1161 deletions

View File

@ -201,8 +201,15 @@ forcedSetupOptions {
The GP2040-CE configuration is still changing, so the tools are changing accordingly. This project doesn't currently make The GP2040-CE configuration is still changing, so the tools are changing accordingly. This project doesn't currently make
a huge effort to be backwards compatible, so instead, refer to this: a huge effort to be backwards compatible, so instead, refer to this:
* `gp2040ce-binary-tools >=v0.5.1` supports `GP2040-CE >=v0.7.5`. #### Flash Layouts
* `gp2040ce-binary-tools <=v0.5.0` supported `GP2040-CE <v0.7.5`.
* `gp2040ce-binary-tools >=v0.6.0` supports both board and user configs still being developed in `GP2040-CE`.
* `gp2040ce-binary-tools >=v0.5.1` supported the increased user config size in `GP2040-CE >=v0.7.5`.
* `gp2040ce-binary-tools <=v0.5.0` supported the smaller user config size in `GP2040-CE <v0.7.5`.
#### Config Structures
The latest update of the configuration snapshot is from **v0.7.8-RC2**.
### Dumping the GP2040-CE board with picotool ### Dumping the GP2040-CE board with picotool

View File

@ -24,7 +24,10 @@ message GamepadOptions
optional int32 inputModeL2 = 17; optional int32 inputModeL2 = 17;
optional int32 inputModeR1 = 18; optional int32 inputModeR1 = 18;
optional int32 inputModeR2 = 19; optional int32 inputModeR2 = 19;
optional bool ps4ReportHack = 20; optional bool ps4ReportHack = 20 [deprecated = true];
optional InputModeAuthType ps4AuthType = 21;
optional InputModeAuthType ps5AuthType = 22;
optional InputModeAuthType xinputAuthType = 23;
} }
message KeyboardMapping message KeyboardMapping
@ -314,6 +317,7 @@ message AnimationOptions_Proto
optional uint32 customThemeR3Pressed = 42; optional uint32 customThemeR3Pressed = 42;
optional uint32 customThemeA1Pressed = 43; optional uint32 customThemeA1Pressed = 43;
optional uint32 customThemeA2Pressed = 44; optional uint32 customThemeA2Pressed = 44;
optional uint32 buttonPressColorCooldownTimeInMs = 45;
} }
message BootselButtonOptions message BootselButtonOptions
@ -349,7 +353,7 @@ message TurboOptions
{ {
optional bool enabled = 1; optional bool enabled = 1;
optional int32 buttonPin = 2; optional int32 deprecatedButtonPin = 2 [deprecated = true];
optional int32 ledPin = 3; optional int32 ledPin = 3;
optional uint32 shotCount = 4; optional uint32 shotCount = 4;
optional int32 shmupDialPin = 5; optional int32 shmupDialPin = 5;
@ -417,6 +421,17 @@ message AnalogADS1219Options
optional int32 deprecatedI2cSpeed = 6 [deprecated = true]; optional int32 deprecatedI2cSpeed = 6 [deprecated = true];
} }
message AnalogADS1256Options
{
optional bool enabled = 1;
optional int32 spiBlock = 2;
optional int32 csPin = 3;
optional int32 drdyPin = 4;
optional float avdd = 5;
optional bool enableTriggers = 6;
}
message DualDirectionalOptions message DualDirectionalOptions
{ {
optional bool enabled = 1; optional bool enabled = 1;
@ -427,7 +442,7 @@ message DualDirectionalOptions
optional int32 deprecatedRightPin = 5 [deprecated = true]; optional int32 deprecatedRightPin = 5 [deprecated = true];
optional DpadMode dpadMode = 6; optional DpadMode dpadMode = 6;
optional uint32 combineMode = 7; optional DualDirectionalCombinationMode combineMode = 7;
optional bool fourWayMode = 8; optional bool fourWayMode = 8;
} }
@ -465,6 +480,7 @@ message BuzzerOptions
optional int32 pin = 2; optional int32 pin = 2;
optional uint32 volume = 3; optional uint32 volume = 3;
optional int32 enablePin = 4;
} }
message ExtraButtonOptions message ExtraButtonOptions
@ -499,14 +515,14 @@ message PS4Options
message PSPassthroughOptions message PSPassthroughOptions
{ {
optional bool enabled = 1; optional bool enabled = 1 [deprecated = true];
optional int32 deprecatedPinDplus = 2 [deprecated = true]; optional int32 deprecatedPinDplus = 2 [deprecated = true];
optional int32 deprecatedPin5V = 3 [deprecated = true]; optional int32 deprecatedPin5V = 3 [deprecated = true];
} }
message XBOnePassthroughOptions message XBOnePassthroughOptions
{ {
optional bool enabled = 1; optional bool enabled = 1 [deprecated = true];
} }
message WiiOptions message WiiOptions
@ -669,7 +685,7 @@ message Macro
repeated MacroInput macroInputs = 3 [(nanopb).max_count = 30]; repeated MacroInput macroInputs = 3 [(nanopb).max_count = 30];
optional bool enabled = 4; optional bool enabled = 4;
optional bool useMacroTriggerButton = 5; optional bool useMacroTriggerButton = 5;
optional int32 macroTriggerPin = 6 [default = -1]; optional int32 deprecatedMacroTriggerPin = 6 [deprecated = true];
optional uint32 macroTriggerButton = 7; optional uint32 macroTriggerButton = 7;
optional bool exclusive = 8 [default = true]; optional bool exclusive = 8 [default = true];
optional bool interruptible = 9 [default = true]; optional bool interruptible = 9 [default = true];
@ -679,9 +695,9 @@ message Macro
message MacroOptions message MacroOptions
{ {
optional bool enabled = 1; optional bool enabled = 1;
optional int32 pin = 2; optional int32 deprecatedPin = 2 [deprecated = true];
optional bool macroBoardLedEnabled = 4;
repeated Macro macroList = 3 [(nanopb).max_count = 6]; repeated Macro macroList = 3 [(nanopb).max_count = 6];
optional bool macroBoardLedEnabled = 4;
} }
message InputHistoryOptions message InputHistoryOptions
@ -692,6 +708,25 @@ message InputHistoryOptions
optional uint32 row = 4; optional uint32 row = 4;
} }
message RotaryPinOptions
{
optional bool enabled = 1;
optional int32 pinA = 2;
optional int32 pinB = 3;
optional RotaryEncoderPinMode mode = 4;
optional uint32 pulsesPerRevolution = 5;
optional uint32 resetAfter = 6;
optional bool allowWrapAround = 7;
optional float multiplier = 8;
}
message RotaryOptions
{
optional bool enabled = 1;
optional RotaryPinOptions encoderOne = 2;
optional RotaryPinOptions encoderTwo = 3;
}
message AddonOptions message AddonOptions
{ {
optional BootselButtonOptions bootselButtonOptions = 1; optional BootselButtonOptions bootselButtonOptions = 1;
@ -712,10 +747,12 @@ message AddonOptions
optional FocusModeOptions focusModeOptions = 16; optional FocusModeOptions focusModeOptions = 16;
optional KeyboardHostOptions keyboardHostOptions = 17; optional KeyboardHostOptions keyboardHostOptions = 17;
optional TiltOptions tiltOptions = 18; optional TiltOptions tiltOptions = 18;
optional PSPassthroughOptions psPassthroughOptions = 19; optional PSPassthroughOptions psPassthroughOptions = 19 [deprecated = true];
optional MacroOptions macroOptions = 20; optional MacroOptions macroOptions = 20;
optional InputHistoryOptions inputHistoryOptions = 21; optional InputHistoryOptions inputHistoryOptions = 21;
optional XBOnePassthroughOptions xbonePassthroughOptions = 22; optional XBOnePassthroughOptions xbonePassthroughOptions = 22 [deprecated = true];
optional AnalogADS1256Options analogADS1256Options = 23;
optional RotaryOptions rotaryOptions = 24;
} }
message MigrationHistory message MigrationHistory

File diff suppressed because one or more lines are too long

View File

@ -20,6 +20,20 @@ enum ButtonLayout
BUTTON_LAYOUT_FIGHTBOARD_MIRRORED = 11; BUTTON_LAYOUT_FIGHTBOARD_MIRRORED = 11;
BUTTON_LAYOUT_CUSTOMA = 12; BUTTON_LAYOUT_CUSTOMA = 12;
BUTTON_LAYOUT_OPENCORE0WASDA = 13; BUTTON_LAYOUT_OPENCORE0WASDA = 13;
BUTTON_LAYOUT_STICKLESS_13 = 14;
BUTTON_LAYOUT_STICKLESS_16 = 15;
BUTTON_LAYOUT_STICKLESS_14 = 16;
BUTTON_LAYOUT_DANCEPAD_DDR_LEFT = 17;
BUTTON_LAYOUT_DANCEPAD_DDR_SOLO = 18;
BUTTON_LAYOUT_DANCEPAD_PIU_LEFT = 19;
BUTTON_LAYOUT_POPN_A = 20;
BUTTON_LAYOUT_TAIKO_A = 21;
BUTTON_LAYOUT_BM_TURNTABLE_A = 22;
BUTTON_LAYOUT_BM_5KEY_A = 23;
BUTTON_LAYOUT_BM_7KEY_A = 24;
BUTTON_LAYOUT_GITADORA_FRET_A = 25;
BUTTON_LAYOUT_GITADORA_STRUM_A = 26;
BUTTON_LAYOUT_BOARD_DEFINED_A = 27;
} }
enum ButtonLayoutRight enum ButtonLayoutRight
@ -45,6 +59,19 @@ enum ButtonLayoutRight
BUTTON_LAYOUT_CUSTOMB = 16; BUTTON_LAYOUT_CUSTOMB = 16;
BUTTON_LAYOUT_KEYBOARD8B = 17; BUTTON_LAYOUT_KEYBOARD8B = 17;
BUTTON_LAYOUT_OPENCORE0WASDB = 18; BUTTON_LAYOUT_OPENCORE0WASDB = 18;
BUTTON_LAYOUT_STICKLESS_13B = 19;
BUTTON_LAYOUT_STICKLESS_16B = 20;
BUTTON_LAYOUT_STICKLESS_14B = 21;
BUTTON_LAYOUT_DANCEPAD_DDR_RIGHT = 22;
BUTTON_LAYOUT_DANCEPAD_PIU_RIGHT = 23;
BUTTON_LAYOUT_POPN_B = 24;
BUTTON_LAYOUT_TAIKO_B = 25;
BUTTON_LAYOUT_BM_TURNTABLE_B = 26;
BUTTON_LAYOUT_BM_5KEY_B = 27;
BUTTON_LAYOUT_BM_7KEY_B = 28;
BUTTON_LAYOUT_GITADORA_FRET_B = 29;
BUTTON_LAYOUT_GITADORA_STRUM_B = 30;
BUTTON_LAYOUT_BOARD_DEFINED_B = 31;
} }
enum SplashMode enum SplashMode
@ -96,9 +123,20 @@ enum InputMode
INPUT_MODE_ASTRO = 10; INPUT_MODE_ASTRO = 10;
INPUT_MODE_PSCLASSIC = 11; INPUT_MODE_PSCLASSIC = 11;
INPUT_MODE_XBOXORIGINAL = 12; INPUT_MODE_XBOXORIGINAL = 12;
INPUT_MODE_PS5 = 13;
INPUT_MODE_CONFIG = 255; INPUT_MODE_CONFIG = 255;
} }
enum InputModeAuthType
{
option (nanopb_enumopt).long_names = false;
INPUT_MODE_AUTH_TYPE_NONE = 0;
INPUT_MODE_AUTH_TYPE_KEYS = 1;
INPUT_MODE_AUTH_TYPE_USB = 2;
INPUT_MODE_AUTH_TYPE_I2C = 3;
}
enum DpadMode enum DpadMode
{ {
option (nanopb_enumopt).long_names = false; option (nanopb_enumopt).long_names = false;
@ -169,6 +207,14 @@ enum GpioAction
SUSTAIN_SOCD_MODE_SECOND_WIN = 29; SUSTAIN_SOCD_MODE_SECOND_WIN = 29;
SUSTAIN_SOCD_MODE_FIRST_WIN = 30; SUSTAIN_SOCD_MODE_FIRST_WIN = 30;
SUSTAIN_SOCD_MODE_BYPASS = 31; SUSTAIN_SOCD_MODE_BYPASS = 31;
BUTTON_PRESS_TURBO = 32;
BUTTON_PRESS_MACRO = 33;
BUTTON_PRESS_MACRO_1 = 34;
BUTTON_PRESS_MACRO_2 = 35;
BUTTON_PRESS_MACRO_3 = 36;
BUTTON_PRESS_MACRO_4 = 37;
BUTTON_PRESS_MACRO_5 = 38;
BUTTON_PRESS_MACRO_6 = 39;
} }
enum GamepadHotkey enum GamepadHotkey
@ -248,6 +294,16 @@ enum ForcedSetupMode
FORCED_SETUP_MODE_LOCK_BOTH = 3; FORCED_SETUP_MODE_LOCK_BOTH = 3;
}; };
enum DualDirectionalCombinationMode
{
option (nanopb_enumopt).long_names = false;
MIXED_MODE = 0;
GAMEPAD_MODE = 1;
DUAL_MODE = 2;
NONE_MODE = 3;
}
enum PS4ControllerType enum PS4ControllerType
{ {
option (nanopb_enumopt).long_names = false; option (nanopb_enumopt).long_names = false;
@ -264,3 +320,44 @@ enum MacroType
ON_HOLD_REPEAT = 2; ON_HOLD_REPEAT = 2;
ON_TOGGLE = 3; ON_TOGGLE = 3;
}; };
enum GPElement
{
option (nanopb_enumopt).long_names = false;
GP_ELEMENT_WIDGET = 0;
GP_ELEMENT_SCREEN = 1;
GP_ELEMENT_BTN_BUTTON = 2;
GP_ELEMENT_DIR_BUTTON = 3;
GP_ELEMENT_PIN_BUTTON = 4;
GP_ELEMENT_LEVER = 5;
GP_ELEMENT_LABEL = 6;
GP_ELEMENT_SPRITE = 7;
GP_ELEMENT_SHAPE = 8;
};
enum GPShape_Type
{
option (nanopb_enumopt).long_names = false;
GP_SHAPE_ELLIPSE = 0;
GP_SHAPE_SQUARE = 1;
GP_SHAPE_DIAMOND = 2;
GP_SHAPE_POLYGON = 3;
GP_SHAPE_ARC = 4;
};
enum RotaryEncoderPinMode
{
option (nanopb_enumopt).long_names = false;
ENCODER_MODE_NONE = 0;
ENCODER_MODE_LEFT_ANALOG_X = 1;
ENCODER_MODE_LEFT_ANALOG_Y = 2;
ENCODER_MODE_RIGHT_ANALOG_X = 3;
ENCODER_MODE_RIGHT_ANALOG_Y = 4;
ENCODER_MODE_LEFT_TRIGGER = 5;
ENCODER_MODE_RIGHT_TRIGGER = 6;
ENCODER_MODE_DPAD_X = 7;
ENCODER_MODE_DPAD_Y = 8;
};

File diff suppressed because one or more lines are too long

View File

@ -2,7 +2,7 @@
# This file is autogenerated by pip-compile with Python 3.11 # This file is autogenerated by pip-compile with Python 3.11
# by the following command: # by the following command:
# #
# pip-compile --extra=dev --output-file=requirements/requirements-dev.txt pyproject.toml # pip-compile --extra=dev --output-file=requirements/requirements-dev.txt
# #
aiohttp==3.9.3 aiohttp==3.9.3
# via textual-dev # via textual-dev
@ -12,7 +12,7 @@ attrs==23.2.0
# via aiohttp # via aiohttp
bandit==1.7.8 bandit==1.7.8
# via gp2040ce-binary-tools (pyproject.toml) # via gp2040ce-binary-tools (pyproject.toml)
build==1.1.1 build==1.2.1
# via pip-tools # via pip-tools
cachetools==5.3.3 cachetools==5.3.3
# via tox # via tox
@ -24,13 +24,13 @@ click==8.1.7
# textual-dev # textual-dev
colorama==0.4.6 colorama==0.4.6
# via tox # via tox
coverage[toml]==7.4.3 coverage[toml]==7.4.4
# via pytest-cov # via pytest-cov
decorator==5.1.1 decorator==5.1.1
# via gp2040ce-binary-tools (pyproject.toml) # via gp2040ce-binary-tools (pyproject.toml)
distlib==0.3.8 distlib==0.3.8
# via virtualenv # via virtualenv
filelock==3.13.1 filelock==3.13.3
# via # via
# tox # tox
# virtualenv # virtualenv
@ -45,7 +45,7 @@ flake8==7.0.0
# gp2040ce-binary-tools (pyproject.toml) # gp2040ce-binary-tools (pyproject.toml)
flake8-blind-except==0.2.1 flake8-blind-except==0.2.1
# via gp2040ce-binary-tools (pyproject.toml) # via gp2040ce-binary-tools (pyproject.toml)
flake8-builtins==2.2.0 flake8-builtins==2.4.0
# via gp2040ce-binary-tools (pyproject.toml) # via gp2040ce-binary-tools (pyproject.toml)
flake8-docstrings==1.7.0 flake8-docstrings==1.7.0
# via gp2040ce-binary-tools (pyproject.toml) # via gp2040ce-binary-tools (pyproject.toml)
@ -138,9 +138,9 @@ pytest==8.1.1
# gp2040ce-binary-tools (pyproject.toml) # gp2040ce-binary-tools (pyproject.toml)
# pytest-asyncio # pytest-asyncio
# pytest-cov # pytest-cov
pytest-asyncio==0.23.5.post1 pytest-asyncio==0.23.6
# via gp2040ce-binary-tools (pyproject.toml) # via gp2040ce-binary-tools (pyproject.toml)
pytest-cov==4.1.0 pytest-cov==5.0.0
# via gp2040ce-binary-tools (pyproject.toml) # via gp2040ce-binary-tools (pyproject.toml)
pyusb==1.2.1 pyusb==1.2.1
# via gp2040ce-binary-tools (pyproject.toml) # via gp2040ce-binary-tools (pyproject.toml)
@ -156,15 +156,15 @@ snowballstemmer==2.2.0
# via pydocstyle # via pydocstyle
stevedore==5.2.0 stevedore==5.2.0
# via bandit # via bandit
textual==0.52.1 textual==0.56.2
# via # via
# gp2040ce-binary-tools (pyproject.toml) # gp2040ce-binary-tools (pyproject.toml)
# textual-dev # textual-dev
textual-dev==1.5.1 textual-dev==1.5.1
# via gp2040ce-binary-tools (pyproject.toml) # via gp2040ce-binary-tools (pyproject.toml)
tox==4.14.1 tox==4.14.2
# via gp2040ce-binary-tools (pyproject.toml) # via gp2040ce-binary-tools (pyproject.toml)
typing-extensions==4.10.0 typing-extensions==4.11.0
# via # via
# mypy # mypy
# setuptools-scm # setuptools-scm

View File

@ -2,7 +2,7 @@
# This file is autogenerated by pip-compile with Python 3.11 # This file is autogenerated by pip-compile with Python 3.11
# by the following command: # by the following command:
# #
# pip-compile --output-file=requirements/requirements.txt pyproject.toml # pip-compile --output-file=requirements/requirements.txt
# #
grpcio==1.62.1 grpcio==1.62.1
# via grpcio-tools # via grpcio-tools
@ -27,9 +27,9 @@ pyusb==1.2.1
# via gp2040ce-binary-tools (pyproject.toml) # via gp2040ce-binary-tools (pyproject.toml)
rich==13.7.1 rich==13.7.1
# via textual # via textual
textual==0.52.1 textual==0.56.2
# via gp2040ce-binary-tools (pyproject.toml) # via gp2040ce-binary-tools (pyproject.toml)
typing-extensions==4.10.0 typing-extensions==4.11.0
# via textual # via textual
uc-micro-py==1.0.3 uc-micro-py==1.0.3
# via linkify-it-py # via linkify-it-py

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -24,7 +24,10 @@ message GamepadOptions
optional int32 inputModeL2 = 17; optional int32 inputModeL2 = 17;
optional int32 inputModeR1 = 18; optional int32 inputModeR1 = 18;
optional int32 inputModeR2 = 19; optional int32 inputModeR2 = 19;
optional bool ps4ReportHack = 20; optional bool ps4ReportHack = 20 [deprecated = true];
optional InputModeAuthType ps4AuthType = 21;
optional InputModeAuthType ps5AuthType = 22;
optional InputModeAuthType xinputAuthType = 23;
} }
message KeyboardMapping message KeyboardMapping
@ -314,6 +317,7 @@ message AnimationOptions_Proto
optional uint32 customThemeR3Pressed = 42; optional uint32 customThemeR3Pressed = 42;
optional uint32 customThemeA1Pressed = 43; optional uint32 customThemeA1Pressed = 43;
optional uint32 customThemeA2Pressed = 44; optional uint32 customThemeA2Pressed = 44;
optional uint32 buttonPressColorCooldownTimeInMs = 45;
} }
message BootselButtonOptions message BootselButtonOptions
@ -349,7 +353,7 @@ message TurboOptions
{ {
optional bool enabled = 1; optional bool enabled = 1;
optional int32 buttonPin = 2; optional int32 deprecatedButtonPin = 2 [deprecated = true];
optional int32 ledPin = 3; optional int32 ledPin = 3;
optional uint32 shotCount = 4; optional uint32 shotCount = 4;
optional int32 shmupDialPin = 5; optional int32 shmupDialPin = 5;
@ -417,6 +421,17 @@ message AnalogADS1219Options
optional int32 deprecatedI2cSpeed = 6 [deprecated = true]; optional int32 deprecatedI2cSpeed = 6 [deprecated = true];
} }
message AnalogADS1256Options
{
optional bool enabled = 1;
optional int32 spiBlock = 2;
optional int32 csPin = 3;
optional int32 drdyPin = 4;
optional float avdd = 5;
optional bool enableTriggers = 6;
}
message DualDirectionalOptions message DualDirectionalOptions
{ {
optional bool enabled = 1; optional bool enabled = 1;
@ -427,7 +442,7 @@ message DualDirectionalOptions
optional int32 deprecatedRightPin = 5 [deprecated = true]; optional int32 deprecatedRightPin = 5 [deprecated = true];
optional DpadMode dpadMode = 6; optional DpadMode dpadMode = 6;
optional uint32 combineMode = 7; optional DualDirectionalCombinationMode combineMode = 7;
optional bool fourWayMode = 8; optional bool fourWayMode = 8;
} }
@ -465,6 +480,7 @@ message BuzzerOptions
optional int32 pin = 2; optional int32 pin = 2;
optional uint32 volume = 3; optional uint32 volume = 3;
optional int32 enablePin = 4;
} }
message ExtraButtonOptions message ExtraButtonOptions
@ -499,14 +515,14 @@ message PS4Options
message PSPassthroughOptions message PSPassthroughOptions
{ {
optional bool enabled = 1; optional bool enabled = 1 [deprecated = true];
optional int32 deprecatedPinDplus = 2 [deprecated = true]; optional int32 deprecatedPinDplus = 2 [deprecated = true];
optional int32 deprecatedPin5V = 3 [deprecated = true]; optional int32 deprecatedPin5V = 3 [deprecated = true];
} }
message XBOnePassthroughOptions message XBOnePassthroughOptions
{ {
optional bool enabled = 1; optional bool enabled = 1 [deprecated = true];
} }
message WiiOptions message WiiOptions
@ -669,7 +685,7 @@ message Macro
repeated MacroInput macroInputs = 3 [(nanopb).max_count = 30]; repeated MacroInput macroInputs = 3 [(nanopb).max_count = 30];
optional bool enabled = 4; optional bool enabled = 4;
optional bool useMacroTriggerButton = 5; optional bool useMacroTriggerButton = 5;
optional int32 macroTriggerPin = 6 [default = -1]; optional int32 deprecatedMacroTriggerPin = 6 [deprecated = true];
optional uint32 macroTriggerButton = 7; optional uint32 macroTriggerButton = 7;
optional bool exclusive = 8 [default = true]; optional bool exclusive = 8 [default = true];
optional bool interruptible = 9 [default = true]; optional bool interruptible = 9 [default = true];
@ -679,9 +695,9 @@ message Macro
message MacroOptions message MacroOptions
{ {
optional bool enabled = 1; optional bool enabled = 1;
optional int32 pin = 2; optional int32 deprecatedPin = 2 [deprecated = true];
optional bool macroBoardLedEnabled = 4;
repeated Macro macroList = 3 [(nanopb).max_count = 6]; repeated Macro macroList = 3 [(nanopb).max_count = 6];
optional bool macroBoardLedEnabled = 4;
} }
message InputHistoryOptions message InputHistoryOptions
@ -692,6 +708,25 @@ message InputHistoryOptions
optional uint32 row = 4; optional uint32 row = 4;
} }
message RotaryPinOptions
{
optional bool enabled = 1;
optional int32 pinA = 2;
optional int32 pinB = 3;
optional RotaryEncoderPinMode mode = 4;
optional uint32 pulsesPerRevolution = 5;
optional uint32 resetAfter = 6;
optional bool allowWrapAround = 7;
optional float multiplier = 8;
}
message RotaryOptions
{
optional bool enabled = 1;
optional RotaryPinOptions encoderOne = 2;
optional RotaryPinOptions encoderTwo = 3;
}
message AddonOptions message AddonOptions
{ {
optional BootselButtonOptions bootselButtonOptions = 1; optional BootselButtonOptions bootselButtonOptions = 1;
@ -712,10 +747,12 @@ message AddonOptions
optional FocusModeOptions focusModeOptions = 16; optional FocusModeOptions focusModeOptions = 16;
optional KeyboardHostOptions keyboardHostOptions = 17; optional KeyboardHostOptions keyboardHostOptions = 17;
optional TiltOptions tiltOptions = 18; optional TiltOptions tiltOptions = 18;
optional PSPassthroughOptions psPassthroughOptions = 19; optional PSPassthroughOptions psPassthroughOptions = 19 [deprecated = true];
optional MacroOptions macroOptions = 20; optional MacroOptions macroOptions = 20;
optional InputHistoryOptions inputHistoryOptions = 21; optional InputHistoryOptions inputHistoryOptions = 21;
optional XBOnePassthroughOptions xbonePassthroughOptions = 22; optional XBOnePassthroughOptions xbonePassthroughOptions = 22 [deprecated = true];
optional AnalogADS1256Options analogADS1256Options = 23;
optional RotaryOptions rotaryOptions = 24;
} }
message MigrationHistory message MigrationHistory

View File

@ -20,6 +20,20 @@ enum ButtonLayout
BUTTON_LAYOUT_FIGHTBOARD_MIRRORED = 11; BUTTON_LAYOUT_FIGHTBOARD_MIRRORED = 11;
BUTTON_LAYOUT_CUSTOMA = 12; BUTTON_LAYOUT_CUSTOMA = 12;
BUTTON_LAYOUT_OPENCORE0WASDA = 13; BUTTON_LAYOUT_OPENCORE0WASDA = 13;
BUTTON_LAYOUT_STICKLESS_13 = 14;
BUTTON_LAYOUT_STICKLESS_16 = 15;
BUTTON_LAYOUT_STICKLESS_14 = 16;
BUTTON_LAYOUT_DANCEPAD_DDR_LEFT = 17;
BUTTON_LAYOUT_DANCEPAD_DDR_SOLO = 18;
BUTTON_LAYOUT_DANCEPAD_PIU_LEFT = 19;
BUTTON_LAYOUT_POPN_A = 20;
BUTTON_LAYOUT_TAIKO_A = 21;
BUTTON_LAYOUT_BM_TURNTABLE_A = 22;
BUTTON_LAYOUT_BM_5KEY_A = 23;
BUTTON_LAYOUT_BM_7KEY_A = 24;
BUTTON_LAYOUT_GITADORA_FRET_A = 25;
BUTTON_LAYOUT_GITADORA_STRUM_A = 26;
BUTTON_LAYOUT_BOARD_DEFINED_A = 27;
} }
enum ButtonLayoutRight enum ButtonLayoutRight
@ -45,6 +59,19 @@ enum ButtonLayoutRight
BUTTON_LAYOUT_CUSTOMB = 16; BUTTON_LAYOUT_CUSTOMB = 16;
BUTTON_LAYOUT_KEYBOARD8B = 17; BUTTON_LAYOUT_KEYBOARD8B = 17;
BUTTON_LAYOUT_OPENCORE0WASDB = 18; BUTTON_LAYOUT_OPENCORE0WASDB = 18;
BUTTON_LAYOUT_STICKLESS_13B = 19;
BUTTON_LAYOUT_STICKLESS_16B = 20;
BUTTON_LAYOUT_STICKLESS_14B = 21;
BUTTON_LAYOUT_DANCEPAD_DDR_RIGHT = 22;
BUTTON_LAYOUT_DANCEPAD_PIU_RIGHT = 23;
BUTTON_LAYOUT_POPN_B = 24;
BUTTON_LAYOUT_TAIKO_B = 25;
BUTTON_LAYOUT_BM_TURNTABLE_B = 26;
BUTTON_LAYOUT_BM_5KEY_B = 27;
BUTTON_LAYOUT_BM_7KEY_B = 28;
BUTTON_LAYOUT_GITADORA_FRET_B = 29;
BUTTON_LAYOUT_GITADORA_STRUM_B = 30;
BUTTON_LAYOUT_BOARD_DEFINED_B = 31;
} }
enum SplashMode enum SplashMode
@ -96,9 +123,20 @@ enum InputMode
INPUT_MODE_ASTRO = 10; INPUT_MODE_ASTRO = 10;
INPUT_MODE_PSCLASSIC = 11; INPUT_MODE_PSCLASSIC = 11;
INPUT_MODE_XBOXORIGINAL = 12; INPUT_MODE_XBOXORIGINAL = 12;
INPUT_MODE_PS5 = 13;
INPUT_MODE_CONFIG = 255; INPUT_MODE_CONFIG = 255;
} }
enum InputModeAuthType
{
option (nanopb_enumopt).long_names = false;
INPUT_MODE_AUTH_TYPE_NONE = 0;
INPUT_MODE_AUTH_TYPE_KEYS = 1;
INPUT_MODE_AUTH_TYPE_USB = 2;
INPUT_MODE_AUTH_TYPE_I2C = 3;
}
enum DpadMode enum DpadMode
{ {
option (nanopb_enumopt).long_names = false; option (nanopb_enumopt).long_names = false;
@ -169,6 +207,14 @@ enum GpioAction
SUSTAIN_SOCD_MODE_SECOND_WIN = 29; SUSTAIN_SOCD_MODE_SECOND_WIN = 29;
SUSTAIN_SOCD_MODE_FIRST_WIN = 30; SUSTAIN_SOCD_MODE_FIRST_WIN = 30;
SUSTAIN_SOCD_MODE_BYPASS = 31; SUSTAIN_SOCD_MODE_BYPASS = 31;
BUTTON_PRESS_TURBO = 32;
BUTTON_PRESS_MACRO = 33;
BUTTON_PRESS_MACRO_1 = 34;
BUTTON_PRESS_MACRO_2 = 35;
BUTTON_PRESS_MACRO_3 = 36;
BUTTON_PRESS_MACRO_4 = 37;
BUTTON_PRESS_MACRO_5 = 38;
BUTTON_PRESS_MACRO_6 = 39;
} }
enum GamepadHotkey enum GamepadHotkey
@ -248,6 +294,16 @@ enum ForcedSetupMode
FORCED_SETUP_MODE_LOCK_BOTH = 3; FORCED_SETUP_MODE_LOCK_BOTH = 3;
}; };
enum DualDirectionalCombinationMode
{
option (nanopb_enumopt).long_names = false;
MIXED_MODE = 0;
GAMEPAD_MODE = 1;
DUAL_MODE = 2;
NONE_MODE = 3;
}
enum PS4ControllerType enum PS4ControllerType
{ {
option (nanopb_enumopt).long_names = false; option (nanopb_enumopt).long_names = false;
@ -264,3 +320,44 @@ enum MacroType
ON_HOLD_REPEAT = 2; ON_HOLD_REPEAT = 2;
ON_TOGGLE = 3; ON_TOGGLE = 3;
}; };
enum GPElement
{
option (nanopb_enumopt).long_names = false;
GP_ELEMENT_WIDGET = 0;
GP_ELEMENT_SCREEN = 1;
GP_ELEMENT_BTN_BUTTON = 2;
GP_ELEMENT_DIR_BUTTON = 3;
GP_ELEMENT_PIN_BUTTON = 4;
GP_ELEMENT_LEVER = 5;
GP_ELEMENT_LABEL = 6;
GP_ELEMENT_SPRITE = 7;
GP_ELEMENT_SHAPE = 8;
};
enum GPShape_Type
{
option (nanopb_enumopt).long_names = false;
GP_SHAPE_ELLIPSE = 0;
GP_SHAPE_SQUARE = 1;
GP_SHAPE_DIAMOND = 2;
GP_SHAPE_POLYGON = 3;
GP_SHAPE_ARC = 4;
};
enum RotaryEncoderPinMode
{
option (nanopb_enumopt).long_names = false;
ENCODER_MODE_NONE = 0;
ENCODER_MODE_LEFT_ANALOG_X = 1;
ENCODER_MODE_LEFT_ANALOG_Y = 2;
ENCODER_MODE_RIGHT_ANALOG_X = 3;
ENCODER_MODE_RIGHT_ANALOG_Y = 4;
ENCODER_MODE_LEFT_TRIGGER = 5;
ENCODER_MODE_RIGHT_TRIGGER = 6;
ENCODER_MODE_DPAD_X = 7;
ENCODER_MODE_DPAD_Y = 8;
};

View File

@ -308,7 +308,7 @@
}, },
"turboOptions": { "turboOptions": {
"enabled": false, "enabled": false,
"buttonPin": -1, "deprecatedButtonPin": -1,
"ledPin": -1, "ledPin": -1,
"shotCount": 15, "shotCount": 15,
"shmupDialPin": -1, "shmupDialPin": -1,
@ -644,14 +644,14 @@
}, },
"macroOptions": { "macroOptions": {
"enabled": false, "enabled": false,
"pin": -1, "deprecatedPin": -1,
"macroList": [ "macroList": [
{ {
"macroType": "ON_PRESS", "macroType": "ON_PRESS",
"macroLabel": "", "macroLabel": "",
"enabled": false, "enabled": false,
"useMacroTriggerButton": false, "useMacroTriggerButton": false,
"macroTriggerPin": -1, "deprecatedMacroTriggerPin": -1,
"macroTriggerButton": 0, "macroTriggerButton": 0,
"exclusive": true, "exclusive": true,
"interruptible": true, "interruptible": true,
@ -662,7 +662,7 @@
"macroLabel": "", "macroLabel": "",
"enabled": false, "enabled": false,
"useMacroTriggerButton": false, "useMacroTriggerButton": false,
"macroTriggerPin": -1, "deprecatedMacroTriggerPin": -1,
"macroTriggerButton": 0, "macroTriggerButton": 0,
"exclusive": true, "exclusive": true,
"interruptible": true, "interruptible": true,
@ -673,7 +673,7 @@
"macroLabel": "", "macroLabel": "",
"enabled": false, "enabled": false,
"useMacroTriggerButton": false, "useMacroTriggerButton": false,
"macroTriggerPin": -1, "deprecatedMacroTriggerPin": -1,
"macroTriggerButton": 0, "macroTriggerButton": 0,
"exclusive": true, "exclusive": true,
"interruptible": true, "interruptible": true,
@ -684,7 +684,7 @@
"macroLabel": "", "macroLabel": "",
"enabled": false, "enabled": false,
"useMacroTriggerButton": false, "useMacroTriggerButton": false,
"macroTriggerPin": -1, "deprecatedMacroTriggerPin": -1,
"macroTriggerButton": 0, "macroTriggerButton": 0,
"exclusive": true, "exclusive": true,
"interruptible": true, "interruptible": true,
@ -695,7 +695,7 @@
"macroLabel": "", "macroLabel": "",
"enabled": false, "enabled": false,
"useMacroTriggerButton": false, "useMacroTriggerButton": false,
"macroTriggerPin": -1, "deprecatedMacroTriggerPin": -1,
"macroTriggerButton": 0, "macroTriggerButton": 0,
"exclusive": true, "exclusive": true,
"interruptible": true, "interruptible": true,
@ -706,7 +706,7 @@
"macroLabel": "", "macroLabel": "",
"enabled": false, "enabled": false,
"useMacroTriggerButton": false, "useMacroTriggerButton": false,
"macroTriggerPin": -1, "deprecatedMacroTriggerPin": -1,
"macroTriggerButton": 0, "macroTriggerButton": 0,
"exclusive": true, "exclusive": true,
"interruptible": true, "interruptible": true,