Change type of divedatepoint.depth to depth_t

... for consistency, while we are at it.

There are still some internal depth variables which are ints
somebody might take a go at those.

Signed-off-by: Robert C. Helling <helling@atdotde.de>
This commit is contained in:
Robert C. Helling 2017-03-10 13:37:54 +01:00 committed by Dirk Hohndel
parent 295b1b78d8
commit eae4bd82a5
5 changed files with 54 additions and 54 deletions

View file

@ -3588,11 +3588,11 @@ void average_max_depth(struct diveplan *dive, int *avg_depth, int *max_depth)
while (dp) { while (dp) {
if (dp->time) { if (dp->time) {
/* Ignore gas indication samples */ /* Ignore gas indication samples */
integral += (dp->depth + last_depth) * (dp->time - last_time) / 2; integral += (dp->depth.mm + last_depth) * (dp->time - last_time) / 2;
last_time = dp->time; last_time = dp->time;
last_depth = dp->depth; last_depth = dp->depth.mm;
if (dp->depth > *max_depth) if (dp->depth.mm > *max_depth)
*max_depth = dp->depth; *max_depth = dp->depth.mm;
} }
dp = dp->next; dp = dp->next;
} }

View file

@ -845,7 +845,7 @@ extern double tissue_tolerance_calc(const struct dive *dive, double pressure);
/* this should be converted to use our types */ /* this should be converted to use our types */
struct divedatapoint { struct divedatapoint {
int time; int time;
int depth; depth_t depth;
int cylinderid; int cylinderid;
int setpoint; int setpoint;
bool entered; bool entered;

View file

@ -262,7 +262,7 @@ static void create_dive_from_plan(struct diveplan *diveplan, bool track_gas)
cylinder_t *cyl; cylinder_t *cyl;
int oldpo2 = 0; int oldpo2 = 0;
int lasttime = 0; int lasttime = 0;
int lastdepth = 0; depth_t lastdepth = {.mm = 0};
int lastcylid = 0; int lastcylid = 0;
enum dive_comp_type type = displayed_dive.dc.divemode; enum dive_comp_type type = displayed_dive.dc.divemode;
@ -303,7 +303,7 @@ static void create_dive_from_plan(struct diveplan *diveplan, bool track_gas)
if (dp->setpoint) if (dp->setpoint)
type = CCR; type = CCR;
int time = dp->time; int time = dp->time;
int depth = dp->depth; depth_t depth = dp->depth;
if (time == 0) { if (time == 0) {
/* special entries that just inform the algorithm about /* special entries that just inform the algorithm about
@ -329,7 +329,7 @@ static void create_dive_from_plan(struct diveplan *diveplan, bool track_gas)
sample = prepare_sample(dc); sample = prepare_sample(dc);
sample[-1].setpoint.mbar = po2; sample[-1].setpoint.mbar = po2;
sample->time.seconds = lasttime + 1; sample->time.seconds = lasttime + 1;
sample->depth.mm = lastdepth; sample->depth = lastdepth;
sample->manually_entered = dp->entered; sample->manually_entered = dp->entered;
sample->sac.mliter = dp->entered ? prefs.bottomsac : prefs.decosac; sample->sac.mliter = dp->entered ? prefs.bottomsac : prefs.decosac;
if (track_gas && cyl->type.workingpressure.mbar) if (track_gas && cyl->type.workingpressure.mbar)
@ -344,11 +344,11 @@ static void create_dive_from_plan(struct diveplan *diveplan, bool track_gas)
sample[-1].setpoint.mbar = po2; sample[-1].setpoint.mbar = po2;
sample->setpoint.mbar = po2; sample->setpoint.mbar = po2;
sample->time.seconds = lasttime = time; sample->time.seconds = lasttime = time;
sample->depth.mm = lastdepth = depth; sample->depth = lastdepth = depth;
sample->manually_entered = dp->entered; sample->manually_entered = dp->entered;
sample->sac.mliter = dp->entered ? prefs.bottomsac : prefs.decosac; sample->sac.mliter = dp->entered ? prefs.bottomsac : prefs.decosac;
if (track_gas && !sample[-1].setpoint.mbar) { /* Don't track gas usage for CCR legs of dive */ if (track_gas && !sample[-1].setpoint.mbar) { /* Don't track gas usage for CCR legs of dive */
update_cylinder_pressure(&displayed_dive, sample[-1].depth.mm, depth, time - sample[-1].time.seconds, update_cylinder_pressure(&displayed_dive, sample[-1].depth.mm, depth.mm, time - sample[-1].time.seconds,
dp->entered ? diveplan->bottomsac : diveplan->decosac, cyl, !dp->entered); dp->entered ? diveplan->bottomsac : diveplan->decosac, cyl, !dp->entered);
if (cyl->type.workingpressure.mbar) if (cyl->type.workingpressure.mbar)
sample->cylinderpressure.mbar = cyl->end.mbar; sample->cylinderpressure.mbar = cyl->end.mbar;
@ -382,7 +382,7 @@ struct divedatapoint *create_dp(int time_incr, int depth, int cylinderid, int po
dp = malloc(sizeof(struct divedatapoint)); dp = malloc(sizeof(struct divedatapoint));
dp->time = time_incr; dp->time = time_incr;
dp->depth = depth; dp->depth.mm = depth;
dp->cylinderid = cylinderid; dp->cylinderid = cylinderid;
dp->setpoint = po2; dp->setpoint = po2;
dp->entered = false; dp->entered = false;
@ -429,24 +429,24 @@ static struct gaschanges *analyze_gaslist(struct diveplan *diveplan, int *gascha
bool total_time_zero = true; bool total_time_zero = true;
while (dp) { while (dp) {
if (dp->time == 0 && total_time_zero) { if (dp->time == 0 && total_time_zero) {
if (dp->depth <= depth) { if (dp->depth.mm <= depth) {
int i = 0; int i = 0;
nr++; nr++;
gaschanges = realloc(gaschanges, nr * sizeof(struct gaschanges)); gaschanges = realloc(gaschanges, nr * sizeof(struct gaschanges));
while (i < nr - 1) { while (i < nr - 1) {
if (dp->depth < gaschanges[i].depth) { if (dp->depth.mm < gaschanges[i].depth) {
memmove(gaschanges + i + 1, gaschanges + i, (nr - i - 1) * sizeof(struct gaschanges)); memmove(gaschanges + i + 1, gaschanges + i, (nr - i - 1) * sizeof(struct gaschanges));
break; break;
} }
i++; i++;
} }
gaschanges[i].depth = dp->depth; gaschanges[i].depth = dp->depth.mm;
gaschanges[i].gasidx = dp->cylinderid; gaschanges[i].gasidx = dp->cylinderid;
assert(gaschanges[i].gasidx != -1); assert(gaschanges[i].gasidx != -1);
} else { } else {
/* is there a better mix to start deco? */ /* is there a better mix to start deco? */
if (dp->depth < best_depth) { if (dp->depth.mm < best_depth) {
best_depth = dp->depth; best_depth = dp->depth.mm;
*asc_cylinder = dp->cylinderid; *asc_cylinder = dp->cylinderid;
} }
} }
@ -615,13 +615,13 @@ static void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool
const char *depth_unit; const char *depth_unit;
double depthvalue; double depthvalue;
int decimals; int decimals;
bool isascent = (dp->depth < lastdepth); bool isascent = (dp->depth.mm < lastdepth);
nextdp = dp->next; nextdp = dp->next;
if (dp->time == 0) if (dp->time == 0)
continue; continue;
gasmix = dive->cylinder[dp->cylinderid].gasmix; gasmix = dive->cylinder[dp->cylinderid].gasmix;
depthvalue = get_depth_units(dp->depth, &decimals, &depth_unit); depthvalue = get_depth_units(dp->depth.mm, &decimals, &depth_unit);
/* analyze the dive points ahead */ /* analyze the dive points ahead */
while (nextdp && nextdp->time == 0) while (nextdp && nextdp->time == 0)
nextdp = nextdp->next; nextdp = nextdp->next;
@ -632,12 +632,12 @@ static void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool
/* do we want to skip this leg as it is devoid of anything useful? */ /* do we want to skip this leg as it is devoid of anything useful? */
if (!dp->entered && if (!dp->entered &&
nextdp && nextdp &&
dp->depth != lastdepth && dp->depth.mm != lastdepth &&
nextdp->depth != dp->depth && nextdp->depth.mm != dp->depth.mm &&
!gaschange_before && !gaschange_before &&
!gaschange_after) !gaschange_after)
continue; continue;
if (dp->time - lasttime < 10 && !(gaschange_after && dp->next && dp->depth != dp->next->depth)) if (dp->time - lasttime < 10 && !(gaschange_after && dp->next && dp->depth.mm != dp->next->depth.mm))
continue; continue;
/* Store pointer to last entered datapoint for minimum gas calculation */ /* Store pointer to last entered datapoint for minimum gas calculation */
@ -659,8 +659,8 @@ static void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool
* to determine whether or not to print a segment much simpler than with the * to determine whether or not to print a segment much simpler than with the
* non-verbatim plan. * non-verbatim plan.
*/ */
if (dp->depth != lastprintdepth) { if (dp->depth.mm != lastprintdepth) {
if (plan_display_transitions || dp->entered || !dp->next || (gaschange_after && dp->next && dp->depth != nextdp->depth)) { if (plan_display_transitions || dp->entered || !dp->next || (gaschange_after && dp->next && dp->depth.mm != nextdp->depth.mm)) {
if (dp->setpoint) if (dp->setpoint)
snprintf(temp, sz_temp, translate("gettextFromC", "Transition to %.*f %s in %d:%02d min - runtime %d:%02u on %s (SP = %.1fbar)"), snprintf(temp, sz_temp, translate("gettextFromC", "Transition to %.*f %s in %d:%02d min - runtime %d:%02u on %s (SP = %.1fbar)"),
decimals, depthvalue, depth_unit, decimals, depthvalue, depth_unit,
@ -678,10 +678,10 @@ static void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool
len += snprintf(buffer + len, sz_buffer - len, "%s<br>", temp); len += snprintf(buffer + len, sz_buffer - len, "%s<br>", temp);
} }
newdepth = dp->depth; newdepth = dp->depth.mm;
lasttime = dp->time; lasttime = dp->time;
} else { } else {
if ((nextdp && dp->depth != nextdp->depth) || gaschange_after) { if ((nextdp && dp->depth.mm != nextdp->depth.mm) || gaschange_after) {
if (dp->setpoint) if (dp->setpoint)
snprintf(temp, sz_temp, translate("gettextFromC", "Stay at %.*f %s for %d:%02d min - runtime %d:%02u on %s (SP = %.1fbar)"), snprintf(temp, sz_temp, translate("gettextFromC", "Stay at %.*f %s for %d:%02d min - runtime %d:%02u on %s (SP = %.1fbar)"),
decimals, depthvalue, depth_unit, decimals, depthvalue, depth_unit,
@ -697,7 +697,7 @@ static void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool
gasname(&gasmix)); gasname(&gasmix));
len += snprintf(buffer + len, sz_buffer - len, "%s<br>", temp); len += snprintf(buffer + len, sz_buffer - len, "%s<br>", temp);
newdepth = dp->depth; newdepth = dp->depth.mm;
lasttime = dp->time; lasttime = dp->time;
} }
} }
@ -719,14 +719,14 @@ static void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool
* time has been allowed for a gas switch. * time has been allowed for a gas switch.
*/ */
if (plan_display_transitions || dp->entered || !dp->next || if (plan_display_transitions || dp->entered || !dp->next ||
(nextdp && dp->depth != nextdp->depth) || (nextdp && dp->depth.mm != nextdp->depth.mm) ||
(!isascent && gaschange_before && nextdp && dp->depth != nextdp->depth) || (!isascent && gaschange_before && nextdp && dp->depth.mm != nextdp->depth.mm) ||
(gaschange_after && lastentered) || (gaschange_after && !isascent) || (gaschange_after && lastentered) || (gaschange_after && !isascent) ||
(isascent && gaschange_after && nextdp && dp->depth != nextdp->depth )) { (isascent && gaschange_after && nextdp && dp->depth.mm != nextdp->depth.mm )) {
// Print a symbol to indicate whether segment is an ascent, descent, constant depth (user entered) or deco stop // Print a symbol to indicate whether segment is an ascent, descent, constant depth (user entered) or deco stop
if (isascent) if (isascent)
segmentsymbol = "&#10138;"; // up-right arrow for ascent segmentsymbol = "&#10138;"; // up-right arrow for ascent
else if (dp->depth > lastdepth) else if (dp->depth.mm > lastdepth)
segmentsymbol = "&#10136;"; // down-right arrow for descent segmentsymbol = "&#10136;"; // down-right arrow for descent
else if (dp->entered) else if (dp->entered)
segmentsymbol = "&#10137;"; // right arrow for entered entered segment at constant depth segmentsymbol = "&#10137;"; // right arrow for entered entered segment at constant depth
@ -749,7 +749,7 @@ static void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool
/* Normally a gas change is displayed on the stopping segment, so only display a gas change at the end of /* Normally a gas change is displayed on the stopping segment, so only display a gas change at the end of
* an ascent segment if it is not followed by a stop * an ascent segment if it is not followed by a stop
*/ */
if ((isascent || dp->entered) && gaschange_after && dp->next && nextdp && (dp->depth != nextdp->depth || nextdp->entered)) { if ((isascent || dp->entered) && gaschange_after && dp->next && nextdp && (dp->depth.mm != nextdp->depth.mm || nextdp->entered)) {
if (dp->setpoint) { if (dp->setpoint) {
snprintf(temp, sz_temp, translate("gettextFromC", "(SP = %.1fbar)"), (double) nextdp->setpoint / 1000.0); snprintf(temp, sz_temp, translate("gettextFromC", "(SP = %.1fbar)"), (double) nextdp->setpoint / 1000.0);
len += snprintf(buffer + len, sz_buffer - len, "<td style='padding-left: 10px; color: red; float: left;'><b>%s %s</b></td>", gasname(&newgasmix), len += snprintf(buffer + len, sz_buffer - len, "<td style='padding-left: 10px; color: red; float: left;'><b>%s %s</b></td>", gasname(&newgasmix),
@ -777,7 +777,7 @@ static void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool
len += snprintf(buffer + len, sz_buffer - len, "<td>&nbsp;</td>"); len += snprintf(buffer + len, sz_buffer - len, "<td>&nbsp;</td>");
} }
len += snprintf(buffer + len, sz_buffer - len, "</tr>"); len += snprintf(buffer + len, sz_buffer - len, "</tr>");
newdepth = dp->depth; newdepth = dp->depth.mm;
lasttime = dp->time; lasttime = dp->time;
} }
} }
@ -797,7 +797,7 @@ static void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool
} }
} }
lastprintdepth = newdepth; lastprintdepth = newdepth;
lastdepth = dp->depth; lastdepth = dp->depth.mm;
lastsetpoint = dp->setpoint; lastsetpoint = dp->setpoint;
lastentered = dp->entered; lastentered = dp->entered;
} while ((dp = nextdp) != NULL); } while ((dp = nextdp) != NULL);
@ -940,12 +940,12 @@ static void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool
if (dp->time != 0) { if (dp->time != 0) {
struct gas_pressures pressures; struct gas_pressures pressures;
struct gasmix *gasmix = &dive->cylinder[dp->cylinderid].gasmix; struct gasmix *gasmix = &dive->cylinder[dp->cylinderid].gasmix;
fill_pressures(&pressures, depth_to_atm(dp->depth, dive), gasmix, 0.0, dive->dc.divemode); fill_pressures(&pressures, depth_to_atm(dp->depth.mm, dive), gasmix, 0.0, dive->dc.divemode);
if (pressures.o2 > (dp->entered ? prefs.bottompo2 : prefs.decopo2) / 1000.0) { if (pressures.o2 > (dp->entered ? prefs.bottompo2 : prefs.decopo2) / 1000.0) {
const char *depth_unit; const char *depth_unit;
int decimals; int decimals;
double depth_value = get_depth_units(dp->depth, &decimals, &depth_unit); double depth_value = get_depth_units(dp->depth.mm, &decimals, &depth_unit);
len = strlen(buffer); len = strlen(buffer);
if (!o2warning_exist) len += snprintf(buffer + len, sz_buffer - len, "<br>"); if (!o2warning_exist) len += snprintf(buffer + len, sz_buffer - len, "<br>");
o2warning_exist = true; o2warning_exist = true;
@ -957,7 +957,7 @@ static void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool
} else if (pressures.o2 < 0.16) { } else if (pressures.o2 < 0.16) {
const char *depth_unit; const char *depth_unit;
int decimals; int decimals;
double depth_value = get_depth_units(dp->depth, &decimals, &depth_unit); double depth_value = get_depth_units(dp->depth.mm, &decimals, &depth_unit);
len = strlen(buffer); len = strlen(buffer);
if (!o2warning_exist) len += snprintf(buffer + len, sz_buffer - len, "<br>"); if (!o2warning_exist) len += snprintf(buffer + len, sz_buffer - len, "<br>");
o2warning_exist = true; o2warning_exist = true;

View file

@ -1736,13 +1736,13 @@ void ProfileWidget2::repositionDiveHandlers()
continue; continue;
DiveHandler *h = handles.at(i); DiveHandler *h = handles.at(i);
h->setVisible(datapoint.entered); h->setVisible(datapoint.entered);
h->setPos(timeAxis->posAtValue(datapoint.time), profileYAxis->posAtValue(datapoint.depth)); h->setPos(timeAxis->posAtValue(datapoint.time), profileYAxis->posAtValue(datapoint.depth.mm));
QPointF p1; QPointF p1;
if (i == 0) { if (i == 0) {
if (prefs.drop_stone_mode) if (prefs.drop_stone_mode)
// place the text on the straight line from the drop to stone position // place the text on the straight line from the drop to stone position
p1 = QPointF(timeAxis->posAtValue(datapoint.depth / prefs.descrate), p1 = QPointF(timeAxis->posAtValue(datapoint.depth.mm / prefs.descrate),
profileYAxis->posAtValue(datapoint.depth)); profileYAxis->posAtValue(datapoint.depth.mm));
else else
// place the text on the straight line from the origin to the first position // place the text on the straight line from the origin to the first position
p1 = QPointF(timeAxis->posAtValue(0), profileYAxis->posAtValue(0)); p1 = QPointF(timeAxis->posAtValue(0), profileYAxis->posAtValue(0));
@ -1794,7 +1794,7 @@ void ProfileWidget2::recreatePlannedDive()
return; return;
divedatapoint data = plannerModel->at(index); divedatapoint data = plannerModel->at(index);
data.depth = rint(profileYAxis->valueAt(activeHandler->pos()) / M_OR_FT(1, 1)) * M_OR_FT(1, 1); data.depth.mm = rint(profileYAxis->valueAt(activeHandler->pos()) / M_OR_FT(1, 1)) * M_OR_FT(1, 1);
data.time = rint(timeAxis->valueAt(activeHandler->pos())); data.time = rint(timeAxis->valueAt(activeHandler->pos()));
plannerModel->editStop(index, data); plannerModel->editStop(index, data);
@ -1810,10 +1810,10 @@ void ProfileWidget2::keyDownAction()
if (DiveHandler *handler = qgraphicsitem_cast<DiveHandler *>(i)) { if (DiveHandler *handler = qgraphicsitem_cast<DiveHandler *>(i)) {
int row = handles.indexOf(handler); int row = handles.indexOf(handler);
divedatapoint dp = plannerModel->at(row); divedatapoint dp = plannerModel->at(row);
if (dp.depth >= profileYAxis->maximum()) if (dp.depth.mm >= profileYAxis->maximum())
continue; continue;
dp.depth += M_OR_FT(1, 5); dp.depth.mm += M_OR_FT(1, 5);
plannerModel->editStop(row, dp); plannerModel->editStop(row, dp);
} }
} }
@ -1830,10 +1830,10 @@ void ProfileWidget2::keyUpAction()
int row = handles.indexOf(handler); int row = handles.indexOf(handler);
divedatapoint dp = plannerModel->at(row); divedatapoint dp = plannerModel->at(row);
if (dp.depth <= 0) if (dp.depth.mm <= 0)
continue; continue;
dp.depth -= M_OR_FT(1, 5); dp.depth.mm -= M_OR_FT(1, 5);
plannerModel->editStop(row, dp); plannerModel->editStop(row, dp);
} }
} }

View file

@ -159,8 +159,8 @@ bool DivePlannerPointsModel::updateMaxDepth()
displayed_dive.maxdepth.mm = 0; displayed_dive.maxdepth.mm = 0;
for (int i = 0; i < rowCount(); i++) { for (int i = 0; i < rowCount(); i++) {
divedatapoint p = at(i); divedatapoint p = at(i);
if (p.depth > displayed_dive.maxdepth.mm) if (p.depth.mm > displayed_dive.maxdepth.mm)
displayed_dive.maxdepth.mm = p.depth; displayed_dive.maxdepth.mm = p.depth.mm;
} }
return (displayed_dive.maxdepth.mm != prevMaxDepth); return (displayed_dive.maxdepth.mm != prevMaxDepth);
} }
@ -241,7 +241,7 @@ QVariant DivePlannerPointsModel::data(const QModelIndex &index, int role) const
case CCSETPOINT: case CCSETPOINT:
return (double)p.setpoint / 1000; return (double)p.setpoint / 1000;
case DEPTH: case DEPTH:
return (int) rint(get_depth_units(p.depth, NULL, NULL)); return (int) rint(get_depth_units(p.depth.mm, NULL, NULL));
case RUNTIME: case RUNTIME:
return p.time / 60; return p.time / 60;
case DURATION: case DURATION:
@ -288,7 +288,7 @@ bool DivePlannerPointsModel::setData(const QModelIndex &index, const QVariant &v
switch (index.column()) { switch (index.column()) {
case DEPTH: case DEPTH:
if (value.toInt() >= 0) { if (value.toInt() >= 0) {
p.depth = units_to_depth(value.toInt()).mm; p.depth = units_to_depth(value.toInt());
if (updateMaxDepth()) if (updateMaxDepth())
CylindersModel::instance()->updateBestMixes(); CylindersModel::instance()->updateBestMixes();
} }
@ -556,7 +556,7 @@ void DivePlannerPointsModel::setDropStoneMode(bool value)
beginInsertRows(QModelIndex(), 0, 0); beginInsertRows(QModelIndex(), 0, 0);
/* Copy the first current point */ /* Copy the first current point */
divedatapoint p = divepoints.at(0); divedatapoint p = divepoints.at(0);
p.time = p.depth / prefs.descrate; p.time = p.depth.mm / prefs.descrate;
divepoints.push_front(p); divepoints.push_front(p);
endInsertRows(); endInsertRows();
} }
@ -623,7 +623,7 @@ int DivePlannerPointsModel::addStop(int milimeters, int seconds, int cylinderid_
if (seconds == 0 && milimeters == 0 && row != 0) { if (seconds == 0 && milimeters == 0 && row != 0) {
/* this is only possible if the user clicked on the 'plus' sign on the DivePoints Table */ /* this is only possible if the user clicked on the 'plus' sign on the DivePoints Table */
const divedatapoint t = divepoints.at(lastEnteredPoint()); const divedatapoint t = divepoints.at(lastEnteredPoint());
milimeters = t.depth; milimeters = t.depth.mm;
seconds = t.time + 600; // 10 minutes. seconds = t.time + 600; // 10 minutes.
cylinderid = t.cylinderid; cylinderid = t.cylinderid;
ccpoint = t.setpoint; ccpoint = t.setpoint;
@ -662,7 +662,7 @@ int DivePlannerPointsModel::addStop(int milimeters, int seconds, int cylinderid_
// add the new stop // add the new stop
beginInsertRows(QModelIndex(), row, row); beginInsertRows(QModelIndex(), row, row);
divedatapoint point; divedatapoint point;
point.depth = milimeters; point.depth.mm = milimeters;
point.time = seconds; point.time = seconds;
point.cylinderid = cylinderid; point.cylinderid = cylinderid;
point.setpoint = ccpoint; point.setpoint = ccpoint;
@ -807,11 +807,11 @@ void DivePlannerPointsModel::createTemporaryPlan()
lastIndex = i; lastIndex = i;
if (i == 0 && mode == PLAN && prefs.drop_stone_mode) { if (i == 0 && mode == PLAN && prefs.drop_stone_mode) {
/* Okay, we add a first segment where we go down to depth */ /* Okay, we add a first segment where we go down to depth */
plan_add_segment(&diveplan, p.depth / prefs.descrate, p.depth, p.cylinderid, p.setpoint, true); plan_add_segment(&diveplan, p.depth.mm / prefs.descrate, p.depth.mm, p.cylinderid, p.setpoint, true);
deltaT -= p.depth / prefs.descrate; deltaT -= p.depth.mm / prefs.descrate;
} }
if (p.entered) if (p.entered)
plan_add_segment(&diveplan, deltaT, p.depth, p.cylinderid, p.setpoint, true); plan_add_segment(&diveplan, deltaT, p.depth.mm, p.cylinderid, p.setpoint, true);
} }
// what does the cache do??? // what does the cache do???