blob: d435913d0022f4fc8ddc152da092da85b406d7c0 [file] [log] [blame]
namespace scouting.webserver.requests;
table StartMatchAction {
position:int (id:0);
}
enum ObjectType: short {
kCube,
kCone
}
enum ScoreLevel: short {
kLow,
kMiddle,
kHigh,
kSupercharged,
}
table MobilityAction {
mobility:bool (id:0);
}
table AutoBalanceAction {
docked:bool (id:0);
engaged:bool (id:1);
balance_attempt:bool (id:2);
}
table PickupObjectAction {
object_type:ObjectType (id:0);
auto:bool (id:1);
}
table PlaceObjectAction {
object_type:ObjectType (id:0);
score_level:ScoreLevel (id:1);
auto:bool (id:2);
}
table RobotDeathAction {
robot_on:bool (id:0);
}
table EndMatchAction {
docked:bool (id:0);
engaged:bool (id:1);
balance_attempt:bool (id:2);
}
union ActionType {
MobilityAction,
AutoBalanceAction,
StartMatchAction,
PickupObjectAction,
PlaceObjectAction,
RobotDeathAction,
EndMatchAction
}
table Action {
timestamp:int64 (id:0);
action_taken:ActionType (id:2);
}
table SubmitActions {
team_number:string (id: 0);
match_number:int (id: 1);
set_number:int (id: 2);
comp_level:string (id: 3);
actions_list:[Action] (id:4);
//TODO: delete this field
collected_by:string (id: 5);
// If this is for pre-scouting, then the server should accept this
// submission. I.e. checking that the match information exists in the match
// list should be skipped.
pre_scouting:bool (id: 6);
}