2
0
Fork 0
proto/Settings.proto

132 lines
4.3 KiB
Protocol Buffer
Raw Normal View History

syntax = "proto3";
package ScStw;
message SoundSettings {
2024-12-02 23:04:31 +01:00
// Software volume control. Maximum value is 254, default value is 254.
uint32 volume = 1;
bool muteInternalSpeaker = 2;
}
message SecuritySettings {
2024-11-26 20:45:28 +01:00
// 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.
// To be effective, the settings must be stored as default and device must be
// rebooted!
bool disableBluetooth = 1;
2024-11-26 20:45:28 +01:00
// 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;
}
//
2024-12-02 22:26:02 +01:00
// StopwatchSettings
//
// = Competition classic race =
message ManualStartProcedure {
2024-12-02 22:26:02 +01:00
// If set to true, the stopwatch will play the "Ready" sound before starting
// when RaceStartCommand is sent.
bool sayReady = 1;
}
message CompetitionClassicRaceMode {
ManualStartProcedure manualStartProcedure = 1;
}
// = Training classic race =
message AutomatedStartProcedure {
bool sayReady = 1;
2024-12-02 23:04:31 +01:00
// 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;
2024-12-02 23:04:31 +01:00
// If set to true, the autostart will be executed even if the race is not in
// IDLE_CLEAR_TO_START state.
bool autoReset = 3;
}
message StartProcedure {
oneof startProcedure {
ManualStartProcedure manualStartProcedure = 1;
AutomatedStartProcedure automatedStartProcedure = 2;
}
}
message LaneSettings {
reserved 1; // Deprecated "letter"
2024-11-26 20:45:28 +01:00
// 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.
// At least one lane must be enabled. Otherwise, the first lane will be
// enabled!
bool disabled = 2;
}
message AbortAfterFalseStart {}
message ContinueAfterFalseStart {
// This time will be assumed as the reaction time when calculating the final
2024-12-02 23:04:31 +01:00
// time. Maximum value is 10000, default value is 100.
uint32 assumedReactionTime = 1;
// If set to true, there will be no false start tone and the normal tone will
2024-11-26 20:45:28 +01:00
// continue. Also, the indicator of wildcard lanes will continue as normal.
bool continueStartSequenceAfterFalseStart = 2;
}
message FalseStartBehaviour {
oneof behaviour {
AbortAfterFalseStart abortAfterFalseStart = 1;
ContinueAfterFalseStart continueAfterFalseStart = 2;
}
}
message FalseStartSettings {
FalseStartBehaviour behaviour = 1;
2024-12-02 23:04:31 +01:00
// 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;
}
message IndicatorSettings {
2024-12-02 23:04:31 +01:00
// Software brightness control. Maximum value is 254, default value is 254.
uint32 brightness = 1;
// 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
2024-11-26 20:45:28 +01:00
// state). Otherwise, it will continue blinking until the race is reset.
bool turnOffWhenFalseStartSoundIsMuted = 2;
2024-12-02 23:04:31 +01:00
// If set to true, the indicator will turn off when the race is in IDLE state.
2024-11-26 20:45:28 +01:00
// Otherwise, it will be red.
bool turnOffWhenIdle = 3;
}
message TrainingClassicRaceMode {
StartProcedure startProcedure = 1;
2024-11-26 20:45:28 +01:00
// The number of lanes cannot be changed by the client.
repeated LaneSettings lanes = 2;
FalseStartSettings falseStartSettings = 3;
IndicatorSettings indicatorSettings = 4;
}
2024-12-02 22:26:02 +01:00
message StopwatchSettings {
oneof mode {
CompetitionClassicRaceMode competitionClassicRaceMode = 1;
TrainingClassicRaceMode trainingClassicRaceMode = 2;
// TODO CompetitionRelayMode competitionRelayMode = 3;
// TODO Competition4SpeedMode competition4SpeedMode = 4;
}
}
message Settings {
2024-11-26 20:45:28 +01:00
// if the settings are stored as default in the flash memory.
bool default = 1;
2024-12-02 22:26:02 +01:00
// DEPRECATED, just kept for compatibility, use StopwatchSettings instead!
2024-12-02 23:04:31 +01:00
// 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 ];
SoundSettings sound = 3;
2024-12-02 22:26:02 +01:00
StopwatchSettings stopwatchSettings = 4;
SecuritySettings securitySettings = 5;
}