2
0
Fork 0
proto/Settings.proto

124 lines
3.7 KiB
Protocol Buffer
Raw Normal View History

syntax = "proto3";
package ScStw;
message SoundSettings {
// Software volume control, between 0 and 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;
int32 standstillDurationBeforeStart = 2;
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-11-26 20:45:28 +01:00
// time.
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;
uint32 soundDuration = 2;
}
message IndicatorSettings {
2024-11-26 20:45:28 +01:00
// Software brightness control, between 0 and 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;
// If set to true, the indicator will trun off when race is 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!
// Will be ignored when StopwatchSettings is set.
TrainingClassicRaceMode race = 2 [ deprecated = true ];
SoundSettings sound = 3;
2024-12-02 22:26:02 +01:00
StopwatchSettings stopwatchSettings = 4;
SecuritySettings securitySettings = 5;
}