summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2016-02-05 20:45:18 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2016-02-05 20:45:18 -0800
commit130f4cd7ac5b27f5d8243b5c238a66c86f2604ba (patch)
treee77bc243dc0d80da8b5fabc7482212a4ada305a7
parent7f70802b9025421d25ba63a9fe9932474ac1748c (diff)
downloadsubsurface-130f4cd7ac5b27f5d8243b5c238a66c86f2604ba.tar.gz
Do not run the deco calculations in the mobile app
We don't show the calculated ceilings and calculating them is compute intensive. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--profile-widget/diveprofileitem.cpp2
-rw-r--r--qt-models/diveplotdatamodel.cpp2
-rw-r--r--qt-models/diveplotdatamodel.h2
-rw-r--r--subsurface-core/profile.c7
4 files changed, 12 insertions, 1 deletions
diff --git a/profile-widget/diveprofileitem.cpp b/profile-widget/diveprofileitem.cpp
index b090d2173..4262326d7 100644
--- a/profile-widget/diveprofileitem.cpp
+++ b/profile-widget/diveprofileitem.cpp
@@ -879,7 +879,9 @@ void DiveReportedCeiling::modelDataChanged(const QModelIndex &topLeft, const QMo
void DiveCalculatedCeiling::recalc()
{
+#ifndef SUBSURFACE_MOBILE
dataModel->calculateDecompression();
+#endif
}
void DiveCalculatedCeiling::settingsChanged()
diff --git a/qt-models/diveplotdatamodel.cpp b/qt-models/diveplotdatamodel.cpp
index 4b60b3ea3..1110f19df 100644
--- a/qt-models/diveplotdatamodel.cpp
+++ b/qt-models/diveplotdatamodel.cpp
@@ -228,6 +228,7 @@ void DivePlotDataModel::emitDataChanged()
emit dataChanged(QModelIndex(), QModelIndex());
}
+#ifndef SUBSURFACE_MOBILE
void DivePlotDataModel::calculateDecompression()
{
struct divecomputer *dc = select_dc(&displayed_dive);
@@ -235,3 +236,4 @@ void DivePlotDataModel::calculateDecompression()
calculate_deco_information(&displayed_dive, dc, &pInfo, false);
dataChanged(index(0, CEILING), index(pInfo.nr - 1, TISSUE_16));
}
+#endif
diff --git a/qt-models/diveplotdatamodel.h b/qt-models/diveplotdatamodel.h
index 6a1f9bd16..21b0ffd5b 100644
--- a/qt-models/diveplotdatamodel.h
+++ b/qt-models/diveplotdatamodel.h
@@ -83,7 +83,9 @@ public:
double po2Max();
double CCRMax();
void emitDataChanged();
+#ifndef SUBSURFACE_MOBILE
void calculateDecompression();
+#endif
private:
struct plot_info pInfo;
diff --git a/subsurface-core/profile.c b/subsurface-core/profile.c
index 55faf9ca7..8d5cebdba 100644
--- a/subsurface-core/profile.c
+++ b/subsurface-core/profile.c
@@ -854,6 +854,7 @@ static void setup_gas_sensor_pressure(struct dive *dive, struct divecomputer *dc
} while ((secondary = secondary->next) != NULL);
}
+#ifndef SUBSURFACE_MOBILE
/* calculate DECO STOP / TTS / NDL */
static void calculate_ndl_tts(struct plot_data *entry, struct dive *dive, double surface_pressure)
{
@@ -1067,7 +1068,7 @@ void calculate_deco_information(struct dive *dive, struct divecomputer *dc, stru
dump_tissues();
#endif
}
-
+#endif
/* Function calculate_ccr_po2: This function takes information from one plot_data structure (i.e. one point on
* the dive profile), containing the oxygen sensor values of a CCR system and, for that plot_data structure,
@@ -1223,7 +1224,9 @@ static void debug_print_profiledata(struct plot_info *pi)
void create_plot_info_new(struct dive *dive, struct divecomputer *dc, struct plot_info *pi, bool fast)
{
int o2, he, o2max;
+#ifndef SUBSURFACE_MOBILE
init_decompression(dive);
+#endif
/* Create the new plot data */
free((void *)last_pi_entry_new);
@@ -1251,7 +1254,9 @@ void create_plot_info_new(struct dive *dive, struct divecomputer *dc, struct plo
}
fill_o2_values(dc, pi, dive); /* .. and insert the O2 sensor data having 0 values. */
calculate_sac(dive, pi); /* Calculate sac */
+#ifndef SUBSURFACE_MOBILE
calculate_deco_information(dive, dc, pi, false); /* and ceiling information, using gradient factor values in Preferences) */
+#endif
calculate_gas_information_new(dive, pi); /* Calculate gas partial pressures */
#ifdef DEBUG_GAS