James Kuszmaul | 61a971f | 2020-01-01 15:06:18 -0800 | [diff] [blame^] | 1 | syntax = "proto2"; |
| 2 | |
| 3 | package 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. |
| 9 | message 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. |
| 16 | message 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. |
| 29 | message Axes { |
| 30 | repeated Signal signal = 1; |
| 31 | optional string ylabel = 2; |
| 32 | } |
| 33 | |
| 34 | // Message representing a single pyplot figure. |
| 35 | message Figure { |
| 36 | repeated Axes axes = 1; |
| 37 | } |
| 38 | |
| 39 | // This configuration specifies what to plot when reading from a logfile. |
| 40 | message 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 | } |