60 lines
No EOL
1.4 KiB
Protocol Buffer
60 lines
No EOL
1.4 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;
|
|
uint32 reactionTime = 2;
|
|
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;
|
|
} |