blob: 9aaea89d1a73d70b51ef35ecf3af001841794870 [file] [log] [blame]
James Kuszmaul61a971f2020-01-01 15:06:18 -08001syntax = "proto2";
2
3package frc971.analysis;
4
5// Specification fo a Channel to pull from the logfile. The name and type will
6// be the full name/type of the channel to pull from the logfile. The alias is a
7// shorter, easier to type, name that the rest of the logfile will use to refer
8// to the channel.
9message Channel {
10 optional string name = 1;
11 optional string type = 2;
12 optional string alias = 3;
13}
14
15// A specification for a single signal within a Channel.
16message Signal {
17 // Alias for the channel to pull the signal from--this should match an alias
18 // specified in one of the Channels.
19 optional string channel = 1;
20 // Specification of the field to plot. Currently, this only supports simple
21 // submessages, using dots. To access, e.g., the "bar" member of the "foo"
22 // submessage, field would be "foo.bar". This does not currently support
23 // working with repeated fields.
24 optional string field = 2;
25}
26
27// Message representing a single pyplot Axes, with specifications for exactly
28// which signals to show in the supplied subplot.
29message Axes {
30 repeated Signal signal = 1;
31 optional string ylabel = 2;
32}
33
34// Message representing a single pyplot figure.
35message Figure {
36 repeated Axes axes = 1;
37}
38
39// This configuration specifies what to plot when reading from a logfile.
40message PlotConfig {
41 // List of channels and their aliases to use in the plot.
42 repeated Channel channel = 1;
43 // Figures to plot.
44 repeated Figure figure = 2;
45}