Split front and back intake plotter
Change-Id: Ia1c8d7e815cd458ec6f8ecd34116861fd536731c
Signed-off-by: Ravago Jones <ravagojones@gmail.com>
diff --git a/y2022/control_loops/superstructure/intake_plotter.ts b/y2022/control_loops/superstructure/intake_plotter.ts
index 592d85f..8904d8b 100644
--- a/y2022/control_loops/superstructure/intake_plotter.ts
+++ b/y2022/control_loops/superstructure/intake_plotter.ts
@@ -9,7 +9,7 @@
const DEFAULT_WIDTH = AosPlotter.DEFAULT_WIDTH * 5 / 2;
const DEFAULT_HEIGHT = AosPlotter.DEFAULT_HEIGHT * 3;
-export function plotIntake(conn: Connection, element: Element) : void {
+export function plotIntakeFront(conn: Connection, element: Element) : void {
const aosPlotter = new AosPlotter(conn);
const goal = aosPlotter.addMessageSource('/superstructure', 'y2022.control_loops.superstructure.Goal');
const output = aosPlotter.addMessageSource('/superstructure', 'y2022.control_loops.superstructure.Output');
@@ -30,19 +30,6 @@
positionPlotFront.addMessageLine(status, ['intake_front', 'goal_velocity']).setColor(ORANGE).setPointSize(4.0);
positionPlotFront.addMessageLine(status, ['intake_front', 'estimator_state', 'position']).setColor(CYAN).setPointSize(1.0);
- const positionPlotBack =
- aosPlotter.addPlot(element, [DEFAULT_WIDTH, DEFAULT_HEIGHT / 2]);
- positionPlotBack.plot.getAxisLabels().setTitle('Position');
- positionPlotBack.plot.getAxisLabels().setXLabel(TIME);
- positionPlotBack.plot.getAxisLabels().setYLabel('rad');
- positionPlotBack.plot.setDefaultYRange([-1.0, 2.0]);
-
- positionPlotBack.addMessageLine(status, ['intake_back', 'position']).setColor(GREEN).setPointSize(4.0);
- positionPlotBack.addMessageLine(status, ['intake_back', 'velocity']).setColor(PINK).setPointSize(1.0);
- positionPlotBack.addMessageLine(status, ['intake_back', 'goal_position']).setColor(RED).setPointSize(4.0);
- positionPlotBack.addMessageLine(status, ['intake_back', 'goal_velocity']).setColor(ORANGE).setPointSize(4.0);
- positionPlotBack.addMessageLine(status, ['intake_back', 'estimator_state', 'position']).setColor(CYAN).setPointSize(1.0);
-
const voltagePlotFront =
aosPlotter.addPlot(element, [DEFAULT_WIDTH, DEFAULT_HEIGHT / 2]);
voltagePlotFront.plot.getAxisLabels().setTitle('Voltage');
@@ -55,6 +42,35 @@
voltagePlotFront.addMessageLine(status, ['intake_front', 'position_power']).setColor(BROWN).setPointSize(1.0);
voltagePlotFront.addMessageLine(status, ['intake_front', 'velocity_power']).setColor(CYAN).setPointSize(1.0);
voltagePlotFront.addMessageLine(robotState, ['voltage_battery']).setColor(GREEN).setPointSize(1.0);
+}
+
+export function plotIntakeBack(conn: Connection, element: Element) : void {
+ const aosPlotter = new AosPlotter(conn);
+ const goal = aosPlotter.addMessageSource('/superstructure', 'y2022.control_loops.superstructure.Goal');
+ const output = aosPlotter.addMessageSource('/superstructure', 'y2022.control_loops.superstructure.Output');
+ const status = aosPlotter.addMessageSource('/superstructure', 'y2022.control_loops.superstructure.Status');
+ const robotState = aosPlotter.addMessageSource('/aos', 'aos.RobotState');
+
+ // Robot Enabled/Disabled and Mode
+ const positionPlotFront =
+ aosPlotter.addPlot(element, [DEFAULT_WIDTH, DEFAULT_HEIGHT / 2]);
+ positionPlotFront.plot.getAxisLabels().setTitle('Position');
+ positionPlotFront.plot.getAxisLabels().setXLabel(TIME);
+ positionPlotFront.plot.getAxisLabels().setYLabel('rad');
+ positionPlotFront.plot.setDefaultYRange([-1.0, 2.0]);
+
+ const positionPlotBack =
+ aosPlotter.addPlot(element, [DEFAULT_WIDTH, DEFAULT_HEIGHT / 2]);
+ positionPlotBack.plot.getAxisLabels().setTitle('Position');
+ positionPlotBack.plot.getAxisLabels().setXLabel(TIME);
+ positionPlotBack.plot.getAxisLabels().setYLabel('rad');
+ positionPlotBack.plot.setDefaultYRange([-1.0, 2.0]);
+
+ positionPlotBack.addMessageLine(status, ['intake_back', 'position']).setColor(GREEN).setPointSize(4.0);
+ positionPlotBack.addMessageLine(status, ['intake_back', 'velocity']).setColor(PINK).setPointSize(1.0);
+ positionPlotBack.addMessageLine(status, ['intake_back', 'goal_position']).setColor(RED).setPointSize(4.0);
+ positionPlotBack.addMessageLine(status, ['intake_back', 'goal_velocity']).setColor(ORANGE).setPointSize(4.0);
+ positionPlotBack.addMessageLine(status, ['intake_back', 'estimator_state', 'position']).setColor(CYAN).setPointSize(1.0);
const voltagePlotBack =