2
0
Fork 0

Compare commits

..

3 commits

View file

@ -3,30 +3,31 @@ syntax = "proto3";
package ScStw; package ScStw;
message SoundSettings { message SoundSettings {
// Software volume control, between 0 and 254 // Software volume control. Maximum value is 254, default value is 254.
uint32 volume = 1; uint32 volume = 1;
bool muteInternalSpeaker = 2; bool muteInternalSpeaker = 2;
} }
message SecuritySettings { message SecuritySettings {
// If set to true, the bluetooth interface won't be initialized on startup // If set to true, the bluetooth interface won't be initialized on startup.
// This can only be changed over a web socket connection to avoid lockout // This can only be changed over a web socket connection to avoid lockout.
// At least one lane must be enabled. Otherwise, the first lane will be // To be effective, the settings must be stored as default and device must be
// enabled! // rebooted!
bool disableBluetooth = 1; bool disableBluetooth = 1;
// If set to true, the default settings can't be set via bluetooth // If set to true, the default settings can't be set via bluetooth.
// This can only be changed over a web socket connection to avoid lockout.
bool disallowToSetDefaultViaBluetooth = 2; bool disallowToSetDefaultViaBluetooth = 2;
} }
// //
// TimerMode // StopwatchSettings
// //
// = Competition classic race = // = Competition classic race =
message ManualStartProcedure { message ManualStartProcedure {
// If set to true, the timer will play the "Ready" sound before starting when // If set to true, the stopwatch will play the "Ready" sound before starting
// RaceStartCommand is sent. // when RaceStartCommand is sent.
bool sayReady = 1; bool sayReady = 1;
} }
@ -37,7 +38,11 @@ message CompetitionClassicRaceMode {
// = Training classic race = // = Training classic race =
message AutomatedStartProcedure { message AutomatedStartProcedure {
bool sayReady = 1; bool sayReady = 1;
// The duration in milliseconds a startpad has to be pressed before the
// autostart is executed. Maximum value is 10000, default value is 3000.
int32 standstillDurationBeforeStart = 2; int32 standstillDurationBeforeStart = 2;
// If set to true, the autostart will be executed even if the race is not in
// IDLE_CLEAR_TO_START state.
bool autoReset = 3; bool autoReset = 3;
} }
@ -50,18 +55,20 @@ message StartProcedure {
message LaneSettings { message LaneSettings {
reserved 1; // Deprecated "letter" reserved 1; // Deprecated "letter"
// If set to true, the lane won't be usable and won't show up in the UI // If set to true, the lane won't be usable and won't show up in the UI.
// Can be used if there is only a single lane in the gym // Can be used if there is only a single lane in the gym.
// At least one lane must be enabled. Otherwise, the first lane will be
// enabled!
bool disabled = 2; bool disabled = 2;
} }
message AbortAfterFalseStart {} message AbortAfterFalseStart {}
message ContinueAfterFalseStart { message ContinueAfterFalseStart {
// This time will be assumed as the reaction time when calculating the final // This time will be assumed as the reaction time when calculating the final
// time // time. Maximum value is 10000, default value is 100.
uint32 assumedReactionTime = 1; uint32 assumedReactionTime = 1;
// If set to true, there will be no false start tone and the normal tone will // If set to true, there will be no false start tone and the normal tone will
// continue Also, the indicator of wildcard lanes will continue as normal // continue. Also, the indicator of wildcard lanes will continue as normal.
bool continueStartSequenceAfterFalseStart = 2; bool continueStartSequenceAfterFalseStart = 2;
} }
@ -74,31 +81,33 @@ message FalseStartBehaviour {
message FalseStartSettings { message FalseStartSettings {
FalseStartBehaviour behaviour = 1; FalseStartBehaviour behaviour = 1;
// The duration in milliseconds the false start sound will be played before it
// is automatically muted. Maximum value is 60000, default value is 2000.
uint32 soundDuration = 2; uint32 soundDuration = 2;
} }
message IndicatorSettings { message IndicatorSettings {
// Software brightness control, between 0 and 254 // Software brightness control. Maximum value is 254, default value is 254.
uint32 brightness = 1; uint32 brightness = 1;
// If set to true, the indicator will stop blinkng as soon as the false start // If set to true, the indicator will stop blinkng as soon as the false start
// sound stops (when a false start exists and race is in FINISHED_MUTED // sound stops (when a false start exists and race is in FINISHED_MUTED
// state). Otherwise, it will continue blinking until the race is reset // state). Otherwise, it will continue blinking until the race is reset.
bool turnOffWhenFalseStartSoundIsMuted = 2; bool turnOffWhenFalseStartSoundIsMuted = 2;
// If set to true, the indicator will trun off when race is IDLE state. // If set to true, the indicator will turn off when the race is in IDLE state.
// Otherwise, it will be red // Otherwise, it will be red.
bool turnOffWhenIdle = 3; bool turnOffWhenIdle = 3;
} }
message TrainingClassicRaceMode { message TrainingClassicRaceMode {
StartProcedure startProcedure = 1; StartProcedure startProcedure = 1;
// The number of lanes cannot be changed by the client // The number of lanes cannot be changed by the client.
repeated LaneSettings lanes = 2; repeated LaneSettings lanes = 2;
FalseStartSettings falseStartSettings = 3; FalseStartSettings falseStartSettings = 3;
IndicatorSettings indicatorSettings = 4; IndicatorSettings indicatorSettings = 4;
} }
message TimerMode { message StopwatchSettings {
oneof mode { oneof mode {
CompetitionClassicRaceMode competitionClassicRaceMode = 1; CompetitionClassicRaceMode competitionClassicRaceMode = 1;
TrainingClassicRaceMode trainingClassicRaceMode = 2; TrainingClassicRaceMode trainingClassicRaceMode = 2;
@ -108,14 +117,16 @@ message TimerMode {
} }
message Settings { message Settings {
// if the settings are stored as default in the flash memory // if the settings are stored as default in the flash memory.
bool default = 1; bool default = 1;
// DEPRECATED, just kept for compatibility, use TimerMode instead! // DEPRECATED, just kept for compatibility, use StopwatchSettings instead!
// Will be ignored when TimerMode is set // Will be ignored when StopwatchSettings is set and converted to
// StopwatchSettings otherwise.
// For backwards compatibility, this is always set when reading the settings.
TrainingClassicRaceMode race = 2 [ deprecated = true ]; TrainingClassicRaceMode race = 2 [ deprecated = true ];
SoundSettings sound = 3; SoundSettings sound = 3;
TimerMode timerMode = 4; StopwatchSettings stopwatchSettings = 4;
SecuritySettings securitySettings = 5; SecuritySettings securitySettings = 5;
} }