blob: 3498f77b7ac30e2db049cb95430cff19cbd0a74c [file] [log] [blame]
Niko Sohmers3860f8a2024-01-12 21:05:19 -08001// Provides a plot for debugging robot state-related issues.
2import {AosPlotter} from '../../../aos/network/www/aos_plotter';
3import {BLUE, BROWN, CYAN, GREEN, PINK, RED, WHITE} from '../../../aos/network/www/colors';
4import * as proxy from '../../../aos/network/www/proxy';
5
6import Connection = proxy.Connection;
7
8const TIME = AosPlotter.TIME;
9const DEFAULT_WIDTH = AosPlotter.DEFAULT_WIDTH * 2;
10const DEFAULT_HEIGHT = AosPlotter.DEFAULT_HEIGHT * 3;
11
12export function plotSuperstructure(conn: Connection, element: Element): void {
13 const aosPlotter = new AosPlotter(conn);
14 //const goal = aosPlotter.addMessageSource(
15 // '/superstructure', 'y2024.control_loops.superstructure.Goal');
16 //const output = aosPlotter.addMessageSource(
17 // '/superstructure', 'y2024.control_loops.superstructure.Output');
18 //const status = aosPlotter.addMessageSource(
19 // '/superstructure', 'y2024.control_loops.superstructure.Status');
20 const position = aosPlotter.addMessageSource(
21 '/superstructure', 'y2024.control_loops.superstructure.Position');
22 //const robotState = aosPlotter.addMessageSource('/aos', 'aos.RobotState');
23
24 const positionPlot =
25 aosPlotter.addPlot(element, [DEFAULT_WIDTH, DEFAULT_HEIGHT / 2]);
26 positionPlot.plot.getAxisLabels().setTitle('States');
27 positionPlot.plot.getAxisLabels().setXLabel(TIME);
28 positionPlot.plot.getAxisLabels().setYLabel('wonky state units');
29 positionPlot.plot.setDefaultYRange([-1.0, 2.0]);
30}