<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>Hi Robert, hi Rick, hi All,<br>
    </p>
    <br>
    <div class="moz-cite-prefix">Am 15.02.2017 um 02:23 schrieb Rick
      Walsh:<br>
    </div>
    <blockquote
cite="mid:CAF+v9JuVuHmrGMaSnQGPfxMx9NpkX6pou2i3HYNdb2b15o+EhA@mail.gmail.com"
      type="cite">
      <div dir="ltr">On 15 February 2017 at 06:50, Stefan Fuchs <span
          dir="ltr"><<a moz-do-not-send="true" target="_blank"
            href="mailto:sfuchs@gmx.de">sfuchs@gmx.de</a>></span>
        wrote:<br>
        <div class="gmail_extra">
          <div class="gmail_quote">
            <blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px
              solid rgb(204,204,204);padding-left:1ex"
              class="gmail_quote">
              <div bgcolor="#FFFFFF">
                <p>Hi All,</p>
                <p>Joachim (R.) and I finished our first basic version
                  of the minimum gas calculation for the planner.<br>
                  We are now looking for testing and feedback :-)<br>
                </p>
              </div>
            </blockquote>
            <div>Great work on tackling this.  It's really good to see
              new ideas and new developers contributing to the code.  I
              will test when I get a chance, which unfortunately won't
              be for a few days.  In the meantime, I have a few
              comments/suggestions.<br>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    Thanks! Despite the fact that I still have to learn a lot this is
    really fun :-)<br>
    <br>
    <blockquote
cite="mid:CAF+v9JuVuHmrGMaSnQGPfxMx9NpkX6pou2i3HYNdb2b15o+EhA@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px
              solid rgb(204,204,204);padding-left:1ex"
              class="gmail_quote">
              <div bgcolor="#FFFFFF">
                <p> More details below...<br>
                </p>
                <p>Link to initial idea and discussion:<br>
                  <a moz-do-not-send="true" target="_blank"
                    href="https://github.com/Subsurface-divelog/subsurface/issues/188"
class="gmail-m_8098681307314788349moz-txt-link-freetext">https://github.com/Subsurface-<wbr>divelog/subsurface/issues/188</a><br>
                </p>
                <p>Link to feature branch on Github:<br>
                  <a moz-do-not-send="true" target="_blank"
                    href="https://github.com/sfuchs79/subsurface/tree/feature_minimum_gas"
class="gmail-m_8098681307314788349moz-txt-link-freetext">https://github.com/sfuchs79/<wbr>subsurface/tree/feature_<wbr>minimum_gas</a></p>
                <p><br>
                </p>
                <p>My feedback to comments from Robert and Joachim (B.):<br>
                  [...]<br>
                  - Support rec dives: Yes, clearly, calculation is
                  active for all OC dives. I put some limitations for
                  min depth (>18m) and min tank size (12l).
                  Calculating minimum gas for smaller cylinders is from
                  my point of view almost useless.<br>
                </p>
              </div>
            </blockquote>
            <div>I don't see the reason for limiting tank size and
              depth.  10.5l steel cylinders are pretty common where I
              dive, and AL80 (11.1l) cylinders are the most common in
              warm water.  Also there are smaller 300bar cylinders
              popular in some areas.  Minimum gas is also relevant for
              bailout cylinders, and some people use AL40 (5.6l) for
              them (although we don't do any automatic bailout
              calculations).  Surely having sufficient gas is just as
              important a consideration for small cylinders.<br>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    Ok, agreed. Let's remove this limit completely.<br>
    I at the beginning was unhappy that my implementation was also
    showing such results like "your minimum gas is 537bar" if you select
    a small cylinder ;-)<br>
    But I meanwhile avoid this with the simple check of minimum gas
    result against the starting pressure of the cylinder and print a
    warning instead of any result then. One may say this is also still
    not perfect but for me at the moment it's good enough.<br>
    <br>
    <blockquote
cite="mid:CAF+v9JuVuHmrGMaSnQGPfxMx9NpkX6pou2i3HYNdb2b15o+EhA@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <div>I agree minimum gas is usually less of a concern for
              shallow dives, but spend an hour or more at 18m on air
              without a deco cylinder and you will require a significant
              amount of gas to allow two divers to surface safely.  Do
              we gain anything by excluding this possibility?<br>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    Hmm.. maybe 18m is really not a good decision. It's really arbitrary
    as Robert is saying. What I would like to avoid is that we are
    printing a minimum gas result in case we replan a dive and the
    calculated planner points including all deco stops are still in the
    user entry table (before one deletes them). <br>
    May I propose a compromise here: Lets use last/2nd last deco stop
    depth (at ~6m) as limit. This is much less arbitrary than choosing
    18m.<br>
    <br>
    <blockquote
cite="mid:CAF+v9JuVuHmrGMaSnQGPfxMx9NpkX6pou2i3HYNdb2b15o+EhA@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote"><br>
            <div>Robert mentioned this his comments, so sorry to repeat,
              but where possible try to use the special unit types
              defined in core/dive.h: duration_t (unit seconds), depth_t
              (unit mm), <span class="gmail-pl-c1">pressure_t (unit
                mbar), </span><span class="gmail-pl-c1">volume_t (unit
                ml).  It's a little bit of extra work, but it makes the
                code clearer to read and debug.  Obviously the UI should
                present the values in friendly units.<br>
              </span></div>
          </div>
        </div>
      </div>
    </blockquote>
    For this and all the other comments from Robert I hope I understood
    everything and there is nothing to discuss. Updated version will
    come soon.<br>
    BTW: The types are in units.h ;-)<br>
    A very important hint came from Robert about why we add the two new
    variables to struct diveplan. This was clearly a mistake is not
    needed. I will remove it.<br>
    <br>
    <br>
    Best regards<br>
    Stefan<br>
    <br>
    <br>
    <div class="moz-signature">-- <br>
      <meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8">
      <title></title>
      <meta name="GENERATOR" content="OpenOffice.org 3.3 (Win32)">
      <meta name="CREATED" content="0;0">
      <meta name="CHANGEDBY" content="Stefan Fuchs">
      <meta name="CHANGED" content="20120503;23115492">
      <style type="text/css">
        <!--
                P { color: #000000 }
        -->
        </style>
      <p>Stefan Fuchs<br>
        E-Mail: <a href="mailto:sfuchs@gmx.de">sfuchs@gmx.de</a></p>
    </div>
  </body>
</html>