Commit Graph

34 Commits

Author SHA1 Message Date
Eric Murray
8ab7c90feb User Configurable Hysteresis
Still defaults to the original value of 3 meters. Because
the metrics need to be recalculated when it changes we also
add the hysteresis factor to the zone fingerprint CRC.
2012-12-07 21:56:11 +00:00
Alejandro Martinez
2db48cc1a4 Enable metrics translations
The code setting metric names and units was moved from constructors to
an initialize method, to be called after translator initialization.
English Name is preserved as InternalName for metadata.xlm compatibility
in metric override.
Q_DECLARE_TR_FUNCTIONS(class-name) macro is used to set tr() context
when class-name is not QObject sub-class.
2012-12-04 13:59:49 -03:00
Alejandro Martinez
40321723d8 Change Pace metric to follow metric/imperial units as configured
Fixes #718
2012-07-31 14:15:33 -04:00
Mark Liversedge
2e248c3e26 Manual entries compute metrics
A few months ago I commented out the calculation of metrics
for manual ride files. This was a hack to avoid fixing the code
to handle metric calculations from overrides where there are no
data points.

This annoyingly meant that the 'rides' metric was zero for manual
ride files, and any derived metrics similarly were zero.

This patch fixes that.
2012-07-08 16:22:40 +01:00
Rainer Clasen
281026cc86 added non-zero average power metric
This might be meaningless for actual analysis, but helps to match numbers
of devices, that exclude time with zero power from the average
calculation.

While it's controversal to be usefull, this leaves the choice to the user.
2012-05-01 22:28:06 +02:00
Mark Liversedge
abb0ff0166 Add Minute Mile Pace metric
Runners tend to measure speed in minute mile pace and
this is common even if they use metric units.
2012-02-18 17:48:36 +00:00
Jamie Kimberley
356356f66b fix unit conversion error in max cadence calc
There was a unit conversion from km->miles being applied to cadence. I have
removed the offending line.

I've also changed the precision so the we report cadence as an integer.

Fixes #601.
2012-02-13 06:48:49 +00:00
Mark Liversedge
58e670e2c3 Add Temperature to Ride Summary
More complex than I had hoped for, to add
Temperature I needed to;

* introduce two new metrics Avg/Max temperature
* adjust metric conversion to include a conversionSum
  for the C to F conversion
* handle temperature as a metadata field as well as a
  ride data series
* handle the RideFile::noTemp value rather than just
  averaging or calculating max.

Fixes #603.
2012-01-15 16:27:09 +00:00
Damien
1d3193375f Add a Maximums column in the ride summary
Add maximums to the ride summary, which also required adding
max_speed and max_cadence to the basic ride metrics.

Fixes #440.
2011-09-01 19:08:53 +01:00
Mark Liversedge
c39efb2a59 Distance 2 decimal places
Aligning to recent patch to increase decimal
places when selecting an interval, this now
sets the decimal places to 2 for distance when
displaying the metric (e.g. summary, interval
summary)
2011-08-27 18:20:39 +01:00
Mark Liversedge
3aba7dd788 Inital V3 Branch 2010-12-30 17:35:23 +00:00
Damien GRAUSER
830e4efd3d HR Zones and TRIMP Metrics
This patch introduces new functionality for working with
Heartrate based data.

* HR Zones can be defined, from Resting, Maximum and Lactate HR
* TRIMP metrics are calculated; TRIMP, TRIMP100 and Zonal TRIMP
* TRIMP metrics can be used to drive the PMC
* Time In Zone metrics for HR have been added
* Histogram window will now work with Power/HR zones
* User Settings have been added to record gender, weight and others
* RideFile has a new tag "Athlete" which is set to the athlete name

Fixes #140
2010-10-31 18:08:48 +00:00
Sean Rhea
07623bf94f fix metrics for missing data
...by avoiding divide-by-zero errors.
2010-04-02 09:45:19 -04:00
Mark Liversedge
02a60735f0 Simplify RideMetric by using less pure virtual functions
Primarily to make override() a base class function that can be
used for any metric rather than expecting each metric to provide
a local version.

Also, add explicit notion of "average" vs "total" ride metrics, as
it will let us improve how the metrics DB handles averages later.
2010-03-25 09:16:22 -07:00
Mark Liversedge
7bb9cf5462 Long Term Metrics
A user configurable chart for showing ride metrics and
other calculated values over time.

* Uses SQLITE database to store metrics
* Supports any metric available from the metric factory
* Adds new MaxHr, VI, Peak Power and Time In Zone metric
* Also includes LTS/STS/SB for PM charting
* Aggregates in days, weeks, months or years
* Reads and Updates seasons.xml
* Adds cycles and adhoc date ranges in seasons.xml
* Date ranges can be selected on the plot with shift-left click
* Allows users to customise preferences for color, symbols et al
* Allows user to customise metric names and unit names
* Supports smooth curves and topN highlighting
* Has a linear regress trend line function
* Allows users to save charts to charts.xml
* A default charts.xml is built-in
* A chart manager to import/export/rename/delete charts etc
* Provides a tooltip to provide basic datapoint information
* Performance Manager adjusted to use the MetricDB
* User configurable setting for SB calculation (today/tomorrow)
2010-02-25 08:01:43 -08:00
Sean Rhea
f2ae215d4b no decimal point for elevation gain metric
Thanks to Tom W for pointing this out.
2010-01-17 20:19:45 -08:00
Sean Rhea
2514a3fd26 bug fix: manual ride time always counts towards weekly summary
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.
2010-01-02 11:50:00 -05:00
Sean Rhea
a5f75ec569 add hysteresis to ElevationGain metric 2009-12-25 10:43:13 -05:00
Sean Rhea
0d488cb9ea fix neg alt bug in ElevationGain metric 2009-12-25 10:40:54 -05:00
Sean Rhea
9d1ed11186 fix compile error with std::sort on Linux 2009-12-23 07:57:46 -05:00
Sean Rhea
ea2177cc62 add ninety_five_percent_hr metric 2009-12-22 17:54:50 -05:00
Sean Rhea
4b1805f3c2 add max_power metric 2009-12-22 17:54:38 -05:00
Sean Rhea
96b00f4b77 fix metrics for interval use 2009-12-22 17:53:40 -05:00
Sean Rhea
e16443e23f aggregateWith takes a const reference 2009-12-22 15:23:02 -05:00
Sean Rhea
0d7e923c93 get rid of PointwiseRideMetric
It's no shorter than just calling foreach, and I feel it just confuses things.
2009-12-22 15:23:02 -05:00
Sean Rhea
d096eb8854 add RideMetric::precision
...which specifies how many digits after the decimal we should show when
displaying the value of a RideMetric.
2009-12-22 15:23:01 -05:00
Sean Rhea
8aa0996e6e add RideMetric::name
The name of a RideMetric is a short string suitable for use as a label in the
ride summary.  It should be translated using QObject::tr().
2009-12-22 15:23:01 -05:00
Sean Rhea
d2b44ec508 rename RideMetric::name to RideMetric::symbol
The symbol of a ride metric is the string by which we refer to it in the
code, configuration files, and caches (like stress.cache).  It should not
be translated, and it should never be shown to the user.
2009-12-22 15:23:01 -05:00
Sean Rhea
318c9debd4 put all our unit conversions in one header file 2009-10-10 12:27:42 -04:00
Greg Lonnon
e7c7a43b8d fixed the following use of a uninitialized variable
==30062== Conditional jump or move depends on uninitialised value(s)
==30062==    at 0x49070E: ElevationGain::perPoint(RideFilePoint const*, double, RideFile const*, Zones const*, int) (BasicRideMetrics.cpp:114)
==30062==    by 0x491592: PointwiseRideMetric::compute(RideFile const*, Zones const*, int, QHash<QString, RideMetric*> const&) (RideMetric.h:54)
2009-09-07 12:27:08 -04:00
Thomas Weichmann
5c0bdd8969 Changes to add altitude data to allplot & elevation gained to ride metrics 2009-08-25 06:18:20 -04:00
Robert Carlsen
03e2f95c43 Changed the AvgCadence unit from "bpm" to "rpm". 2009-01-24 00:22:59 +00:00
Robert Carlsen
700ac5c12d From JT Conklin: Fix to force the aggregateWith() method to use properly use metric units while incrementing when set as a user preference. 2009-01-05 02:23:09 +00:00
Sean C. Rhea
6e5487ca39 everything in one directory 2008-05-12 03:28:53 +00:00