GC supports two download port types: serial ports and D2XX. Before, if
either of these failed to load, the download dialog wouldn't show either
port type. With this patch, if both fail, GC displays a warning, but if
either one succeeds, GC will proceed with only that port type. This
change should fix the problem that users were having to download and
install both the FTDI drivers and the PL2303 ones in order to download
from the SRM PCV.
There is a possibility that ride metrics may become unavailable yet
remain requested by QSettings (stored in
~/Library/Preferences/org.goldencheetah.GoldenCheetah.plist on OS X).
This patch ignores any metrics listed in the preferences yet are not
supported by the running version of Golden Cheetah.
Before, we checked them during addMetric, and that left us vulnerable
link-order errors. With this patch, we wait until someone actually asks
for an instance of a metric, and then we check all metrics' dependencies.
That way, since the Ride Summary always creates at least one metric, we'll
still check the dependencies of them all. We just do it a little later in
the program's execution than before.
In other words, we're no longer going to support files from broken 705
firmware in GC. However, GC 1.2 contains the check, so people with bad
files can open them in 1.2, export to CSV, and then import into a more
recent build.
Alternatively, if someone comes up with a good way to distinguish files that
need this check from those that don't, I'd be happy to use that.
Added cyclist-info.png to the install directive.
Edited the rsync path to reflect the absolute rather than relative path
to the www root for the goldencheetah website.
The best interval dialog rounded intervals to the nearest second
due to a casting of a double to int. This was introduced by Mark L
during the intervals code patch and is an error.
All the plots have now been adjusted to correctly determine if a ride
point is within an interval. Related cropping and binning issues in
3d plot an Histogram plot have also been corrected.
fixes#15
This is almost a complete rewrite of the functional part of the dialog.
I've tested it on both test files (2010_01_13_*.gc in test/rides).
Thanks to Mark L for pointing out a number of the problems.
When building an installer the nsi file needed to be
updated to reflect new DLL dependencies introduced by
the Model plot.
Additionally, Qt 4.6 is built using gcc 4.4 and now
requires the associated runtime dll.
fixes#21
Scrolling up and down the ride files is painfully slow when
3d is compiled in. This patch uses a setActive mechanism in
the same fashion as the pfpv and performance manager tabs.
Additionally, a recent patch to support user preferences for
units added a settings lookup that was called for every point.
This is also fixed.
fixes#16
When you're trying to download data from an empty PCV, srmpc_get_data()
returns a data structure without chunks. This will cause srm_data_write()
to fail.
While SrmDevice is catching errors returned by srmpc_get_data, it doesn't
decode + report what kind of error (errno).
Adjusted message to include the returned error.
Minor change to handle how duplicate records in tcx files are handled.
This allows for power and cadence to be properly displayed for rides
with no distance information (e.g. trainer rides).
The serial code was Linux/Mac only and utilised termio/tcsetattr
functions that were not available on Windows platforms. This patch
ports the serial code to the Windows APIs using the same approach
as the Computrainer.cpp code. It allows us to support old-style
serial download cables on Windows. (We already supported them on
Mac and Linux.)
The pedal force channel was incorrectly named - it should have been
the torque value. The AEPF/CPV values are derived from the power
cadence and cranklength. This is corrected with this patch.
Additionally, the axis labels positioning has been amended to be
more appealling and position more appropriately.
The bodge to manage so-called 'optional padding' which led to the
need to keep updating constants like 0x8014 et al was caused by a
misunderstanding of how Distribution Charts are recorded in a WKO
file.
This patch correctly decodes these segments of a WKO file and as
a result remove the need for the optpad2 function. There are still
some 'weird' constants that are parsed, but these are limited to
the artefacts resulting from the fact that the WKO software uses
MFC persistent object format to write the file data and these
constants reflect the POF Archive PIDs.
This file relies on Qt's QDataStream to handle the parsing
of primitive C types from Computrainer .3dp files, including
floats. In Qt4.5 and earlier, Qt defaulted to 32 bit
floats. In Qt4.6 and later, Qt started using 64 bit
floats by default. As a side-effect, parsing broke on
Qt4.6, leading to a crash when importing or using .3dp files.
This patch fixes the issue by using QDataStream's
"setVersion()" method to tell Qt to use the Qt4.0 serialization
format for the QDataStream used in this file. This
patch does not affect any other files. This patch
should make the formatting assumptions both backwards
and forwards compatible.
I think the previous implementation could have referenced already-deleted
RideItem objects during calls to Split Ride.
This commit removes the calendar's own map of RideItems, and instead
uses the list of rides in MainWindow::allRideItems. Because I use
binary search on that list, this implementation should be just as fast
as the old one. But because I don't hang on to any RideItem pointers
beyond a single call to RideCalendar::paintCell, it shouldn't be
vulnerable to referencing already-deleted RideItem objects.
Since the daily stress values are readily available
from the stress calculator this patch shows them on the
chart to show the make-up of the training that has resulted
in th short term and long term stress scores.
Ideally, we would also show the relative intensity for each day
too so you can view, at a glance, the intensity AND volume of the
ongoing training load -- but the intensity is not readily available
in the calculator or the stress.cache file.