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.
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.

rjehangir/bldc_monitor,rjehangir/bldc_monitor