Commit Graph

658 Commits

Author SHA1 Message Date
Sean Rhea
51aafe7ede rest during intervals counts against averages
This seems like the right call to me.  If I'm doing an interval and I stop
riding for some reason, I'm resting, and that should affect my average power.
I thought it was always this way, but apparently not.
2009-11-21 14:34:49 -05:00
Jamie Kimberley
182843896d test file with two intervals in first 10 secs
Good for testing what happens in the Ride Plot when there are interval
markers within the first smoothing period.
2009-11-21 14:33:36 -05:00
Sean Rhea
6914185680 don't plot intervals before first smoothing window 2009-11-21 14:27:13 -05:00
Sean Rhea
ab28d32b65 rename ergomo csv files 2009-11-21 14:03:43 -05:00
Sean Rhea
5c3896b6cc fix intervals for ergomo csv 2009-11-21 14:02:37 -05:00
Sean Rhea
25e8658592 fail gracefully if rec_int changes mid-ride
Includes test ride that demonstrates the problem.
2009-11-21 13:48:23 -05:00
Sean Rhea
6d33d10944 inject a little philosophy onto the front page 2009-11-15 20:03:14 -08:00
Sean Rhea
02cf0ac83d need <algorithm> for std::lower_bound in Linux
Thanks to Mark Liversedge for pointing this out.
2009-11-15 19:53:18 -08:00
Sean Rhea
93d62cc5c2 fix Ride Plot shading bug introduced in 79ced76
The default position of the power combo box in the Ride Plot is to shade
power.  Change the default value of the shade_power variable to match.  This
didn't matter before 79ced76, since prior to that commit we (mostly
redundantly) called showPower from setAllPlotWidgets, whereas now we only call
showPower after a change in the combo box.
2009-11-15 08:52:23 -08:00
Sean Rhea
db943fbcd6 make ride plot work for manual rides
I don't like disabling the ride plot tab when I select a manual ride,
because I frequently scroll through the ride list to search for a ride
by the shape of its ride plot, and every time I hit a manual ride I get
bounced to the CP plot tab.  So rather than disable the ride plot tab,
just make it show an empty plot.
2009-11-09 09:20:24 -08:00
Sean Rhea
1edd8c0767 add y-axis shows work mode to CP plot
This mode is fun because the "CP Curve" is a straight line,
just like in the model:

  work = CP * time + AWC

You can also see that the AWC is the y-intercept.
2009-11-09 09:05:03 -08:00
Sean Rhea
3912c2474c "Tools"->"Critical Power Calculator" 2009-11-09 10:21:43 -05:00
Sean Rhea
6d20bea968 don't show CP values off the end of lines
I.e., if the user selects a time to the left of the red dashed CP line,
we shouldn't show a value in the "CP Curve" box.
2009-11-09 10:03:50 -05:00
Sean Rhea
aef876e817 use foreach 2009-11-09 09:56:48 -05:00
Sean Rhea
ae5dd3feb3 prefer most recent season in CP plot 2009-11-09 09:54:34 -05:00
Sean Rhea
82934425ab fix bug in 2f8d101, need to strip path
The filename argument actually contained the whole path.  This fix passes
the filename and directory separately, so that the anchored regex works.
2009-11-09 09:50:51 -05:00
Sean Rhea
632bb6ddd1 whitespace cleanup -- no functional changes 2009-11-07 14:42:14 -05:00
Sean Rhea
4ee57a25b0 misc cleanup 2009-11-07 14:42:09 -05:00
Sean Rhea
14f59f8e5e delete NULL is a no-op 2009-11-07 14:27:01 -05:00
Sean Rhea
dfc7e88f26 drop read_cpi_file, cleanup read_one 2009-11-07 14:23:51 -05:00
Sean Rhea
3d6d9ad86d don't fill in bestDates for today's ride 2009-11-07 14:19:46 -05:00
Sean Rhea
a9ddd40dda errors should be QMessageBoxes, not printfs 2009-11-07 14:15:36 -05:00
Sean Rhea
5ac70a9a98 simplify very confusing code 2009-11-07 13:53:33 -05:00
Sean Rhea
9029be7ccc little bits of CpintPlot cleanup
Cleanup whitespace, use scoped_ptr, prefer QVector over QList, etc.
2009-11-07 13:52:22 -05:00
Sean Rhea
a7df8c48b3 progress dialog doesn't need to be a class member
We can also allocate it on the stack.
2009-11-07 13:52:09 -05:00
Sean Rhea
79ced76347 setAllPlotWidgets doesn't need to call show*
It's only called from setData, which calls AllPlot::setData right afterwards,
and the latter will do all the things that the show* functions do.
2009-11-07 10:32:00 -05:00
Sean Rhea
2f8d1013be anchor regexp
Anchoring this regexp (i.e., making it start with a "^") reduces the time
it takes to load the first CP plot from 10 seconds to 6.5 seconds on
Sean's three years of rides.  Unbelievable, but repeatable.
2009-11-06 23:43:35 -05:00
Sean Rhea
c71f38ecb0 clean up and sorten cpi_filename_to_date 2009-11-06 23:36:43 -05:00
Sean Rhea
c8c0cf395a ~qwt_plot_item calls detach 2009-11-06 09:13:59 -05:00
Sean Rhea
846f95d5b3 use foreach, tidy up code 2009-11-06 08:49:54 -05:00
Sean Rhea
19f905d2d1 fix leaked CPCurve 2009-11-06 08:38:38 -05:00
Sean Rhea
288d0ce7c6 allocate QPen objs on the stack
This fixes a memory leak.
2009-11-05 20:01:02 -05:00
Sean Rhea
5e3692a1b4 use QVector<double> 2009-11-05 19:59:00 -05:00
Sean Rhea
ae94021a21 fix tabs and eol spaces -- no functional change 2009-11-05 11:40:07 -05:00
Sean Rhea
c5240d1c0c compute time in zones in computeMetrics
...not in htmlSummary, so that the WeeklySummaryWindow doesn't have to
generate the full htmlSummaries for a week.
2009-11-01 22:01:53 -05:00
Sean Rhea
cb50314915 use colors from RideList in htmlSummary
Rob Carlsen suggested that the htmlSummary should use the same colors as in
the ride list.  I agree, but they're a little to light, so bump the saturation
a bit.  While we're at it, go ahead and do the zones list, too.
2009-11-01 21:03:30 -05:00
Sean Rhea
cae4d092c9 highlight every other interval 2009-11-01 20:05:09 -05:00
Sean Rhea
0789c68f30 srm intervals names match those on PowerControl 2009-11-01 20:01:20 -05:00
Sean Rhea
094e58d04d switch to QVector and fix a memory error 2009-11-01 20:00:24 -05:00
Sean Rhea
263ffd353f combine SrmFileReader::openRideFile and readSrmFile 2009-11-01 17:43:49 -05:00
Sean Rhea
d6f46b80d4 remove commented-out code 2009-11-01 17:27:48 -05:00
Sean Rhea
a312b4a881 srm.h|cpp >> SrmRideFile.cpp and rm the former 2009-11-01 17:24:55 -05:00
Sean Rhea
a49b659014 fix eol spaces -- no functional change 2009-11-01 17:21:46 -05:00
Sean Rhea
c964e274aa only fill in intervals if the RideFile hasn't already 2009-11-01 17:19:11 -05:00
Sean Rhea
7687b7f73a use RideFileIntervals in SplitRideDialog 2009-11-01 12:47:59 -05:00
Sean Rhea
c848726f0c let the factory call fillInIntervals 2009-11-01 12:45:43 -05:00
Sean Rhea
521653993d bug fix: check that rideItem->ride is not NULL 2009-11-01 12:44:11 -05:00
Sean Rhea
4b7413295c use RideFileIntervals in htmlSummary 2009-11-01 12:01:52 -05:00
Sean Rhea
3cc99bf2b0 use RideFileIntervals in AllPlot 2009-11-01 12:01:52 -05:00
Sean Rhea
1dc513e7a9 add RideFileInterval
Eventually, I'm going to remove interval as a member of RideFilePoint, and
only use RideFileIntervals.  But I have to rework a bunch of other code first,
so for now the two will coexist.
2009-11-01 12:01:42 -05:00