<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi,<div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 01 Feb 2017, at 08:05, Willem Ferguson <<a href="mailto:willemferguson@zoology.up.ac.za" class="">willemferguson@zoology.up.ac.za</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Following on previous similar correspondence, here are some comments about importing a dive plan into the dive list and adding it to the downloaded dive record so that one can switch between plan and downloaded dive using left and right arrow keys. My procedure was as follows:</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">1) Save the dive plan into the dive log</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">2) After the dive, change the date/time of the plan so that it is one minute after that of the real dive. This shows the dive plan immediately above the real dive in the dive list.</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">3) Merge the dive and the dive plan.</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Using version 4.6.0-40-g75ae, two issues, a large one and a small one:</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">1) Attached are four images, indicating the dive as well as the plan before and after the merge operation. The plan and the dive differ in small details because the exact cylinder pressures and gas mixtures measured from the cylinders just before the dive are not exactly those specified during the planning process. In this example, the back gas was EAN28, and not EAN29 as planned and the deco gas was EAN56, not EAN60 as planned. The initial backgas cylinder pressure was 225 bar and nor 232 bar as planned, etc. When rendering the dive and the dive plan, there is a curious mixture of gas composition and gas pressures between the two profiles. For instance, the dive plan back gas is EAN28, and not EAN29 as in the before-merger plan The deco gas is EAN56 in the plan and not EAN60 as in the before-merger plan. The starting deco gas pressure in the plan is 210, and not 207 as in the before-merger plan. Und so weiter und so weiter. For the downloaded dive profile, the gas mixtures are correct, but the gas pressure data are incorrect: the backgas starts off at 232 bars and not at 225 bars. The start and end pressures of the EAN36 are both wrong. Also, there are small but significant differences between the ceiling information of the downloaded dive profile before merging with the plan and that after the merger: after merger, the ceiling is lower.</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">2) The small issue: before merging, when changing the date-time of the plan to coincide with that of the downloaded profile, the plan is always shown first and the downloaded profile second. I would like the order to be the other way round: the downloaded profile should be the default view, with the plan being shown if one hits the right-arrow key. The only way I have managed to get the right order is to make the date-time of the plan one minute later than that of the downloaded profile. This is what I did in this case (the dive plan is shown as profile 2 of 2)</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Is this user error or does it indicate problems created by the merging process?</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""></div></blockquote></div><br class=""></div><div class="">turns out this is not specific to the planner, it is a „feature“ of how we merge dives:</div><div class=""><br class=""></div><div class="">Looking at the code in dive.c (and the xml file), the information about the cylinders is per dive rather than per dive computer and for each computer it only states at which point in time we switch to which cylinder. Specifically, in the code it says:</div><div class=""><br class=""></div><div class="">
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><!--StartFragment--><span style=" color:#008000;" class="">/*</span><span style=" color:#c0c0c0;" class=""> </span><span style=" color:#008000;" class="">Pick</span><span style=" color:#c0c0c0;" class=""> </span><span style=" color:#008000;" class="">whichever</span><span style=" color:#c0c0c0;" class=""> </span><span style=" color:#008000;" class="">has</span><span style=" color:#c0c0c0;" class=""> </span><span style=" color:#008000;" class="">any</span><span style=" color:#c0c0c0;" class=""> </span><span style=" color:#008000;" class="">info</span><span style=" color:#c0c0c0;" class=""> </span><span style=" color:#008000;" class="">(if</span><span style=" color:#c0c0c0;" class=""> </span><span style=" color:#008000;" class="">either).</span><span style=" color:#c0c0c0;" class=""> </span><span style=" color:#008000;" class="">Prefer</span><span style=" color:#c0c0c0;" class=""> </span><span style=" color:#008000;" class="">'a'</span><span style=" color:#c0c0c0;" class=""> </span><span style=" color:#008000;" class="">*/</span></pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><span style=" color:#808000;" class="">static</span><span style=" color:#c0c0c0;" class=""> </span><span style=" color:#808000;" class="">void</span><span style=" color:#c0c0c0;" class=""> </span>merge_cylinder_type(<span style=" color:#800080;" class="">cylinder_type_t</span><span style=" color:#c0c0c0;" class=""> </span>*src,<span style=" color:#c0c0c0;" class=""> </span><span style=" color:#800080;" class="">cylinder_type_t</span><span style=" color:#c0c0c0;" class=""> </span>*dst)</pre>
<pre style="margin-top: 0px; margin-bottom: 0px;" class=""><br class=""><!--EndFragment--></pre><div class="">I guess, that is the natural thing to do if it is really the same dive recorded by two dive computers (there is the _actual_ set of cylinders after all). I see that in your case where you compare the actual dive to a theoretical one, this makes little sense.</div></div><div class=""><br class=""></div><div class="">I don’t know, but we might want to detect this case and rather take the union of the sets of cylinders. </div><div class=""><br class=""></div><div class="">Any volunteers to implement this?</div><div class=""><br class=""></div><div class="">Best</div><div class="">Robert</div><div class=""><br class=""></div><div class=""><br class=""></div></body></html>