427 lines
11 KiB
Protocol Buffer
427 lines
11 KiB
Protocol Buffer
|
syntax = "proto2";
|
||
|
|
||
|
import "nanopb.proto";
|
||
|
import "enums.proto";
|
||
|
|
||
|
message GamepadOptions
|
||
|
{
|
||
|
optional InputMode inputMode = 1;
|
||
|
optional DpadMode dpadMode = 2;
|
||
|
optional SOCDMode socdMode = 3;
|
||
|
optional bool invertXAxis = 4;
|
||
|
optional bool invertYAxis = 5;
|
||
|
optional bool switchTpShareForDs4 = 6;
|
||
|
optional bool lockHotkeys = 7;
|
||
|
optional bool fourWayMode = 8;
|
||
|
}
|
||
|
|
||
|
message KeyboardMapping
|
||
|
{
|
||
|
optional uint32 keyDpadUp = 1;
|
||
|
optional uint32 keyDpadDown = 2;
|
||
|
optional uint32 keyDpadLeft = 3;
|
||
|
optional uint32 keyDpadRight = 4;
|
||
|
optional uint32 keyButtonB1 = 5;
|
||
|
optional uint32 keyButtonB2 = 6;
|
||
|
optional uint32 keyButtonB3 = 7;
|
||
|
optional uint32 keyButtonB4 = 8;
|
||
|
optional uint32 keyButtonL1 = 9;
|
||
|
optional uint32 keyButtonR1 = 10;
|
||
|
optional uint32 keyButtonL2 = 11;
|
||
|
optional uint32 keyButtonR2 = 12;
|
||
|
optional uint32 keyButtonS1 = 13;
|
||
|
optional uint32 keyButtonS2 = 14;
|
||
|
optional uint32 keyButtonL3 = 15;
|
||
|
optional uint32 keyButtonR3 = 16;
|
||
|
optional uint32 keyButtonA1 = 17;
|
||
|
optional uint32 keyButtonA2 = 18;
|
||
|
}
|
||
|
|
||
|
message HotkeyEntry
|
||
|
{
|
||
|
optional uint32 dpadMask = 1;
|
||
|
optional GamepadHotkey action = 2;
|
||
|
}
|
||
|
|
||
|
message HotkeyOptions
|
||
|
{
|
||
|
optional HotkeyEntry hotkeyF1Up = 1;
|
||
|
optional HotkeyEntry hotkeyF1Down = 2;
|
||
|
optional HotkeyEntry hotkeyF1Left = 3;
|
||
|
optional HotkeyEntry hotkeyF1Right = 4;
|
||
|
optional HotkeyEntry hotkeyF2Up = 5;
|
||
|
optional HotkeyEntry hotkeyF2Down = 6;
|
||
|
optional HotkeyEntry hotkeyF2Left = 7;
|
||
|
optional HotkeyEntry hotkeyF2Right = 8;
|
||
|
}
|
||
|
|
||
|
message ForcedSetupOptions
|
||
|
{
|
||
|
optional ForcedSetupMode mode = 1;
|
||
|
};
|
||
|
|
||
|
message ButtonLayoutParamsCommon
|
||
|
{
|
||
|
optional int32 startX = 1;
|
||
|
optional int32 startY = 2;
|
||
|
optional int32 buttonRadius = 3;
|
||
|
optional int32 buttonPadding = 4;
|
||
|
}
|
||
|
|
||
|
message ButtonLayoutParamsLeft
|
||
|
{
|
||
|
optional ButtonLayout layout = 1;
|
||
|
optional ButtonLayoutParamsCommon common = 2;
|
||
|
}
|
||
|
|
||
|
message ButtonLayoutParamsRight
|
||
|
{
|
||
|
optional ButtonLayoutRight layout = 1;
|
||
|
optional ButtonLayoutParamsCommon common = 2;
|
||
|
}
|
||
|
|
||
|
message ButtonLayoutCustomOptions
|
||
|
{
|
||
|
optional ButtonLayoutParamsLeft paramsLeft = 1;
|
||
|
optional ButtonLayoutParamsRight paramsRight = 2;
|
||
|
}
|
||
|
|
||
|
message PinMappings
|
||
|
{
|
||
|
optional int32 pinDpadUp = 1;
|
||
|
optional int32 pinDpadDown = 2;
|
||
|
optional int32 pinDpadLeft = 3;
|
||
|
optional int32 pinDpadRight = 4;
|
||
|
optional int32 pinButtonB1 = 5;
|
||
|
optional int32 pinButtonB2 = 6;
|
||
|
optional int32 pinButtonB3 = 7;
|
||
|
optional int32 pinButtonB4 = 8;
|
||
|
optional int32 pinButtonL1 = 9;
|
||
|
optional int32 pinButtonR1 = 10;
|
||
|
optional int32 pinButtonL2 = 11;
|
||
|
optional int32 pinButtonR2 = 12;
|
||
|
optional int32 pinButtonS1 = 13;
|
||
|
optional int32 pinButtonS2 = 14;
|
||
|
optional int32 pinButtonL3 = 15;
|
||
|
optional int32 pinButtonR3 = 16;
|
||
|
optional int32 pinButtonA1 = 17;
|
||
|
optional int32 pinButtonA2 = 18;
|
||
|
}
|
||
|
|
||
|
message DisplayOptions
|
||
|
{
|
||
|
optional bool enabled = 1;
|
||
|
|
||
|
optional int32 i2cBlock = 2;
|
||
|
optional int32 i2cSDAPin = 3;
|
||
|
optional int32 i2cSCLPin = 4;
|
||
|
optional int32 i2cAddress = 5;
|
||
|
optional int32 i2cSpeed = 6;
|
||
|
|
||
|
optional ButtonLayout buttonLayout = 7;
|
||
|
optional ButtonLayoutRight buttonLayoutRight = 8;
|
||
|
optional ButtonLayoutCustomOptions buttonLayoutCustomOptions = 9;
|
||
|
|
||
|
optional SplashMode splashMode = 10;
|
||
|
optional SplashChoice splashChoice = 11;
|
||
|
optional int32 splashDuration = 12;
|
||
|
optional bytes splashImage = 13 [(nanopb).max_size = 1024];
|
||
|
|
||
|
optional int32 size = 14;
|
||
|
optional int32 flip = 15;
|
||
|
optional bool invert = 16;
|
||
|
|
||
|
optional int32 displaySaverTimeout = 17;
|
||
|
}
|
||
|
|
||
|
message LEDOptions
|
||
|
{
|
||
|
optional int32 dataPin = 1;
|
||
|
optional LEDFormat_Proto ledFormat = 2;
|
||
|
optional ButtonLayout ledLayout = 3;
|
||
|
optional uint32 ledsPerButton = 4;
|
||
|
optional uint32 brightnessMaximum = 5;
|
||
|
optional uint32 brightnessSteps = 6;
|
||
|
|
||
|
optional int32 indexUp = 7;
|
||
|
optional int32 indexDown = 8;
|
||
|
optional int32 indexLeft = 9;
|
||
|
optional int32 indexRight = 10;
|
||
|
optional int32 indexB1 = 11;
|
||
|
optional int32 indexB2 = 12;
|
||
|
optional int32 indexB3 = 13;
|
||
|
optional int32 indexB4 = 14;
|
||
|
optional int32 indexL1 = 15;
|
||
|
optional int32 indexR1 = 16;
|
||
|
optional int32 indexL2 = 17;
|
||
|
optional int32 indexR2 = 18;
|
||
|
optional int32 indexS1 = 19;
|
||
|
optional int32 indexS2 = 20;
|
||
|
optional int32 indexL3 = 21;
|
||
|
optional int32 indexR3 = 22;
|
||
|
optional int32 indexA1 = 23;
|
||
|
optional int32 indexA2 = 24;
|
||
|
|
||
|
optional PLEDType pledType = 25;
|
||
|
optional int32 pledPin1 = 26;
|
||
|
optional int32 pledPin2 = 27;
|
||
|
optional int32 pledPin3 = 28;
|
||
|
optional int32 pledPin4 = 29;
|
||
|
optional uint32 pledColor = 30;
|
||
|
};
|
||
|
|
||
|
// This has to be kept in sync with AnimationOptions in AnimationStation.hpp
|
||
|
message AnimationOptions_Proto
|
||
|
{
|
||
|
optional uint32 baseAnimationIndex = 1;
|
||
|
optional uint32 brightness = 2;
|
||
|
optional uint32 staticColorIndex = 3;
|
||
|
optional uint32 buttonColorIndex = 4;
|
||
|
optional int32 chaseCycleTime = 5;
|
||
|
optional int32 rainbowCycleTime = 6;
|
||
|
optional uint32 themeIndex = 7;
|
||
|
|
||
|
optional bool hasCustomTheme = 8;
|
||
|
optional uint32 customThemeUp = 9;
|
||
|
optional uint32 customThemeDown = 10;
|
||
|
optional uint32 customThemeLeft = 11;
|
||
|
optional uint32 customThemeRight = 12;
|
||
|
optional uint32 customThemeB1 = 13;
|
||
|
optional uint32 customThemeB2 = 14;
|
||
|
optional uint32 customThemeB3 = 15;
|
||
|
optional uint32 customThemeB4 = 16;
|
||
|
optional uint32 customThemeL1 = 17;
|
||
|
optional uint32 customThemeR1 = 18;
|
||
|
optional uint32 customThemeL2 = 19;
|
||
|
optional uint32 customThemeR2 = 20;
|
||
|
optional uint32 customThemeS1 = 21;
|
||
|
optional uint32 customThemeS2 = 22;
|
||
|
optional uint32 customThemeL3 = 23;
|
||
|
optional uint32 customThemeR3 = 24;
|
||
|
optional uint32 customThemeA1 = 25;
|
||
|
optional uint32 customThemeA2 = 26;
|
||
|
optional uint32 customThemeUpPressed = 27;
|
||
|
optional uint32 customThemeDownPressed = 28;
|
||
|
optional uint32 customThemeLeftPressed = 29;
|
||
|
optional uint32 customThemeRightPressed = 30;
|
||
|
optional uint32 customThemeB1Pressed = 31;
|
||
|
optional uint32 customThemeB2Pressed = 32;
|
||
|
optional uint32 customThemeB3Pressed = 33;
|
||
|
optional uint32 customThemeB4Pressed = 34;
|
||
|
optional uint32 customThemeL1Pressed = 35;
|
||
|
optional uint32 customThemeR1Pressed = 36;
|
||
|
optional uint32 customThemeL2Pressed = 37;
|
||
|
optional uint32 customThemeR2Pressed = 38;
|
||
|
optional uint32 customThemeS1Pressed = 39;
|
||
|
optional uint32 customThemeS2Pressed = 40;
|
||
|
optional uint32 customThemeL3Pressed = 41;
|
||
|
optional uint32 customThemeR3Pressed = 42;
|
||
|
optional uint32 customThemeA1Pressed = 43;
|
||
|
optional uint32 customThemeA2Pressed = 44;
|
||
|
}
|
||
|
|
||
|
message BootselButtonOptions
|
||
|
{
|
||
|
optional bool enabled = 1;
|
||
|
optional uint32 buttonMap = 2;
|
||
|
}
|
||
|
|
||
|
message OnBoardLedOptions
|
||
|
{
|
||
|
optional OnBoardLedMode mode = 1;
|
||
|
optional bool enabled = 2;
|
||
|
}
|
||
|
|
||
|
message AnalogOptions
|
||
|
{
|
||
|
optional bool enabled = 1;
|
||
|
|
||
|
optional int32 analogAdcPinX = 2;
|
||
|
optional int32 analogAdcPinY = 3;
|
||
|
optional bool forced_circularity = 4;
|
||
|
optional uint32 analog_deadzone = 5;
|
||
|
}
|
||
|
|
||
|
message TurboOptions
|
||
|
{
|
||
|
optional bool enabled = 1;
|
||
|
|
||
|
optional int32 buttonPin = 2;
|
||
|
optional int32 ledPin = 3;
|
||
|
optional uint32 shotCount = 4;
|
||
|
optional int32 shmupDialPin = 5;
|
||
|
|
||
|
optional bool shmupModeEnabled = 6;
|
||
|
optional uint32 shmupAlwaysOn1 = 7;
|
||
|
optional uint32 shmupAlwaysOn2 = 8;
|
||
|
optional uint32 shmupAlwaysOn3 = 9;
|
||
|
optional uint32 shmupAlwaysOn4 = 10;
|
||
|
optional int32 shmupBtn1Pin = 11;
|
||
|
optional int32 shmupBtn2Pin = 12;
|
||
|
optional int32 shmupBtn3Pin = 13;
|
||
|
optional int32 shmupBtn4Pin = 14;
|
||
|
optional uint32 shmupBtnMask1 = 15;
|
||
|
optional uint32 shmupBtnMask2 = 16;
|
||
|
optional uint32 shmupBtnMask3 = 17;
|
||
|
optional uint32 shmupBtnMask4 = 18;
|
||
|
optional ShmupMixMode shmupMixMode = 19;
|
||
|
}
|
||
|
|
||
|
message SliderOptions
|
||
|
{
|
||
|
optional bool enabled = 1;
|
||
|
|
||
|
optional int32 pinLS = 2;
|
||
|
optional int32 pinRS = 3;
|
||
|
}
|
||
|
|
||
|
message SOCDSliderOptions
|
||
|
{
|
||
|
optional bool enabled = 1;
|
||
|
|
||
|
optional int32 pinOne = 2;
|
||
|
optional int32 pinTwo = 3;
|
||
|
|
||
|
optional SOCDMode modeDefault = 4;
|
||
|
optional SOCDMode modeOne = 5;
|
||
|
optional SOCDMode modeTwo = 6;
|
||
|
}
|
||
|
|
||
|
message ReverseOptions
|
||
|
{
|
||
|
optional bool enabled = 1;
|
||
|
|
||
|
optional int32 buttonPin = 2;
|
||
|
optional int32 ledPin = 3;
|
||
|
|
||
|
optional uint32 actionUp = 4;
|
||
|
optional uint32 actionDown = 5;
|
||
|
optional uint32 actionLeft = 6;
|
||
|
optional uint32 actionRight = 7;
|
||
|
}
|
||
|
|
||
|
message AnalogADS1219Options
|
||
|
{
|
||
|
optional bool enabled = 1;
|
||
|
|
||
|
optional int32 i2cBlock = 2;
|
||
|
optional int32 i2cSDAPin = 3;
|
||
|
optional int32 i2cSCLPin = 4;
|
||
|
optional int32 i2cAddress = 5;
|
||
|
optional int32 i2cSpeed = 6;
|
||
|
}
|
||
|
|
||
|
message DualDirectionalOptions
|
||
|
{
|
||
|
optional bool enabled = 1;
|
||
|
|
||
|
optional int32 upPin = 2;
|
||
|
optional int32 downPin = 3;
|
||
|
optional int32 leftPin = 4;
|
||
|
optional int32 rightPin = 5;
|
||
|
|
||
|
optional DpadMode dpadMode = 6;
|
||
|
optional uint32 combineMode = 7;
|
||
|
optional bool fourWayMode = 8;
|
||
|
}
|
||
|
|
||
|
message BuzzerOptions
|
||
|
{
|
||
|
optional bool enabled = 1;
|
||
|
|
||
|
optional int32 pin = 2;
|
||
|
optional uint32 volume = 3;
|
||
|
}
|
||
|
|
||
|
message ExtraButtonOptions
|
||
|
{
|
||
|
optional bool enabled = 1;
|
||
|
|
||
|
optional int32 pin = 2;
|
||
|
optional uint32 buttonMap = 3;
|
||
|
}
|
||
|
|
||
|
message PlayerNumberOptions
|
||
|
{
|
||
|
optional bool enabled = 1;
|
||
|
optional uint32 number = 2;
|
||
|
}
|
||
|
|
||
|
message PS4Options
|
||
|
{
|
||
|
optional bool enabled = 1;
|
||
|
optional bytes serial = 2 [(nanopb).max_size = 16];
|
||
|
optional bytes signature = 3 [(nanopb).max_size = 256];
|
||
|
optional bytes rsaN = 4 [(nanopb).max_size = 256];
|
||
|
optional bytes rsaE = 5 [(nanopb).max_size = 4];
|
||
|
optional bytes rsaD = 6 [(nanopb).max_size = 256];
|
||
|
optional bytes rsaP = 7 [(nanopb).max_size = 128];
|
||
|
optional bytes rsaQ = 8 [(nanopb).max_size = 128];
|
||
|
optional bytes rsaDP = 9 [(nanopb).max_size = 128];
|
||
|
optional bytes rsaDQ = 10 [(nanopb).max_size = 128];
|
||
|
optional bytes rsaQP = 11 [(nanopb).max_size = 128];
|
||
|
optional bytes rsaRN = 12 [(nanopb).max_size = 256];
|
||
|
}
|
||
|
|
||
|
message WiiOptions
|
||
|
{
|
||
|
optional bool enabled = 1;
|
||
|
optional int32 i2cBlock = 2;
|
||
|
optional int32 i2cSDAPin = 3;
|
||
|
optional int32 i2cSCLPin = 4;
|
||
|
optional int32 i2cSpeed = 5;
|
||
|
}
|
||
|
|
||
|
message SNESOptions
|
||
|
{
|
||
|
optional bool enabled = 1;
|
||
|
optional int32 clockPin = 2;
|
||
|
optional int32 latchPin = 3;
|
||
|
optional int32 dataPin = 4;
|
||
|
}
|
||
|
|
||
|
message FocusModeOptions
|
||
|
{
|
||
|
optional bool enabled = 1;
|
||
|
optional int32 pin = 2;
|
||
|
optional int32 buttonLockMask = 3;
|
||
|
optional bool oledLockEnabled = 4;
|
||
|
optional bool rgbLockEnabled = 5;
|
||
|
optional bool buttonLockEnabled = 6;
|
||
|
}
|
||
|
|
||
|
message AddonOptions
|
||
|
{
|
||
|
optional BootselButtonOptions bootselButtonOptions = 1;
|
||
|
optional OnBoardLedOptions onBoardLedOptions = 2;
|
||
|
optional AnalogOptions analogOptions = 3;
|
||
|
optional TurboOptions turboOptions = 4;
|
||
|
optional SliderOptions sliderOptions = 5;
|
||
|
optional ReverseOptions reverseOptions = 6;
|
||
|
optional AnalogADS1219Options analogADS1219Options = 7;
|
||
|
optional DualDirectionalOptions dualDirectionalOptions = 8;
|
||
|
optional BuzzerOptions buzzerOptions = 9;
|
||
|
optional ExtraButtonOptions extraButtonOptions = 10;
|
||
|
optional PlayerNumberOptions playerNumberOptions = 11;
|
||
|
optional PS4Options ps4Options = 12 [(nanopb).disallow_export = true];
|
||
|
optional WiiOptions wiiOptions = 13;
|
||
|
optional SOCDSliderOptions socdSliderOptions = 14;
|
||
|
optional SNESOptions snesOptions = 15;
|
||
|
optional FocusModeOptions focusModeOptions = 16;
|
||
|
}
|
||
|
|
||
|
message Config
|
||
|
{
|
||
|
optional string boardVersion = 1 [(nanopb).max_length = 31];
|
||
|
|
||
|
optional GamepadOptions gamepadOptions = 2;
|
||
|
optional HotkeyOptions hotkeyOptions = 3;
|
||
|
optional PinMappings pinMappings = 4;
|
||
|
optional KeyboardMapping keyboardMapping = 5;
|
||
|
optional DisplayOptions displayOptions = 6;
|
||
|
optional LEDOptions ledOptions = 7;
|
||
|
optional AnimationOptions_Proto animationOptions = 8;
|
||
|
optional AddonOptions addonOptions = 9;
|
||
|
optional ForcedSetupOptions forcedSetupOptions = 10;
|
||
|
}
|