<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Mark,<br>
    <br>
    very cool, very helpful.<br>
    <br>
    I'll have a look at the web UI for this ASAP.<br>
    <br>
    Regards,<br>
    Michael<br>
    <br>
    <br>
    <div class="moz-cite-prefix">Am 19.04.2018 um 05:06 schrieb Mark
      Webb-Johnson:<br>
    </div>
    <blockquote type="cite"
      cite="mid:B1AB96C7-BA52-4F40-A37F-C2AEBA4BB466@webb-johnson.net">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <div class=""><br class="">
      </div>
      <div class="">For those of us working on vehicle support, I am
        concentrating on the last pieces for Tesla Roadster, ongoing
        work on Tesla Model S, and helping out Chris (in AU) to try to
        get Volt/Ampera ported (he has the car, I don’t). We have a lot
        of users waiting for Volt/Ampera support.</div>
      <div class=""><br class="">
      </div>
      <div class="">For all of this, I’m trying to extend the RE tools
        and CAN frameworks to allow for OVMS to be used for CAN bus
        analysis and simulation. It is really coming together nicely,
        and it looks like the system is powerful enough to handle this
        admirably. I’m trying hard not to plug a USB-CAN adaptor into my
        car, or use any other desktop tools. This should bring the
        barrier to entry right down for new vehicle support.</div>
      <div class=""><br class="">
      </div>
      <div class="">A few examples…</div>
      <div class=""><br class="">
      </div>
      <div class="">Using ‘can rx’ to simulate an incoming CAN bus
        message and see what happens to metrics:</div>
      <div class=""><br class="">
      </div>
      <blockquote style="margin: 0 0 0 40px; border: none; padding:
        0px;" class="">
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;">OVMS# metrics trace on</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;">Metric tracing is now on</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;"><br class="">
            </span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;">OVMS# vehicle module VA</span></font></div>
        <div class=""><span class="" style="font-size: 14px;"><font
              class="" face="Andale Mono">I (26522) v-voltampera:
              Volt/Ampera vehicle module</font></span></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;"><br class="">
            </span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;">I (26522) metrics: Modified
              metric v.type: VA</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;">I (26582) metrics: Modified
              metric v.e.parktime: 26Sec</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;">I (27582) metrics: Modified
              metric v.e.parktime: 27Sec</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;">I (28582) metrics: Modified
              metric v.e.parktime: 28Sec</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;"><br class="">
            </span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;">OVMS# can can1 rx standard 135 01</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;">I (49462) metrics: Modified
              metric v.e.on: yes</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;">I (49462) metrics: Modified
              metric v.e.awake: yes</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;">I (49462) metrics: Modified
              metric v.e.handbrake: no</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;">I (49582) metrics: Modified
              metric v.e.parktime: 0Sec</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;"><br class="">
            </span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;">OVMS# can can1 rx standard 4e1 42
              55 31 30 32 36 38 39</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;">OVMS# can can1 rx standard 514 47
              31 52 44 36 45 34 36</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;">I (94402) metrics: Modified
              metric v.vin: 1G1RD6E46BU102689</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;"><br class="">
            </span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;">OVMS# can can1 rx standard 135 00</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;">I (103342) metrics: Modified
              metric v.e.on: no</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;">I (103342) metrics: Modified
              metric v.e.awake: no</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;">I (103342) metrics: Modified
              metric v.e.handbrake: yes</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;">I (103582) metrics: Modified
              metric v.e.parktime: 1Sec</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;">I (104582) metrics: Modified
              metric v.e.parktime: 2Sec</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;">I (105582) metrics: Modified
              metric v.e.parktime: 3Sec</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;">I (106582) metrics: Modified
              metric v.e.parktime: 4Sec</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;">I (107582) metrics: Modified
              metric v.e.parktime: 5Sec</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;">I (108582) metrics: Modified
              metric v.e.parktime: 6Sec</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;">I (109582) metrics: Modified
              metric v.e.parktime: 7Sec</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span class=""
              style="font-size: 14px;">I (110582) metrics: Modified
              metric v.e.parktime: 8Sec</span></font></div>
      </blockquote>
      <div class=""><br class="">
      </div>
      <div class="">Showing CAN message changes, and discovering new
        messages (or bytes within that were not previously changing but
        now are):</div>
      <div class=""><br class="">
      </div>
      <blockquote style="margin: 0 0 0 40px; border: none; padding:
        0px;" class="">
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">OVMS# re start</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">OVMS# re mode analyse</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">Now running in analyse
              mode</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class=""><br class="">
            </span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">OVMS# can can1 rx
              standard 100 01 02 03 04</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">OVMS# can can1 rx
              standard 101 01 02 03 04</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">OVMS# can can1 rx
              standard 102 01 02 03 04</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class=""><br class="">
            </span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">OVMS# re discover list
              changed</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">key                    
              records     ms last</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">can1/100                
                   1   8000 <font class="" color="#ff2600">01 02 03 04</font>
                          | <font class="" color="#ff2600">....</font></span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">can1/101                
                   1   8000 <font class="" color="#ff2600">01 02 03 04</font>
                          | <font class="" color="#ff2600">....</font></span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">can1/102                
                   1   8000 <font class="" color="#ff2600">01 02 03 04</font>
                          | <font class="" color="#ff2600">....</font></span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class=""><br class="">
            </span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">OVMS# re discover clear
              changed</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">Cleared all change flags</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class=""><br class="">
            </span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">OVMS# can can1 rx
              standard 102 01 02 13 04</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">OVMS# re discover list
              changed</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">key                    
              records     ms last</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">can1/102                
                   2  15500 01 02 <font class="" color="#ff2600">13</font>
              04             | ..<font class="" color="#ff2600">.</font>.</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class=""><br class="">
            </span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">OVMS# re mode discover</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">Now running in discover
              mode</span></font></div>
        <div class=""><span style="font-family: "Andale Mono";
            font-size: 14px;" class=""><br class="">
          </span></div>
        <div class=""><span style="font-family: "Andale Mono";
            font-size: 14px;" class="">OVMS# can can1 rx standard 102 01
            02 13 04</span></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">OVMS# re discover list
              discovered</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">key                    
              records     ms last</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class=""><br class="">
            </span></font></div>
        <div class=""><span style="font-family: "Andale Mono";
            font-size: 14px;" class="">OVMS# can can1 rx standard 102 01
            12 13 04</span></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">OVMS# re discover list
              discovered</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">key                    
              records     ms last</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">can1/102                
                   4  14500 01 <font class="" color="#008f00">12</font>
              <font class="" color="#ff2600">13</font> 04             |
              .<font class="" color="#008f00">.</font><font class=""
                color="#ff2600">.</font>.</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class=""><br class="">
            </span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">OVMS# can can1 rx
              standard 110 01 02 03 04</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">OVMS# re discover list
              discovered</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">key                    
              records     ms last</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">can1/102                
                   4  17500 01 <font class="" color="#008f00">12</font>
              <font class="" color="#ff2600">13</font> 04             |
              .<font class="" color="#008f00">.</font><font class=""
                color="#ff2600">.</font>.</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">can1/110                
                   1  70000 <font class="" color="#008f00">01 02 03 04</font>
                          | <font class="" color="#008f00">....</font></span></font></div>
      </blockquote>
      <div class=""><br class="">
      </div>
      <div class="">A CRTD format can bus dump:</div>
      <div class=""><br class="">
      </div>
      <blockquote style="margin: 0 0 0 40px; border: none; padding:
        0px;" class="">
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">I (372613) re: Log
              service connection from 10.8.8.83<br class="">
              OVMS# can can1 rx standard 120 01 02 03 04<br class="">
              OVMS# can can1 rx standard 121 01 02 03 04<br class="">
              OVMS# can can1 rx standard 121 DE AD BE AT<br class="">
              I (466333) re: Log service disconnection from 10.8.8.83</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class=""><br class="">
            </span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">$ telnet devbench.local
              3000</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">Connected to
              devbench.local.</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">1524105901.244120 1R11
              120 01 02 03 04</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">1524105905.794094 1R11
              121 01 02 03 04</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">1524105915.194145 1R11
              121 de ad be at</span></font></div>
      </blockquote>
      <div class=""><br class="">
      </div>
      <div class="">The TODO list for this is huge, so it will progress
        as I have time to work on it (and as I hit a requirement for
        each unfinished part). For example, simulating CAN bus traffic
        (replaying) would be nice (something like ‘<font class=""
          face="Andale Mono"><span style="font-size: 14px;" class="">$
            cat mylogfile.crtd | nc devbench.local 3000</span></font>’)
        - and that is something I need now, so will probably come next
        (and is pretty trivial - just pickup on data coming in the
        tcp/3000, decode it, and either simulate reception or transmit
        it on the actual car bus).</div>
      <div class=""><br class="">
      </div>
      <div class="">The whole decoding/encoding thing (where we use DBC
        or whatever to say key X byte Y is converted to v.bat.soc using
        this formula) is of course the holy grain of this; and is built
        upon all the foundation I’m laying now. The end goal remains for
        vehicle modules with just a DBC (or whatever) and no actual
        code.</div>
      <div class=""><br class="">
      </div>
      <div class="">It is all command line at the moment, but this could
        be very very cool using Michael’s web framework (particularly
        with real-time websocket updates).</div>
      <div class=""><br class="">
      </div>
      <div class="">Regards, Mark.</div>
      <div class=""><br class="">
      </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>