Display air temperature in the info notebook page

So far we don't parse air temperature data via libdivecomputer. Nor are we
set up to allow the user to manually enter it. We can parse it when
downloading from a Uemis Zurich, though.

This feature was suggested via trac.hohndel.org; this commit implements
only part of what is requested there, so I simply reference the ticket
here without closing it.

References ticket #7

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2012-10-28 13:17:12 -07:00
parent b63a5f0de6
commit 601ac0c362
2 changed files with 10 additions and 0 deletions

View file

@ -28,6 +28,7 @@ typedef struct {
*max_depth,
*avg_depth,
*water_temp,
*air_temp,
*sac,
*otu,
*o2he,
@ -548,6 +549,11 @@ static void show_single_dive_stats(struct dive *dive)
set_label(single_w.water_temp, "%.1f %s", value, unit);
} else
set_label(single_w.water_temp, "");
if (dive->airtemp.mkelvin) {
value = get_temp_units(dive->airtemp.mkelvin, &unit);
set_label(single_w.air_temp, "%.1f %s", value, unit);
} else
set_label(single_w.air_temp, "");
value = get_volume_units(dive->sac, &decimals, &unit);
if (value > 0) {
set_label(single_w.sac, _("%.*f %s/min"), decimals, value, unit);
@ -728,6 +734,7 @@ GtkWidget *single_stats_widget(void)
single_w.max_depth = new_info_label_in_frame(hbox, _("Max Depth"));
single_w.avg_depth = new_info_label_in_frame(hbox, _("Avg Depth"));
single_w.water_temp = new_info_label_in_frame(hbox, _("Water Temp"));
single_w.air_temp = new_info_label_in_frame(hbox, _("Air Temp"));
/* third row */
hbox = gtk_hbox_new(FALSE, 3);
@ -749,6 +756,7 @@ void clear_stats_widgets(void)
set_label(single_w.max_depth, "");
set_label(single_w.avg_depth, "");
set_label(single_w.water_temp, "");
set_label(single_w.air_temp, "");
set_label(single_w.sac, "");
set_label(single_w.sac, "");
set_label(single_w.otu, "");

View file

@ -192,6 +192,8 @@ void uemis_parse_divelog_binary(char *base64, void *datap) {
datalen = uemis_convert_base64(base64, &data);
dive->airtemp.mkelvin = *(uint16_t *)(data + 45) * 100 + 273150;
/* dive template in use:
0 = air
1 = nitrox (B)