Added function definitions to the plotuino namespace to allow messages to be sent in the proper format. A preamble is used for synchronization and a CRC16 checksum used for data validation. An example usage was added to the pde file in the examples folder. This code still needs to be tested and documented properly.
After getting a single basic plot to work, I added three other plots and labeled them for voltage, current, power, and rpm. This will eventually be done dynamically but it is hardcoded for now. The x axes are linked together so that time is the same on all plots. The auto panning function built into pyqtgraph was insufficient because it always centered on the data and we need right-aligned data so that the newest data is always showing. To accomplish this, the range is reset every time the window is redrawn so that it is constant width but always right-aligned with the newest time. The zooming functionality still works because the view width is recalculated each time. The y axis still uses the built in auto ranging functions.

At this point, the serial connection needs to be tested and then the interface should be usable. There is still no way to save data to a file, but that should be fairly straightfoward.

The original goal was to make the program dynamically reconfigurable with commands sent through serial. This goal will take some more work, particularly on the serial communication side. For now, the interface will be customized (hard-coded) for each particular case.
Added a text box in the upper right corner of each plot to display the current value of the data. The text item is a little jumpy because PyQtGraph only allows TextItems to be positioned relative to the axes values, which are changing constantly due to the auto ranging. Ideally, an absolute positioning option would be added to allow the TextItem to be positioned in a fixed position relative to the ViewItem.