Scouting: Track mobility
Signed-off-by: Filip Kujawa <filip.j.kujawa@gmail.com>
Change-Id: Ie8f9521116887eef574ebd13e20ca837f009825e
diff --git a/scouting/www/entry/entry.component.ts b/scouting/www/entry/entry.component.ts
index b56948a..8992ed8 100644
--- a/scouting/www/entry/entry.component.ts
+++ b/scouting/www/entry/entry.component.ts
@@ -15,6 +15,7 @@
ScoreLevel,
SubmitActions,
StartMatchAction,
+ MobilityAction,
AutoBalanceAction,
PickupObjectAction,
PlaceObjectAction,
@@ -54,6 +55,11 @@
position: number;
}
| {
+ type: 'mobilityAction';
+ timestamp?: number;
+ mobility: boolean;
+ }
+ | {
type: 'autoBalanceAction';
timestamp?: number;
docked: boolean;
@@ -205,22 +211,18 @@
startMatchActionOffset
);
break;
-
- case 'pickupObjectAction':
- const pickupObjectActionOffset =
- PickupObjectAction.createPickupObjectAction(
- builder,
- action.objectType,
- action.auto || false
- );
+ case 'mobilityAction':
+ const mobilityActionOffset = MobilityAction.createMobilityAction(
+ builder,
+ action.mobility
+ );
actionOffset = Action.createAction(
builder,
BigInt(action.timestamp || 0),
- ActionType.PickupObjectAction,
- pickupObjectActionOffset
+ ActionType.MobilityAction,
+ mobilityActionOffset
);
break;
-
case 'autoBalanceAction':
const autoBalanceActionOffset =
AutoBalanceAction.createAutoBalanceAction(
@@ -237,6 +239,20 @@
);
break;
+ case 'pickupObjectAction':
+ const pickupObjectActionOffset =
+ PickupObjectAction.createPickupObjectAction(
+ builder,
+ action.objectType,
+ action.auto || false
+ );
+ actionOffset = Action.createAction(
+ builder,
+ BigInt(action.timestamp || 0),
+ ActionType.PickupObjectAction,
+ pickupObjectActionOffset
+ );
+ break;
case 'placeObjectAction':
const placeObjectActionOffset =
PlaceObjectAction.createPlaceObjectAction(
diff --git a/scouting/www/entry/entry.ng.html b/scouting/www/entry/entry.ng.html
index 72c5717..98e427b 100644
--- a/scouting/www/entry/entry.ng.html
+++ b/scouting/www/entry/entry.ng.html
@@ -118,6 +118,13 @@
>
CUBE
</button>
+ <button
+ *ngIf="autoPhase"
+ class="btn btn-light"
+ (click)="addAction({type: 'mobilityAction', mobility: true});"
+ >
+ Mobility
+ </button>
<!-- 'Balancing' during auto. -->
<div *ngIf="autoPhase" class="d-grid gap-2">
<label>
@@ -192,6 +199,13 @@
>
LOW
</button>
+ <button
+ *ngIf="autoPhase"
+ class="btn btn-light"
+ (click)="addAction({type: 'mobilityAction', mobility: true});"
+ >
+ Mobility
+ </button>
<!-- Impossible to place supercharged pieces in auto. -->
<div *ngIf="autoPhase == false" class="d-grid gap-2">
<button
@@ -202,7 +216,7 @@
</button>
</div>
<!-- 'Balancing' during auto. -->
- <div *ngIf="autoPhase" class="d-grid gap-2">
+ <div *ngIf="autoPhase" class="d-grid gap-1">
<label>
<input #docked type="checkbox" />
Docked