<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Nikolay,<br>
    <br>
    that code does an OBDIIEXTENDED (16 bit PID) poll of the four PIDs
    0x4965 … 0x4968 at module ID 0x753 (0b11101010011) with replies
    coming in at ID 0x75b.<br>
    <br>
    That's something like this as a polling list:<br>
    <br>
    <tt>static const OvmsVehicle::poll_pid_t obdii_polls[] =</tt><tt><br>
    </tt><tt>  {</tt><tt><br>
    </tt><tt>    { 0x753, 0x75b, VEHICLE_POLL_TYPE_OBDIIEXTENDED,
      0x4965, {  0, 1, 60 } },</tt><tt><br>
    </tt><tt>    { 0x753, 0x75b, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x4966,
      {  0, 1, 60 } },</tt><tt><br>
    </tt><tt>    { 0x753, 0x75b, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x4967,
      {  0, 1, 60 } },</tt><tt><br>
    </tt><tt>    { 0x753, 0x75b, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x4968,
      {  0, 1, 60 } },</tt><tt><br>
    </tt><tt>    { 0, 0, 0x00, 0x00, { 0, 0, 0 } }</tt><tt><br>
    </tt><tt>  };</tt><br>
    <br>
    If you set this as a PidList and set the poll state to 1, the polls
    will be done in series with 1 second interval (every 60 seconds in
    state 2). Note that's 4 seconds for a full loop, not as fast as the
    old implementation which blocked the idle callback for 400 ms to
    send the requests with 100 ms delays.<br>
    <br>
    If you really need these polls to be that fast (?), the polling
    framework needs some change, or you could continue to do this in
    custom code.<br>
    <br>
    For a custom implementation you would define a software timer to be
    called every 100 ms. A single CAN TX may be possible to do within
    the timer callback (take care: no blocking calls allowed). Another
    option would be to generate a custom poll request or 100 ms ticker
    event from the timer callback and use an event handler to actually
    do the TX.<br>
    <br>
    Regards,<br>
    Michael<br>
    <br>
    <br>
    <div class="moz-cite-prefix">Am 31.07.2018 um 20:57 schrieb Nikolay
      Shishkov:<br>
    </div>
    <blockquote type="cite"
      cite="mid:1386931617.6344412.1533063471381@mail.yahoo.com">
      <meta http-equiv="content-type" content="text/html; charset=utf-8">
      <div style="font-family:Helvetica Neue, Helvetica, Arial,
        sans-serif;font-size:13px;">
        <div style="font-family:Helvetica Neue, Helvetica, Arial,
          sans-serif;font-size:13px;">
          <div>Quick question.</div>
          <div>How do I convert this:  </div>
          <div><br>
          </div>
          <div><span>
              <div>    while (TXB0CONbits.TXREQ) {} // Loop until TX is
                done</div>
              <div>    TXB0CON = 0;</div>
              <div>    TXB0SIDL = 0b01100000;</div>
              <div>    TXB0SIDH = 0b11101010;</div>
              <div>    TXB0D0 = 0x03;</div>
              <div>    TXB0D1 = 0x22;</div>
              <div>    TXB0D2 = 0x49;</div>
              <div>    TXB0D3 = 0x65;</div>
              <div>    TXB0DLC = 0b00000100; // data length (4)</div>
              <div>    TXB0CON = 0b00001000; // mark for transmission</div>
              <div>    delay100b(); // Delay a little... (100ms, approx)</div>
              <div><br>
              </div>
              <div>    while (TXB0CONbits.TXREQ) {} // Loop until TX is
                done</div>
              <div>    TXB0CON = 0;</div>
              <div>    TXB0SIDL = 0b01100000;</div>
              <div>    TXB0SIDH = 0b11101010;</div>
              <div>    TXB0D0 = 0x03;</div>
              <div>    TXB0D1 = 0x22;</div>
              <div>    TXB0D2 = 0x49;</div>
              <div>    TXB0D3 = 0x66;</div>
              <div>    TXB0DLC = 0b00000100; // data length (4)</div>
              <div>    TXB0CON = 0b00001000; // mark for transmission</div>
              <div>    delay100b(); // Delay a little... (100ms, approx)</div>
              <div><br>
              </div>
              <div>    while (TXB0CONbits.TXREQ) {} // Loop until TX is
                done</div>
              <div>    TXB0CON = 0;</div>
              <div>    TXB0SIDL = 0b01100000;</div>
              <div>    TXB0SIDH = 0b11101010;</div>
              <div>    TXB0D0 = 0x03;</div>
              <div>    TXB0D1 = 0x22;</div>
              <div>    TXB0D2 = 0x49;</div>
              <div>    TXB0D3 = 0x67;</div>
              <div>    TXB0DLC = 0b00000100; // data length (4)</div>
              <div>    TXB0CON = 0b00001000; // mark for transmission</div>
              <div>    delay100b(); // Delay a little... (100ms, approx)</div>
              <div><br>
              </div>
              <div>    while (TXB0CONbits.TXREQ) {} // Loop until TX is
                done</div>
              <div>    TXB0CON = 0;</div>
              <div>    TXB0SIDL = 0b01100000;</div>
              <div>    TXB0SIDH = 0b11101010;</div>
              <div>    TXB0D0 = 0x03;</div>
              <div>    TXB0D1 = 0x22;</div>
              <div>    TXB0D2 = 0x49;</div>
              <div>    TXB0D3 = 0x68;</div>
              <div>    TXB0DLC = 0b00000100; // data length (4)</div>
              <div>    TXB0CON = 0b00001000; // mark for transmission</div>
              <div>    delay100b(); // Delay a little... (100ms, approx)</div>
              <div>  </div>
              <div>To the new polling framework?</div>
              <div>I took a look at the leaf code, but the configuration
                is a mystery to me. What are the input parameters? </div>
              <div>Maybe there is a document that I am missing?</div>
              <div><br>
              </div>
              <div>Thanks in advance,</div>
              <div>Nikolay</div>
            </span></div>
        </div>
        <div id="yahoo_quoted_4015627491" class="yahoo_quoted">
          <div style="font-family:'Helvetica Neue', Helvetica, Arial,
            sans-serif;font-size:13px;color:#26282a;">
            <div> On Saturday, July 28, 2018, 11:42:13 PM GMT+2, Nikolay
              Shishkov <a class="moz-txt-link-rfc2396E" href="mailto:nshishkov@yahoo.com"><nshishkov@yahoo.com></a> wrote: </div>
            <div><br>
            </div>
            <div><br>
            </div>
            <div>
              <div id="yiv5468089902">
                <div>
                  <div style="font-family:Helvetica Neue, Helvetica,
                    Arial, sans-serif;font-size:13px;">
                    <div style="font-family:Helvetica Neue, Helvetica,
                      Arial, sans-serif;font-size:13px;">
                      <div>Thank you!</div>
                      <div>Yes the carid is TC003. </div>
                      <div>I was not running anything extraordinary -
                        just followed the developer tutorial, but never
                        flashed directly - always flashed from edge
                        branch OTA. </div>
                      <div>I will run the commands and provide output,
                        but it will be with the newer firmware. </div>
                      <div>I will need to see if updating will have same
                        problems. </div>
                      <div><br clear="none">
                      </div>
                      <div><br clear="none">
                      </div>
                      <div><br clear="none">
                      </div>
                    </div>
                    <div class="yiv5468089902yahoo_quoted"
                      id="yiv5468089902yahoo_quoted_3111114729">
                      <div style="font-family:'Helvetica Neue',
                        Helvetica, Arial,
                        sans-serif;font-size:13px;color:#26282a;">
                        <div class="yiv5468089902yqt5671603422"
                          id="yiv5468089902yqt95983">
                          <div> On Friday, July 27, 2018, 3:07:09 AM
                            GMT+2, Mark Webb-Johnson
                            <a class="moz-txt-link-rfc2396E" href="mailto:mark@webb-johnson.net"><mark@webb-johnson.net></a> wrote: </div>
                          <div><br clear="none">
                          </div>
                          <div><br clear="none">
                          </div>
                          <div>
                            <div id="yiv5468089902">
                              <div>Note that I store the .elf files
                                alongside the .bin, for edge/eap/main
                                builds.
                                <div class="yiv5468089902"><br
                                    class="yiv5468089902" clear="none">
                                </div>
                                <div class="yiv5468089902">For example:</div>
                                <div class="yiv5468089902"><br
                                    class="yiv5468089902" clear="none">
                                </div>
                                <blockquote class="yiv5468089902"
                                  style="margin:0 0 0
                                  40px;border:none;padding:0px;">
                                  <div class="yiv5468089902"><a
                                      rel="nofollow" shape="rect"
                                      class="yiv5468089902"
                                      target="_blank"
href="http://api.openvehicles.com/firmware/ota/v3.1/edge/3.1.008-29-gaf41242.ovms3.elf"
                                      moz-do-not-send="true">http://api.openvehicles.com/firmware/ota/v3.1/edge/3.1.008-29-gaf41242.ovms3.elf</a></div>
                                </blockquote>
                                <div class="yiv5468089902">
                                  <div><br class="yiv5468089902"
                                      clear="none">
                                  </div>
                                  <div>Regards, Mark.</div>
                                  <div><br class="yiv5468089902"
                                      clear="none">
                                    <blockquote class="yiv5468089902"
                                      type="cite">
                                      <div
                                        class="yiv5468089902yqt8106712013"
                                        id="yiv5468089902yqtfd99015">
                                        <div class="yiv5468089902">On 27
                                          Jul 2018, at 5:51 AM, Michael
                                          Balzer <<a rel="nofollow"
                                            shape="rect"
                                            class="yiv5468089902"
                                            ymailto="mailto:dexter@expeedo.de"
                                            target="_blank"
                                            href="mailto:dexter@expeedo.de"
                                            moz-do-not-send="true">dexter@expeedo.de</a>>
                                          wrote:</div>
                                        <br
                                          class="yiv5468089902Apple-interchange-newline"
                                          clear="none">
                                        <div class="yiv5468089902"> </div>
                                      </div>
                                    </blockquote>
                                  </div>
                                </div>
                              </div>
                              <div class="yiv5468089902yqt8106712013"
                                id="yiv5468089902yqtfd63836">
                                <div>
                                  <div class="yiv5468089902"> Nikolay,<br
                                      class="yiv5468089902" clear="none">
                                    <br class="yiv5468089902"
                                      clear="none">
                                    you need to keep the .elf files for
                                    your builds to be able to analyze a
                                    backtrace. Do not use addr2line, it
                                    shows wrong line numbers. Use the
                                    script "a2l" I posted previously
                                    (I'll include it again below). Just
                                    feed it the .elf file and the
                                    backtrace. Example:<br
                                      class="yiv5468089902" clear="none">
                                    <br class="yiv5468089902"
                                      clear="none">
                                    <tt class="yiv5468089902">a2l
                                      tmp/3.1.008-32-g2fa3ab8-elf/ovms3.elf
                                      0x400dc8ec 0x4008f43d 0x4008e181
                                      0x400818cc 0x40082163 0x40083c4d
                                      0x400dc8e9</tt><br
                                      class="yiv5468089902" clear="none">
                                    <br class="yiv5468089902"
                                      clear="none">
                                    (I don't have the -28- version, so
                                    my output doesn't make sense)<br
                                      class="yiv5468089902" clear="none">
                                    <br class="yiv5468089902"
                                      clear="none">
                                    @Mark: spurious task WDT crashes and
                                    heap corruption crashes still occur,
                                    but it seems they have become less
                                    often with the internal RAM rework.<br
                                      class="yiv5468089902" clear="none">
                                    <br class="yiv5468089902"
                                      clear="none">
                                    <blockquote class="yiv5468089902"
                                      type="cite">
                                      <div class="yiv5468089902">How is
                                        performance and power usage
                                        affected when using S<span
                                          class="yiv5468089902">tandardMetrics.xxxxx->SetValue</span>
                                        in the <span
                                          class="yiv5468089902">IncomingFrameCan1
                                          method?</span></div>
                                      <div class="yiv5468089902">Most of
                                        the messages update value every
                                        100ms, and except maybe speed,
                                        battery current and voltage,
                                        most of the parameters are not
                                        changing that often. And even
                                        for the speed, current and
                                        voltage, it is probably enough
                                        to update StandardMetrics in the
                                        1 second ticker... does this
                                        make sense or is the difference
                                        non-existing. </div>
                                    </blockquote>
                                    <br class="yiv5468089902"
                                      clear="none">
                                    Extending Mark's answer:<br
                                      class="yiv5468089902" clear="none">
                                    <br class="yiv5468089902"
                                      clear="none">
                                    It's normally OK to directly set
                                    metrics from IncomingFrameCan1(),
                                    but be aware metrics listeners will
                                    be executed synchronously in the
                                    context that changes the metric.<br
                                      class="yiv5468089902" clear="none">
                                    <br class="yiv5468089902"
                                      clear="none">
                                    Standard metrics listeners are now
                                    for example the automatic
                                    notification generators in the
                                    vehicle base class. These may need
                                    quite some stack and time.<br
                                      class="yiv5468089902" clear="none">
                                    <br class="yiv5468089902"
                                      clear="none">
                                    If you spend too much time handling
                                    frames on a high volume bus, your
                                    vehicle task may lose frames. It's
                                    possible to raise the queue size
                                    (currently 20 frames) and the
                                    vehicle task stack size, but it's
                                    better to keep the CAN processing
                                    simple.<br class="yiv5468089902"
                                      clear="none">
                                    <br class="yiv5468089902"
                                      clear="none">
                                    TL;DR: if you need to handle many
                                    CAN frames, I recommend changing
                                    metrics that trigger notifications
                                    or other complex actions from the
                                    ticker. If you encounter crashes on
                                    some CAN frames that may be due to
                                    the vehicle task stack being too
                                    small
                                    (CONFIG_OVMS_VEHICLE_RXTASK_STACK=6144).<br
                                      class="yiv5468089902" clear="none">
                                    <br class="yiv5468089902"
                                      clear="none">
                                    Regards,<br class="yiv5468089902"
                                      clear="none">
                                    Michael<br class="yiv5468089902"
                                      clear="none">
                                    <br class="yiv5468089902"
                                      clear="none">
                                    <br class="yiv5468089902"
                                      clear="none">
                                    Script a2l:<br class="yiv5468089902"
                                      clear="none">
                                    <br class="yiv5468089902"
                                      clear="none">
                                    <tt class="yiv5468089902">#!/bin/bash</tt><tt
                                      class="yiv5468089902"><br
                                        class="yiv5468089902"
                                        clear="none">
                                    </tt><tt class="yiv5468089902">elf=~/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/build/ovms3.elf</tt><tt
                                      class="yiv5468089902"><br
                                        class="yiv5468089902"
                                        clear="none">
                                    </tt><tt class="yiv5468089902">for
                                      adr in $* ; do</tt><tt
                                      class="yiv5468089902"><br
                                        class="yiv5468089902"
                                        clear="none">
                                    </tt><tt class="yiv5468089902">  if
                                      [[ "$adr" =~ "elf" ]] ; then</tt><tt
                                      class="yiv5468089902"><br
                                        class="yiv5468089902"
                                        clear="none">
                                    </tt><tt class="yiv5468089902">   
                                      elf="$adr"</tt><tt
                                      class="yiv5468089902"><br
                                        class="yiv5468089902"
                                        clear="none">
                                    </tt><tt class="yiv5468089902"> 
                                      else</tt><tt class="yiv5468089902"><br
                                        class="yiv5468089902"
                                        clear="none">
                                    </tt><tt class="yiv5468089902">   
                                      cmd+=" -ex 'l *$adr'"</tt><tt
                                      class="yiv5468089902"><br
                                        class="yiv5468089902"
                                        clear="none">
                                    </tt><tt class="yiv5468089902">  fi</tt><tt
                                      class="yiv5468089902"><br
                                        class="yiv5468089902"
                                        clear="none">
                                    </tt><tt class="yiv5468089902">done</tt><tt
                                      class="yiv5468089902"><br
                                        class="yiv5468089902"
                                        clear="none">
                                    </tt><tt class="yiv5468089902">cmd+="
                                      -ex 'q'"</tt><tt
                                      class="yiv5468089902"><br
                                        class="yiv5468089902"
                                        clear="none">
                                    </tt><tt class="yiv5468089902">echo
                                      "Using elf file: $elf"</tt><tt
                                      class="yiv5468089902"><br
                                        class="yiv5468089902"
                                        clear="none">
                                    </tt><tt class="yiv5468089902">eval
                                      xtensa-esp32-elf-gdb -batch $elf
                                      $cmd 2>/dev/null #| grep "^0x.*
                                      is in "</tt><tt
                                      class="yiv5468089902"><br
                                        class="yiv5468089902"
                                        clear="none">
                                    </tt><br class="yiv5468089902"
                                      clear="none">
                                    <br class="yiv5468089902"
                                      clear="none">
                                    <br class="yiv5468089902"
                                      clear="none">
                                    <br class="yiv5468089902"
                                      clear="none">
                                    <div
                                      class="yiv5468089902moz-cite-prefix">Am
                                      26.07.2018 um 09:59 schrieb
                                      Nikolay Shishkov:<br
                                        class="yiv5468089902"
                                        clear="none">
                                    </div>
                                    <blockquote class="yiv5468089902"
                                      type="cite"> </blockquote>
                                  </div>
                                </div>
                                <div>
                                  <div class="yiv5468089902"
                                    style="font-family:Helvetica Neue,
                                    Helvetica, Arial,
                                    sans-serif;font-size:13px;">
                                    <div class="yiv5468089902">Quick
                                      update:</div>
                                    <div class="yiv5468089902">I managed
                                      to do a not so quick update on one
                                      of the ovms v.3 boxes that sits in
                                      a Think and can confirm that the
                                      porting seems to work. </div>
                                    <div class="yiv5468089902">I could
                                      see speed, parking time, ambient
                                      temperature.</div>
                                    <div class="yiv5468089902"><br
                                        class="yiv5468089902"
                                        clear="none">
                                    </div>
                                    <div class="yiv5468089902">I had
                                      very strange problems doing the
                                      OTA update. The firmware start
                                      download and I can see the
                                      messages progressing, but it would
                                      halt in between 700kB and 1600kB
                                      and then stay there until I
                                      refresh the browser. </div>
                                    <div class="yiv5468089902">And when
                                      I refresh the browser I am asked
                                      of my password which leads me to
                                      that there must have been a crash
                                      in the meantime. </div>
                                    <div class="yiv5468089902"><br
                                        class="yiv5468089902"
                                        clear="none">
                                    </div>
                                    <div class="yiv5468089902">I was
                                      finally able to get the OTA update
                                      work by disconnecting the box from
                                      the car and powering it via USB.
                                      This is a single data point but it
                                      kind of points to a problem with
                                      the code that communicates with
                                      the car. </div>
                                    <div class="yiv5468089902"><br
                                        class="yiv5468089902"
                                        clear="none">
                                    </div>
                                    <div class="yiv5468089902">I was not
                                      able to get a laptop connected to
                                      checkout the console, but managed
                                      to get the following log - not
                                      sure how to interpret it. </div>
                                    <div class="yiv5468089902"> <span
                                        class="yiv5468089902"> </span>
                                      <div class="yiv5468089902">Last
                                        boot was 87 second(s) ago</div>
                                      <div class="yiv5468089902">Time at
                                        boot: 2018-07-25 18:07:43 GMT</div>
                                      <div class="yiv5468089902">This is
                                        reset #3 since last power cycle</div>
                                      <div class="yiv5468089902">Detected
                                        boot reason: Crash (12/12)</div>
                                      <div class="yiv5468089902">Crash
                                        counters: 3 total, 0 early</div>
                                      <div class="yiv5468089902"><br
                                          class="yiv5468089902"
                                          clear="none">
                                      </div>
                                      <div class="yiv5468089902">Last
                                        crash: Alloca exception on core
                                        0</div>
                                      <div class="yiv5468089902">Registers:</div>
                                      <div class="yiv5468089902">PC :
                                        0x400dc8ec PS : 0x00060234 A0 :
                                        0x8008f440 A1 : 0x3ffc45b0</div>
                                      <div class="yiv5468089902">A2 :
                                        0x00000020 A3 : 0x00000001 A4 :
                                        0x00000000 A5 : 0x3ffb44b8</div>
                                      <div class="yiv5468089902">A6 :
                                        0x3ffb47e4 A7 : 0x3ffb458c A8 :
                                        0x3ffb44d4 A9 : 0x3ffc4590</div>
                                      <div class="yiv5468089902">A10 :
                                        0x00000000 A11 : 0x7fffffff A12
                                        : 0x8008e65b A13 : 0x3ffcc450</div>
                                      <div class="yiv5468089902">A14 :
                                        0x00000003 A15 : 0x00060023 SAR
                                        : 0x00000000 EXCCAUSE:
                                        0x00000005</div>
                                      <div class="yiv5468089902">EXCVADDR:
                                        0x00000000 LBEG : 0x00000000
                                        LEND : 0x00000000 LCOUNT :
                                        0x00000000</div>
                                      <div class="yiv5468089902">Backtrace:</div>
                                      <div class="yiv5468089902">0x400dc8ec
                                        0x4008f43d 0x4008e181 0x400818cc
                                        0x40082163 0x40083c4d 0x400dc8e9</div>
                                      <div class="yiv5468089902">Version:
                                        3.1.008-29-gaf41242/ota_1/edge
                                        (build idf v3.1-dev-987-g55d915e
                                        Jul 6 2018 00:14:59)</div>
                                      <div class="yiv5468089902">Running
                                        partition: ota_1</div>
                                      <div class="yiv5468089902">Boot
                                        partition: ota_1</div>
                                      <div class="yiv5468089902">Firmware:
                                        3.1.008-29-gaf41242/ota_1/edge
                                        (build idf v3.1-dev-987-g55d915e
                                        Jul 6 2018 00:14:59)</div>
                                    </div>
                                    <div class="yiv5468089902"><br
                                        class="yiv5468089902"
                                        clear="none">
                                    </div>
                                    <div class="yiv5468089902">How is
                                      performance and power usage
                                      affected when using S<span
                                        class="yiv5468089902">tandardMetrics.xxxxx->SetValue</span>
                                      in the <span class="yiv5468089902">IncomingFrameCan1
                                        method?</span></div>
                                    <div class="yiv5468089902">Most of
                                      the messages update value every
                                      100ms, and except maybe speed,
                                      battery current and voltage, most
                                      of the parameters are not changing
                                      that often. And even for the
                                      speed, current and voltage, it is
                                      probably enough to update
                                      StandardMetrics in the 1 second
                                      ticker... does this make sense or
                                      is the difference non-existing. </div>
                                    <div class="yiv5468089902"><br
                                        class="yiv5468089902"
                                        clear="none">
                                    </div>
                                    <div class="yiv5468089902">Thanks
                                      for all the hand holding and
                                      help, </div>
                                    <div class="yiv5468089902">Nikolay </div>
                                    <div class="yiv5468089902"><br
                                        class="yiv5468089902"
                                        clear="none">
                                    </div>
                                  </div>
                                  <pre class="yiv5468089902moz-signature">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
</pre>
_______________________________________________<br class="yiv5468089902"
                                    clear="none">
                                  OvmsDev mailing list<br
                                    class="yiv5468089902" clear="none">
                                  <a rel="nofollow" shape="rect"
                                    class="yiv5468089902"
                                    ymailto="mailto:OvmsDev@lists.openvehicles.com"
                                    target="_blank"
                                    href="mailto:OvmsDev@lists.openvehicles.com"
                                    moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a><br
                                    class="yiv5468089902" clear="none">
<a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br
                                    class="yiv5468089902" clear="none">
                                  <br class="yiv5468089902" clear="none">
                                </div>
                              </div>
                            </div>
                            <div class="yiv5468089902yqt8106712013"
                              id="yiv5468089902yqtfd09108">_______________________________________________<br
                                clear="none">
                              OvmsDev mailing list<br clear="none">
                              <a rel="nofollow" shape="rect"
                                ymailto="mailto:OvmsDev@lists.openvehicles.com"
                                target="_blank"
                                href="mailto:OvmsDev@lists.openvehicles.com"
                                moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a><br
                                clear="none">
                              <a rel="nofollow" shape="rect"
                                target="_blank"
                                href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev"
                                moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br
                                clear="none">
                            </div>
                          </div>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com">OvmsDev@lists.openvehicles.com</a>
<a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="160">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
</pre>
  </body>
</html>