69 lines
No EOL
1.8 KiB
Protocol Buffer
69 lines
No EOL
1.8 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package ScStw;
|
|
|
|
message TrainingClassicRaceExtraState {
|
|
// If this stays `true` for at least the configured autostart
|
|
// standstillDurationBeforeStart, an autostart will be executed.
|
|
// Once this becomes true, clients should display indicate it and
|
|
// optionally show a countdown.
|
|
bool autostartPending = 1;
|
|
|
|
// If this is `true`, the time is calculated and the valid.
|
|
// This happens when the athlete does a false start but still finishes.
|
|
// In this case, the client should mark the time as invalid.
|
|
bool timeIsCalculated = 2;
|
|
}
|
|
|
|
message LaneExtraState {
|
|
oneof state {
|
|
TrainingClassicRaceExtraState trainingClassicRaceExtraState = 1;
|
|
// TODO CompetitionRelayExtraState competitionRelayMode = 2;
|
|
// TODO Competition4SpeedExtraState competition4SpeedMode = 3;
|
|
}
|
|
}
|
|
|
|
message LaneFullState {
|
|
enum State {
|
|
IDLE = 0;
|
|
IDLE_FOOT_DOWN = 1;
|
|
READY_FOOT_DOWN = 2;
|
|
RUNNING_FOOT_DOWN = 3;
|
|
RUNNING = 4;
|
|
FALSE_START = 5;
|
|
FALSE_START_TIE = 6;
|
|
WILDCARD = 7;
|
|
FINISHED = 8;
|
|
FINISHED_WINNER = 9;
|
|
FINISHED_TIE = 10;
|
|
FALL = 11;
|
|
DISABLED = 12;
|
|
}
|
|
State state = 1;
|
|
|
|
// The reaction time in milliseconds relative to the beginning of the start
|
|
// sequence. To get the common representation of the reaction time (relative
|
|
// to the beginning of the third beep), 3000ms must be subtracted.
|
|
// If this is 0, the reaction time is not set (yet).
|
|
uint32 reactionTime = 2;
|
|
|
|
// The climbing time in milliseconds relative to the beginning of the third
|
|
// beep.
|
|
// If this is 0, the climbing time is not set (yet).
|
|
uint32 climbingTime = 3;
|
|
|
|
LaneExtraState extraState = 4;
|
|
}
|
|
|
|
message RaceFullState {
|
|
enum State {
|
|
IDLE = 0;
|
|
IDLE_CLEAR_TO_START = 1;
|
|
STARTING = 2;
|
|
RUNNING = 3;
|
|
FINISHED = 4;
|
|
FINISHED_MUTED = 5;
|
|
}
|
|
State state = 1;
|
|
repeated LaneFullState laneStates = 2;
|
|
} |