vex_mqtt_rust/proto/fieldhw.proto

122 lines
2.5 KiB
Protocol Buffer

syntax = "proto2";
package tm;
import "division.proto";
message FieldHwState {
enum FieldState {
DISABLED = 0;
ENABLED = 1;
AUTO = 2;
DRIVER = 3;
TIMEOUT = 4;
}
enum FieldCause {
NONE = 0;
MATCH_STARTED = 1;
MATCH_ENDED = 2;
MATCH_PAUSED = 3;
MATCH_RESUMED = 4;
MATCH_ENDED_EARLY = 5;
MATCH_ABORTED = 6;
TRANSITIONED = 7;
}
optional tm.Field field = 1;
optional tm.FieldHwState.FieldState state = 2 [default = DISABLED];
optional tm.FieldHwState.FieldCause cause = 3 [default = NONE];
}
message Field {
optional string name = 1;
optional int32 id = 2;
optional int32 fieldSetId = 3;
}
message FieldSet {
enum FieldSetType {
USER_DEFINED = 1;
SIDE_CHALLENGE = 2;
}
optional string name = 1;
repeated tm.Field fields = 3;
optional int32 id = 4;
optional tm.FieldSet.FieldSetType type = 5 [default = USER_DEFINED];
}
message FieldSetList {
repeated tm.FieldSet fieldSets = 1;
}
message MatchTimeSchedEntry {
enum BlockType {
TIMER_ONLY = 1;
AUTONOMOUS = 2;
DRIVER_CTRL = 3;
PAUSE = 4;
}
optional int32 seconds = 1;
optional tm.MatchTimeSchedEntry.BlockType type = 2;
optional string name = 3;
}
message MatchTimeSchedList {
enum MatchType {
NORMAL = 1;
AUTO_CHALLENGE = 2;
DRIVER_CHALLENGE = 3;
}
repeated tm.MatchTimeSchedEntry entries = 1;
optional tm.MatchTimeSchedList.MatchType matchType = 2;
}
message FieldTime {
optional tm.Field field = 1;
optional tm.MatchTimeSchedList blockList = 2;
optional int32 currentBlock = 3;
optional double currentBlockStart = 4;
optional double currentBlockEnd = 5;
}
message AssignedObjectType {
enum AssignedObjectEnum {
MATCH = 1;
SC = 2;
TIME_OUT = 3;
}
}
message FieldControlTeamStatus {
enum State {
READY = 1;
ERROR = 2;
NO_CONNECTION = 3;
}
enum ErrorCondition {
NO_FIELD_CONNECTION = 1;
PARTNER_CONNECTED = 2;
BAD_RADIO_TYPE = 3;
NO_RADIO_LINK = 4;
BAD_CONTROLLER_FW = 5;
BAD_BRAIN_FW = 6;
BAD_CONTROLLER_RADIO_FW = 7;
BAD_BRAIN_RADIO_FW = 8;
USER_PGM_NOT_RUNNING = 9;
NOT_COMP_CHANNEL = 10;
NOT_SMARTFIELD = 11;
}
optional tm.FieldControlTeamStatus.State state = 1;
optional tm.FieldControlTeamStatus.ErrorCondition err = 2;
optional string details = 3;
optional string teamNum = 4;
}
message FieldControlStatus {
enum State {
INVALID = 0;
INACTIVE = 1;
ACTIVE = 2;
}
optional tm.FieldControlStatus.State state = 1;
repeated tm.FieldControlTeamStatus teams = 2;
}