<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><blockquote type="cite" class=""><div text="#000000" bgcolor="#FFFFFF" class=""><blockquote type="cite" cite="mid:c0421900-ad2c-43e8-bc03-74595acea9aa@DISKSTATION2" class=""><div class=""><div class="" style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);">And now to a different thing:</div><p class="" style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);"> </p><div class="" style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);">The app supports unlocking and locking of doors. The feature doesn't seem to be implemented for the Nissan Leaf.</div><div class="" style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);">I have all the CAN-codes needed to make this work. Please let me know if I can contribute.</div></div></blockquote><br class="">I'm uncomfortable doing this on my own car, but I'm very happy to have the feature implemented. I think it should be hidden behind a configuration option, so you can choose whether the standard functionality allows the car to be unlocked, but that is a different and not Leaf specific conversation.</div></blockquote><div class=""><br class=""></div>I think the protection for this can and should be done globally (irrespective of car model). Bets to keep things as universal as possible, without too many car-specific stuff. Actions like unlock, valet, homelink, etc, should be able to be enabled/disabled at the module level.<div class=""><br class=""></div><div class="">I will handle the changes for this global protection mechanism.</div><div class=""><br class=""></div><div class="">Individual vehicle modules should always implement the functionality if they can.</div><div class=""><br class=""></div><div class="">Regards, Mark.<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 2 May 2018, at 3:39 AM, Tom Parker <<a href="mailto:tom@carrott.org" class="">tom@carrott.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">
  
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252" class="">
  
  <div text="#000000" bgcolor="#FFFFFF" class=""><p class="">On 02/05/18 01:08, ovms wrote:<br class="">
    </p>
    <blockquote type="cite" cite="mid:c0421900-ad2c-43e8-bc03-74595acea9aa@DISKSTATION2" class="">
      <div class="">Think I found out why I was unable to send mail to this list.
        (wrong sender address)</div>
      <div class=""> </div>
      <div class="">My 2016 Leaf still has flapping SOC.</div>
    </blockquote>
    <br class="">
    Do you have a 30kWh battery?<br class="">
    <br class="">
    <blockquote type="cite" cite="mid:c0421900-ad2c-43e8-bc03-74595acea9aa@DISKSTATION2" class="">
      <div class="">I made the following changes in vehicle_nissanleaf.cpp and
        compiled the code.</div>
      <div class=""> </div>
      <div class=""><div style="margin: 0px; font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(39, 42, 216); background-color: rgb(255, 255, 255);" class=""><strong class=""><span style="color: #ba2da2;" class="">case</span> 0x50d</strong><span style="" class=""><strong class="">:</strong>   //Changed this
            from 5bc. 50d is the instrument SOC</span></div><div style="margin: 0px; font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span class="Apple-converted-space">   </span> {</div><div style="margin: 0px; font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span class="Apple-converted-space">     </span> uint16_t nl_gids
          = ((uint16_t) d[<span style="color: #272ad8;" class="">0</span>]
          << <span style="color: #272ad8;" class="">2</span>) | ((d[<span style="color: #272ad8;" class="">1</span>] & <span style="color:
            #272ad8;" class="">0xc0</span>) >> <span style="color:
            #272ad8;" class="">6</span>);</div><div style="margin: 0px; font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span class="Apple-converted-space">     </span> <span style="color: #ba2da2;" class="">if</span> (nl_gids == <span style="color: #272ad8;" class="">1023</span>)</div><div style="margin: 0px; font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span class="Apple-converted-space">       </span> {</div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;
          color: #008400; background-color: #ffffff;" class=""><span style="" class=""><span class="Apple-converted-space"> 
                    </span></span></p><div style="margin: 0px; font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span class="Apple-converted-space">       </span> <span style="color: #ba2da2;" class="">break</span>;</div><div style="margin: 0px; font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span class="Apple-converted-space">       </span> }</div><div style="margin: 0px; font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span class="Apple-converted-space">     </span> uint16_t max_gids
          = MyConfig.GetParamValueInt(<span style="color: #d12f1b;" class="">"xnl"</span>,
          <span style="color: #d12f1b;" class="">"maxGids"</span>,
          GEN_1_NEW_CAR_GIDS);</div><div style="margin: 0px; font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span class="Apple-converted-space">     </span> <span style="color: #ba2da2;" class="">float</span> km_per_kwh =
          MyConfig.GetParamValueFloat(<span style="color: #d12f1b;" class="">"xnl"</span>,
          <span style="color: #d12f1b;" class="">"kmPerKWh"</span>,
          GEN_1_KM_PER_KWH);</div><div style="margin: 0px; font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span class="Apple-converted-space">     </span> <span style="color: #ba2da2;" class="">float</span> wh_per_gid =
          MyConfig.GetParamValueFloat(<span style="color: #d12f1b;" class="">"xnl"</span>,
          <span style="color: #d12f1b;" class="">"whPerGid"</span>,
          GEN_1_WH_PER_GID);</div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px
          Helvetica; background-color: #ffffff; min-height: 14.0px;" class=""> <br class="webkit-block-placeholder"></p><div style="margin: 0px; font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span class="Apple-converted-space">     </span>
          m_gids->SetValue(nl_gids);</div><div style="margin: 0px; font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span class="Apple-converted-space">     </span>
          StandardMetrics.ms_v_bat_soc->SetValue(<strong class="">nl_gids / <span style="color: #272ad8;" class="">4</span></strong>);  //Changed
          this so the value is divided by 4.</div><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""> </p><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""> </p><div style="margin: 0px; font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">SOC now shows
          exactly the same in the app as the instrument-panel does, and
          is not flapping. (I know the instrument-panel is different
          from the true SOC)</div>
      </div>
    </blockquote>
    <br class="">
    Right, so you've confirmed that if module sends a reasonable SOC to
    the server, the value stops flapping in the app?<br class="">
    <br class="">
    <blockquote type="cite" cite="mid:c0421900-ad2c-43e8-bc03-74595acea9aa@DISKSTATION2" class="">
      <div class=""><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""> </p><div style="margin: 0px; font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">My coding
          capabilities are limited so if someone has a better idea, I
          can test it on my car.</div><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""> </p>
      </div>
    </blockquote>
    <br class="">
    We can make the SOC calculation configurable so that you can choose
    to use the instrument panel SOC or an SOC based on the new car
    battery size. When I took over the leaf support I wanted to use the
    instrument panel soc too, <span class="blob-code-inner"><span class="pl-c1"><span class="blob-code-inner"><span class="pl-c1"><span class="blob-code-inner"><span class="blob-code-inner"><span class="pl-c1">see Tom Saxton's reply which
                  convincingly dissuaded me wanting to switch</span></span></span></span></span></span></span><span class="blob-code-inner"><span class="pl-c1"><span class="blob-code-inner"><span class="pl-c1"><span class="blob-code-inner"><span class="blob-code-inner"><span class="pl-c1">:
                  <a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/pipermail/ovmsdev/2016-May/002993.html">http://lists.openvehicles.com/pipermail/ovmsdev/2016-May/002993.html</a>
                  (this discussion that was before I knew SOC was
                  available so I had some no longer relevant ideas about
                  how to actually implement it).<br class="">
                  <br class="">
                  Now we have the easier to configure v3 platform and
                  more users wanting to use the instrument panel SOC
                  I'll make it configurable. I should be able to get
                  that done tonight.<br class="">
                </span></span></span></span></span></span></span><br class="">
    <blockquote type="cite" cite="mid:c0421900-ad2c-43e8-bc03-74595acea9aa@DISKSTATION2" class="">
      <div class=""><div style="margin: 0px; font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">And now to a
          different thing:</div><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""> </p><div style="margin: 0px; font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">The app supports
          unlocking and locking of doors. The feature doesn't seem to be
          implemented for the Nissan Leaf.</div><div style="margin: 0px; font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">I have all the
          CAN-codes needed to make this work. Please let me know if I
          can contribute.</div>
      </div>
    </blockquote>
    <br class="">
    I'm uncomfortable doing this on my own car, but I'm very happy to
    have the feature implemented. I think it should be hidden behind a
    configuration option, so you can choose whether the standard
    functionality allows the car to be unlocked, but that is a different
    and not Leaf specific conversation.<br class="">
    <br class="">
    You should be able to implement it quite easily by following the
    pattern used in CommandStartCharge() in the Leaf code and the Lock
    and UnLock implementations in the Tesla Roadster and Kia Soul code.
    Be sure to send the frame to the correct CAN bus. The console
    logging functions are very useful for confirming what is going on
    when you're developing.<br class="">
    <br class="">
    Thanks for <br class="">
    <br class="">
  </div>

_______________________________________________<br class="">OvmsDev mailing list<br class=""><a href="mailto:OvmsDev@lists.openvehicles.com" class="">OvmsDev@lists.openvehicles.com</a><br class="">http://lists.openvehicles.com/mailman/listinfo/ovmsdev<br class=""></div></blockquote></div><br class=""></div></body></html>