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.
Need to call item->ride() in order to load the ride, and should ignore those
for which the result is NULL. Do this after checking the date, though, so
that we don't load older rides into memory.
Before, if distance and speed were both zero, time_riding was set
to zero, and the manual ride time would not be included in the
weekly summary. This patch fixes that by overriding time_riding.