X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=profile.c;h=7caa5da9f98eb40071bbc390bef39ab93fc9eaac;hb=d906c82f31c5406b6debe0df88cb49b916cd6ced;hp=9952b18e3340f70be5735f3e745e73708c1e530c;hpb=7c1deb37c702ad668f40ae6a9a14cd2faf918ae4;p=ext%2Fsubsurface.git diff --git a/profile.c b/profile.c index 9952b18..7caa5da 100644 --- a/profile.c +++ b/profile.c @@ -485,19 +485,13 @@ static int setup_temperature_limits(struct graphics_context *gc, struct plot_inf static void plot_single_temp_text(struct graphics_context *gc, int sec, int mkelvin) { - int deg; + double deg; const char *unit; static const text_render_options_t tro = {12, 0.2, 0.2, 1.0, LEFT, TOP}; - temperature_t temperature = { mkelvin }; - if (output_units.temperature == FAHRENHEIT) { - deg = to_F(temperature); - unit = UTF8_DEGREE "F"; - } else { - deg = to_C(temperature); - unit = UTF8_DEGREE "C"; - } - plot_text(gc, &tro, sec, temperature.mkelvin, "%d%s", deg, unit); + deg = get_temp_units(mkelvin, &unit); + + plot_text(gc, &tro, sec, mkelvin, "%d%s", (int)(deg + 0.5), unit); } static void plot_temperature_text(struct graphics_context *gc, struct plot_info *pi) @@ -617,32 +611,13 @@ static void plot_cylinder_pressure(struct graphics_context *gc, struct plot_info plot_pressure_helper(gc, pi, INTERPOLATED_PR); } -static int mbar_to_PSI(int mbar) -{ - pressure_t p = {mbar}; - return to_PSI(p); -} - static void plot_pressure_value(struct graphics_context *gc, int mbar, int sec, int xalign, int yalign) { int pressure; const char *unit; - switch (output_units.pressure) { - case PASCAL: - pressure = mbar * 100; - unit = "pascal"; - break; - case BAR: - pressure = (mbar + 500) / 1000; - unit = "bar"; - break; - case PSI: - pressure = mbar_to_PSI(mbar); - unit = "psi"; - break; - } + pressure = get_pressure_units(mbar, &unit); text_render_options_t tro = {10, 0.2, 1.0, 0.2, xalign, yalign}; plot_text(gc, &tro, sec, mbar, "%d %s", pressure, unit); } @@ -660,7 +635,7 @@ static void plot_cylinder_pressure_text(struct graphics_context *gc, struct plot return; /* only loop over the actual events from the dive computer */ - for (i = 2; i < pi->nr - 2; i++) { + for (i = 2; i < pi->nr; i++) { entry = pi->entry + i; if (!entry->same_cylinder) { @@ -887,8 +862,9 @@ static void fill_missing_tank_pressures(struct dive *dive, struct plot_info *pi, for (cyl = 0; cyl < MAX_CYLINDERS; cyl++) { cur_pr[cyl] = track_pr[cyl]->start; } - /* The first two and last two entries are "fillers" */ - for (i = 2; i < pi->nr-2; i++) { + + /* The first two are "fillers" */ + for (i = 2; i < pi->nr; i++) { entry = pi->entry + i; if (SENSOR_PRESSURE(entry)) { cur_pr[entry->cylinderindex] = SENSOR_PRESSURE(entry); @@ -1084,8 +1060,6 @@ static struct plot_info *create_plot_info(struct dive *dive, int nr_samples, str pr_track->end = pr; } } - if (lastdepth) - lastindex = i + 2; /* Fill in the last two entries with empty values but valid times */ i = nr_samples + 2; pi->entry[i].sec = sec + 20;