<div dir="ltr">Robert,<br><div><div class="gmail_extra"><br><div class="gmail_quote">On 16 June 2015 at 22:46, Robert Helling <span dir="ltr"><<a href="mailto:helling@atdotde.de" target="_blank">helling@atdotde.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word"><span class=""></span>No, unfortunately, this is not correct either.<div><br></div><div>I acknowledge the bug that you describe (the gas change to EAN80 should be displayed at 9m depth). But your suggested patch breaks something else (which was the original motivation for the ‘postponed’ logic:</div><div><br></div><div>Start with air.</div><div><br></div><div>Descend to 20m</div><div>Stay there for 5min</div><div>Then switch gas to EAN80 and stay another 10min</div><div>Then switch back to air and stay a further 5min</div><div>ascent [planner ascends to 9m, should switch there back to EAN80 and then to the surface].</div><div><br></div><div>In my understanding the plan should then look like this:</div><div><br></div><div>
<table style="margin:0px" border="0" cellpadding="0" cellspacing="2"><thead>
<tr>
<td><div style="margin:0px"><span style="font-weight:600">depth</span></div></td>
<td style="padding-left:10"><div style="margin:0px"><span style="font-weight:600">runtime</span></div></td>
<td style="padding-left:10"><div style="margin:0px"><span style="font-weight:600">duration</span></div></td>
<td style="padding-left:10"><div style="margin:0px"><span style="font-weight:600">gas</span></div></td></tr></thead>
<tbody><tr>
<td style="padding-left:10"><div style="margin:0px">20m</div></td>
<td style="padding-left:10"><div style="margin:0px">1min</div></td>
<td style="padding-left:10"><div style="margin:0px">1min</div></td>
<td style="padding-left:10"><div style="margin:0px"><span style="font-weight:600;color:rgb(255,0,0)">air</span></div></td></tr>
<tr>
<td style="padding-left:10"><div style="margin:0px">20m</div></td>
<td style="padding-left:10"><div style="margin:0px">5min</div></td>
<td style="padding-left:10"><div style="margin:0px">4min</div></td>
<td></td></tr>
<tr>
<td style="padding-left:10"><div style="margin:0px">20m</div></td>
<td style="padding-left:10"><div style="margin:0px">15min</div></td>
<td style="padding-left:10"><div style="margin:0px">10min</div></td>
<td style="padding-left:10"><div style="margin:0px"><span style="color:rgb(255,0,0);font-weight:600">EAN80</span></div></td></tr>
<tr>
<td style="padding-left:10"><div style="margin:0px">20m</div></td>
<td style="padding-left:10"><div style="margin:0px">20min</div></td>
<td style="padding-left:10"><div style="margin:0px">5min</div></td>
<td><p style="margin:0px"> <span style="color:rgb(255,0,0);font-weight:600">air</span></p></td></tr>
<tr>
<td style="padding-left:10"><div style="margin:0px">9m</div></td>
<td style="padding-left:10"><div style="margin:0px">22min</div></td>
<td style="padding-left:10"><div style="margin:0px">2min</div></td>
<td style="padding-left:10"><div style="margin:0px"><span style="font-weight:600;color:rgb(255,0,0)">EAN80</span></div></td></tr>
<tr>
<td style="padding-left:10"><div style="margin:0px">0m</div></td>
<td style="padding-left:10"><div style="margin:0px">28min</div></td>
<td style="padding-left:10"><div style="margin:0px">7min</div></td>
<td><p style="margin:0px"> </p></td></tr></tbody></table><div style="margin:0px"><br></div></div><div>I agree that this logic currently is completely incomprehensible. Will look at this later tonight again.</div></div></blockquote><div><br></div><div>In the attached patch I have tried to simplify the logic and get it to do the right thing.  Rather than tracking whether a gaschange has been delayed, it compares the gas used to the last printed gas.  Can you please have a look?<br><br></div><div>For your example above, with 45/85 gradient factors<br>

<table style="margin:0px" border="0" cellpadding="0" cellspacing="2"><thead>
<tr>
<td>
<p style="margin:0px;text-indent:0px" align="center"><span style="font-weight:600">depth</span></p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px" align="center"><span style="font-weight:600">duration</span></p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px" align="center"><span style="font-weight:600">runtime</span></p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px" align="center"><span style="font-weight:600">gas</span></p></td></tr></thead>
<tbody><tr>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">20m</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">1min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">1min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px"><span style="font-weight:600;color:rgb(255,0,0)">air</span></p></td></tr>
<tr>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">20m</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">5min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">5min</p></td>
<td>
<p style="margin:0px;text-indent:0px"> </p></td></tr>
<tr>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">20m</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">10min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">15min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px"><span style="font-weight:600;color:rgb(255,0,0)">EAN80</span></p></td></tr>
<tr>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">20m</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">5min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">20min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px"><span style="font-weight:600;color:rgb(255,0,0)">air</span></p></td></tr>
<tr>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">9m</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">1min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">21min</p></td>
<td>
<p style="margin:0px;text-indent:0px"> </p></td></tr>
<tr>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">6m</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">17min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">39min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px"><span style="font-weight:600;color:rgb(255,0,0)">EAN80</span></p></td></tr>
<tr>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">0m</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">2min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">41min</p></td>
<td>
<p style="margin:0px;text-indent:0px"> </p></td></tr></tbody></table><br></div><div>Note that it skips the 9m gas change at 21min because there is no deco stop and very short legs are skipped (existing logic in the code).<br><br></div><div>And displaying transitions:<br>

<table style="margin:0px" border="0" cellpadding="0" cellspacing="2"><thead>
<tr>
<td>
<p style="margin:0px;text-indent:0px" align="center"><span style="font-weight:600">depth</span></p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px" align="center"><span style="font-weight:600">duration</span></p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px" align="center"><span style="font-weight:600">runtime</span></p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px" align="center"><span style="font-weight:600">gas</span></p></td></tr></thead>
<tbody><tr>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">20m</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">1min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">1min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px"><span style="font-weight:600;color:rgb(255,0,0)">air</span></p></td></tr>
<tr>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">20m</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">5min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">5min</p></td>
<td>
<p style="margin:0px;text-indent:0px"> </p></td></tr>
<tr>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">20m</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">10min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">15min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px"><span style="font-weight:600;color:rgb(255,0,0)">EAN80</span></p></td></tr>
<tr>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">20m</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">5min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">20min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px"><span style="font-weight:600;color:rgb(255,0,0)">air</span></p></td></tr>
<tr>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">9m</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">1min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">21min</p></td>
<td>
<p style="margin:0px;text-indent:0px"> </p></td></tr>
<tr>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">6m</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">0min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">22min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px"><span style="font-weight:600;color:rgb(255,0,0)">EAN80</span></p></td></tr>
<tr>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">6m</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">17min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">39min</p></td>
<td>
<p style="margin:0px;text-indent:0px"> </p></td></tr>
<tr>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">0m</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">2min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">41min</p></td>
<td>
<p style="margin:0px;text-indent:0px"> </p></td></tr></tbody></table><br></div><div>A more serious profile<br>

<table style="margin:0px" border="0" cellpadding="0" cellspacing="2"><thead>
<tr>
<td>
<p style="margin:0px;text-indent:0px" align="center"><span style="font-weight:600">depth</span></p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px" align="center"><span style="font-weight:600">duration</span></p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px" align="center"><span style="font-weight:600">runtime</span></p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px" align="center"><span style="font-weight:600">gas</span></p></td></tr></thead>
<tbody><tr>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">70m</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">2min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">2min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px"><span style="font-weight:600;color:rgb(255,0,0)">(18/20)</span></p></td></tr>
<tr>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">70m</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">23min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">25min</p></td>
<td>
<p style="margin:0px;text-indent:0px"> </p></td></tr>
<tr>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">40m</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">5min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">30min</p></td>
<td>
<p style="margin:0px;text-indent:0px"> </p></td></tr>
<tr>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">40m</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">20min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">50min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px"><span style="font-weight:600;color:rgb(255,0,0)">EAN28</span></p></td></tr>
<tr>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">21m</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">5min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">55min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px"><span style="font-weight:600;color:rgb(255,0,0)">EAN50</span></p></td></tr>
<tr>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">18m</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">7min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">63min</p></td>
<td>
<p style="margin:0px;text-indent:0px"> </p></td></tr>
<tr>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">15m</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">12min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">75min</p></td>
<td>
<p style="margin:0px;text-indent:0px"> </p></td></tr>
<tr>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">12m</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">17min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">92min</p></td>
<td>
<p style="margin:0px;text-indent:0px"> </p></td></tr>
<tr>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">9m</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">25min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">118min</p></td>
<td>
<p style="margin:0px;text-indent:0px"> </p></td></tr>
<tr>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">6m</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">69min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">187min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px"><span style="font-weight:600;color:rgb(255,0,0)">oxygen</span></p></td></tr>
<tr>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">0m</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">2min</p></td>
<td style="padding-left:10">
<p style="margin:0px;text-indent:0px">189min</p></td>
<td>
<p style="margin:0px;text-indent:0px"> </p></td></tr></tbody></table><br></div>Cheers,<br><br></div><div class="gmail_quote">Rick<br></div></div></div></div>