Fix the profile coloring

We were missing the last sample (which is usually a fast ascent).
Also, reduced the velocity smoothing to 15 seconds as the 30 seconds were
hiding too much valid information

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2011-09-29 22:49:12 -07:00
parent 775a081769
commit ab3c6731be

View file

@ -624,7 +624,7 @@ static struct plot_info *analyze_plot_info(struct plot_info *pi)
} }
/* Smoothing function: 5-point triangular smooth */ /* Smoothing function: 5-point triangular smooth */
for (i = 2; i < nr-1; i++) { for (i = 2; i < nr; i++) {
struct plot_data *entry = pi->entry+i; struct plot_data *entry = pi->entry+i;
int val; int val;
@ -637,9 +637,9 @@ static struct plot_info *analyze_plot_info(struct plot_info *pi)
if (entry[0].sec - entry[-1].sec) { if (entry[0].sec - entry[-1].sec) {
entry->velocity = velocity((entry[0].val - entry[-1].val) / (entry[0].sec - entry[-1].sec)); entry->velocity = velocity((entry[0].val - entry[-1].val) / (entry[0].sec - entry[-1].sec));
/* if our samples are short and we aren't too FAST*/ /* if our samples are short and we aren't too FAST*/
if (entry[0].sec - entry[-1].sec < 30 && entry->velocity < FAST) { if (entry[0].sec - entry[-1].sec < 15 && entry->velocity < FAST) {
int past = -2; int past = -2;
while (i+past > 0 && entry[0].sec - entry[past].sec < 30) while (i+past > 0 && entry[0].sec - entry[past].sec < 15)
past--; past--;
entry->velocity = velocity((entry[0].val - entry[past].val) / entry->velocity = velocity((entry[0].val - entry[past].val) /
(entry[0].sec - entry[past].sec)); (entry[0].sec - entry[past].sec));