Add New 2024 Actions + Stats
Signed-off-by: Emily Markova <emily.markova@gmail.com>
Change-Id: I945b6e4450695119ad1edc72701f4a9afe79c3c4
diff --git a/scouting/webserver/requests/messages/BUILD b/scouting/webserver/requests/messages/BUILD
index 735caab..d0534a51 100644
--- a/scouting/webserver/requests/messages/BUILD
+++ b/scouting/webserver/requests/messages/BUILD
@@ -11,6 +11,8 @@
"request_all_notes_response",
"request_2023_data_scouting",
"request_2023_data_scouting_response",
+ "request_2024_data_scouting",
+ "request_2024_data_scouting_response",
"submit_notes",
"submit_notes_response",
"request_notes_for_team",
@@ -29,8 +31,12 @@
"submit_driver_ranking_response",
"submit_actions",
"submit_actions_response",
+ "submit_2024_actions",
+ "submit_2024_actions_response",
"delete_2023_data_scouting",
"delete_2023_data_scouting_response",
+ "delete_2024_data_scouting",
+ "delete_2024_data_scouting_response",
)
filegroup(
diff --git a/scouting/webserver/requests/messages/delete_2024_data_scouting.fbs b/scouting/webserver/requests/messages/delete_2024_data_scouting.fbs
new file mode 100644
index 0000000..827aa98
--- /dev/null
+++ b/scouting/webserver/requests/messages/delete_2024_data_scouting.fbs
@@ -0,0 +1,10 @@
+namespace scouting.webserver.requests;
+
+table Delete2024DataScouting {
+ comp_level:string (id: 0);
+ match_number:int (id: 1);
+ set_number:int (id: 2);
+ team_number:string (id: 3);
+}
+
+root_type Delete2024DataScouting;
diff --git a/scouting/webserver/requests/messages/delete_2024_data_scouting_response.fbs b/scouting/webserver/requests/messages/delete_2024_data_scouting_response.fbs
new file mode 100644
index 0000000..2dbb81f
--- /dev/null
+++ b/scouting/webserver/requests/messages/delete_2024_data_scouting_response.fbs
@@ -0,0 +1,7 @@
+namespace scouting.webserver.requests;
+
+table Delete2024DataScoutingResponse {
+ // empty response
+}
+
+root_type Delete2024DataScoutingResponse;
diff --git a/scouting/webserver/requests/messages/request_2024_data_scouting.fbs b/scouting/webserver/requests/messages/request_2024_data_scouting.fbs
new file mode 100644
index 0000000..738aade
--- /dev/null
+++ b/scouting/webserver/requests/messages/request_2024_data_scouting.fbs
@@ -0,0 +1,7 @@
+namespace scouting.webserver.requests;
+
+table Request2024DataScouting {
+
+}
+
+root_type Request2024DataScouting;
diff --git a/scouting/webserver/requests/messages/request_2024_data_scouting_response.fbs b/scouting/webserver/requests/messages/request_2024_data_scouting_response.fbs
new file mode 100644
index 0000000..d653f04
--- /dev/null
+++ b/scouting/webserver/requests/messages/request_2024_data_scouting_response.fbs
@@ -0,0 +1,37 @@
+namespace scouting.webserver.requests;
+
+table Stats2024 {
+ team_number:string (id: 0);
+ match_number:int (id: 1);
+ set_number:int (id: 18);
+ comp_level:string (id: 19);
+
+ starting_quadrant:int (id: 2);
+ speaker_auto:int (id:3);
+ amp_auto:int (id:4);
+ notes_dropped_auto:int (id: 5);
+ mobility_auto: bool (id: 6);
+
+ speaker:int (id:7);
+ amp:int (id:8);
+ speaker_amplified:int (id:9);
+ amp_amplified:int (id:10);
+ notes_dropped:int (id:11);
+
+ penalties:int (id:12);
+ trap_note:bool (id:13);
+ // Time in nanoseconds.
+ avg_cycle: int64 (id:14);
+ park: bool (id:15);
+ on_stage: bool (id:16);
+ harmony: bool (id:17);
+
+ pre_scouting:bool (id:20);
+ collected_by:string (id:21);
+}
+
+table Request2024DataScoutingResponse {
+ stats_list:[Stats2024] (id:0);
+}
+
+root_type Request2024DataScoutingResponse;
diff --git a/scouting/webserver/requests/messages/submit_2024_actions.fbs b/scouting/webserver/requests/messages/submit_2024_actions.fbs
new file mode 100644
index 0000000..5cb3cbe
--- /dev/null
+++ b/scouting/webserver/requests/messages/submit_2024_actions.fbs
@@ -0,0 +1,71 @@
+namespace scouting.webserver.requests;
+
+table StartMatchAction {
+ position:int (id:0);
+}
+
+enum ScoreType: short {
+ kAMP,
+ kAMP_AMPLIFIED,
+ kSPEAKER,
+ kSPEAKER_AMPLIFIED,
+}
+
+table MobilityAction {
+ mobility:bool (id:0);
+}
+
+table PenaltyAction {}
+
+table PickupNoteAction {
+ auto:bool (id:0);
+}
+
+table PlaceNoteAction {
+ score_type:ScoreType (id:0);
+ auto:bool (id:1);
+}
+
+table RobotDeathAction {
+ robot_dead:bool (id:0);
+}
+
+enum StageType: short {
+ kON_STAGE,
+ kPARK,
+ kHARMONY,
+ kMISSING,
+}
+
+table EndMatchAction {
+ stage_type:StageType (id:0);
+ trap_note:bool (id:1);
+}
+
+union ActionType {
+ MobilityAction,
+ StartMatchAction,
+ PickupNoteAction,
+ PlaceNoteAction,
+ PenaltyAction,
+ RobotDeathAction,
+ EndMatchAction
+}
+
+table Action {
+ timestamp:int64 (id:0);
+ action_taken:ActionType (id:2);
+}
+
+table Submit2024Actions {
+ 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);
+
+ // 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: 5);
+}
\ No newline at end of file
diff --git a/scouting/webserver/requests/messages/submit_2024_actions_response.fbs b/scouting/webserver/requests/messages/submit_2024_actions_response.fbs
new file mode 100644
index 0000000..100172b
--- /dev/null
+++ b/scouting/webserver/requests/messages/submit_2024_actions_response.fbs
@@ -0,0 +1,7 @@
+namespace scouting.webserver.requests;
+
+table Submit2024ActionsResponse {
+ // empty response
+}
+
+root_type Submit2024ActionsResponse;
\ No newline at end of file