From 779c1b6738c4378be79a46b744da2c556380ca32 Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava Date: Fri, 17 Jan 2014 14:43:25 -0200 Subject: Create a version of create_graph_info that doesn't depend on GC. This version of the create plot info is the same as before, with the difference that it doesn't depends on the gc. Also fixed a crash. The Pressure Index, Information and interpolated seems wrong, I'm getting only zeroes. Signed-off-by: Tomaz Canabrava Signed-off-by: Dirk Hohndel --- profile.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'profile.c') diff --git a/profile.c b/profile.c index 23903d99f..a24cd1682 100644 --- a/profile.c +++ b/profile.c @@ -1300,6 +1300,24 @@ struct plot_info *create_plot_info(struct dive *dive, struct divecomputer *dc, s return analyze_plot_info(pi); } +void create_plot_info_new(struct dive *dive, struct divecomputer *dc, struct plot_info *pi) +{ + if (prefs.profile_calc_ceiling) /* reset deco information to start the calculation */ + init_decompression(dive); + if (last_pi_entry) /* Create the new plot data */ + free((void *)last_pi_entry); + last_pi_entry = populate_plot_entries(dive, dc, pi); + check_gas_change_events(dive, dc, pi); /* Populate the gas index from the gas change events */ + setup_gas_sensor_pressure(dive, dc, pi); /* Try to populate our gas pressure knowledge */ + populate_pressure_information(dive, dc, pi);/* .. calculate missing pressure entries */ + calculate_sac(dive, pi); /* Calculate sac */ + if (prefs.profile_calc_ceiling) /* Then, calculate deco information */ + calculate_deco_information(dive, dc, pi, false); + calculate_gas_information(dive, pi); /* And finaly calculate gas partial pressures */ + pi->meandepth = dive->dc.meandepth.mm; + analyze_plot_info(pi); +} + /* make sure you pass this the FIRST dc - it just walks the list */ static int nr_dcs(struct divecomputer *main) { -- cgit v1.2.3-70-g09d2