<div dir="ltr">Thank you for your help.<div><br></div><div>Fixed some typos and now ODO updates in "STAT?" ODO is still wrong, but at least i get updates. No luck with SOC so far.</div><div><br></div><div>Have verified that the PID and the data is correct by using a CAN interface on my laptop. </div>
<div><br></div><div>Will do some more debugging to verify that both poll0 and poll1 is called.</div><div><br></div><div>Is there a simple way to print out a value to the DIAG port for debugging?</div><div><br></div><div>Regards, Thomas</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/9/17 Mark Webb-Johnson <span dir="ltr"><<a href="mailto:mark@webb-johnson.net" target="_blank">mark@webb-johnson.net</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word"><div><br></div>Thanks, Håkon - nice clear answer.<div><br></div><div>One other suggestion is that you can put "car_idealrange++; return TRUE;" and "car_estrange++; return TRUE;" in the poll0 and poll1 functions, near the top. A few STAT commands and you can see if the poll functions are actually being called. You can also put "car_idealrange=id; return TRUE;", etc, to get an idea of what IDs are being delivered. It is very nasty trying to debug interrupt handlers, but this approach can help.</div>
<div><br></div><div>The diag port mentioned is shown here:</div><div><br></div><div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><a href="http://www.youtube.com/watch?v=-24PoWtHVzk" target="_blank">http://www.youtube.com/watch?v=-24PoWtHVzk</a></div>
</blockquote></div><div><br></div><div>Regards, Mark.</div><div><div class="h5"><div><br><div><div>On 16 Sep, 2013, at 4:55 PM, Håkon Markussen <<a href="mailto:hakon.markussen@gmail.com" target="_blank">hakon.markussen@gmail.com</a>> wrote:</div>
<br><blockquote type="cite"><div dir="ltr"><div><div><div><div><div><div><div>Hi Thomas,<br><br><i>"Still has some debugging to do on the i-Miev code, as i'm only get "SOC: 0%" from STAT?"<br></i></div>
<br>Are you able to read any CAN-bus values from your iMiEV?<br>
<br></div>I experienced once at my Think City, that the Ovms-module did not read the CAN-bus at all; I got 0% SOC.<br>The problem was I had two external CAN-devices connected at the same time (Duinomite Mega + OVMS). It worked fine when both modules were powered on at the same time, but Ovms failed to read the bus when the Duinomite Mega was powered off.<br>

<br></div>Du you have access to any kind of can-reader tool? This can be used to verify that you are looking at the correct bytes.<br></div>I've used P-CAN USB adapter<br><a href="http://www.peak-system.com/PCAN-USB.199.0.html?&L=1" target="_blank">http://www.peak-system.com/PCAN-USB.199.0.html?&L=1</a><br>

and PCANView <br><a href="http://www.computer-solutions.co.uk/gendev/can-basic-dll.htm" target="_blank">http://www.computer-solutions.co.uk/gendev/can-basic-dll.htm</a><br><br></div>You can use it to verify you have SOC in msg 0x374 byte 1.<br>

<br></div><div>To understand the mask and filter, you have to consider the mask as a bit "enable" / "disable". Any zero in the mask bit disables that specific bit.<br></div><div>The filter gives a range of bit combinations.<br>

</div><div>Both mask an filter is 11 bit length (0-10), all 8 bits from SIDH + 3 most significant bits from SIDL<br><br>Your Mask0 (RXM0) is 11111111 000 (0x7F8) which enables bit 3 to 10<br></div>Your Filter0 (RXF0) is 01100000 000<br>

In combination with your mask0, this gives the message range from 0x300 to 0x3F8, which covers your messages.<br></div> 01100000 000 -> 0x300<br><div> 011111111 000 -> 0x3F8<br></div><div><div>(however you have an minor error in your comment 0x300 .. 0x3E0)<br>

<br></div><div class="gmail_quote">The same goes for mask1 and filter2, filter3, filter4,which applies to poll1(). But you have to make sure that the mask1 enables sufficient number of bits for the corresponding filters.<br>

</div><div class="gmail_quote">Your mask1 is 11111111 111 so that is OK.<br></div><div class="gmail_quote">Your filter2 is  01010000 101 (0x285) which is OK<br></div><div class="gmail_quote">Your filter 3 is 10000010 010 (0x412) which is OK<br>

<br></div><div class="gmail_quote">You have yet not built any vehicle specific SMS function, so the STAT-sms is created in the net_msg.c file . I think it this file prints SOC to SMS regardless of the doorbit status.<br>
<br>
</div><div class="gmail_quote">A hint is using the diag-port for sending SMS (saves you sms cost) for debuging).<br><br>Br.<br></div><div class="gmail_quote">Håkon<br></div><div class="gmail_quote"><br>2013/9/15 Thomas Bergo <span dir="ltr"><<a href="mailto:thomas.bergo@gmail.com" target="_blank">thomas.bergo@gmail.com</a>></span><br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Finally got some time to work on the i-Miev implementation.<div><br><div>But I'm facing some issues setting up the car module. </div>

<div>- SMS is working and are able to send messages to the car module and get answers.</div>
<div>- Problem getting the GPRS to work. Get "Not connected" and "Not connected (0x0041) when sending GPRS?</div><div>- No connection from the iOS app to server. Only red flashing antenna. </div><div><br></div>


<div>Any advise?</div><div><br></div><div><br></div><div>Still has some debugging to do on the i-Miev code, as i'm only get "SOC: 0%" from STAT?</div><div><br></div><div>Regards, Thomas</div></div></div><div class="gmail_extra">


<br><br><div class="gmail_quote">2013/5/1 Mark Webb-Johnson <span dir="ltr"><<a href="mailto:mark@webb-johnson.net" target="_blank">mark@webb-johnson.net</a>></span><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">


<div style="word-wrap:break-word"><div><br></div>I've created a stub file (vehicle_mitsubishi.c), and pushed to github. If you pull head you'll get it. This is just a stub. You'll need to setup the CAN IDs you want to receive (in the filters), and then add the decoding logic to update the car_* variables.<div>


<br></div><div>Regards, Mark.</div><div><br></div><div>Regards, Mark.<br><div><br><div><div><div>On 30 Apr, 2013, at 5:29 AM, Thomas Bergo <<a href="mailto:thomas.bergo@gmail.com" target="_blank">thomas.bergo@gmail.com</a>> wrote:</div>


<br></div><blockquote type="cite"><div>Hi,<div><br></div><div>So far the following CAN messages is discovered by Priusfan published on myimiev forum:</div><div><br></div><div>SOC</div><div>RPM</div><div>
Range</div><div>Battery current</div><div>Battery voltage</div>
<div>Speed</div><div>Odo</div><div>Battery cell voltage</div><div>Battery cell temperature</div><div><br></div><div>So we still have to find Car On/Off and the charging status.</div><div><br></div><div>Those messages are available as Mitsubishi has made a CAN Gateway where those data is provided. <span></span><a href="http://www.pref.nagasaki.jp/ev/ev&its/120614/navi/gateway_gaiyou.pdf" target="_blank">http://www.pref.nagasaki.jp/ev/ev&its/120614/navi/gateway_gaiyou.pdf</a></div>



<div><br></div><div><br></div><div>Regarding the two-character abbreviation I think Brand-Model (MI) as TR and RT is most intuitive. So my vote goes to MI.</div><div><br></div><div>I'm interested in using the OVMS v1 HW for logging of CAN messages. How to pay for postage?</div>



<div><br></div><div>Regards, Thomas</div><div><br><br>mandag 29. april 2013 skrev Mark Webb-Johnson  følgende:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

<div style="word-wrap:break-word">

Thomas,<div><br></div><div>Earlier this year, Matt Beard mentioned he was interested in doing i-Miev support, but I'm not sure of his status. He is on this list, so should see this. There are also several OVMS users who have that car in their stable, so the requirement is definitely there.</div>



<div><br></div><div>It is probably worth firstly doing a quick feasibility check, to see what level of OVMS support is possible:</div><div><br></div><blockquote style="margin:0px 0px 0px 40px;border:medium none;padding:0px">

<div>
Firstly, What are the specs for the CAN bus? What baud rate is it, and what is the connector? There are  just three messages that are key to feasibility:</div><div><br></div></blockquote><div>
<div><ol><ol><li>SOC - battery state of charge - <i>car_SOC</i></li><li>Car On/Off (ignition switch, or Park/Drive gear lever) - <i>car_doors1 [bit7]</i></li><li>Car Charging (true or false) - <i>car_doors1 [bit 4]</i></li>



</ol></ol></div></div><blockquote style="margin:0px 0px 0px 40px;border:medium none;padding:0px"><div><br></div><div><div>If those three are available, and readable by the OVMS hardware, then the project is most likely feasible. There are lots of other parameters (range, temperature, odometer, speed, vin, tpms, etc) that are nice to have, but are either optional (nice-to-have) or can generally be derived from these three key messages - so long as they can be found. For example, on the Volt/Ampera we don't know the detailed charge messages, but do know whether the car is charging or not - we can assume charge interrupted if the charge finishes before 95% complete. Similarly, if the range of the car is XXkm, we can estimate the current range based on XX * SOC%. If the car has no GPS details on the CAN bus, then we can use the GPS in the OVMS module itself.</div>



</div></blockquote><div><div><br></div><div>What vehicle two-character abbreviation do you think is suitable: IM or MI? Examples are RT (Renault Twizy), VA (Volt/Ampera), TR (Tesla Roadster).</div><div><br></div><div>
If you can let me have the can bus specs and information on the above 3 messages, I will create you a stub vehicle implementation.</div><div><br></div><div>Regards, Mark.</div><div><br></div><div>P.S. With reference to the development guide (<a href="https://raw.github.com/markwj/Open-Vehicle-Monitoring-System/master/docs/OVMS_Development.pdf" target="_blank">https://raw.github.com/markwj/Open-Vehicle-Monitoring-System/master/docs/OVMS_Development.pdf</a>), these are the current set of parameters that OVMS supports.</div>



<div><br></div><div><blockquote style="margin:0px 0px 0px 40px;border-style:none;padding:0px">

<h1><a name="1412997cd3bb1bc6_141236e479d01dce_13e601450ab5123c_13e5473ab4dd4ae8_13e5473ab4dd4ae8__Toc221031762">Vehicle Module Development Checklists</a> </h1><h2><a name="1412997cd3bb1bc6_141236e479d01dce_13e601450ab5123c_13e5473ab4dd4ae8_13e5473ab4dd4ae8__Toc221031763">Development Checklists</a><br>


<br></h2><p>You can use these checklists to know what vehicle parameters the OVMS system supports, and how you can map a specific vehicle to these. </p><table style="border-collapse:collapse;border-style:none" border="1" cellpadding="0" cellspacing="0">



<thead><tr><td style="width:125.9pt;border-style:solid;border-color:white;border-width:1pt;background-color:black;padding:0cm 5.4pt" valign="top" width="126"><p><b><span style="font-size:10pt;color:white">Parameter</span></b></p>
</td><td style="width:5cm;border-style:solid solid solid none;border-top:1pt solid white;border-right:1pt solid white;border-bottom:1pt solid white;background-color:black;padding:0cm 5.4pt" valign="top" width="142"><p><b><span style="font-size:10pt;color:white">Purpose</span></b></p>
</td><td style="width:175.15pt;border-style:solid solid solid none;border-top:1pt solid white;border-right:1pt solid white;border-bottom:1pt solid white;background-color:black;padding:0cm 5.4pt" valign="top" width="175"><p>
<b><span style="font-size:10pt;color:white">Vehicle Support Notes</span></b></p></td></tr></thead><tbody><tr><td colspan="3" style="width:442.8pt;border-style:none solid solid;border-left:1pt solid white;border-bottom:1pt solid windowtext;border-right:1pt solid white;background-color:silver;padding:0cm 5.4pt" valign="top" width="443">
<p><b><span style="font-size:9pt"> </span></b></p><p><b><span style="font-size:9pt">Vehicle Identification</span></b></p></td></tr><tr><td style="width:125.9pt;border-right:1pt solid white;border-style:none solid solid;border-bottom:1pt solid white;border-left:1pt solid white;background-color:silver;padding:0cm 5.4pt" valign="top" width="126">
<p><span style="font-size:9pt">car_type</span></p></td><td style="width:5cm;border-style:none solid solid none;border-bottom:1pt solid white;border-right:1pt solid white;background-color:silver;padding:0cm 5.4pt" valign="top" width="142">
<p><span style="font-size:9pt">Vehicle type identified</span></p></td><td style="width:175.15pt;border-style:none solid solid none;border-bottom:1pt solid white;border-right:1pt solid white;background-color:silver;padding:0cm 5.4pt" valign="top" width="175">



<div><span style="font-size:9pt"> </span><br></div></td></tr><tr><td style="width:125.9pt;border-right:1pt solid white;border-style:none solid solid;border-bottom:1pt solid white;border-left:1pt solid white;background-color:silver;padding:0cm 5.4pt" valign="top" width="126">
<p><span style="font-size:9pt">car_vin</span></p></td><td style="width:5cm;border-style:none solid solid none;border-bottom:1pt solid white;border-right:1pt solid white;background-color:silver;padding:0cm 5.4pt" valign="top" width="142">
<p><span style="font-size:9pt">Vehicle VIN</span></p></td><td style="width:175.15pt;border-style:none solid solid none;border-bottom:1pt solid white;border-right:1pt solid white;background-color:silver;padding:0cm 5.4pt" valign="top" width="175">



<div><span style="font-size:9pt"> </span><br></div></td></tr></tbody></table><div> <br></div><table style="border-collapse:collapse;border-style:none" border="1" cellpadding="0" cellspacing="0">

<thead><tr><td style="width:125.9pt;border-style:solid;border-color:white;border-width:1pt;background-color:black;padding:0cm 5.4pt" valign="top" width="126"><p><b><span style="font-size:10pt;color:white">Parameter</span></b></p>
</td><td style="width:5cm;border-style:solid solid solid none;border-top:1pt solid white;border-right:1pt solid white;border-bottom:1pt solid white;background-color:black;padding:0cm 5.4pt" valign="top" width="142"><p><b><span style="font-size:10pt;color:white">Purpose</span></b></p>
</td><td style="width:175.15pt;border-style:solid solid solid none;border-top:1pt solid white;border-right:1pt solid white;border-bottom:1pt solid white;background-color:black;padding:0cm 5.4pt" valign="top" width="175"><p>
<b><span style="font-size:10pt;color:white">Vehicle Support Notes</span></b></p></td></tr></thead><tbody><tr><td colspan="3" style="width:442.8pt;border-style:none solid solid;border-left:1pt solid white;border-bottom:1pt solid windowtext;border-right:1pt solid white;background-color:silver;padding:0cm 5.4pt" valign="top" width="443">
<p><b><span style="font-size:9pt"> </span></b></p><p><b><span style="font-size:9pt">GPS Status</span></b><span style="font-size:9pt"></span></p></td></tr><tr><td style="width:125.9pt;border-right:1pt solid white;border-style:none solid solid;border-bottom:1pt solid white;border-left:1pt solid white;background-color:silver;padding:0cm 5.4pt" valign="top" width="126">
<p><span style="font-size:9pt">Vehicle GPS</span></p></td><td style="width:5cm;border-style:none solid solid none;border-bottom:1pt solid white;border-right:1pt solid white;background-color:silver;padding:0cm 5.4pt" valign="top" width="142">
<p><span style="font-size:9pt">Does the vehicle have a built-in GPS? If so, complete the following.</span></p></td><td style="width:175.15pt;border-style:none solid solid none;border-bottom:1pt solid white;border-right:1pt solid white;background-color:silver;padding:0cm 5.4pt" valign="top" width="175">



<div><span style="font-size:9pt"> </span><br></div></td></tr><tr><td style="width:125.9pt;border-right:1pt solid white;border-style:none solid solid;border-bottom:1pt solid white;border-left:1pt solid white;background-color:silver;padding:0cm 5.4pt" valign="top" width="126">
<p><span style="font-size:9pt">car_gpslock</span></p></td><td style="width:5cm;border-style:none solid solid none;border-bottom:1pt solid white;border-right:1pt solid white;background-color:silver;padding:0cm 5.4pt" valign="top" width="142">


<br></td></tr></tbody></table></blockquote></div></div></div></blockquote></div></div><div>
_______________________________________________<br>OvmsDev mailing list<br><a href="mailto:OvmsDev@lists.teslaclub.hk" target="_blank">OvmsDev@lists.teslaclub.hk</a><br><a href="http://lists.teslaclub.hk/mailman/listinfo/ovmsdev" target="_blank">http://lists.teslaclub.hk/mailman/listinfo/ovmsdev</a><br>


</div></blockquote></div><br></div></div></div><br>_______________________________________________<br>
OvmsDev mailing list<br>
<a href="mailto:OvmsDev@lists.teslaclub.hk" target="_blank">OvmsDev@lists.teslaclub.hk</a><br>
<a href="http://lists.teslaclub.hk/mailman/listinfo/ovmsdev" target="_blank">http://lists.teslaclub.hk/mailman/listinfo/ovmsdev</a><br>
<br></blockquote></div><br></div>
<br>_______________________________________________<br>
OvmsDev mailing list<br>
<a href="mailto:OvmsDev@lists.teslaclub.hk" target="_blank">OvmsDev@lists.teslaclub.hk</a><br>
<a href="http://lists.teslaclub.hk/mailman/listinfo/ovmsdev" target="_blank">http://lists.teslaclub.hk/mailman/listinfo/ovmsdev</a><br>
<br></blockquote></div><div><div class="gmail_extra"><br></div></div></div></div>
_______________________________________________<br>OvmsDev mailing list<br><a href="mailto:OvmsDev@lists.teslaclub.hk" target="_blank">OvmsDev@lists.teslaclub.hk</a><br><a href="http://lists.teslaclub.hk/mailman/listinfo/ovmsdev" target="_blank">http://lists.teslaclub.hk/mailman/listinfo/ovmsdev</a><br>
</blockquote></div><br></div></div></div></div><br>_______________________________________________<br>
OvmsDev mailing list<br>
<a href="mailto:OvmsDev@lists.teslaclub.hk">OvmsDev@lists.teslaclub.hk</a><br>
<a href="http://lists.teslaclub.hk/mailman/listinfo/ovmsdev" target="_blank">http://lists.teslaclub.hk/mailman/listinfo/ovmsdev</a><br>
<br></blockquote></div><br></div>