Commit Graph

189 Commits

Author SHA1 Message Date
Mark Liversedge
c6d2fef46c Merge pull request #1739 from amtriathlon/stryd
Add support for running power zones (Stryd) part 3
2015-12-21 15:51:50 +00:00
grauser
8eef00d99d LTMPlot: Don't plot expected PMC in the past 2015-12-20 22:43:29 +01:00
grauser
15ba65544e RideCache: Add cache for planned ride 2015-12-20 22:43:29 +01:00
grauser
2497d5060a PMC: Prepare to add planned and expected values 2015-12-20 22:43:28 +01:00
Alejandro Martinez
078d4ac5ad Add support for running power zones (Stryd) part 3
Final part: use the zones according to sport in metrics and charts
2015-12-19 19:08:33 -03:00
Mark Liversedge
09b2f4355c Tidy up context used
.. datafilter uses a context that was used to create it
   which is fine until it is used in user metrics which
   are global and shared across multiple contexts.

.. so now when evaluating a ride item we use the context
   for the rideitem being evaluated not the context of
   the data filter performing the evaluation

.. next couple of commits will need to look at the way
   we use RideItem and RideFile when computing both
   Ride and Interval metrics.
2015-12-11 19:17:53 +00:00
Mark Liversedge
0485c873f4 NA value and Min Temperature metric
.. allow NA to be used anywhere and skipped on
   the metric trend chart.

.. add a min temperature metric

.. add a chart for tracking temperatures
2015-12-03 14:58:38 +00:00
Mark Liversedge
04919f7d67 Bests need curve filtering applied
.. but only if needed !
2015-08-14 12:40:48 +01:00
Mark Liversedge
aebec00813 LTM Filter for a curve
.. allow the data selected for a curve to filter
   as well. So you can e.g. plot duration riding vs
   duration biking on the same plot.
2015-08-14 11:23:53 +01:00
Mark Liversedge
677d9ff531 Formula Running Total
.. so can accumulate e.g. time and distance
2015-08-14 08:13:53 +01:00
Mark Liversedge
cc04a8532e Fix SEGV LTM Edit
.. when using Moving Average trend.
2015-08-13 17:38:07 +01:00
Mark Liversedge
ae7c176236 Formula Aggregation Type
.. is it Peak, Average, Max, Total to control how
   values are aggregated.
2015-08-13 17:07:51 +01:00
Mark Liversedge
06a41f4583 LTM Plot Formula Part 2 of 2
.. added to LTMPlot and DataFilter methods

.. very rough and ready, but works.

.. can refine and enhance now basics are in place.
2015-08-13 12:35:17 +01:00
Mark Liversedge
f2d05c9b1d Fix Edit Bests LTMSettings SEGV
.. in sidebar chart edit.
2015-08-01 10:09:40 +01:00
Mark Liversedge
6660b0ba7c Fix LTM add chart SEGV on date range
.. by trying to plot backward date ranges
2015-07-31 00:09:56 +01:00
Alejandro Martinez
d56ae728dc Changed GOVSS to TriScore in LTM stress metrics
They could be deprecated, but if left for consistency TriScore
is more useful than GOVSS.
2015-07-30 10:28:20 -03:00
Mark Liversedge
4e7cbcd246 Fix Hide Non-curves on legend
.. trend, outliers, bests all failed to hide.
2015-07-28 15:19:54 +01:00
Mark Liversedge
1839c5fa92 Another Edit Chart SEGV
.. on the trend view sidebar
2015-07-26 16:48:23 +01:00
Mark Liversedge
0a3fb01b60 Fix Top/Lowest curves not being removed 2015-07-21 20:01:40 +01:00
Mark Liversedge
59f65b1756 Revert "LTM high and low curves not deleted"
This reverts commit 9e852faf5c.
2015-07-21 19:19:21 +01:00
Mark Liversedge
9e852faf5c LTM high and low curves not deleted
.. if you select e.g. the TriScore PMC in the Library chart
   in Trends, the high/low curves get left behind because they
   use the same name (Best_xxx).

.. ironically this was already worked around by creating a name
   that included the symbol, but this was not used when adding to
   the curve mapping.
2015-07-21 19:15:53 +01:00
Alejandro Martinez
c36af2094b Updated Metrics translation in LTM
- Code cleanup, removing deprecated code and refactoring
- Metrics translation is now done in a method for LTMSettings
- User defined metric name (uname) is translated if it matches english name
- User defined units (uunit) is only translated if it matches saved units
2015-07-19 14:37:13 -03:00
Mark Liversedge
2b03ce7bb5 More agressive EWMA
.. set the default too lax.
2015-07-17 20:04:28 +01:00
Mark Liversedge
179c5708f8 Add Moving Average Trend Line
.. using the Holt-Winters double exponential smoothing to avoid
   low on rising and high on falling data series.

.. works best with relatively noisy and contiguous data
2015-07-17 12:11:09 +01:00
Mark Liversedge
9002d4a76a Fix absolute v per kg vo2max estimate
.. no need to pass across weight since we maintain two
   models; absolute and per kg already.

NOTE: this has highlighted a bug in the code related to
      estimated w/kg bests for 2 and 3 parameter models
      that will be fixed shortly.
2015-07-11 06:40:32 +01:00
Mark Liversedge
e9926f5dbd Add Vo2max to Chart Library
.. and also fix up related code nits
2015-07-10 21:16:59 +01:00
Mark Liversedge
61f0295fda Vo2max Estimate from PD Model
.. to augment the existing vo2max estimate using peak 5m
   data in a ridefile, this now adds it as an estimate from
   the PD model estimate for 5m peak power.
2015-07-10 20:33:14 +01:00
Simon Brewer
f37669bcc7 Fix SEGV in LTM PMC plot when no data
.. if there is no data available for the period slected
   the LTM plot crashed due to an uninitialised variable.
2015-07-07 09:08:52 +01:00
Claus Assmann
9c057191b5 Fix comment typos 2015-06-07 16:31:56 +01:00
Mark Liversedge
bc87b16acf Add SpanSlider to LTM Chart
.. so we can zoom / span on charts.

.. have not applied to stack or compare mode
2015-04-25 13:49:23 +01:00
Mark Liversedge
b100fc23de Fix label isolation UI nit
.. kept showing labels that should be hidden when hovering
   over an axis.
2015-04-11 10:03:56 +01:00
Mark Liversedge
ae29908a3d Add Ward/Smith Model 2015-04-06 11:47:06 +01:00
Simon Egli (Silzo)
602d108b82 Adding a class that enables indending QwtPlotMarkers.
This commit is adding a new class QwtIndPlotMarker that will enable us
to indend Labels. The usage is pretty much the same,
please look at the changes in LTMPlot.cpp to see what will
change for using the new class.
So far the functionality is implemented for horizontally written labels only.

This solves the issue of all Labels (e.g. Seasons and events in LTMPlot case)
being on one line and thus being unreadable.

Signed-off-by: Simon Egli (Silzo) <smn.egli@gmail.com>
2015-04-04 13:56:21 +02:00
Damien
33158f9ba9 LTMPlot: Add event on last day 2015-03-16 21:50:22 +01:00
Joern
fe93793e5b Estimates Plot - some fixes
... shift plot if start date is earlier than any Power Estimates exist
... enhance grouping (calculation of averages for month/years/all
grouping)
... adjust estimates calculation
... to calculate non-overlapping weeks data
... to not create any "infinite" data for weeks before the first Power
based actitivity exists
2015-02-15 16:11:58 +01:00
Joern
c42b003715 Dump/QVector Assert - when date range does not match data
... e.g. when having a data range 2015 - where the data is only
available 2013 to mid 2014
2015-02-14 16:56:07 +01:00
Mark Liversedge
c934e8b4d0 Aesthetic Tweaks
.. tile mode highlights on mouse over for a more
   fluid feel, and better feedback

.. can customise the trend view charts background

.. fixed a SEGV on apply preset in chart setup

.. this is part of a set of updates to update the
   standard setup to be more complete so the user
   can pretty much run off a standard config.
2015-01-23 12:06:03 +00:00
Mark Liversedge
ee0592a246 Reset isolation in LTM
.. it was getting out of sync when switching tabs
   or athletes and further issues when events occurred
   possibly causing a SEGV
2015-01-21 10:29:45 +00:00
Mark Liversedge
45ef3fbf10 Fix duplicate stress curve bug
.. LTM stress curves had the same symbol name and
   so some were not deleted when the date range changed
   leaving curves on the plot

.. we now set the best symbol for stress curves so we
   have a unique name for each curve
2015-01-18 12:17:56 +00:00
Mark Liversedge
14413fcb94 Fix SEGV in LTMPlot on negative date range
.. time should, in theory, always fly forwards, no quarks here.
2015-01-14 16:03:40 +00:00
Mark Liversedge
e2ea640cbe Fix underMouse for LTM legend curve toggle
.. underMouse() seems to be dependant upon enter/leave events
   and is unreliable as a result.
2015-01-08 14:43:32 +00:00
Mark Liversedge
2e914c281e Improved LTM legend click to toggle curve
.. does all labels etc and integrates in with the rest
   of the LTM chart and CurveColors classes.

.. underMouse() seems weird when legend is updated, might need
   to find a better way to work out if/which legend was clicked.
2015-01-08 13:23:48 +00:00
Mark Liversedge
6a95e206b0 LTM Toggle Curves clicking on Legend
.. but need to integrate with curve isolation
2015-01-07 23:18:24 +00:00
Mark Liversedge
ad556808c5 For PMC metrics best should highlight Peaks
.. we now highlight peak values when highlighting topN
   or bottomN values on the LTM plot
2015-01-05 14:20:12 +00:00
Mark Liversedge
17fecc41c7 Reinstate Ramp Rate (RR)
.. on LTM plots

.. and rr(metric) function in datafilter
2015-01-02 12:05:41 +00:00
Mark Liversedge
c7e71646c0 Use ANY metric as LTS/STS/SB input
.. so now you can use the PMC for any load/stress measure.
2015-01-02 10:23:49 +00:00
Mark Liversedge
5692d362d0 ConfigChanged Part 1 of 3
.. introduce concept of configChanged(what) to
   pass details of what config has been changed

.. fixed zones changes to re-read after write
   to correct the save twice to get changes to
   zones bug.

.. next parts need to spot changes (part 2) and
   then action appropriately (part 3)
2014-12-29 13:41:50 +00:00
Mark Liversedge
98720f099e Use C++ <cmath> not C <math.h>
.. it clashes, and also its deprecated for C++ sources
2014-12-25 20:38:18 +00:00
Mark Liversedge
44aea09d97 Deprecate SQL metricDB
.. removes across the code base

.. need to fixup RideFileCache and Lucene refresh
   within the RideItem/RideCache framework, they will
   NOT be refreshed at present

.. need to look at how charts get refreshed on data
   changes now RideItem provides a more granular
   mechanism (look for XXXREFRESH in code)

.. New Intervals code will definitely NOT compile
   and needs to be redesigned/reimplemented to fit
   in with the ride cache
2014-12-24 20:24:34 +00:00
Mark Liversedge
c3c64c9912 Fencepost PMC data bug
.. caused 0 values to show for first day/week/month
2014-12-22 18:22:03 +00:00