Scouting: Add docked and engaged to Stats2023
Signed-off-by: Emily Markova <emily.markova@gmail.com>
Change-Id: Id76146cf05ebfe06809fbde422eaeec2e0af6bb1
diff --git a/scouting/db/db.go b/scouting/db/db.go
index 8c7a93a..3791596 100644
--- a/scouting/db/db.go
+++ b/scouting/db/db.go
@@ -77,6 +77,8 @@
LowCubes, MiddleCubes, HighCubes, CubesDropped int32
LowCones, MiddleCones, HighCones, ConesDropped int32
AvgCycle int64
+ DockedAuto, EngagedAuto bool
+ Docked, Engaged bool
// The username of the person who collected these statistics.
// "unknown" if submitted without logging in.
// Empty if the stats have not yet been collected.
diff --git a/scouting/db/db_test.go b/scouting/db/db_test.go
index 294dc13..72c5f86 100644
--- a/scouting/db/db_test.go
+++ b/scouting/db/db_test.go
@@ -245,7 +245,8 @@
ConesDroppedAuto: 0, LowCubes: 1, MiddleCubes: 2,
HighCubes: 1, CubesDropped: 0, LowCones: 0,
MiddleCones: 2, HighCones: 1, ConesDropped: 1,
- AvgCycle: 0, CollectedBy: "emma",
+ AvgCycle: 0, DockedAuto: true, EngagedAuto: false,
+ Docked: false, Engaged: false, CollectedBy: "emma",
},
Stats2023{
TeamNumber: "7454", MatchNumber: 3, SetNumber: 1,
@@ -255,7 +256,8 @@
ConesDroppedAuto: 1, LowCubes: 1, MiddleCubes: 0,
HighCubes: 0, CubesDropped: 1, LowCones: 0,
MiddleCones: 0, HighCones: 1, ConesDropped: 0,
- AvgCycle: 0, CollectedBy: "tyler",
+ AvgCycle: 0, DockedAuto: false, EngagedAuto: false,
+ Docked: true, Engaged: true, CollectedBy: "tyler",
},
Stats2023{
TeamNumber: "4354", MatchNumber: 3, SetNumber: 1,
@@ -265,7 +267,8 @@
ConesDroppedAuto: 1, LowCubes: 0, MiddleCubes: 0,
HighCubes: 2, CubesDropped: 1, LowCones: 1,
MiddleCones: 1, HighCones: 0, ConesDropped: 1,
- AvgCycle: 0, CollectedBy: "isaac",
+ AvgCycle: 0, DockedAuto: false, EngagedAuto: false,
+ Docked: false, Engaged: false, CollectedBy: "isaac",
},
Stats2023{
TeamNumber: "6533", MatchNumber: 3, SetNumber: 1,
@@ -275,7 +278,8 @@
ConesDroppedAuto: 0, LowCubes: 0, MiddleCubes: 1,
HighCubes: 2, CubesDropped: 1, LowCones: 0,
MiddleCones: 1, HighCones: 0, ConesDropped: 0,
- AvgCycle: 0, CollectedBy: "will",
+ AvgCycle: 0, DockedAuto: true, EngagedAuto: true,
+ Docked: false, Engaged: false, CollectedBy: "will",
},
Stats2023{
TeamNumber: "8354", MatchNumber: 3, SetNumber: 1,
@@ -285,7 +289,8 @@
ConesDroppedAuto: 1, LowCubes: 1, MiddleCubes: 0,
HighCubes: 0, CubesDropped: 2, LowCones: 1,
MiddleCones: 1, HighCones: 0, ConesDropped: 1,
- AvgCycle: 0, CollectedBy: "unkown",
+ AvgCycle: 0, DockedAuto: true, EngagedAuto: false,
+ Docked: true, Engaged: false, CollectedBy: "unkown",
},
}
@@ -333,7 +338,8 @@
ConesDroppedAuto: 0, LowCubes: 1, MiddleCubes: 2,
HighCubes: 1, CubesDropped: 0, LowCones: 0,
MiddleCones: 2, HighCones: 1, ConesDropped: 1,
- AvgCycle: 0, CollectedBy: "emma",
+ AvgCycle: 0, DockedAuto: true, EngagedAuto: false,
+ Docked: false, Engaged: false, CollectedBy: "emma",
},
Stats2023{
TeamNumber: "7454", MatchNumber: 4, SetNumber: 1,
@@ -343,7 +349,8 @@
ConesDroppedAuto: 1, LowCubes: 1, MiddleCubes: 0,
HighCubes: 0, CubesDropped: 1, LowCones: 0,
MiddleCones: 0, HighCones: 1, ConesDropped: 0,
- AvgCycle: 0, CollectedBy: "tyler",
+ AvgCycle: 0, DockedAuto: true, EngagedAuto: true,
+ Docked: false, Engaged: false, CollectedBy: "tyler",
},
Stats2023{
TeamNumber: "6344", MatchNumber: 5, SetNumber: 1,
@@ -353,7 +360,8 @@
ConesDroppedAuto: 0, LowCubes: 1, MiddleCubes: 2,
HighCubes: 1, CubesDropped: 0, LowCones: 0,
MiddleCones: 2, HighCones: 1, ConesDropped: 1,
- AvgCycle: 0, CollectedBy: "emma",
+ AvgCycle: 0, DockedAuto: true, EngagedAuto: false,
+ Docked: true, Engaged: false, CollectedBy: "emma",
},
}
@@ -457,7 +465,8 @@
ConesDroppedAuto: 1, LowCubes: 0, MiddleCubes: 1,
HighCubes: 2, CubesDropped: 1, LowCones: 1,
MiddleCones: 0, HighCones: 1, ConesDropped: 2,
- AvgCycle: 58, CollectedBy: "unknown",
+ AvgCycle: 58, DockedAuto: false, EngagedAuto: false,
+ Docked: true, Engaged: true, CollectedBy: "unknown",
},
Stats2023{
TeamNumber: "2314", MatchNumber: 5, SetNumber: 1,
@@ -467,7 +476,8 @@
ConesDroppedAuto: 0, LowCubes: 2, MiddleCubes: 0,
HighCubes: 1, CubesDropped: 0, LowCones: 0,
MiddleCones: 2, HighCones: 1, ConesDropped: 0,
- AvgCycle: 34, CollectedBy: "simon",
+ AvgCycle: 34, DockedAuto: true, EngagedAuto: true,
+ Docked: true, Engaged: false, CollectedBy: "simon",
},
Stats2023{
TeamNumber: "3242", MatchNumber: 5, SetNumber: 1,
@@ -477,7 +487,8 @@
ConesDroppedAuto: 1, LowCubes: 0, MiddleCubes: 2,
HighCubes: 0, CubesDropped: 0, LowCones: 2,
MiddleCones: 0, HighCones: 1, ConesDropped: 1,
- AvgCycle: 50, CollectedBy: "eliza",
+ AvgCycle: 50, DockedAuto: false, EngagedAuto: false,
+ Docked: false, Engaged: false, CollectedBy: "eliza",
},
Stats2023{
TeamNumber: "1742", MatchNumber: 5, SetNumber: 1,
@@ -487,7 +498,8 @@
ConesDroppedAuto: 1, LowCubes: 0, MiddleCubes: 1,
HighCubes: 2, CubesDropped: 1, LowCones: 0,
MiddleCones: 2, HighCones: 1, ConesDropped: 1,
- AvgCycle: 49, CollectedBy: "isaac",
+ AvgCycle: 49, DockedAuto: true, EngagedAuto: false,
+ Docked: false, Engaged: false, CollectedBy: "isaac",
},
Stats2023{
TeamNumber: "2454", MatchNumber: 5, SetNumber: 1,
@@ -497,7 +509,8 @@
ConesDroppedAuto: 1, LowCubes: 1, MiddleCubes: 2,
HighCubes: 0, CubesDropped: 0, LowCones: 1,
MiddleCones: 1, HighCones: 1, ConesDropped: 0,
- AvgCycle: 70, CollectedBy: "sam",
+ AvgCycle: 70, DockedAuto: true, EngagedAuto: true,
+ Docked: false, Engaged: false, CollectedBy: "sam",
},
}
@@ -510,7 +523,8 @@
ConesDroppedAuto: 1, LowCubes: 0, MiddleCubes: 2,
HighCubes: 0, CubesDropped: 0, LowCones: 2,
MiddleCones: 0, HighCones: 1, ConesDropped: 1,
- AvgCycle: 50, CollectedBy: "eliza",
+ AvgCycle: 50, DockedAuto: false, EngagedAuto: false,
+ Docked: false, Engaged: false, CollectedBy: "eliza",
},
Stats2023{
TeamNumber: "2454", MatchNumber: 5, SetNumber: 1,
@@ -520,7 +534,8 @@
ConesDroppedAuto: 1, LowCubes: 1, MiddleCubes: 2,
HighCubes: 0, CubesDropped: 0, LowCones: 1,
MiddleCones: 1, HighCones: 1, ConesDropped: 0,
- AvgCycle: 70, CollectedBy: "sam",
+ AvgCycle: 70, DockedAuto: true, EngagedAuto: true,
+ Docked: false, Engaged: false, CollectedBy: "sam",
},
}
@@ -983,7 +998,8 @@
ConesDroppedAuto: 1, LowCubes: 1, MiddleCubes: 2,
HighCubes: 1, CubesDropped: 0, LowCones: 2,
MiddleCones: 0, HighCones: 2, ConesDropped: 1,
- AvgCycle: 51, CollectedBy: "isaac",
+ AvgCycle: 51, DockedAuto: true, EngagedAuto: true,
+ Docked: false, Engaged: false, CollectedBy: "isaac",
},
Stats2023{
TeamNumber: "5443", MatchNumber: 2, SetNumber: 1,
@@ -993,7 +1009,8 @@
ConesDroppedAuto: 0, LowCubes: 2, MiddleCubes: 2,
HighCubes: 1, CubesDropped: 0, LowCones: 1,
MiddleCones: 0, HighCones: 2, ConesDropped: 1,
- AvgCycle: 39, CollectedBy: "jack",
+ AvgCycle: 39, DockedAuto: false, EngagedAuto: false,
+ Docked: false, Engaged: false, CollectedBy: "jack",
},
Stats2023{
TeamNumber: "5436", MatchNumber: 2, SetNumber: 1,
@@ -1003,7 +1020,8 @@
ConesDroppedAuto: 1, LowCubes: 2, MiddleCubes: 2,
HighCubes: 0, CubesDropped: 0, LowCones: 1,
MiddleCones: 2, HighCones: 1, ConesDropped: 1,
- AvgCycle: 45, CollectedBy: "martin",
+ AvgCycle: 45, DockedAuto: true, EngagedAuto: false,
+ Docked: false, Engaged: false, CollectedBy: "martin",
},
Stats2023{
TeamNumber: "5643", MatchNumber: 2, SetNumber: 1,
@@ -1013,7 +1031,8 @@
ConesDroppedAuto: 1, LowCubes: 2, MiddleCubes: 2,
HighCubes: 0, CubesDropped: 0, LowCones: 2,
MiddleCones: 2, HighCones: 1, ConesDropped: 1,
- AvgCycle: 34, CollectedBy: "unknown",
+ AvgCycle: 34, DockedAuto: true, EngagedAuto: false,
+ Docked: true, Engaged: false, CollectedBy: "unknown",
},
}
diff --git a/scouting/webserver/requests/messages/request_2023_data_scouting_response.fbs b/scouting/webserver/requests/messages/request_2023_data_scouting_response.fbs
index 93583ce..cd6afc6 100644
--- a/scouting/webserver/requests/messages/request_2023_data_scouting_response.fbs
+++ b/scouting/webserver/requests/messages/request_2023_data_scouting_response.fbs
@@ -26,8 +26,12 @@
cones_dropped:int (id:18);
// Time in nanoseconds.
avg_cycle:int64 (id:19);
+ docked_auto:bool (id:20);
+ engaged_auto:bool (id:23);
+ docked:bool (id:25);
+ engaged:bool (id:26);
- collected_by:string (id:20);
+ collected_by:string (id:24);
}
table Request2023DataScoutingResponse {
diff --git a/scouting/webserver/requests/requests.go b/scouting/webserver/requests/requests.go
index 3aa9076..4f12a4f 100644
--- a/scouting/webserver/requests/requests.go
+++ b/scouting/webserver/requests/requests.go
@@ -524,6 +524,15 @@
var startMatchAction submit_actions.StartMatchAction
startMatchAction.Init(actionTable.Bytes, actionTable.Pos)
stat.StartingQuadrant = startMatchAction.Position()
+ } else if action_type == submit_actions.ActionTypeAutoBalanceAction {
+ var autoBalanceAction submit_actions.AutoBalanceAction
+ autoBalanceAction.Init(actionTable.Bytes, actionTable.Pos)
+ if autoBalanceAction.Docked() {
+ stat.DockedAuto = true
+ }
+ if autoBalanceAction.Engaged() {
+ stat.EngagedAuto = true
+ }
} else if action_type == submit_actions.ActionTypePickupObjectAction {
var pick_up_action submit_actions.PickupObjectAction
pick_up_action.Init(actionTable.Bytes, actionTable.Pos)
@@ -587,6 +596,15 @@
cycles += 1
}
lastPlacedTime = int64(action.Timestamp())
+ } else if action_type == submit_actions.ActionTypeEndMatchAction {
+ var endMatchAction submit_actions.EndMatchAction
+ endMatchAction.Init(actionTable.Bytes, actionTable.Pos)
+ if endMatchAction.Docked() {
+ stat.Docked = true
+ }
+ if endMatchAction.Engaged() {
+ stat.Engaged = true
+ }
}
}
if cycles != 0 {
@@ -645,6 +663,10 @@
HighCones: stat.HighCones,
ConesDropped: stat.ConesDropped,
AvgCycle: stat.AvgCycle,
+ DockedAuto: stat.DockedAuto,
+ EngagedAuto: stat.EngagedAuto,
+ Docked: stat.Docked,
+ Engaged: stat.Engaged,
CollectedBy: stat.CollectedBy,
})
}
diff --git a/scouting/webserver/requests/requests_test.go b/scouting/webserver/requests/requests_test.go
index 50d6820..d2d5acc 100644
--- a/scouting/webserver/requests/requests_test.go
+++ b/scouting/webserver/requests/requests_test.go
@@ -209,7 +209,8 @@
ConesDroppedAuto: 0, LowCubes: 1, MiddleCubes: 1,
HighCubes: 2, CubesDropped: 1, LowCones: 1,
MiddleCones: 2, HighCones: 0, ConesDropped: 1,
- AvgCycle: 34, CollectedBy: "alex",
+ AvgCycle: 34, DockedAuto: true, EngagedAuto: true,
+ Docked: false, Engaged: false, CollectedBy: "alex",
},
{
TeamNumber: "973", MatchNumber: 3, SetNumber: 1,
@@ -219,7 +220,8 @@
ConesDroppedAuto: 1, LowCubes: 0, MiddleCubes: 0,
HighCubes: 1, CubesDropped: 0, LowCones: 0,
MiddleCones: 2, HighCones: 1, ConesDropped: 1,
- AvgCycle: 53, CollectedBy: "bob",
+ AvgCycle: 53, DockedAuto: true, EngagedAuto: false,
+ Docked: false, Engaged: false, CollectedBy: "bob",
},
},
}
@@ -367,7 +369,8 @@
ConesDroppedAuto: 0, LowCubes: 1, MiddleCubes: 1,
HighCubes: 2, CubesDropped: 1, LowCones: 1,
MiddleCones: 2, HighCones: 0, ConesDropped: 1,
- AvgCycle: 34, CollectedBy: "isaac",
+ AvgCycle: 34, DockedAuto: true, EngagedAuto: false,
+ Docked: false, Engaged: false, CollectedBy: "isaac",
},
{
TeamNumber: "2343", MatchNumber: 1, SetNumber: 2,
@@ -377,7 +380,8 @@
ConesDroppedAuto: 1, LowCubes: 0, MiddleCubes: 0,
HighCubes: 1, CubesDropped: 0, LowCones: 0,
MiddleCones: 2, HighCones: 1, ConesDropped: 1,
- AvgCycle: 53, CollectedBy: "unknown",
+ AvgCycle: 53, DockedAuto: false, EngagedAuto: false,
+ Docked: false, Engaged: false, CollectedBy: "unknown",
},
},
}
@@ -404,7 +408,8 @@
ConesDroppedAuto: 0, LowCubes: 1, MiddleCubes: 1,
HighCubes: 2, CubesDropped: 1, LowCones: 1,
MiddleCones: 2, HighCones: 0, ConesDropped: 1,
- AvgCycle: 34, CollectedBy: "isaac",
+ AvgCycle: 34, DockedAuto: true, EngagedAuto: false,
+ Docked: false, Engaged: false, CollectedBy: "isaac",
},
{
TeamNumber: "2343", MatchNumber: 1, SetNumber: 2,
@@ -414,7 +419,8 @@
ConesDroppedAuto: 1, LowCubes: 0, MiddleCubes: 0,
HighCubes: 1, CubesDropped: 0, LowCones: 0,
MiddleCones: 2, HighCones: 1, ConesDropped: 1,
- AvgCycle: 53, CollectedBy: "unknown",
+ AvgCycle: 53, DockedAuto: false, EngagedAuto: false,
+ Docked: false, Engaged: false, CollectedBy: "unknown",
},
},
}
@@ -480,6 +486,16 @@
},
{
ActionTaken: &submit_actions.ActionTypeT{
+ Type: submit_actions.ActionTypeAutoBalanceAction,
+ Value: &submit_actions.AutoBalanceActionT{
+ Docked: true,
+ Engaged: true,
+ },
+ },
+ Timestamp: 2400,
+ },
+ {
+ ActionTaken: &submit_actions.ActionTypeT{
Type: submit_actions.ActionTypePickupObjectAction,
Value: &submit_actions.PickupObjectActionT{
ObjectType: submit_actions.ObjectTypekCone,
@@ -499,6 +515,16 @@
},
Timestamp: 3100,
},
+ {
+ ActionTaken: &submit_actions.ActionTypeT{
+ Type: submit_actions.ActionTypeEndMatchAction,
+ Value: &submit_actions.EndMatchActionT{
+ Docked: true,
+ Engaged: false,
+ },
+ },
+ Timestamp: 4000,
+ },
},
}).Pack(builder))
@@ -517,7 +543,8 @@
ConesDroppedAuto: 0, LowCubes: 0, MiddleCubes: 0,
HighCubes: 0, CubesDropped: 0, LowCones: 0,
MiddleCones: 0, HighCones: 1, ConesDropped: 0,
- AvgCycle: 1100, CollectedBy: "katie",
+ AvgCycle: 1100, DockedAuto: true, EngagedAuto: true,
+ Docked: true, Engaged: false, CollectedBy: "katie",
}
if expected != response {