<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Ok, 6k it is.  Pushed; pull request sent.<br>
    <br>
    Greg<br>
    <br>
    <br>
    <div class="moz-cite-prefix">Mark Webb-Johnson wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:92D477DB-605A-48D3-B00F-2D265E8BD903@webb-johnson.net">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      Greg,
      <div class=""><br class="">
      </div>
      <div class="">
        <blockquote type="cite" class="">
          <div text="#000000" bgcolor="#FFFFFF" class="">...  looks like
            it needs an additional 512 bytes.  Dropping to an increment
            of 256 bytes, 21*256 didn't do it, 22*256 did.<br class="">
          </div>
        </blockquote>
        <div class=""><br class="">
        </div>
        I suggest 6144. That is what the others use.</div>
      <div class=""><br class="">
      </div>
      <div class="">
        <blockquote type="cite" class="">
          <div text="#000000" bgcolor="#FFFFFF" class="">And, why is the
            script running from obd2ecu causing the async console to
            fall over?</div>
        </blockquote>
        <div><br class="">
        </div>
        <div>To show the value it executes the script. That needs stack.</div>
        <div><br class="">
        </div>
        <div>Regards, Mark.</div>
        <div><br class="">
          <blockquote type="cite" class="">
            <div class="">On 29 Mar 2018, at 10:29 AM, Greg D. <<a
                href="mailto:gregd2350@gmail.com" class=""
                moz-do-not-send="true">gregd2350@gmail.com</a>>
              wrote:</div>
            <br class="Apple-interchange-newline">
            <div class="">
              <meta http-equiv="Content-Type" content="text/html;
                charset=UTF-8" class="">
              <div text="#000000" bgcolor="#FFFFFF" class=""> ...  looks
                like it needs an additional 512 bytes.  Dropping to an
                increment of 256 bytes, 21*256 didn't do it, 22*256 did.<br
                  class="">
                <br class="">
                How much above that is needed for safety?  And, why is
                the script running from obd2ecu causing the async
                console to fall over?  The output from the script is no
                different than a regular line generated from a regular
                metric.<br class="">
                <br class="">
                Greg<br class="">
                <br class="">
                <br class="">
                <div class="moz-cite-prefix">Greg D. wrote:<br class="">
                </div>
                <blockquote type="cite"
                  cite="mid:7b48f711-8c35-ccd7-6526-2fa31e92d53c@gmail.com"
                  class="">
                  <meta http-equiv="Content-Type" content="text/html;
                    charset=UTF-8" class="">
                  Thanks for the analysis.  module tasks isn't working,
                  but I'll do some tests to get an approximate limit.<br
                    class="">
                  <br class="">
                  Please get some "day job" stuff done - this isn't time
                  critical.<br class="">
                  <br class="">
                  Greg<br class="">
                  <br class="">
                  <br class="">
                  <div class="moz-cite-prefix">Mark Webb-Johnson wrote:<br
                      class="">
                  </div>
                  <blockquote type="cite"
                    cite="mid:F72B9C93-FBB0-4664-B56D-950607EC9ACD@webb-johnson.net"
                    class="">
                    <meta http-equiv="Content-Type" content="text/html;
                      charset=UTF-8" class="">
                    Probably insufficient stack in AsyncConsole.
                    <div class=""><br class="">
                    </div>
                    <div class="">At the moment it should be 5KB. Maybe
                      more needed?</div>
                    <div class=""><br class="">
                    </div>
                    <blockquote style="margin: 0 0 0 40px; border: none;
                      padding: 0px;" class="">
                      <div class="">console_async.cpp line 50</div>
                      <div class=""><br class="">
                      </div>
                      <div class="">ConsoleAsync::ConsoleAsync() :
                        TaskBase("AsyncConsole", 5*1024)</div>
                    </blockquote>
                    <div class="">
                      <div class=""><br class="">
                      </div>
                      <div class="">Can you try increasing, then running
                        a ‘module tasks’ to see what it actually used?</div>
                      <div class=""><br class="">
                      </div>
                      <div class="">Regards, Mark.</div>
                      <div class=""><br class="">
                        <blockquote type="cite" class="">
                          <div class="">On 29 Mar 2018, at 10:08 AM,
                            Greg D. <<a
                              href="mailto:gregd2350@gmail.com" class=""
                              moz-do-not-send="true">gregd2350@gmail.com</a>>
                            wrote:</div>
                          <br class="Apple-interchange-newline">
                          <div class="">
                            <div class="">Here you go...  (newlines
                              added for clarity)<br class="">
                              <br class="">
                              Greg<br class="">
                              <br class="">
                              <a class="moz-txt-link-abbreviated"
href="mailto:greg@linux-0rpb:%7E/greg/ovms/Open-Vehicle-Monitoring-System-3-master/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3"
                                moz-do-not-send="true">greg@linux-0rpb:~/greg/ovms/Open-Vehicle-Monitoring-System-3-master/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3</a>><br
                                class="">
~/esp/xtensa-esp32-elf/bin/xtensa-esp32-elf-addr2line -pfiaC -e<br
                                class="">
                              build/ovms3.elf 0x4008ead4:0x3fff2f50
                              0x4008ecab:0x3fff2f70<br class="">
                              0x4008ecc4:0x3fff2f90
                              0x4008ab6b:0x3fff2fb0
                              0x4008cd94:0x3fff2fd0<br class="">
                              0x4008cd4a:0x3fff600c<br class="">
                              <br class="">
                              0x4008ead4: invoke_abort at<br class="">
/home/greg/esp/esp-idf/components/esp32/./panic.c:648<br class="">
                              0x4008ecab: abort at
                              /home/greg/esp/esp-idf/components/esp32/./panic.c:648<br
                                class="">
                              0x4008ecc4: vApplicationStackOverflowHook
                              at<br class="">
/home/greg/esp/esp-idf/components/esp32/./panic.c:648<br class="">
                              0x4008ab6b: vTaskSwitchContext at<br
                                class="">
/home/greg/esp/esp-idf/components/freertos/./tasks.c:4837<br class="">
                              0x4008cd94: _frxt_dispatch at<br class="">
/home/greg/esp/esp-idf/components/freertos/./portasm.S:406<br class="">
                              0x4008cd4a: _frxt_int_exit at<br class="">
/home/greg/esp/esp-idf/components/freertos/./portasm.S:206<br class="">
                              <br class="">
                              <a class="moz-txt-link-abbreviated"
href="mailto:greg@linux-0rpb:%7E/greg/ovms/Open-Vehicle-Monitoring-System-3-master/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3"
                                moz-do-not-send="true">greg@linux-0rpb:~/greg/ovms/Open-Vehicle-Monitoring-System-3-master/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3</a>><br
                                class="">
                              <br class="">
                              <br class="">
                              <br class="">
                              <br class="">
                              <br class="">
                              Mark Webb-Johnson wrote:<br class="">
                              <blockquote type="cite" class="">Greg,<br
                                  class="">
                                <br class="">
                                The backtrace we need is one either via
                                gdbstub, or one you produce with:<br
                                  class="">
                                <br class="">
~/esp/xtensa-esp32-elf/bin/xtensa-esp32-elf-addr2line -pfiaC -e
                                build/ovms3.elf 0x4008ead4:0x3fff2f50
                                0x4008ecab:0x3fff2f70
                                0x4008ecc4:0x3fff2f90
                                0x4008ab6b:0x3fff2fb0
                                0x4008cd94:0x3fff2fd0
                                0x4008cd4a:0x3fff600c<br class="">
                                <br class="">
                                Regards, Mark<br class="">
                                <br class="">
                                <blockquote type="cite" class="">On 29
                                  Mar 2018, at 9:44 AM, Greg D. <<a
                                    href="mailto:gregd2350@gmail.com"
                                    class="" moz-do-not-send="true">gregd2350@gmail.com</a>>
                                  wrote:<br class="">
                                  <br class="">
                                  So, now it's failing at my desk, too.
                                   Good - a lot easier to grab a<br
                                    class="">
                                  backtrace...   But, it's also
                                  happening whether the metrics are set
                                  or<br class="">
                                  not.  I've updated the code to the
                                  current (including your housekeeping<br
                                    class="">
                                  changes); not sure if that made a
                                  difference.<br class="">
                                  <br class="">
                                  OVMS> vfs cat /store/obd2ecu/10<br
                                    class="">
                                  ret1=OvmsMetricFloat("v.p.speed");<br
                                    class="">
                                  ret2=OvmsMetricFloat("v.b.power");<br
                                    class="">
                                  out = 0.0;<br class="">
                                  if(ret1 > 0) { out=ret2/ret1; }<br
                                    class="">
                                  out;<br class="">
                                  OVMS> obdii ecu list<br class="">
                                  PID             Type        Value
                                     Metric<br class="">
                                  0   (0x00)       internal     0.000000<br
                                    class="">
                                  4   (0x04)       internal     0.000000
                                  v.b.soc<br class="">
                                  5   (0x05)         metric     0.000000
                                  v.e.temp<br class="">
                                  ***ERROR*** A stack overflow in task
                                  AsyncConsole has been detected.<br
                                    class="">
                                  abort() was called at PC 0x4008ecc4 on
                                  core 1<br class="">
                                  <br class="">
                                  Backtrace: 0x4008ead4:0x3fff2f50
                                  0x4008ecab:0x3fff2f70<br class="">
                                  0x4008ecc4:0x3fff2f90
                                  0x4008ab6b:0x3fff2fb0
                                  0x4008cd94:0x3fff2fd0<br class="">
                                  0x4008cd4a:0x3fff600c<br class="">
                                  <br class="">
                                  Rebooting...<br class="">
                                  <br class="">
                                  <br class="">
                                  <br class="">
                                  <br class="">
                                  Mark Webb-Johnson wrote:<br class="">
                                  <blockquote type="cite" class="">Need
                                    to see a backtrace. Perhaps you are
                                    just on the borderline of stack
                                    usage, or something going crazy?<br
                                      class="">
                                    <br class="">
                                    Looking at DukOvmsMetricFloat(), it
                                    just return the metric AsFloat(),
                                    and for float type metrics that
                                    should just be zero if not defined.<br
                                      class="">
                                    <br class="">
                                    Regards, Mark.<br class="">
                                    <br class="">
                                    <blockquote type="cite" class="">On
                                      29 Mar 2018, at 8:58 AM, Greg D.
                                      <<a
                                        href="mailto:gregd2350@gmail.com"
                                        class="" moz-do-not-send="true">gregd2350@gmail.com</a>>
                                      wrote:<br class="">
                                      <br class="">
                                      Hi folks,<br class="">
                                      <br class="">
                                      Does anyone know how DukTape
                                      scripting handles math with a
                                      metric that<br class="">
                                      hasn't been updated yet? <br
                                        class="">
                                      <br class="">
                                      I have a short example script in
                                      the OBDII ECU documentation which<br
                                        class="">
                                      (should) calculate a
                                      power-per-speed metric for display
                                      on a HUD.  Seems<br class="">
                                      like it would be a useful example,
                                      and wanted to verify that it
                                      actually<br class="">
                                      works. <br class="">
                                      <br class="">
                                      OVMS> vfs cat /store/obd2ecu/10<br
                                        class="">
                                      ret1=OvmsMetricFloat("v.p.speed");<br
                                        class="">
                                      ret2=OvmsMetricFloat("v.b.power");<br
                                        class="">
                                      out = 0.0;<br class="">
                                      if(ret1 > 0) { out=ret2/ret1; }<br
                                        class="">
                                      out;<br class="">
                                      <br class="">
                                      I have the module in the my
                                      Roadster, and the v.p.speed metric
                                      comes up<br class="">
                                      as 0 kph (that's good - it's
                                      parked), but the power metric
                                      isn't<br class="">
                                      provided by the car, so is blank
                                      when listing the metrics.  I
                                      expected<br class="">
                                      the code to return zero.<br
                                        class="">
                                      <br class="">
                                      Instead, executing the script by
                                      asking for 'obdii ecu list' causes
                                      an<br class="">
                                      immediate crash with a stack
                                      overflow in task AsyncConsole.  If
                                      I<br class="">
                                      initialize the power metric by
                                      hand (metric set v.b.power 0), the
                                      script<br class="">
                                      runs just fine, returning 0 for
                                      the metric.<br class="">
                                      <br class="">
                                      Oddly, when I first set it up on
                                      the desk (sans vehicle), so both
                                      of the<br class="">
                                      metrics were blank, executing the
                                      script didn't cause crash.<br
                                        class="">
                                      <br class="">
                                      Is there a way to make the code
                                      "Roadster safe", without dummying
                                      up the<br class="">
                                      metric in, say, a startup script?
                                       Better, is there a fix for
                                      DukTape to<br class="">
                                      handle this, or should I just
                                      increase the stack size in
                                      AsyncConsole?<br class="">
                                      <br class="">
                                      Thanks,<br class="">
                                      <br class="">
                                      Greg<br class="">
                                      <br class="">
_______________________________________________<br class="">
                                      OvmsDev mailing list<br class="">
                                      <a
                                        href="mailto:OvmsDev@lists.teslaclub.hk"
                                        class="" moz-do-not-send="true">OvmsDev@lists.teslaclub.hk</a><br
                                        class="">
                                      <a class="moz-txt-link-freetext"
                                        href="http://lists.teslaclub.hk/mailman/listinfo/ovmsdev"
                                        moz-do-not-send="true">http://lists.teslaclub.hk/mailman/listinfo/ovmsdev</a><br
                                        class="">
                                    </blockquote>
_______________________________________________<br class="">
                                    OvmsDev mailing list<br class="">
                                    <a
                                      href="mailto:OvmsDev@lists.teslaclub.hk"
                                      class="" moz-do-not-send="true">OvmsDev@lists.teslaclub.hk</a><br
                                      class="">
                                    <a class="moz-txt-link-freetext"
                                      href="http://lists.teslaclub.hk/mailman/listinfo/ovmsdev"
                                      moz-do-not-send="true">http://lists.teslaclub.hk/mailman/listinfo/ovmsdev</a><br
                                      class="">
                                  </blockquote>
_______________________________________________<br class="">
                                  OvmsDev mailing list<br class="">
                                  <a
                                    href="mailto:OvmsDev@lists.teslaclub.hk"
                                    class="" moz-do-not-send="true">OvmsDev@lists.teslaclub.hk</a><br
                                    class="">
                                  <a class="moz-txt-link-freetext"
                                    href="http://lists.teslaclub.hk/mailman/listinfo/ovmsdev"
                                    moz-do-not-send="true">http://lists.teslaclub.hk/mailman/listinfo/ovmsdev</a><br
                                    class="">
                                </blockquote>
_______________________________________________<br class="">
                                OvmsDev mailing list<br class="">
                                <a
                                  href="mailto:OvmsDev@lists.teslaclub.hk"
                                  class="" moz-do-not-send="true">OvmsDev@lists.teslaclub.hk</a><br
                                  class="">
                                <a class="moz-txt-link-freetext"
                                  href="http://lists.teslaclub.hk/mailman/listinfo/ovmsdev"
                                  moz-do-not-send="true">http://lists.teslaclub.hk/mailman/listinfo/ovmsdev</a><br
                                  class="">
                              </blockquote>
                              <br class="">
_______________________________________________<br class="">
                              OvmsDev mailing list<br class="">
                              <a
                                href="mailto:OvmsDev@lists.teslaclub.hk"
                                class="" moz-do-not-send="true">OvmsDev@lists.teslaclub.hk</a><br
                                class="">
                              <a class="moz-txt-link-freetext"
                                href="http://lists.teslaclub.hk/mailman/listinfo/ovmsdev"
                                moz-do-not-send="true">http://lists.teslaclub.hk/mailman/listinfo/ovmsdev</a><br
                                class="">
                            </div>
                          </div>
                        </blockquote>
                      </div>
                      <br class="">
                    </div>
                    <br class="">
                    <fieldset class="mimeAttachmentHeader"></fieldset>
                    <br class="">
                    <pre class="" wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.teslaclub.hk" moz-do-not-send="true">OvmsDev@lists.teslaclub.hk</a>
<a class="moz-txt-link-freetext" href="http://lists.teslaclub.hk/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.teslaclub.hk/mailman/listinfo/ovmsdev</a>
</pre>
                  </blockquote>
                  <br class="">
                </blockquote>
                <br class="">
              </div>
              _______________________________________________<br
                class="">
              OvmsDev mailing list<br class="">
              <a href="mailto:OvmsDev@lists.teslaclub.hk" class=""
                moz-do-not-send="true">OvmsDev@lists.teslaclub.hk</a><br
                class="">
              <a class="moz-txt-link-freetext" href="http://lists.teslaclub.hk/mailman/listinfo/ovmsdev">http://lists.teslaclub.hk/mailman/listinfo/ovmsdev</a><br
                class="">
            </div>
          </blockquote>
        </div>
        <br class="">
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.teslaclub.hk">OvmsDev@lists.teslaclub.hk</a>
<a class="moz-txt-link-freetext" href="http://lists.teslaclub.hk/mailman/listinfo/ovmsdev">http://lists.teslaclub.hk/mailman/listinfo/ovmsdev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>