| 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); |
| |
| // Do not use this field. The information is collected by the webserver, |
| // not the web page. |
| collected_by:string (id: 5, deprecated); |
| |
| // 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); |
| } |