This extends the existing support for Computrainer calibration to
include ANT+ devices, and provides initial support for both zero
offset and spindown calibration.
A new button (with wrench graphic) is provided to invoke calibration.
Ongoing calibration status is fed back in the new notification area
of the bottom bar. Calibration will automatically exit on completion
or error, or can be cancelled though the calibration button.
Supports multiple devices, and will round-robin between them, this
applies to both multiple ANT+ sensors (i.e. power meter and trainer),
and also multiple GC device selections (i.e. CompuTrainer and ANT+
power meter).
If an ANT+ device has advertised that calibration is required (currently
just FE-C trainers), then it will be chosen for calibration in preference
to other ANT+ devices.
Patch has been tested against FE-C trainer (Tacx Vortex Smart) and
PowerTap hub. Support for SRM (crank torque frequency) devices will
require additional changes to process the different response messages.
Shuffle bottom bar around, with new icons and state tracking
for intensity adjustment.
Add a basic text notification area into bottom bar, using a
read-only QPlainTextEdit control (defeated by QLabel resizing
with the content). Include some basic notifications for button
events.
Support for setting and clearing notification text, with timer
support for auto-clearing.
Sizes the bottom bar for three lines of text, but don't clip the
buttons vertically if text is smaller.
TODO: reinstate auto-hide functionality (new settings checkbox
not in use), and extend to include new notifcations as trigger.
Introducing a directory structure to make it a bit less
daunting for new developers and perhaps even old hands.
The main folders all start with an upper character, so src
files are now located in;
* Core - Core data structures
* Gui - Main GUI elements
* Metrics - Models and Metrics
* FileIO - Device and File I/O
* Charts - All the chart types
* Cloud - Working with Web Resources
* Train - Anything Train View specific
* ANT - Our ANT+ Stack
* Resources - Images, Translations, Web etc
Apologies to anyone who needs to merge across this update.