TauLabs/TauLabs — pull request #318 by kubark42 (2013-02-12 15:52:59+00:00)
Title: Scopes refactor

This is the continuation of https://github.com/TauLabs/TauLabs/pull/215 and https://github.com/TauLabs/TauLabs/pull/293. It will likely need an update before merging since https://github.com/TauLabs/TauLabs/pull/315 modifies the same files.

You must not run this with existing XML config files, as the Q_ASSERTs will cause it to crash when it tries to parse the scopes configuration. These need to be remove once the review is done but right now they're keeping me honest because so much has changed. For the moment, move your existing .config/TauLabs_config.xml and start over with a new environment.

Histogram
![Screen Shot 2013-02-07 at 8 27 07 PM](https://f.cloud.github.com/assets/1118185/136928/6d368372-715c-11e2-9672-7b60403ceeb4.png)

Spectrogram
![Screen Shot 2013-02-07 at 8 26 57 PM](https://f.cloud.github.com/assets/1118185/136929/70c61be2-715c-11e2-846b-6114a10c86e7.png)

Scatterplot
![Screen Shot 2013-02-07 at 8 26 50 PM](https://f.cloud.github.com/assets/1118185/136930/73710046-715c-11e2-811a-132dc9949669.png)

On the left side, gyroscope output, averaged gyroscope output, and standard deviation of gyroscope output.

On the right, histogram binning of the accelerometer output. (Ignore the bin size, that was just a test to make sure that bins 0 across don't blow up the plugin.)
![Screen Shot 2013-02-07 at 8 26 28 PM](https://f.cloud.github.com/assets/1118185/136931/7546a45c-715c-11e2-8ae3-81d39feffa4b.png)

Accelerometer showing spectrogram (resolution is limited because of lack of free memory on FlyingF3. The Quanton should be able to do 32 bin output without a problem).
![Screen Shot 2013-02-07 at 8 24 48 PM](https://f.cloud.github.com/assets/1118185/136933/798379e6-715c-11e2-8e08-c76236a7b790.png)

More views of multiple curves from single data source
![Screen Shot 2013-02-07 at 6 37 23 PM](https://f.cloud.github.com/assets/1118185/136935/7bbd7d2e-715c-11e2-9d22-c99b497c419c.png)

3-axis accelerometer output through the histogram.
![Screen Shot 2013-02-06 at 4 35 17 AM](https://f.cloud.github.com/assets/1118185/136939/810138fc-715c-11e2-8075-990ac34160aa.png)

Some of my class choices probably weren't best, I was learning some more about OO programming as I was going along. Specifically, the way that I've done the 2D and 3D branching seems to me as if I could have done that with class inheritance, but that's about as far as I see right now.

There are no known bugs, although I'm not yet satisfied with the way the UI works. I'm open to suggestions on layout, especially if someone knows how to make the blue selection bar used in the 2D curve selection window to be a dotted line around a transparent highlight instead of a blue highlight.