[PATCH] Fill up plot_data with temperature all the way

Dirk Hohndel dirk at hohndel.org
Tue Nov 12 18:05:45 UTC 2013


On Tue, 2013-11-12 at 23:00 +0100, Anton Lundin wrote:
> This will fill out the gaps of temperature data between all the points
> so we always have a temperature to show in the info box.
> 
> Signed-off-by: Anton Lundin <glance at acc.umu.se>
> ---
>  profile.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/profile.c b/profile.c
> index 1f90ffc..edeb17a 100644
> --- a/profile.c
> +++ b/profile.c
> @@ -707,7 +707,7 @@ void calculate_max_limits(struct dive *dive, struct divecomputer *dc, struct gra
>  static struct plot_data *populate_plot_entries(struct dive *dive, struct divecomputer *dc, struct plot_info *pi)
>  {
>  	int idx, maxtime, nr, i;
> -	int lastdepth, lasttime;
> +	int lastdepth, lasttime, lasttemp = 0;
>  	struct plot_data *plot_data;
>  
>  	maxtime = pi->maxtime;
> @@ -774,7 +774,10 @@ static struct plot_data *populate_plot_entries(struct dive *dive, struct divecom
>  		/* FIXME! sensor index -> cylinder index translation! */
>  		entry->cylinderindex = sample->sensor;
>  		SENSOR_PRESSURE(entry) = sample->cylinderpressure.mbar;
> -		entry->temperature = sample->temperature.mkelvin;
> +		if (sample->temperature.mkelvin)
> +			entry->temperature = lasttemp = sample->temperature.mkelvin;
> +		else
> +			entry->temperature = lasttemp;
>  
>  		lasttime = time;
>  		lastdepth = depth;

OK, now from an actual computer...

My problem with this patch is that it does the wrong thing for
situations where you have only a very small number of temperature
readings (e.g.; ONE). I know that I have seen XML files that have a
single reading about half way through the dive (at the deepest spot,
IIRC). So for dive computers like this it does something rather odd -
you get no temperature for most of the dive, and then you get a
potentially wrong temperature for the rest of the dive.

But talking to Linus he convinced me that for most computers and most
users this is better than what we do today, so I'll take the patch.

/D



More information about the subsurface mailing list