<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=""><br class=""><div><blockquote type="cite" class=""><div class="">On Feb 21, 2017, at 2:04 PM, Stefan Fuchs <<a href="mailto:sfuchs@gmx.de" class="">sfuchs@gmx.de</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><p 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; background-color: rgb(255, 255, 255);" class="">Hello Robert, hallo Dirk,<br class=""></p><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; background-color: rgb(255, 255, 255);" class=""><div class="moz-cite-prefix" 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; background-color: rgb(255, 255, 255);">Am 21.02.2017 um 11:44 schrieb Robert Helling:<br class=""></div><blockquote cite="mid:5824F147-3AE5-4BAF-BA49-23A896565A9C@atdotde.de" type="cite" 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; background-color: rgb(255, 255, 255);" class="">Stefan,<div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On 21.02.2017, at 11:02, Stefan Fuchs <<a moz-do-not-send="true" href="mailto:sfuchs@gmx.de" class="">sfuchs@gmx.de</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div bgcolor="#FFFFFF" text="#000000" class=""><blockquote cite="mid:44D42C4C-572C-4300-974D-3DBB32B7ADCE@atdotde.de" type="cite" class="" style="font-family: Menlo-Regular; 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; background-color: rgb(255, 255, 255);"><div class="">the problem is that for computers that don’t have gas information, the interpolation of cylinder pressures is only done at the plot stage. The information is in struct plot_data which you find in profile.h, in particular in cylinderindex and pressure[2] (to access the latter there is a macro, for usage see profile.c. Strictly speaking, that is to handle the CCR case which you want to avoid anyway but it’s better to use this as an accessor).</div><div class=""><br class=""></div></blockquote><span class="" style="font-family: Menlo-Regular; 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; background-color: rgb(255, 255, 255); float: none; display: inline !important;">Hmmm... plot_data is rather difficult to access from planner.c. Or do I miss any easy way to do this?</span><br class="" style="font-family: Menlo-Regular; 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; background-color: rgb(255, 255, 255);"></div></div></blockquote><div class=""><br class=""></div><div class="">Hmm. That’s true. Problem is: during planning, so far, we don’t track gas usage but compute it only later. Concretely, in planner.c</div><div class=""><pre class="" style="margin-top: 0px; margin-bottom: 0px;"><span class="" style="color: rgb(128, 128, 0);">
</span></pre><pre class="" style="margin-top: 0px; margin-bottom: 0px;"><span class="" style="color: rgb(128, 128, 0);">static</span><span class="" style="color: rgb(192, 192, 192);"> </span><span class="" style="color: rgb(128, 128, 0);">void</span><span class="" style="color: rgb(192, 192, 192);"> </span>create_dive_from_plan(<span class="" style="color: rgb(128, 128, 0);">struct</span><span class="" style="color: rgb(192, 192, 192);"> </span><span class="" style="color: rgb(128, 0, 128);">diveplan</span><span class="" style="color: rgb(192, 192, 192);"> </span>*diveplan,<span class="" style="color: rgb(192, 192, 192);"> </span><span class="" style="color: rgb(128, 128, 0);">bool</span><span class="" style="color: rgb(192, 192, 192);"> </span>track_gas)</pre><pre class="" style="margin-top: 0px; margin-bottom: 0px;"></pre><pre class="" style="margin-top: 0px; margin-bottom: 0px;">close to the bottom there is </pre><pre class="" style="margin-top: 0px; margin-bottom: 0px;"><pre class="" style="margin-top: 0px; margin-bottom: 0px;"><span class="" style="color: rgb(192, 192, 192);">                    </span>update_cylinder_pressure(&displayed_dive,<span class="" style="color: rgb(192, 192, 192);"> </span>sample[-<span class="" style="color: rgb(0, 0, 128);">1</span>].<span class="" style="color: rgb(128, 0, 0);">depth</span>.<span class="" style="color: rgb(128, 0, 0);">mm</span>,<span class="" style="color: rgb(192, 192, 192);"> </span>depth,<span class="" style="color: rgb(192, 192, 192);"> </span>time<span class="" style="color: rgb(192, 192, 192);"> </span>-<span class="" style="color: rgb(192, 192, 192);"> </span>sample[-<span class="" style="color: rgb(0, 0, 128);">1</span>].<span class="" style="color: rgb(128, 0, 0);">time</span>.<span class="" style="color: rgb(128, 0, 0);">seconds</span>,</pre>This might be a place where one could inject a test if rock bottom is exceeded if that value is already known at that stage. Alternatively, you might have to store the pressure vs time information or you store the rock bottom value for the gas with the dive and generate the warning only in the plotting stage (close to where the gas pressure curves are created). Thinking about this, I guess the latter is what I would go for.</pre></div></div></div></blockquote></div></blockquote><div><br class=""></div><div>I'm worried about the amount of complexity that is going into this - we should keep in mind the ratio of "general benefit" and "code complexity impact".</div><br class=""><blockquote type="cite" class=""><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; background-color: rgb(255, 255, 255); float: none; display: inline !important;" class="">For the moment I have to stop here because I will be on holiday for a week soon and this part for sure will need approximately 1-3 years development time on my side ;-)</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; background-color: rgb(255, 255, 255);" 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; background-color: rgb(255, 255, 255);" 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; background-color: rgb(255, 255, 255); float: none; display: inline !important;" class="">What do you think about the part of the minim gas calculation we created up to now?</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; background-color: rgb(255, 255, 255);" 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; background-color: rgb(255, 255, 255); float: none; display: inline !important;" class="">Is it already time to do a pull request to maybe have some deeper testing or do we need to continue testing and review internally?</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; background-color: rgb(255, 255, 255);" class=""></div></blockquote><div><br class=""></div><div>I'd like to ask that anything that is submitted for master has had some review and testing, comes with an automated test or two and most importantly tries to be as non-invasive as possible.</div><br class=""><blockquote type="cite" class=""><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; background-color: rgb(255, 255, 255); float: none; display: inline !important;" class="">Tomorrow I may be able to write a few words about this feature for the user manual. Shall I put user manual updates in a separate commit (I assume yes)?</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; background-color: rgb(255, 255, 255);" class=""></div></blockquote></div><br class=""><div class="">Yes, please.</div><div class=""><br class=""></div><div class="">/D</div></body></html>