Compare commits
5 Commits
dace99b9e0
...
783a0f08dd
Author | SHA1 | Date | |
---|---|---|---|
783a0f08dd | |||
f058727f34 | |||
d4c4bbde96 | |||
18f4f45bb5 | |||
733b49676c |
@ -19,7 +19,7 @@ Copyright: © 2023 Brian S. Stephan <bss@incorporeal.org>
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
# Test data (GP2040-CE-derived)
|
||||
Files: tests/test-files/pb2-files/* tests/test-files/proto-files/*
|
||||
Files: tests/test-files/proto-files/*
|
||||
Copyright: (c) 2024 OpenStickCommunity (gp2040-ce.info)
|
||||
License: MIT
|
||||
|
||||
|
@ -13,9 +13,9 @@ over USB.
|
||||
|
||||
All tools take `-P PATH` flag(s) in order to import Protobuf files (either precompiled Python files or raw .proto files)
|
||||
if you have them locally, in order to work with the latest (or development) version of the configuration. That said,
|
||||
this tool also includes a precompiled fallback version of the config structure if you cannot supply these files. Be
|
||||
aware, however, that they are a point in time snapshot, and may lag the real format in undesirable ways. Supply the
|
||||
latest Protobuf files if you can.
|
||||
this tool also includes a copy of the config files if you cannot supply these files, and will attempt to compile those
|
||||
as a fallback. Be aware, however, that they are a point in time snapshot, and may lag the real format in undesirable
|
||||
ways. Supply the latest Protobuf files if you can.
|
||||
|
||||
An example of this invocation is:
|
||||
|
||||
|
@ -64,6 +64,7 @@ def get_config_pb2():
|
||||
return grpc.protos('config.proto')
|
||||
except (ModuleNotFoundError, TypeError):
|
||||
# (TypeError could be the windows bug https://github.com/protocolbuffers/protobuf/issues/14345)
|
||||
# that failed, import a precompiled snapshot (may be lagging what's in GP2040-CE)
|
||||
# that failed, import the snapshot (may be lagging what's in GP2040-CE)
|
||||
logger.warning("using the fallback .proto files! please supply your files with -P if you can!")
|
||||
sys.path.append(os.path.join(pathlib.Path(__file__).parent.resolve(), 'proto_snapshot'))
|
||||
return importlib.import_module('config_pb2')
|
||||
return grpc.protos('config.proto')
|
||||
|
@ -338,7 +338,11 @@ def dump_gp2040ce():
|
||||
args, _ = parser.parse_known_args()
|
||||
content, _, _ = get_gp2040ce_from_usb()
|
||||
with open(args.binary_filename, 'wb') as out_file:
|
||||
out_file.write(content)
|
||||
if args.binary_filename[-4:] == '.uf2':
|
||||
# we must pad to storage start in order for the UF2 write addresses to make sense
|
||||
out_file.write(storage.convert_binary_to_uf2([(0, content)]))
|
||||
else:
|
||||
out_file.write(content)
|
||||
|
||||
|
||||
def summarize_gp2040ce():
|
||||
|
@ -1,9 +0,0 @@
|
||||
"""COPIED OUTPUT OF `protoc foo.proto --python_out .`.
|
||||
|
||||
The .proto files here have been copied from https://github.com/OpenStickCommunity/GP2040-CE and
|
||||
are a point in time import of the GP2040-CE firmware's configuration structure. THEY MAY BE OUT
|
||||
OF DATE. If you are a developer, you should really use the `-P` flags to import your local copy
|
||||
of the .proto files.
|
||||
"""
|
||||
|
||||
GP2040CE_SNAPSHOT_VERSION = 'v0.7.7'
|
@ -28,6 +28,7 @@ message GamepadOptions
|
||||
optional InputModeAuthType ps4AuthType = 21;
|
||||
optional InputModeAuthType ps5AuthType = 22;
|
||||
optional InputModeAuthType xinputAuthType = 23;
|
||||
optional PS4ControllerIDMode ps4ControllerIDMode = 24;
|
||||
}
|
||||
|
||||
message KeyboardMapping
|
||||
@ -50,6 +51,21 @@ message KeyboardMapping
|
||||
optional uint32 keyButtonR3 = 16;
|
||||
optional uint32 keyButtonA1 = 17;
|
||||
optional uint32 keyButtonA2 = 18;
|
||||
optional uint32 keyButtonA3 = 19;
|
||||
optional uint32 keyButtonA4 = 20;
|
||||
optional uint32 keyButtonE1 = 21;
|
||||
optional uint32 keyButtonE2 = 22;
|
||||
optional uint32 keyButtonE3 = 23;
|
||||
optional uint32 keyButtonE4 = 24;
|
||||
optional uint32 keyButtonE5 = 25;
|
||||
optional uint32 keyButtonE6 = 26;
|
||||
optional uint32 keyButtonE7 = 27;
|
||||
optional uint32 keyButtonE8 = 28;
|
||||
optional uint32 keyButtonE9 = 29;
|
||||
optional uint32 keyButtonE10 = 30;
|
||||
optional uint32 keyButtonE11 = 31;
|
||||
optional uint32 keyButtonE12 = 32;
|
||||
|
||||
}
|
||||
|
||||
message HotkeyEntry
|
||||
@ -169,11 +185,15 @@ message GpioMappingInfo
|
||||
{
|
||||
optional GpioAction action = 1;
|
||||
optional GpioDirection direction = 2;
|
||||
optional uint32 customDpadMask = 3;
|
||||
optional uint32 customButtonMask = 4;
|
||||
}
|
||||
|
||||
message GpioMappings
|
||||
{
|
||||
repeated GpioMappingInfo pins = 1 [(nanopb).max_count = 30];
|
||||
optional string profileLabel = 2 [(nanopb).max_length = 16];
|
||||
optional bool enabled = 3 [default = false];
|
||||
}
|
||||
|
||||
|
||||
@ -204,25 +224,25 @@ message DisplayOptions
|
||||
{
|
||||
optional bool enabled = 1;
|
||||
|
||||
optional int32 i2cBlock = 2;
|
||||
optional int32 deprecatedI2cBlock = 2 [deprecated = true];
|
||||
optional int32 deprecatedI2cSDAPin = 3 [deprecated = true];
|
||||
optional int32 deprecatedI2cSCLPin = 4 [deprecated = true];
|
||||
optional int32 i2cAddress = 5;
|
||||
optional int32 deprecatedI2cAddress = 5 [deprecated = true];
|
||||
optional int32 deprecatedI2cSpeed = 6 [deprecated = true];
|
||||
|
||||
|
||||
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;
|
||||
optional bool turnOffWhenSuspended = 18;
|
||||
}
|
||||
@ -235,7 +255,7 @@ message LEDOptions
|
||||
optional uint32 ledsPerButton = 4;
|
||||
optional uint32 brightnessMaximum = 5;
|
||||
optional uint32 brightnessSteps = 6;
|
||||
|
||||
|
||||
optional int32 indexUp = 7;
|
||||
optional int32 indexDown = 8;
|
||||
optional int32 indexLeft = 9;
|
||||
@ -254,7 +274,7 @@ message LEDOptions
|
||||
optional int32 indexR3 = 22;
|
||||
optional int32 indexA1 = 23;
|
||||
optional int32 indexA2 = 24;
|
||||
|
||||
|
||||
optional PLEDType pledType = 25;
|
||||
optional int32 pledPin1 = 26;
|
||||
optional int32 pledPin2 = 27;
|
||||
@ -280,7 +300,7 @@ message AnimationOptions_Proto
|
||||
optional int32 chaseCycleTime = 5;
|
||||
optional int32 rainbowCycleTime = 6;
|
||||
optional uint32 themeIndex = 7;
|
||||
|
||||
|
||||
optional bool hasCustomTheme = 8;
|
||||
optional uint32 customThemeUp = 9;
|
||||
optional uint32 customThemeDown = 10;
|
||||
@ -318,7 +338,7 @@ message AnimationOptions_Proto
|
||||
optional uint32 customThemeR3Pressed = 42;
|
||||
optional uint32 customThemeA1Pressed = 43;
|
||||
optional uint32 customThemeA2Pressed = 44;
|
||||
optional uint32 buttonPressColorCooldownTimeInMs = 45;
|
||||
optional uint32 buttonPressColorCooldownTimeInMs = 45;
|
||||
}
|
||||
|
||||
message BootselButtonOptions
|
||||
@ -336,7 +356,7 @@ message OnBoardLedOptions
|
||||
message AnalogOptions
|
||||
{
|
||||
optional bool enabled = 1;
|
||||
|
||||
|
||||
optional int32 analogAdc1PinX = 2;
|
||||
optional int32 analogAdc1PinY = 3;
|
||||
optional bool forced_circularity = 4;
|
||||
@ -349,17 +369,20 @@ message AnalogOptions
|
||||
optional InvertMode analogAdc2Invert = 11;
|
||||
optional bool auto_calibrate = 12;
|
||||
optional uint32 outer_deadzone = 13;
|
||||
optional bool analog_smoothing = 14;
|
||||
optional float smoothing_factor = 15;
|
||||
optional uint32 analog_error = 16;
|
||||
}
|
||||
|
||||
message TurboOptions
|
||||
{
|
||||
optional bool enabled = 1;
|
||||
|
||||
|
||||
optional int32 deprecatedButtonPin = 2 [deprecated = true];
|
||||
optional int32 ledPin = 3;
|
||||
optional uint32 shotCount = 4;
|
||||
optional int32 shmupDialPin = 5;
|
||||
|
||||
|
||||
optional bool shmupModeEnabled = 6;
|
||||
optional uint32 shmupAlwaysOn1 = 7;
|
||||
optional uint32 shmupAlwaysOn2 = 8;
|
||||
@ -379,21 +402,21 @@ message TurboOptions
|
||||
message SliderOptions
|
||||
{
|
||||
optional bool enabled = 1;
|
||||
|
||||
|
||||
optional int32 deprecatedPinSliderOne = 2 [deprecated = true];
|
||||
optional int32 deprecatedPinSliderTwo = 3 [deprecated = true];
|
||||
optional DpadMode deprecatedModeOne = 4 [deprecated = true];
|
||||
optional DpadMode deprecatedModeTwo = 5 [deprecated = true];
|
||||
optional DpadMode modeDefault = 6;
|
||||
optional DpadMode deprecatedModeDefault = 6;
|
||||
}
|
||||
|
||||
message SOCDSliderOptions
|
||||
{
|
||||
optional bool enabled = 1;
|
||||
|
||||
|
||||
optional int32 deprecatedPinOne = 2 [deprecated = true];
|
||||
optional int32 deprecatedPinTwo = 3 [deprecated = true];
|
||||
|
||||
|
||||
optional SOCDMode modeDefault = 4;
|
||||
optional SOCDMode deprecatedModeOne = 5 [deprecated = true];
|
||||
optional SOCDMode deprecatedModeTwo = 6 [deprecated = true];
|
||||
@ -402,10 +425,10 @@ message SOCDSliderOptions
|
||||
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;
|
||||
@ -416,10 +439,10 @@ message AnalogADS1219Options
|
||||
{
|
||||
optional bool enabled = 1;
|
||||
|
||||
optional int32 i2cBlock = 2;
|
||||
optional int32 deprecatedI2cBlock = 2 [deprecated = true];
|
||||
optional int32 deprecatedI2cSDAPin = 3 [deprecated = true];
|
||||
optional int32 deprecatedI2cSCLPin = 4 [deprecated = true];
|
||||
optional int32 i2cAddress = 5;
|
||||
optional int32 deprecatedI2cAddress = 5 [deprecated = true];
|
||||
optional int32 deprecatedI2cSpeed = 6 [deprecated = true];
|
||||
}
|
||||
|
||||
@ -437,12 +460,12 @@ message AnalogADS1256Options
|
||||
message DualDirectionalOptions
|
||||
{
|
||||
optional bool enabled = 1;
|
||||
|
||||
|
||||
optional int32 deprecatedUpPin = 2 [deprecated = true];
|
||||
optional int32 deprecatedDownPin = 3 [deprecated = true];
|
||||
optional int32 deprecatedLeftPin = 4 [deprecated = true];
|
||||
optional int32 deprecatedRightPin = 5 [deprecated = true];
|
||||
|
||||
|
||||
optional DpadMode dpadMode = 6;
|
||||
optional DualDirectionalCombinationMode combineMode = 7;
|
||||
optional bool fourWayMode = 8;
|
||||
@ -465,7 +488,7 @@ message TiltOptions
|
||||
optional int32 tiltRightAnalogRightPin = 12;
|
||||
|
||||
optional SOCDMode tiltSOCDMode = 13;
|
||||
|
||||
|
||||
optional int32 factorTilt1LeftX = 14;
|
||||
optional int32 factorTilt1LeftY = 15;
|
||||
optional int32 factorTilt1RightX = 16;
|
||||
@ -479,7 +502,7 @@ message TiltOptions
|
||||
message BuzzerOptions
|
||||
{
|
||||
optional bool enabled = 1;
|
||||
|
||||
|
||||
optional int32 pin = 2;
|
||||
optional uint32 volume = 3;
|
||||
optional int32 enablePin = 4;
|
||||
@ -488,7 +511,7 @@ message BuzzerOptions
|
||||
message ExtraButtonOptions
|
||||
{
|
||||
optional bool enabled = 1;
|
||||
|
||||
|
||||
optional int32 pin = 2;
|
||||
optional uint32 buttonMap = 3;
|
||||
}
|
||||
@ -541,7 +564,7 @@ message WiiOptions
|
||||
optional AnalogAxis x = 1;
|
||||
optional AnalogAxis y = 2;
|
||||
}
|
||||
|
||||
|
||||
message NunchukOptions
|
||||
{
|
||||
optional int32 buttonC = 1;
|
||||
@ -572,7 +595,7 @@ message WiiOptions
|
||||
optional AnalogAxis rightTrigger = 19;
|
||||
}
|
||||
|
||||
message TaikoOptions
|
||||
message TaikoOptions
|
||||
{
|
||||
optional int32 buttonKatLeft = 1;
|
||||
optional int32 buttonKatRight = 2;
|
||||
@ -638,7 +661,7 @@ message WiiOptions
|
||||
}
|
||||
|
||||
optional bool enabled = 1;
|
||||
optional int32 i2cBlock = 2;
|
||||
optional int32 deprecatedI2cBlock = 2 [deprecated = true];
|
||||
optional int32 deprecatedI2cSDAPin = 3 [deprecated = true];
|
||||
optional int32 deprecatedI2cSCLPin = 4 [deprecated = true];
|
||||
optional int32 deprecatedI2cSpeed = 5 [deprecated = true];
|
||||
@ -660,6 +683,9 @@ message KeyboardHostOptions
|
||||
optional int32 deprecatedPinDplus = 2 [deprecated = true];
|
||||
optional KeyboardMapping mapping = 3;
|
||||
optional int32 deprecatedPin5V = 4 [deprecated = true];
|
||||
optional uint32 mouseLeft = 5;
|
||||
optional uint32 mouseMiddle = 6;
|
||||
optional uint32 mouseRight = 7;
|
||||
}
|
||||
|
||||
message FocusModeOptions
|
||||
@ -732,17 +758,43 @@ message RotaryOptions
|
||||
message PCF8575Options
|
||||
{
|
||||
optional bool enabled = 1;
|
||||
optional int32 i2cBlock = 2;
|
||||
optional int32 deprecatedI2cBlock = 2 [deprecated = true];
|
||||
repeated GpioMappingInfo pins = 3 [(nanopb).max_count = 16];
|
||||
}
|
||||
|
||||
message DRV8833RumbleOptions
|
||||
{
|
||||
optional bool enabled = 1;
|
||||
|
||||
optional int32 leftMotorPin = 2;
|
||||
optional int32 rightMotorPin = 3;
|
||||
optional int32 motorSleepPin = 4;
|
||||
optional uint32 pwmFrequency = 5;
|
||||
optional float dutyMin = 6;
|
||||
optional float dutyMax = 7;
|
||||
}
|
||||
|
||||
message ReactiveLEDInfo
|
||||
{
|
||||
optional int32 pin = 1;
|
||||
optional GpioAction action = 2;
|
||||
optional ReactiveLEDMode modeDown = 3;
|
||||
optional ReactiveLEDMode modeUp = 4;
|
||||
}
|
||||
|
||||
message ReactiveLEDOptions
|
||||
{
|
||||
optional bool enabled = 1;
|
||||
repeated ReactiveLEDInfo leds = 2 [(nanopb).max_count = 10];
|
||||
}
|
||||
|
||||
message AddonOptions
|
||||
{
|
||||
optional BootselButtonOptions bootselButtonOptions = 1;
|
||||
optional OnBoardLedOptions onBoardLedOptions = 2;
|
||||
optional AnalogOptions analogOptions = 3;
|
||||
optional TurboOptions turboOptions = 4;
|
||||
optional SliderOptions sliderOptions = 5;
|
||||
optional SliderOptions deprecatedSliderOptions = 5;
|
||||
optional ReverseOptions reverseOptions = 6;
|
||||
optional AnalogADS1219Options analogADS1219Options = 7;
|
||||
optional DualDirectionalOptions dualDirectionalOptions = 8;
|
||||
@ -763,6 +815,8 @@ message AddonOptions
|
||||
optional AnalogADS1256Options analogADS1256Options = 23;
|
||||
optional RotaryOptions rotaryOptions = 24;
|
||||
optional PCF8575Options pcf8575Options = 25;
|
||||
optional DRV8833RumbleOptions drv8833RumbleOptions = 26;
|
||||
optional ReactiveLEDOptions reactiveLEDOptions = 27;
|
||||
}
|
||||
|
||||
message MigrationHistory
|
||||
@ -770,12 +824,13 @@ message MigrationHistory
|
||||
optional bool hotkeysMigrated = 1 [default = false];
|
||||
optional bool gpioMappingsMigrated = 2 [default = false];
|
||||
optional bool buttonProfilesMigrated = 3 [default = false];
|
||||
optional bool profileEnabledFlagsMigrated = 4 [default = false];
|
||||
}
|
||||
|
||||
message Config
|
||||
{
|
||||
optional string boardVersion = 1 [(nanopb).max_length = 31];
|
||||
|
||||
|
||||
optional GamepadOptions gamepadOptions = 2;
|
||||
optional HotkeyOptions hotkeyOptions = 3;
|
||||
optional PinMappings deprecatedPinMappings = 4 [deprecated = true];
|
||||
@ -786,7 +841,7 @@ message Config
|
||||
optional AddonOptions addonOptions = 9;
|
||||
optional ForcedSetupOptions forcedSetupOptions = 10;
|
||||
optional ProfileOptions profileOptions = 11;
|
||||
|
||||
|
||||
optional string boardConfig = 12 [(nanopb).max_length = 63];
|
||||
optional GpioMappings gpioMappings = 13;
|
||||
optional MigrationHistory migrations = 14;
|
||||
|
File diff suppressed because one or more lines are too long
@ -39,6 +39,7 @@ enum ButtonLayout
|
||||
BUTTON_LAYOUT_6GAWD_A = 30;
|
||||
BUTTON_LAYOUT_6GAWD_ALLBUTTON_A = 31;
|
||||
BUTTON_LAYOUT_6GAWD_ALLBUTTONPLUS_A = 32;
|
||||
BUTTON_LAYOUT_STICKLESS_R16 = 33;
|
||||
}
|
||||
|
||||
enum ButtonLayoutRight
|
||||
@ -82,6 +83,7 @@ enum ButtonLayoutRight
|
||||
BUTTON_LAYOUT_6GAWD_B = 34;
|
||||
BUTTON_LAYOUT_6GAWD_ALLBUTTON_B = 35;
|
||||
BUTTON_LAYOUT_6GAWD_ALLBUTTONPLUS_B = 36;
|
||||
BUTTON_LAYOUT_STICKLESS_R16B = 37;
|
||||
}
|
||||
|
||||
enum SplashMode
|
||||
@ -109,7 +111,7 @@ enum SplashChoice
|
||||
enum OnBoardLedMode
|
||||
{
|
||||
option (nanopb_enumopt).long_names = false;
|
||||
|
||||
|
||||
ON_BOARD_LED_MODE_OFF = 0;
|
||||
ON_BOARD_LED_MODE_MODE_INDICATOR = 1;
|
||||
ON_BOARD_LED_MODE_INPUT_TEST = 2;
|
||||
@ -122,7 +124,7 @@ enum InputMode
|
||||
|
||||
INPUT_MODE_XINPUT = 0;
|
||||
INPUT_MODE_SWITCH = 1;
|
||||
INPUT_MODE_HID = 2;
|
||||
INPUT_MODE_PS3 = 2;
|
||||
INPUT_MODE_KEYBOARD = 3;
|
||||
INPUT_MODE_PS4 = 4;
|
||||
INPUT_MODE_XBONE = 5;
|
||||
@ -134,6 +136,7 @@ enum InputMode
|
||||
INPUT_MODE_PSCLASSIC = 11;
|
||||
INPUT_MODE_XBOXORIGINAL = 12;
|
||||
INPUT_MODE_PS5 = 13;
|
||||
INPUT_MODE_GENERIC = 14;
|
||||
INPUT_MODE_CONFIG = 255;
|
||||
}
|
||||
|
||||
@ -225,6 +228,21 @@ enum GpioAction
|
||||
BUTTON_PRESS_MACRO_4 = 37;
|
||||
BUTTON_PRESS_MACRO_5 = 38;
|
||||
BUTTON_PRESS_MACRO_6 = 39;
|
||||
CUSTOM_BUTTON_COMBO = 40;
|
||||
BUTTON_PRESS_A3 = 41;
|
||||
BUTTON_PRESS_A4 = 42;
|
||||
BUTTON_PRESS_E1 = 43;
|
||||
BUTTON_PRESS_E2 = 44;
|
||||
BUTTON_PRESS_E3 = 45;
|
||||
BUTTON_PRESS_E4 = 46;
|
||||
BUTTON_PRESS_E5 = 47;
|
||||
BUTTON_PRESS_E6 = 48;
|
||||
BUTTON_PRESS_E7 = 49;
|
||||
BUTTON_PRESS_E8 = 50;
|
||||
BUTTON_PRESS_E9 = 51;
|
||||
BUTTON_PRESS_E10 = 52;
|
||||
BUTTON_PRESS_E11 = 53;
|
||||
BUTTON_PRESS_E12 = 54;
|
||||
}
|
||||
|
||||
enum GpioDirection
|
||||
@ -275,6 +293,13 @@ enum GamepadHotkey
|
||||
HOTKEY_A1_BUTTON = 33;
|
||||
HOTKEY_A2_BUTTON = 34;
|
||||
HOTKEY_NEXT_PROFILE = 35;
|
||||
HOTKEY_A3_BUTTON = 36;
|
||||
HOTKEY_A4_BUTTON = 37;
|
||||
HOTKEY_DPAD_UP = 38;
|
||||
HOTKEY_DPAD_DOWN = 39;
|
||||
HOTKEY_DPAD_LEFT = 40;
|
||||
HOTKEY_DPAD_RIGHT = 41;
|
||||
HOTKEY_PREVIOUS_PROFILE = 42;
|
||||
}
|
||||
|
||||
// This has to be kept in sync with LEDFormat in NeoPico.hpp
|
||||
@ -297,7 +322,7 @@ enum ShmupMixMode
|
||||
enum PLEDType
|
||||
{
|
||||
option (nanopb_enumopt).long_names = false;
|
||||
|
||||
|
||||
PLED_TYPE_NONE = -1;
|
||||
PLED_TYPE_PWM = 0;
|
||||
PLED_TYPE_RGB = 1;
|
||||
@ -306,7 +331,7 @@ enum PLEDType
|
||||
enum ForcedSetupMode
|
||||
{
|
||||
option (nanopb_enumopt).long_names = false;
|
||||
|
||||
|
||||
FORCED_SETUP_MODE_OFF = 0;
|
||||
FORCED_SETUP_MODE_LOCK_MODE_SWITCH = 1;
|
||||
FORCED_SETUP_MODE_LOCK_WEB_CONFIG = 2;
|
||||
@ -326,7 +351,7 @@ enum DualDirectionalCombinationMode
|
||||
enum PS4ControllerType
|
||||
{
|
||||
option (nanopb_enumopt).long_names = false;
|
||||
|
||||
|
||||
PS4_CONTROLLER = 0;
|
||||
PS4_ARCADESTICK = 7;
|
||||
}
|
||||
@ -358,7 +383,7 @@ enum GPElement
|
||||
enum GPShape_Type
|
||||
{
|
||||
option (nanopb_enumopt).long_names = false;
|
||||
|
||||
|
||||
GP_SHAPE_ELLIPSE = 0;
|
||||
GP_SHAPE_SQUARE = 1;
|
||||
GP_SHAPE_LINE = 2;
|
||||
@ -380,3 +405,21 @@ enum RotaryEncoderPinMode
|
||||
ENCODER_MODE_DPAD_X = 7;
|
||||
ENCODER_MODE_DPAD_Y = 8;
|
||||
};
|
||||
|
||||
enum ReactiveLEDMode
|
||||
{
|
||||
option (nanopb_enumopt).long_names = false;
|
||||
|
||||
REACTIVE_LED_STATIC_OFF = 0;
|
||||
REACTIVE_LED_STATIC_ON = 1;
|
||||
REACTIVE_LED_FADE_IN = 2;
|
||||
REACTIVE_LED_FADE_OUT = 3;
|
||||
};
|
||||
|
||||
enum PS4ControllerIDMode
|
||||
{
|
||||
option (nanopb_enumopt).long_names = false;
|
||||
|
||||
PS4_ID_CONSOLE = 0;
|
||||
PS4_ID_EMULATION = 1;
|
||||
};
|
||||
|
File diff suppressed because one or more lines are too long
@ -1,39 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
# source: nanopb.proto
|
||||
"""Generated protocol buffer code."""
|
||||
from google.protobuf.internal import builder as _builder
|
||||
from google.protobuf import descriptor as _descriptor
|
||||
from google.protobuf import descriptor_pool as _descriptor_pool
|
||||
from google.protobuf import symbol_database as _symbol_database
|
||||
# @@protoc_insertion_point(imports)
|
||||
|
||||
_sym_db = _symbol_database.Default()
|
||||
|
||||
|
||||
from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2
|
||||
|
||||
|
||||
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0cnanopb.proto\x1a google/protobuf/descriptor.proto\"\xc4\x07\n\rNanoPBOptions\x12\x10\n\x08max_size\x18\x01 \x01(\x05\x12\x12\n\nmax_length\x18\x0e \x01(\x05\x12\x11\n\tmax_count\x18\x02 \x01(\x05\x12&\n\x08int_size\x18\x07 \x01(\x0e\x32\x08.IntSize:\nIS_DEFAULT\x12$\n\x04type\x18\x03 \x01(\x0e\x32\n.FieldType:\nFT_DEFAULT\x12\x18\n\nlong_names\x18\x04 \x01(\x08:\x04true\x12\x1c\n\rpacked_struct\x18\x05 \x01(\x08:\x05\x66\x61lse\x12\x1a\n\x0bpacked_enum\x18\n \x01(\x08:\x05\x66\x61lse\x12\x1b\n\x0cskip_message\x18\x06 \x01(\x08:\x05\x66\x61lse\x12\x18\n\tno_unions\x18\x08 \x01(\x08:\x05\x66\x61lse\x12\r\n\x05msgid\x18\t \x01(\r\x12\x1e\n\x0f\x61nonymous_oneof\x18\x0b \x01(\x08:\x05\x66\x61lse\x12\x15\n\x06proto3\x18\x0c \x01(\x08:\x05\x66\x61lse\x12#\n\x14proto3_singular_msgs\x18\x15 \x01(\x08:\x05\x66\x61lse\x12\x1d\n\x0e\x65num_to_string\x18\r \x01(\x08:\x05\x66\x61lse\x12\x1b\n\x0c\x66ixed_length\x18\x0f \x01(\x08:\x05\x66\x61lse\x12\x1a\n\x0b\x66ixed_count\x18\x10 \x01(\x08:\x05\x66\x61lse\x12\x1e\n\x0fsubmsg_callback\x18\x16 \x01(\x08:\x05\x66\x61lse\x12/\n\x0cmangle_names\x18\x11 \x01(\x0e\x32\x11.TypenameMangling:\x06M_NONE\x12(\n\x11\x63\x61llback_datatype\x18\x12 \x01(\t:\rpb_callback_t\x12\x34\n\x11\x63\x61llback_function\x18\x13 \x01(\t:\x19pb_default_field_callback\x12\x30\n\x0e\x64\x65scriptorsize\x18\x14 \x01(\x0e\x32\x0f.DescriptorSize:\x07\x44S_AUTO\x12\x1a\n\x0b\x64\x65\x66\x61ult_has\x18\x17 \x01(\x08:\x05\x66\x61lse\x12\x0f\n\x07include\x18\x18 \x03(\t\x12\x0f\n\x07\x65xclude\x18\x1a \x03(\t\x12\x0f\n\x07package\x18\x19 \x01(\t\x12\x41\n\rtype_override\x18\x1b \x01(\x0e\x32*.google.protobuf.FieldDescriptorProto.Type\x12\x19\n\x0bsort_by_tag\x18\x1c \x01(\x08:\x04true\x12.\n\rfallback_type\x18\x1d \x01(\x0e\x32\n.FieldType:\x0b\x46T_CALLBACK\x12\x1e\n\x0f\x64isallow_export\x18\x1e \x01(\x08:\x05\x66\x61lse*i\n\tFieldType\x12\x0e\n\nFT_DEFAULT\x10\x00\x12\x0f\n\x0b\x46T_CALLBACK\x10\x01\x12\x0e\n\nFT_POINTER\x10\x04\x12\r\n\tFT_STATIC\x10\x02\x12\r\n\tFT_IGNORE\x10\x03\x12\r\n\tFT_INLINE\x10\x05*D\n\x07IntSize\x12\x0e\n\nIS_DEFAULT\x10\x00\x12\x08\n\x04IS_8\x10\x08\x12\t\n\x05IS_16\x10\x10\x12\t\n\x05IS_32\x10 \x12\t\n\x05IS_64\x10@*Z\n\x10TypenameMangling\x12\n\n\x06M_NONE\x10\x00\x12\x13\n\x0fM_STRIP_PACKAGE\x10\x01\x12\r\n\tM_FLATTEN\x10\x02\x12\x16\n\x12M_PACKAGE_INITIALS\x10\x03*E\n\x0e\x44\x65scriptorSize\x12\x0b\n\x07\x44S_AUTO\x10\x00\x12\x08\n\x04\x44S_1\x10\x01\x12\x08\n\x04\x44S_2\x10\x02\x12\x08\n\x04\x44S_4\x10\x04\x12\x08\n\x04\x44S_8\x10\x08:E\n\x0enanopb_fileopt\x12\x1c.google.protobuf.FileOptions\x18\xf2\x07 \x01(\x0b\x32\x0e.NanoPBOptions:G\n\rnanopb_msgopt\x12\x1f.google.protobuf.MessageOptions\x18\xf2\x07 \x01(\x0b\x32\x0e.NanoPBOptions:E\n\x0enanopb_enumopt\x12\x1c.google.protobuf.EnumOptions\x18\xf2\x07 \x01(\x0b\x32\x0e.NanoPBOptions:>\n\x06nanopb\x12\x1d.google.protobuf.FieldOptions\x18\xf2\x07 \x01(\x0b\x32\x0e.NanoPBOptionsB\x1a\n\x18\x66i.kapsi.koti.jpa.nanopb')
|
||||
|
||||
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
|
||||
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'nanopb_pb2', globals())
|
||||
if _descriptor._USE_C_DESCRIPTORS == False:
|
||||
google_dot_protobuf_dot_descriptor__pb2.FileOptions.RegisterExtension(nanopb_fileopt)
|
||||
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(nanopb_msgopt)
|
||||
google_dot_protobuf_dot_descriptor__pb2.EnumOptions.RegisterExtension(nanopb_enumopt)
|
||||
google_dot_protobuf_dot_descriptor__pb2.FieldOptions.RegisterExtension(nanopb)
|
||||
|
||||
DESCRIPTOR._options = None
|
||||
DESCRIPTOR._serialized_options = b'\n\030fi.kapsi.koti.jpa.nanopb'
|
||||
_FIELDTYPE._serialized_start=1017
|
||||
_FIELDTYPE._serialized_end=1122
|
||||
_INTSIZE._serialized_start=1124
|
||||
_INTSIZE._serialized_end=1192
|
||||
_TYPENAMEMANGLING._serialized_start=1194
|
||||
_TYPENAMEMANGLING._serialized_end=1284
|
||||
_DESCRIPTORSIZE._serialized_start=1286
|
||||
_DESCRIPTORSIZE._serialized_end=1355
|
||||
_NANOPBOPTIONS._serialized_start=51
|
||||
_NANOPBOPTIONS._serialized_end=1015
|
||||
# @@protoc_insertion_point(module_scope)
|
@ -4,13 +4,22 @@
|
||||
#
|
||||
# pip-compile --extra=dev --output-file=requirements/requirements-dev.txt
|
||||
#
|
||||
aiohttp==3.9.5
|
||||
# via textual-dev
|
||||
aiohappyeyeballs==2.4.2
|
||||
# via aiohttp
|
||||
aiohttp==3.10.8
|
||||
# via
|
||||
# aiohttp-jinja2
|
||||
# textual-dev
|
||||
# textual-serve
|
||||
aiohttp-jinja2==1.6
|
||||
# via textual-serve
|
||||
aiosignal==1.3.1
|
||||
# via aiohttp
|
||||
attrs==23.2.0
|
||||
# via aiohttp
|
||||
bandit==1.7.8
|
||||
attrs==24.2.0
|
||||
# via
|
||||
# aiohttp
|
||||
# reuse
|
||||
bandit==1.7.10
|
||||
# via gp2040ce-binary-tools (pyproject.toml)
|
||||
binaryornot==0.4.4
|
||||
# via reuse
|
||||
@ -18,13 +27,13 @@ boolean-py==4.0
|
||||
# via
|
||||
# license-expression
|
||||
# reuse
|
||||
build==1.2.1
|
||||
build==1.2.2
|
||||
# via pip-tools
|
||||
cachetools==5.3.3
|
||||
cachetools==5.5.0
|
||||
# via tox
|
||||
certifi==2024.2.2
|
||||
certifi==2024.8.30
|
||||
# via requests
|
||||
cffi==1.16.0
|
||||
cffi==1.17.1
|
||||
# via cryptography
|
||||
chardet==5.2.0
|
||||
# via
|
||||
@ -39,9 +48,9 @@ click==8.1.7
|
||||
# textual-dev
|
||||
colorama==0.4.6
|
||||
# via tox
|
||||
coverage[toml]==7.5.1
|
||||
coverage[toml]==7.6.1
|
||||
# via pytest-cov
|
||||
cryptography==42.0.7
|
||||
cryptography==43.0.1
|
||||
# via secretstorage
|
||||
decorator==5.1.1
|
||||
# via gp2040ce-binary-tools (pyproject.toml)
|
||||
@ -49,11 +58,11 @@ distlib==0.3.8
|
||||
# via virtualenv
|
||||
docutils==0.21.2
|
||||
# via readme-renderer
|
||||
filelock==3.14.0
|
||||
filelock==3.16.1
|
||||
# via
|
||||
# tox
|
||||
# virtualenv
|
||||
flake8==7.0.0
|
||||
flake8==7.1.1
|
||||
# via
|
||||
# flake8-builtins
|
||||
# flake8-docstrings
|
||||
@ -74,7 +83,7 @@ flake8-fixme==1.1.1
|
||||
# via gp2040ce-binary-tools (pyproject.toml)
|
||||
flake8-isort==6.1.1
|
||||
# via gp2040ce-binary-tools (pyproject.toml)
|
||||
flake8-logging-format==0.9.0
|
||||
flake8-logging-format==2024.24.12
|
||||
# via gp2040ce-binary-tools (pyproject.toml)
|
||||
flake8-mutable==1.2.0
|
||||
# via gp2040ce-binary-tools (pyproject.toml)
|
||||
@ -84,15 +93,15 @@ frozenlist==1.4.1
|
||||
# via
|
||||
# aiohttp
|
||||
# aiosignal
|
||||
grpcio==1.64.0
|
||||
grpcio==1.66.2
|
||||
# via grpcio-tools
|
||||
grpcio-tools==1.64.0
|
||||
grpcio-tools==1.66.2
|
||||
# via gp2040ce-binary-tools (pyproject.toml)
|
||||
idna==3.7
|
||||
idna==3.10
|
||||
# via
|
||||
# requests
|
||||
# yarl
|
||||
importlib-metadata==7.1.0
|
||||
importlib-metadata==8.5.0
|
||||
# via twine
|
||||
iniconfig==2.0.0
|
||||
# via pytest
|
||||
@ -100,19 +109,22 @@ isort==5.13.2
|
||||
# via flake8-isort
|
||||
jaraco-classes==3.4.0
|
||||
# via keyring
|
||||
jaraco-context==5.3.0
|
||||
jaraco-context==6.0.1
|
||||
# via keyring
|
||||
jaraco-functools==4.0.1
|
||||
jaraco-functools==4.1.0
|
||||
# via keyring
|
||||
jeepney==0.8.0
|
||||
# via
|
||||
# keyring
|
||||
# secretstorage
|
||||
jinja2==3.1.4
|
||||
# via reuse
|
||||
keyring==25.2.1
|
||||
# via
|
||||
# aiohttp-jinja2
|
||||
# reuse
|
||||
# textual-serve
|
||||
keyring==25.4.1
|
||||
# via twine
|
||||
license-expression==30.3.0
|
||||
license-expression==30.3.1
|
||||
# via reuse
|
||||
linkify-it-py==2.0.3
|
||||
# via markdown-it-py
|
||||
@ -125,50 +137,51 @@ markupsafe==2.1.5
|
||||
# via jinja2
|
||||
mccabe==0.7.0
|
||||
# via flake8
|
||||
mdit-py-plugins==0.4.1
|
||||
mdit-py-plugins==0.4.2
|
||||
# via markdown-it-py
|
||||
mdurl==0.1.2
|
||||
# via markdown-it-py
|
||||
more-itertools==10.2.0
|
||||
more-itertools==10.5.0
|
||||
# via
|
||||
# jaraco-classes
|
||||
# jaraco-functools
|
||||
msgpack==1.0.8
|
||||
msgpack==1.1.0
|
||||
# via textual-dev
|
||||
multidict==6.0.5
|
||||
multidict==6.1.0
|
||||
# via
|
||||
# aiohttp
|
||||
# yarl
|
||||
mypy==1.10.0
|
||||
mypy==1.11.2
|
||||
# via gp2040ce-binary-tools (pyproject.toml)
|
||||
mypy-extensions==1.0.0
|
||||
# via mypy
|
||||
nh3==0.2.17
|
||||
nh3==0.2.18
|
||||
# via readme-renderer
|
||||
packaging==24.0
|
||||
packaging==24.1
|
||||
# via
|
||||
# build
|
||||
# pyproject-api
|
||||
# pytest
|
||||
# setuptools-scm
|
||||
# tox
|
||||
pbr==6.0.0
|
||||
pbr==6.1.0
|
||||
# via stevedore
|
||||
pip-tools==7.4.1
|
||||
# via gp2040ce-binary-tools (pyproject.toml)
|
||||
pkginfo==1.10.0
|
||||
# via twine
|
||||
platformdirs==4.2.2
|
||||
platformdirs==4.3.6
|
||||
# via
|
||||
# textual
|
||||
# tox
|
||||
# virtualenv
|
||||
pluggy==1.5.0
|
||||
# via
|
||||
# pytest
|
||||
# tox
|
||||
protobuf==5.26.1
|
||||
protobuf==5.28.2
|
||||
# via grpcio-tools
|
||||
pycodestyle==2.11.1
|
||||
pycodestyle==2.12.1
|
||||
# via flake8
|
||||
pycparser==2.22
|
||||
# via cffi
|
||||
@ -180,18 +193,18 @@ pygments==2.18.0
|
||||
# via
|
||||
# readme-renderer
|
||||
# rich
|
||||
pyproject-api==1.6.1
|
||||
pyproject-api==1.8.0
|
||||
# via tox
|
||||
pyproject-hooks==1.1.0
|
||||
pyproject-hooks==1.2.0
|
||||
# via
|
||||
# build
|
||||
# pip-tools
|
||||
pytest==8.2.1
|
||||
pytest==8.3.3
|
||||
# via
|
||||
# gp2040ce-binary-tools (pyproject.toml)
|
||||
# pytest-asyncio
|
||||
# pytest-cov
|
||||
pytest-asyncio==0.23.7
|
||||
pytest-asyncio==0.24.0
|
||||
# via gp2040ce-binary-tools (pyproject.toml)
|
||||
pytest-cov==5.0.0
|
||||
# via gp2040ce-binary-tools (pyproject.toml)
|
||||
@ -199,24 +212,25 @@ python-debian==0.1.49
|
||||
# via reuse
|
||||
pyusb==1.2.1
|
||||
# via gp2040ce-binary-tools (pyproject.toml)
|
||||
pyyaml==6.0.1
|
||||
pyyaml==6.0.2
|
||||
# via bandit
|
||||
readme-renderer==43.0
|
||||
readme-renderer==44.0
|
||||
# via twine
|
||||
requests==2.32.1
|
||||
requests==2.32.3
|
||||
# via
|
||||
# requests-toolbelt
|
||||
# twine
|
||||
requests-toolbelt==1.0.0
|
||||
# via twine
|
||||
reuse==3.0.2
|
||||
reuse==4.0.3
|
||||
# via gp2040ce-binary-tools (pyproject.toml)
|
||||
rfc3986==2.0.0
|
||||
# via twine
|
||||
rich==13.7.1
|
||||
rich==13.8.1
|
||||
# via
|
||||
# bandit
|
||||
# textual
|
||||
# textual-serve
|
||||
# twine
|
||||
secretstorage==3.3.3
|
||||
# via keyring
|
||||
@ -224,36 +238,41 @@ setuptools-scm==8.1.0
|
||||
# via gp2040ce-binary-tools (pyproject.toml)
|
||||
snowballstemmer==2.2.0
|
||||
# via pydocstyle
|
||||
stevedore==5.2.0
|
||||
stevedore==5.3.0
|
||||
# via bandit
|
||||
textual==0.62.0
|
||||
textual==0.81.0
|
||||
# via
|
||||
# gp2040ce-binary-tools (pyproject.toml)
|
||||
# textual-dev
|
||||
textual-dev==1.5.1
|
||||
# textual-serve
|
||||
textual-dev==1.6.1
|
||||
# via gp2040ce-binary-tools (pyproject.toml)
|
||||
tox==4.15.0
|
||||
textual-serve==1.1.1
|
||||
# via textual-dev
|
||||
tomlkit==0.13.2
|
||||
# via reuse
|
||||
tox==4.20.0
|
||||
# via gp2040ce-binary-tools (pyproject.toml)
|
||||
twine==5.1.0
|
||||
twine==5.1.1
|
||||
# via gp2040ce-binary-tools (pyproject.toml)
|
||||
typing-extensions==4.11.0
|
||||
typing-extensions==4.12.2
|
||||
# via
|
||||
# mypy
|
||||
# textual
|
||||
# textual-dev
|
||||
uc-micro-py==1.0.3
|
||||
# via linkify-it-py
|
||||
urllib3==2.2.1
|
||||
urllib3==2.2.3
|
||||
# via
|
||||
# requests
|
||||
# twine
|
||||
virtualenv==20.26.2
|
||||
virtualenv==20.26.6
|
||||
# via tox
|
||||
wheel==0.43.0
|
||||
wheel==0.44.0
|
||||
# via pip-tools
|
||||
yarl==1.9.4
|
||||
yarl==1.13.1
|
||||
# via aiohttp
|
||||
zipp==3.18.2
|
||||
zipp==3.20.2
|
||||
# via importlib-metadata
|
||||
|
||||
# The following packages are considered to be unsafe in a requirements file:
|
||||
|
@ -4,9 +4,9 @@
|
||||
#
|
||||
# pip-compile --output-file=requirements/requirements.txt
|
||||
#
|
||||
grpcio==1.64.0
|
||||
grpcio==1.66.2
|
||||
# via grpcio-tools
|
||||
grpcio-tools==1.64.0
|
||||
grpcio-tools==1.66.2
|
||||
# via gp2040ce-binary-tools (pyproject.toml)
|
||||
linkify-it-py==2.0.3
|
||||
# via markdown-it-py
|
||||
@ -15,21 +15,23 @@ markdown-it-py[linkify,plugins]==3.0.0
|
||||
# mdit-py-plugins
|
||||
# rich
|
||||
# textual
|
||||
mdit-py-plugins==0.4.1
|
||||
mdit-py-plugins==0.4.2
|
||||
# via markdown-it-py
|
||||
mdurl==0.1.2
|
||||
# via markdown-it-py
|
||||
protobuf==5.26.1
|
||||
platformdirs==4.3.6
|
||||
# via textual
|
||||
protobuf==5.28.2
|
||||
# via grpcio-tools
|
||||
pygments==2.18.0
|
||||
# via rich
|
||||
pyusb==1.2.1
|
||||
# via gp2040ce-binary-tools (pyproject.toml)
|
||||
rich==13.7.1
|
||||
rich==13.8.1
|
||||
# via textual
|
||||
textual==0.62.0
|
||||
textual==0.81.0
|
||||
# via gp2040ce-binary-tools (pyproject.toml)
|
||||
typing-extensions==4.11.0
|
||||
typing-extensions==4.12.2
|
||||
# via textual
|
||||
uc-micro-py==1.0.3
|
||||
# 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
@ -1,39 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
# source: nanopb.proto
|
||||
"""Generated protocol buffer code."""
|
||||
from google.protobuf.internal import builder as _builder
|
||||
from google.protobuf import descriptor as _descriptor
|
||||
from google.protobuf import descriptor_pool as _descriptor_pool
|
||||
from google.protobuf import symbol_database as _symbol_database
|
||||
# @@protoc_insertion_point(imports)
|
||||
|
||||
_sym_db = _symbol_database.Default()
|
||||
|
||||
|
||||
from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2
|
||||
|
||||
|
||||
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0cnanopb.proto\x1a google/protobuf/descriptor.proto\"\xc4\x07\n\rNanoPBOptions\x12\x10\n\x08max_size\x18\x01 \x01(\x05\x12\x12\n\nmax_length\x18\x0e \x01(\x05\x12\x11\n\tmax_count\x18\x02 \x01(\x05\x12&\n\x08int_size\x18\x07 \x01(\x0e\x32\x08.IntSize:\nIS_DEFAULT\x12$\n\x04type\x18\x03 \x01(\x0e\x32\n.FieldType:\nFT_DEFAULT\x12\x18\n\nlong_names\x18\x04 \x01(\x08:\x04true\x12\x1c\n\rpacked_struct\x18\x05 \x01(\x08:\x05\x66\x61lse\x12\x1a\n\x0bpacked_enum\x18\n \x01(\x08:\x05\x66\x61lse\x12\x1b\n\x0cskip_message\x18\x06 \x01(\x08:\x05\x66\x61lse\x12\x18\n\tno_unions\x18\x08 \x01(\x08:\x05\x66\x61lse\x12\r\n\x05msgid\x18\t \x01(\r\x12\x1e\n\x0f\x61nonymous_oneof\x18\x0b \x01(\x08:\x05\x66\x61lse\x12\x15\n\x06proto3\x18\x0c \x01(\x08:\x05\x66\x61lse\x12#\n\x14proto3_singular_msgs\x18\x15 \x01(\x08:\x05\x66\x61lse\x12\x1d\n\x0e\x65num_to_string\x18\r \x01(\x08:\x05\x66\x61lse\x12\x1b\n\x0c\x66ixed_length\x18\x0f \x01(\x08:\x05\x66\x61lse\x12\x1a\n\x0b\x66ixed_count\x18\x10 \x01(\x08:\x05\x66\x61lse\x12\x1e\n\x0fsubmsg_callback\x18\x16 \x01(\x08:\x05\x66\x61lse\x12/\n\x0cmangle_names\x18\x11 \x01(\x0e\x32\x11.TypenameMangling:\x06M_NONE\x12(\n\x11\x63\x61llback_datatype\x18\x12 \x01(\t:\rpb_callback_t\x12\x34\n\x11\x63\x61llback_function\x18\x13 \x01(\t:\x19pb_default_field_callback\x12\x30\n\x0e\x64\x65scriptorsize\x18\x14 \x01(\x0e\x32\x0f.DescriptorSize:\x07\x44S_AUTO\x12\x1a\n\x0b\x64\x65\x66\x61ult_has\x18\x17 \x01(\x08:\x05\x66\x61lse\x12\x0f\n\x07include\x18\x18 \x03(\t\x12\x0f\n\x07\x65xclude\x18\x1a \x03(\t\x12\x0f\n\x07package\x18\x19 \x01(\t\x12\x41\n\rtype_override\x18\x1b \x01(\x0e\x32*.google.protobuf.FieldDescriptorProto.Type\x12\x19\n\x0bsort_by_tag\x18\x1c \x01(\x08:\x04true\x12.\n\rfallback_type\x18\x1d \x01(\x0e\x32\n.FieldType:\x0b\x46T_CALLBACK\x12\x1e\n\x0f\x64isallow_export\x18\x1e \x01(\x08:\x05\x66\x61lse*i\n\tFieldType\x12\x0e\n\nFT_DEFAULT\x10\x00\x12\x0f\n\x0b\x46T_CALLBACK\x10\x01\x12\x0e\n\nFT_POINTER\x10\x04\x12\r\n\tFT_STATIC\x10\x02\x12\r\n\tFT_IGNORE\x10\x03\x12\r\n\tFT_INLINE\x10\x05*D\n\x07IntSize\x12\x0e\n\nIS_DEFAULT\x10\x00\x12\x08\n\x04IS_8\x10\x08\x12\t\n\x05IS_16\x10\x10\x12\t\n\x05IS_32\x10 \x12\t\n\x05IS_64\x10@*Z\n\x10TypenameMangling\x12\n\n\x06M_NONE\x10\x00\x12\x13\n\x0fM_STRIP_PACKAGE\x10\x01\x12\r\n\tM_FLATTEN\x10\x02\x12\x16\n\x12M_PACKAGE_INITIALS\x10\x03*E\n\x0e\x44\x65scriptorSize\x12\x0b\n\x07\x44S_AUTO\x10\x00\x12\x08\n\x04\x44S_1\x10\x01\x12\x08\n\x04\x44S_2\x10\x02\x12\x08\n\x04\x44S_4\x10\x04\x12\x08\n\x04\x44S_8\x10\x08:E\n\x0enanopb_fileopt\x12\x1c.google.protobuf.FileOptions\x18\xf2\x07 \x01(\x0b\x32\x0e.NanoPBOptions:G\n\rnanopb_msgopt\x12\x1f.google.protobuf.MessageOptions\x18\xf2\x07 \x01(\x0b\x32\x0e.NanoPBOptions:E\n\x0enanopb_enumopt\x12\x1c.google.protobuf.EnumOptions\x18\xf2\x07 \x01(\x0b\x32\x0e.NanoPBOptions:>\n\x06nanopb\x12\x1d.google.protobuf.FieldOptions\x18\xf2\x07 \x01(\x0b\x32\x0e.NanoPBOptionsB\x1a\n\x18\x66i.kapsi.koti.jpa.nanopb')
|
||||
|
||||
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
|
||||
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'nanopb_pb2', globals())
|
||||
if _descriptor._USE_C_DESCRIPTORS == False:
|
||||
google_dot_protobuf_dot_descriptor__pb2.FileOptions.RegisterExtension(nanopb_fileopt)
|
||||
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(nanopb_msgopt)
|
||||
google_dot_protobuf_dot_descriptor__pb2.EnumOptions.RegisterExtension(nanopb_enumopt)
|
||||
google_dot_protobuf_dot_descriptor__pb2.FieldOptions.RegisterExtension(nanopb)
|
||||
|
||||
DESCRIPTOR._options = None
|
||||
DESCRIPTOR._serialized_options = b'\n\030fi.kapsi.koti.jpa.nanopb'
|
||||
_FIELDTYPE._serialized_start=1017
|
||||
_FIELDTYPE._serialized_end=1122
|
||||
_INTSIZE._serialized_start=1124
|
||||
_INTSIZE._serialized_end=1192
|
||||
_TYPENAMEMANGLING._serialized_start=1194
|
||||
_TYPENAMEMANGLING._serialized_end=1284
|
||||
_DESCRIPTORSIZE._serialized_start=1286
|
||||
_DESCRIPTORSIZE._serialized_end=1355
|
||||
_NANOPBOPTIONS._serialized_start=51
|
||||
_NANOPBOPTIONS._serialized_end=1015
|
||||
# @@protoc_insertion_point(module_scope)
|
@ -28,6 +28,7 @@ message GamepadOptions
|
||||
optional InputModeAuthType ps4AuthType = 21;
|
||||
optional InputModeAuthType ps5AuthType = 22;
|
||||
optional InputModeAuthType xinputAuthType = 23;
|
||||
optional PS4ControllerIDMode ps4ControllerIDMode = 24;
|
||||
}
|
||||
|
||||
message KeyboardMapping
|
||||
@ -50,6 +51,21 @@ message KeyboardMapping
|
||||
optional uint32 keyButtonR3 = 16;
|
||||
optional uint32 keyButtonA1 = 17;
|
||||
optional uint32 keyButtonA2 = 18;
|
||||
optional uint32 keyButtonA3 = 19;
|
||||
optional uint32 keyButtonA4 = 20;
|
||||
optional uint32 keyButtonE1 = 21;
|
||||
optional uint32 keyButtonE2 = 22;
|
||||
optional uint32 keyButtonE3 = 23;
|
||||
optional uint32 keyButtonE4 = 24;
|
||||
optional uint32 keyButtonE5 = 25;
|
||||
optional uint32 keyButtonE6 = 26;
|
||||
optional uint32 keyButtonE7 = 27;
|
||||
optional uint32 keyButtonE8 = 28;
|
||||
optional uint32 keyButtonE9 = 29;
|
||||
optional uint32 keyButtonE10 = 30;
|
||||
optional uint32 keyButtonE11 = 31;
|
||||
optional uint32 keyButtonE12 = 32;
|
||||
|
||||
}
|
||||
|
||||
message HotkeyEntry
|
||||
@ -169,11 +185,15 @@ message GpioMappingInfo
|
||||
{
|
||||
optional GpioAction action = 1;
|
||||
optional GpioDirection direction = 2;
|
||||
optional uint32 customDpadMask = 3;
|
||||
optional uint32 customButtonMask = 4;
|
||||
}
|
||||
|
||||
message GpioMappings
|
||||
{
|
||||
repeated GpioMappingInfo pins = 1 [(nanopb).max_count = 30];
|
||||
optional string profileLabel = 2 [(nanopb).max_length = 16];
|
||||
optional bool enabled = 3 [default = false];
|
||||
}
|
||||
|
||||
|
||||
@ -204,25 +224,25 @@ message DisplayOptions
|
||||
{
|
||||
optional bool enabled = 1;
|
||||
|
||||
optional int32 i2cBlock = 2;
|
||||
optional int32 deprecatedI2cBlock = 2 [deprecated = true];
|
||||
optional int32 deprecatedI2cSDAPin = 3 [deprecated = true];
|
||||
optional int32 deprecatedI2cSCLPin = 4 [deprecated = true];
|
||||
optional int32 i2cAddress = 5;
|
||||
optional int32 deprecatedI2cAddress = 5 [deprecated = true];
|
||||
optional int32 deprecatedI2cSpeed = 6 [deprecated = true];
|
||||
|
||||
|
||||
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;
|
||||
optional bool turnOffWhenSuspended = 18;
|
||||
}
|
||||
@ -235,7 +255,7 @@ message LEDOptions
|
||||
optional uint32 ledsPerButton = 4;
|
||||
optional uint32 brightnessMaximum = 5;
|
||||
optional uint32 brightnessSteps = 6;
|
||||
|
||||
|
||||
optional int32 indexUp = 7;
|
||||
optional int32 indexDown = 8;
|
||||
optional int32 indexLeft = 9;
|
||||
@ -254,7 +274,7 @@ message LEDOptions
|
||||
optional int32 indexR3 = 22;
|
||||
optional int32 indexA1 = 23;
|
||||
optional int32 indexA2 = 24;
|
||||
|
||||
|
||||
optional PLEDType pledType = 25;
|
||||
optional int32 pledPin1 = 26;
|
||||
optional int32 pledPin2 = 27;
|
||||
@ -280,7 +300,7 @@ message AnimationOptions_Proto
|
||||
optional int32 chaseCycleTime = 5;
|
||||
optional int32 rainbowCycleTime = 6;
|
||||
optional uint32 themeIndex = 7;
|
||||
|
||||
|
||||
optional bool hasCustomTheme = 8;
|
||||
optional uint32 customThemeUp = 9;
|
||||
optional uint32 customThemeDown = 10;
|
||||
@ -318,7 +338,7 @@ message AnimationOptions_Proto
|
||||
optional uint32 customThemeR3Pressed = 42;
|
||||
optional uint32 customThemeA1Pressed = 43;
|
||||
optional uint32 customThemeA2Pressed = 44;
|
||||
optional uint32 buttonPressColorCooldownTimeInMs = 45;
|
||||
optional uint32 buttonPressColorCooldownTimeInMs = 45;
|
||||
}
|
||||
|
||||
message BootselButtonOptions
|
||||
@ -336,7 +356,7 @@ message OnBoardLedOptions
|
||||
message AnalogOptions
|
||||
{
|
||||
optional bool enabled = 1;
|
||||
|
||||
|
||||
optional int32 analogAdc1PinX = 2;
|
||||
optional int32 analogAdc1PinY = 3;
|
||||
optional bool forced_circularity = 4;
|
||||
@ -349,17 +369,20 @@ message AnalogOptions
|
||||
optional InvertMode analogAdc2Invert = 11;
|
||||
optional bool auto_calibrate = 12;
|
||||
optional uint32 outer_deadzone = 13;
|
||||
optional bool analog_smoothing = 14;
|
||||
optional float smoothing_factor = 15;
|
||||
optional uint32 analog_error = 16;
|
||||
}
|
||||
|
||||
message TurboOptions
|
||||
{
|
||||
optional bool enabled = 1;
|
||||
|
||||
|
||||
optional int32 deprecatedButtonPin = 2 [deprecated = true];
|
||||
optional int32 ledPin = 3;
|
||||
optional uint32 shotCount = 4;
|
||||
optional int32 shmupDialPin = 5;
|
||||
|
||||
|
||||
optional bool shmupModeEnabled = 6;
|
||||
optional uint32 shmupAlwaysOn1 = 7;
|
||||
optional uint32 shmupAlwaysOn2 = 8;
|
||||
@ -379,21 +402,21 @@ message TurboOptions
|
||||
message SliderOptions
|
||||
{
|
||||
optional bool enabled = 1;
|
||||
|
||||
|
||||
optional int32 deprecatedPinSliderOne = 2 [deprecated = true];
|
||||
optional int32 deprecatedPinSliderTwo = 3 [deprecated = true];
|
||||
optional DpadMode deprecatedModeOne = 4 [deprecated = true];
|
||||
optional DpadMode deprecatedModeTwo = 5 [deprecated = true];
|
||||
optional DpadMode modeDefault = 6;
|
||||
optional DpadMode deprecatedModeDefault = 6;
|
||||
}
|
||||
|
||||
message SOCDSliderOptions
|
||||
{
|
||||
optional bool enabled = 1;
|
||||
|
||||
|
||||
optional int32 deprecatedPinOne = 2 [deprecated = true];
|
||||
optional int32 deprecatedPinTwo = 3 [deprecated = true];
|
||||
|
||||
|
||||
optional SOCDMode modeDefault = 4;
|
||||
optional SOCDMode deprecatedModeOne = 5 [deprecated = true];
|
||||
optional SOCDMode deprecatedModeTwo = 6 [deprecated = true];
|
||||
@ -402,10 +425,10 @@ message SOCDSliderOptions
|
||||
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;
|
||||
@ -416,10 +439,10 @@ message AnalogADS1219Options
|
||||
{
|
||||
optional bool enabled = 1;
|
||||
|
||||
optional int32 i2cBlock = 2;
|
||||
optional int32 deprecatedI2cBlock = 2 [deprecated = true];
|
||||
optional int32 deprecatedI2cSDAPin = 3 [deprecated = true];
|
||||
optional int32 deprecatedI2cSCLPin = 4 [deprecated = true];
|
||||
optional int32 i2cAddress = 5;
|
||||
optional int32 deprecatedI2cAddress = 5 [deprecated = true];
|
||||
optional int32 deprecatedI2cSpeed = 6 [deprecated = true];
|
||||
}
|
||||
|
||||
@ -437,12 +460,12 @@ message AnalogADS1256Options
|
||||
message DualDirectionalOptions
|
||||
{
|
||||
optional bool enabled = 1;
|
||||
|
||||
|
||||
optional int32 deprecatedUpPin = 2 [deprecated = true];
|
||||
optional int32 deprecatedDownPin = 3 [deprecated = true];
|
||||
optional int32 deprecatedLeftPin = 4 [deprecated = true];
|
||||
optional int32 deprecatedRightPin = 5 [deprecated = true];
|
||||
|
||||
|
||||
optional DpadMode dpadMode = 6;
|
||||
optional DualDirectionalCombinationMode combineMode = 7;
|
||||
optional bool fourWayMode = 8;
|
||||
@ -465,7 +488,7 @@ message TiltOptions
|
||||
optional int32 tiltRightAnalogRightPin = 12;
|
||||
|
||||
optional SOCDMode tiltSOCDMode = 13;
|
||||
|
||||
|
||||
optional int32 factorTilt1LeftX = 14;
|
||||
optional int32 factorTilt1LeftY = 15;
|
||||
optional int32 factorTilt1RightX = 16;
|
||||
@ -479,7 +502,7 @@ message TiltOptions
|
||||
message BuzzerOptions
|
||||
{
|
||||
optional bool enabled = 1;
|
||||
|
||||
|
||||
optional int32 pin = 2;
|
||||
optional uint32 volume = 3;
|
||||
optional int32 enablePin = 4;
|
||||
@ -488,7 +511,7 @@ message BuzzerOptions
|
||||
message ExtraButtonOptions
|
||||
{
|
||||
optional bool enabled = 1;
|
||||
|
||||
|
||||
optional int32 pin = 2;
|
||||
optional uint32 buttonMap = 3;
|
||||
}
|
||||
@ -541,7 +564,7 @@ message WiiOptions
|
||||
optional AnalogAxis x = 1;
|
||||
optional AnalogAxis y = 2;
|
||||
}
|
||||
|
||||
|
||||
message NunchukOptions
|
||||
{
|
||||
optional int32 buttonC = 1;
|
||||
@ -572,7 +595,7 @@ message WiiOptions
|
||||
optional AnalogAxis rightTrigger = 19;
|
||||
}
|
||||
|
||||
message TaikoOptions
|
||||
message TaikoOptions
|
||||
{
|
||||
optional int32 buttonKatLeft = 1;
|
||||
optional int32 buttonKatRight = 2;
|
||||
@ -638,7 +661,7 @@ message WiiOptions
|
||||
}
|
||||
|
||||
optional bool enabled = 1;
|
||||
optional int32 i2cBlock = 2;
|
||||
optional int32 deprecatedI2cBlock = 2 [deprecated = true];
|
||||
optional int32 deprecatedI2cSDAPin = 3 [deprecated = true];
|
||||
optional int32 deprecatedI2cSCLPin = 4 [deprecated = true];
|
||||
optional int32 deprecatedI2cSpeed = 5 [deprecated = true];
|
||||
@ -660,6 +683,9 @@ message KeyboardHostOptions
|
||||
optional int32 deprecatedPinDplus = 2 [deprecated = true];
|
||||
optional KeyboardMapping mapping = 3;
|
||||
optional int32 deprecatedPin5V = 4 [deprecated = true];
|
||||
optional uint32 mouseLeft = 5;
|
||||
optional uint32 mouseMiddle = 6;
|
||||
optional uint32 mouseRight = 7;
|
||||
}
|
||||
|
||||
message FocusModeOptions
|
||||
@ -732,17 +758,43 @@ message RotaryOptions
|
||||
message PCF8575Options
|
||||
{
|
||||
optional bool enabled = 1;
|
||||
optional int32 i2cBlock = 2;
|
||||
optional int32 deprecatedI2cBlock = 2 [deprecated = true];
|
||||
repeated GpioMappingInfo pins = 3 [(nanopb).max_count = 16];
|
||||
}
|
||||
|
||||
message DRV8833RumbleOptions
|
||||
{
|
||||
optional bool enabled = 1;
|
||||
|
||||
optional int32 leftMotorPin = 2;
|
||||
optional int32 rightMotorPin = 3;
|
||||
optional int32 motorSleepPin = 4;
|
||||
optional uint32 pwmFrequency = 5;
|
||||
optional float dutyMin = 6;
|
||||
optional float dutyMax = 7;
|
||||
}
|
||||
|
||||
message ReactiveLEDInfo
|
||||
{
|
||||
optional int32 pin = 1;
|
||||
optional GpioAction action = 2;
|
||||
optional ReactiveLEDMode modeDown = 3;
|
||||
optional ReactiveLEDMode modeUp = 4;
|
||||
}
|
||||
|
||||
message ReactiveLEDOptions
|
||||
{
|
||||
optional bool enabled = 1;
|
||||
repeated ReactiveLEDInfo leds = 2 [(nanopb).max_count = 10];
|
||||
}
|
||||
|
||||
message AddonOptions
|
||||
{
|
||||
optional BootselButtonOptions bootselButtonOptions = 1;
|
||||
optional OnBoardLedOptions onBoardLedOptions = 2;
|
||||
optional AnalogOptions analogOptions = 3;
|
||||
optional TurboOptions turboOptions = 4;
|
||||
optional SliderOptions sliderOptions = 5;
|
||||
optional SliderOptions deprecatedSliderOptions = 5;
|
||||
optional ReverseOptions reverseOptions = 6;
|
||||
optional AnalogADS1219Options analogADS1219Options = 7;
|
||||
optional DualDirectionalOptions dualDirectionalOptions = 8;
|
||||
@ -763,6 +815,8 @@ message AddonOptions
|
||||
optional AnalogADS1256Options analogADS1256Options = 23;
|
||||
optional RotaryOptions rotaryOptions = 24;
|
||||
optional PCF8575Options pcf8575Options = 25;
|
||||
optional DRV8833RumbleOptions drv8833RumbleOptions = 26;
|
||||
optional ReactiveLEDOptions reactiveLEDOptions = 27;
|
||||
}
|
||||
|
||||
message MigrationHistory
|
||||
@ -770,12 +824,13 @@ message MigrationHistory
|
||||
optional bool hotkeysMigrated = 1 [default = false];
|
||||
optional bool gpioMappingsMigrated = 2 [default = false];
|
||||
optional bool buttonProfilesMigrated = 3 [default = false];
|
||||
optional bool profileEnabledFlagsMigrated = 4 [default = false];
|
||||
}
|
||||
|
||||
message Config
|
||||
{
|
||||
optional string boardVersion = 1 [(nanopb).max_length = 31];
|
||||
|
||||
|
||||
optional GamepadOptions gamepadOptions = 2;
|
||||
optional HotkeyOptions hotkeyOptions = 3;
|
||||
optional PinMappings deprecatedPinMappings = 4 [deprecated = true];
|
||||
@ -786,7 +841,7 @@ message Config
|
||||
optional AddonOptions addonOptions = 9;
|
||||
optional ForcedSetupOptions forcedSetupOptions = 10;
|
||||
optional ProfileOptions profileOptions = 11;
|
||||
|
||||
|
||||
optional string boardConfig = 12 [(nanopb).max_length = 63];
|
||||
optional GpioMappings gpioMappings = 13;
|
||||
optional MigrationHistory migrations = 14;
|
||||
|
@ -39,6 +39,7 @@ enum ButtonLayout
|
||||
BUTTON_LAYOUT_6GAWD_A = 30;
|
||||
BUTTON_LAYOUT_6GAWD_ALLBUTTON_A = 31;
|
||||
BUTTON_LAYOUT_6GAWD_ALLBUTTONPLUS_A = 32;
|
||||
BUTTON_LAYOUT_STICKLESS_R16 = 33;
|
||||
}
|
||||
|
||||
enum ButtonLayoutRight
|
||||
@ -82,6 +83,7 @@ enum ButtonLayoutRight
|
||||
BUTTON_LAYOUT_6GAWD_B = 34;
|
||||
BUTTON_LAYOUT_6GAWD_ALLBUTTON_B = 35;
|
||||
BUTTON_LAYOUT_6GAWD_ALLBUTTONPLUS_B = 36;
|
||||
BUTTON_LAYOUT_STICKLESS_R16B = 37;
|
||||
}
|
||||
|
||||
enum SplashMode
|
||||
@ -109,7 +111,7 @@ enum SplashChoice
|
||||
enum OnBoardLedMode
|
||||
{
|
||||
option (nanopb_enumopt).long_names = false;
|
||||
|
||||
|
||||
ON_BOARD_LED_MODE_OFF = 0;
|
||||
ON_BOARD_LED_MODE_MODE_INDICATOR = 1;
|
||||
ON_BOARD_LED_MODE_INPUT_TEST = 2;
|
||||
@ -122,7 +124,7 @@ enum InputMode
|
||||
|
||||
INPUT_MODE_XINPUT = 0;
|
||||
INPUT_MODE_SWITCH = 1;
|
||||
INPUT_MODE_HID = 2;
|
||||
INPUT_MODE_PS3 = 2;
|
||||
INPUT_MODE_KEYBOARD = 3;
|
||||
INPUT_MODE_PS4 = 4;
|
||||
INPUT_MODE_XBONE = 5;
|
||||
@ -134,6 +136,7 @@ enum InputMode
|
||||
INPUT_MODE_PSCLASSIC = 11;
|
||||
INPUT_MODE_XBOXORIGINAL = 12;
|
||||
INPUT_MODE_PS5 = 13;
|
||||
INPUT_MODE_GENERIC = 14;
|
||||
INPUT_MODE_CONFIG = 255;
|
||||
}
|
||||
|
||||
@ -225,6 +228,21 @@ enum GpioAction
|
||||
BUTTON_PRESS_MACRO_4 = 37;
|
||||
BUTTON_PRESS_MACRO_5 = 38;
|
||||
BUTTON_PRESS_MACRO_6 = 39;
|
||||
CUSTOM_BUTTON_COMBO = 40;
|
||||
BUTTON_PRESS_A3 = 41;
|
||||
BUTTON_PRESS_A4 = 42;
|
||||
BUTTON_PRESS_E1 = 43;
|
||||
BUTTON_PRESS_E2 = 44;
|
||||
BUTTON_PRESS_E3 = 45;
|
||||
BUTTON_PRESS_E4 = 46;
|
||||
BUTTON_PRESS_E5 = 47;
|
||||
BUTTON_PRESS_E6 = 48;
|
||||
BUTTON_PRESS_E7 = 49;
|
||||
BUTTON_PRESS_E8 = 50;
|
||||
BUTTON_PRESS_E9 = 51;
|
||||
BUTTON_PRESS_E10 = 52;
|
||||
BUTTON_PRESS_E11 = 53;
|
||||
BUTTON_PRESS_E12 = 54;
|
||||
}
|
||||
|
||||
enum GpioDirection
|
||||
@ -275,6 +293,13 @@ enum GamepadHotkey
|
||||
HOTKEY_A1_BUTTON = 33;
|
||||
HOTKEY_A2_BUTTON = 34;
|
||||
HOTKEY_NEXT_PROFILE = 35;
|
||||
HOTKEY_A3_BUTTON = 36;
|
||||
HOTKEY_A4_BUTTON = 37;
|
||||
HOTKEY_DPAD_UP = 38;
|
||||
HOTKEY_DPAD_DOWN = 39;
|
||||
HOTKEY_DPAD_LEFT = 40;
|
||||
HOTKEY_DPAD_RIGHT = 41;
|
||||
HOTKEY_PREVIOUS_PROFILE = 42;
|
||||
}
|
||||
|
||||
// This has to be kept in sync with LEDFormat in NeoPico.hpp
|
||||
@ -297,7 +322,7 @@ enum ShmupMixMode
|
||||
enum PLEDType
|
||||
{
|
||||
option (nanopb_enumopt).long_names = false;
|
||||
|
||||
|
||||
PLED_TYPE_NONE = -1;
|
||||
PLED_TYPE_PWM = 0;
|
||||
PLED_TYPE_RGB = 1;
|
||||
@ -306,7 +331,7 @@ enum PLEDType
|
||||
enum ForcedSetupMode
|
||||
{
|
||||
option (nanopb_enumopt).long_names = false;
|
||||
|
||||
|
||||
FORCED_SETUP_MODE_OFF = 0;
|
||||
FORCED_SETUP_MODE_LOCK_MODE_SWITCH = 1;
|
||||
FORCED_SETUP_MODE_LOCK_WEB_CONFIG = 2;
|
||||
@ -326,7 +351,7 @@ enum DualDirectionalCombinationMode
|
||||
enum PS4ControllerType
|
||||
{
|
||||
option (nanopb_enumopt).long_names = false;
|
||||
|
||||
|
||||
PS4_CONTROLLER = 0;
|
||||
PS4_ARCADESTICK = 7;
|
||||
}
|
||||
@ -358,7 +383,7 @@ enum GPElement
|
||||
enum GPShape_Type
|
||||
{
|
||||
option (nanopb_enumopt).long_names = false;
|
||||
|
||||
|
||||
GP_SHAPE_ELLIPSE = 0;
|
||||
GP_SHAPE_SQUARE = 1;
|
||||
GP_SHAPE_LINE = 2;
|
||||
@ -380,3 +405,21 @@ enum RotaryEncoderPinMode
|
||||
ENCODER_MODE_DPAD_X = 7;
|
||||
ENCODER_MODE_DPAD_Y = 8;
|
||||
};
|
||||
|
||||
enum ReactiveLEDMode
|
||||
{
|
||||
option (nanopb_enumopt).long_names = false;
|
||||
|
||||
REACTIVE_LED_STATIC_OFF = 0;
|
||||
REACTIVE_LED_STATIC_ON = 1;
|
||||
REACTIVE_LED_FADE_IN = 2;
|
||||
REACTIVE_LED_FADE_OUT = 3;
|
||||
};
|
||||
|
||||
enum PS4ControllerIDMode
|
||||
{
|
||||
option (nanopb_enumopt).long_names = false;
|
||||
|
||||
PS4_ID_CONSOLE = 0;
|
||||
PS4_ID_EMULATION = 1;
|
||||
};
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"boardVersion": "v0.7.6-15-g71f4512",
|
||||
"gamepadOptions": {
|
||||
"inputMode": "INPUT_MODE_HID",
|
||||
"inputMode": "INPUT_MODE_PS3",
|
||||
"dpadMode": "DPAD_MODE_DIGITAL",
|
||||
"socdMode": "SOCD_MODE_SECOND_INPUT_PRIORITY",
|
||||
"invertXAxis": false,
|
||||
@ -163,10 +163,10 @@
|
||||
},
|
||||
"displayOptions": {
|
||||
"enabled": false,
|
||||
"i2cBlock": 0,
|
||||
"deprecatedI2cBlock": 0,
|
||||
"deprecatedI2cSDAPin": 0,
|
||||
"deprecatedI2cSCLPin": 1,
|
||||
"i2cAddress": 60,
|
||||
"deprecatedI2cAddress": 60,
|
||||
"deprecatedI2cSpeed": 400000,
|
||||
"buttonLayout": "BUTTON_LAYOUT_STICK",
|
||||
"buttonLayoutRight": "BUTTON_LAYOUT_VEWLIX",
|
||||
@ -327,13 +327,13 @@
|
||||
"shmupBtnMask4": 0,
|
||||
"shmupMixMode": "SHMUP_MIX_MODE_TURBO_PRIORITY"
|
||||
},
|
||||
"sliderOptions": {
|
||||
"deprecatedSliderOptions": {
|
||||
"enabled": false,
|
||||
"deprecatedPinSliderOne": 0,
|
||||
"deprecatedPinSliderTwo": 0,
|
||||
"deprecatedModeOne": "DPAD_MODE_DIGITAL",
|
||||
"deprecatedModeTwo": "DPAD_MODE_DIGITAL",
|
||||
"modeDefault": "DPAD_MODE_DIGITAL"
|
||||
"deprecatedModeDefault": "DPAD_MODE_DIGITAL"
|
||||
},
|
||||
"reverseOptions": {
|
||||
"enabled": false,
|
||||
@ -346,10 +346,10 @@
|
||||
},
|
||||
"analogADS1219Options": {
|
||||
"enabled": false,
|
||||
"i2cBlock": 0,
|
||||
"deprecatedI2cBlock": 0,
|
||||
"deprecatedI2cSDAPin": -1,
|
||||
"deprecatedI2cSCLPin": -1,
|
||||
"i2cAddress": 64,
|
||||
"deprecatedI2cAddress": 64,
|
||||
"deprecatedI2cSpeed": 400000
|
||||
},
|
||||
"dualDirectionalOptions": {
|
||||
@ -392,7 +392,7 @@
|
||||
},
|
||||
"wiiOptions": {
|
||||
"enabled": false,
|
||||
"i2cBlock": 0,
|
||||
"deprecatedI2cBlock": 0,
|
||||
"deprecatedI2cSDAPin": -1,
|
||||
"deprecatedI2cSCLPin": -1,
|
||||
"deprecatedI2cSpeed": 400000,
|
||||
|
@ -25,7 +25,7 @@ logger = logging.getLogger(__name__)
|
||||
@decorator
|
||||
def with_pb2s(test, *args, **kwargs):
|
||||
"""Wrap a test with precompiled pb2 files on the path."""
|
||||
proto_path = os.path.join(HERE, 'test-files', 'pb2-files')
|
||||
proto_path = os.path.join(HERE, 'test-files')
|
||||
sys.path.append(proto_path)
|
||||
|
||||
test(*args, **kwargs)
|
||||
|
@ -18,7 +18,7 @@ HERE = os.path.dirname(os.path.abspath(__file__))
|
||||
@decorator
|
||||
def with_pb2s(test, *args, **kwargs):
|
||||
"""Wrap a test with precompiled pb2 files on the path."""
|
||||
proto_path = os.path.join(HERE, 'test-files', 'pb2-files')
|
||||
proto_path = os.path.join(HERE, 'test-files')
|
||||
sys.path.append(proto_path)
|
||||
|
||||
test(*args, **kwargs)
|
||||
|
@ -21,7 +21,7 @@ HERE = os.path.dirname(os.path.abspath(__file__))
|
||||
@decorator
|
||||
async def with_pb2s(test, *args, **kwargs):
|
||||
"""Wrap a test with precompiled pb2 files on the path."""
|
||||
proto_path = os.path.join(HERE, 'test-files', 'pb2-files')
|
||||
proto_path = os.path.join(HERE, 'test-files')
|
||||
sys.path.append(proto_path)
|
||||
|
||||
await test(*args, **kwargs)
|
||||
@ -109,7 +109,7 @@ async def test_simple_edit_via_input_field():
|
||||
async with app.run_test() as pilot:
|
||||
tree = pilot.app.query_one(Tree)
|
||||
display_node = tree.root.children[5]
|
||||
i2cspeed_node = display_node.children[4]
|
||||
i2cspeed_node = display_node.children[6]
|
||||
assert pilot.app.config.displayOptions.deprecatedI2cSpeed == 400000
|
||||
|
||||
tree.root.expand_all()
|
||||
|
@ -36,7 +36,7 @@ def test_get_config_pb2_exception():
|
||||
|
||||
def test_get_config_pb2_precompile():
|
||||
"""Test we can import precompiled protobuf files."""
|
||||
proto_path = os.path.join(HERE, 'test-files', 'pb2-files')
|
||||
proto_path = os.path.join(HERE, 'test-files')
|
||||
sys.path.append(proto_path)
|
||||
|
||||
# let grpc tools import the proto files normally
|
||||
|
@ -20,7 +20,7 @@ HERE = os.path.dirname(os.path.abspath(__file__))
|
||||
@decorator
|
||||
def with_pb2s(test, *args, **kwargs):
|
||||
"""Wrap a test with precompiled pb2 files on the path."""
|
||||
proto_path = os.path.join(HERE, 'test-files', 'pb2-files')
|
||||
proto_path = os.path.join(HERE, 'test-files')
|
||||
sys.path.append(proto_path)
|
||||
|
||||
test(*args, **kwargs)
|
||||
|
@ -20,7 +20,7 @@ HERE = os.path.dirname(os.path.abspath(__file__))
|
||||
@decorator
|
||||
def with_pb2s(test, *args, **kwargs):
|
||||
"""Wrap a test with precompiled pb2 files on the path."""
|
||||
proto_path = os.path.join(HERE, 'test-files', 'pb2-files')
|
||||
proto_path = os.path.join(HERE, 'test-files')
|
||||
sys.path.append(proto_path)
|
||||
|
||||
test(*args, **kwargs)
|
||||
|
7
tox.ini
7
tox.ini
@ -5,7 +5,7 @@
|
||||
|
||||
[tox]
|
||||
isolated_build = true
|
||||
envlist = begin,py39,py310,py311,coverage,bandit,lint,reuse
|
||||
envlist = begin,py39,py310,py311,py312,coverage,bandit,lint,reuse
|
||||
|
||||
[testenv]
|
||||
allow_externals = pytest, coverage
|
||||
@ -33,6 +33,11 @@ commands =
|
||||
commands =
|
||||
pytest --cov-append --cov={envsitepackagesdir}/gp2040ce_bintools/ --cov-branch
|
||||
|
||||
[testenv:py312]
|
||||
# run pytest with coverage
|
||||
commands =
|
||||
pytest --cov-append --cov={envsitepackagesdir}/gp2040ce_bintools/ --cov-branch
|
||||
|
||||
[testenv:coverage]
|
||||
# report on coverage runs from above
|
||||
skip_install = true
|
||||
|
Loading…
x
Reference in New Issue
Block a user