<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:12pt"><div class="" style="">Thanks Mark, </div><div class="" style="">Isn't it too complicated to fetch the time from the GSM modem? </div><div class="" style="">How about changing the following 2 lines in the net.c code:</div><pre style="box-sizing: border-box; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; margin-top: 0px; margin-bottom: 0px; line-height: 18px;" class=""><div class="" id="LC947" style="color: rgb(51, 51, 51); box-sizing: border-box; padding-left: 10px; height: 18px;">        <span class="" style="box-sizing: border-box; font-weight: bold;">if</span><span class="" style="box-sizing: border-box;">(</span> <span class="" style="box-sizing: border-box;">b</span> <span class="" style="box-sizing:
 border-box; font-weight: bold;">=</span> <span class="" style="box-sizing: border-box;">strtokpgmram</span><span class="" style="box-sizing: border-box;">(</span> <span class="" style="box-sizing: border-box;">net_buf</span><span class="" style="box-sizing: border-box; font-weight: bold;">+</span><span class="" style="box-sizing: border-box; color: rgb(0, 153, 153);">2</span><span class="" style="box-sizing: border-box;">,</span> <span class="" style="box-sizing: border-box; color: rgb(221, 17, 68);">","</span> <span class="" style="box-sizing: border-box;">)</span> <span class="" style="box-sizing: border-box;">)</span></div><div class="" id="LC948" style="color: rgb(51, 51, 51); box-sizing: border-box; padding-left: 10px; height: 18px;">            <span class="" style="box-sizing: border-box;">;</span>                                     <span class="" style="box-sizing: border-box; color:
 rgb(153, 153, 136); font-style: italic;">// Time</span></div><div class="" style=""><div class="" style="color: rgb(0, 0, 0); margin-top: 0.1em; margin-bottom: 0.1em; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px; line-height: normal; white-space: normal;"><br class="" style=""></div><div class="" style="color: rgb(0, 0, 0); margin-top: 0.1em; margin-bottom: 0.1em; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px; line-height: normal; white-space: normal; font-style: normal; background-color: transparent;">To something like this</div><pre class="" style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; margin-top: 0px; margin-bottom: 0px; box-sizing: border-box;"><div class="" id="LC947" style="color: rgb(51, 51, 51); box-sizing: border-box; padding-left: 10px; height:
 18px;">        <span class="" style="box-sizing: border-box; font-weight: bold;">if</span><span class="" style="box-sizing: border-box;">(</span> <span class="" style="box-sizing: border-box;">b</span> <span class="" style="box-sizing: border-box; font-weight: bold;">=</span> <span class="" style="box-sizing: border-box;">strtokpgmram</span><span class="" style="box-sizing: border-box;">(</span> <span class="" style="box-sizing: border-box;">net_buf</span><span class="" style="box-sizing: border-box; font-weight: bold;">+</span><span class="" style="box-sizing: border-box; color: rgb(0, 153, 153);">2</span><span class="" style="box-sizing: border-box;">,</span> <span class="" style="box-sizing: border-box; color: rgb(221, 17, 68);">","</span> <span class="" style="box-sizing: border-box;">)</span> <span class="" style="box-sizing: border-box;">)</span></div><pre class="" style="color: rgb(51, 51, 51); font-family:
 Consolas, 'Liberation Mono', Menlo, Courier, monospace; margin-top: 0px; margin-bottom: 0px; box-sizing: border-box;"><div class="" id="LC948" style="box-sizing: border-box; padding-left: 10px; height: 18px;">            gps_time_str = *b<span class="" style="box-sizing: border-box;">;</span>                                     <span class="" style="box-sizing: border-box; color: rgb(153, 153, 136); font-style: italic;">// Time</span></div></pre><pre class="" style="color: rgb(51, 51, 51); font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; margin-top: 0px; margin-bottom: 0px; box-sizing: border-box;"><div class="" id="LC948" style="box-sizing: border-box; padding-left: 10px; height: 18px;">            gps_time_acquired = car_time<span class="" style="box-sizing: border-box;">;</span>                      <span
 class="" style="box-sizing: border-box; color: rgb(153, 153, 136); font-style: italic;">// when was that time acquired</span></div></pre><div class="" id="LC948" style="color: rgb(51, 51, 51); box-sizing: border-box; padding-left: 10px; height: 18px;"><span class="" style="color: rgb(153, 153, 136); font-style: italic; font-family: 'Courier New'; white-space: pre;">        </span><span style="color: rgb(153, 153, 136); font-style: italic; font-family: 'Courier New';" class="">    </span><br class="" style=""></div><div class="" style="color: rgb(51, 51, 51);"><span style="color: rgb(0, 0, 0); font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px; line-height: normal; white-space: normal; background-color: transparent;" class="">Then we can discuss if car_time should be the same as gps_time (probably not), or if gps_time could be used for logging and other selected functions? Or even if we can have a
 get_time() function (what would be a good location) that would encapsulate the time getting process and do some simple magic - say something like this:</span><br class="" style=""></div><div class="" style="color: rgb(51, 51, 51);"><span style="color: rgb(0, 0, 0); font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px; line-height: normal; white-space: normal; background-color: transparent;" class=""><br class="" style=""></span></div><div class="" style=""><pre class="" style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; margin-top: 0px; margin-bottom: 0px; box-sizing: border-box;"><div class="" id="LC947" style="color: rgb(51, 51, 51); box-sizing: border-box; padding-left: 10px; height: 18px;">        long get_time() {</div><div class="" id="LC947" style="color: rgb(51, 51, 51); box-sizing: border-box; padding-left: 10px; height:
 18px;"><span class="" style="white-space:pre">       </span>if (gps_time_acquired != 0)</div><pre class="" style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; margin-top: 0px; margin-bottom: 0px; box-sizing: border-box;"><div class="" id="LC948" style="color: rgb(51, 51, 51); box-sizing: border-box; padding-left: 10px; height: 18px;"><span class="" style="white-space:pre">          </span>return gps_time_long + (car_time - gps_time_acquired); = *b<span class="" style="box-sizing: border-box;">;</span>                                     </div><div class="" id="LC948" style="color: rgb(51, 51, 51); box-sizing: border-box; padding-left: 10px; height: 18px;"><span class="" style="white-space:pre">        </span>else</div><div class="" id="LC948" style="color: rgb(51, 51, 51); box-sizing: border-box; padding-left: 10px; height: 18px;"><span class="" style="white-space:pre">           </span>return car_time;</div><div class="" id="LC948" style="box-sizing:
 border-box; padding-left: 10px; height: 18px;"><span class="" style="white-space: pre;">     </span>}</div><div class="" id="LC948" style="box-sizing: border-box; padding-left: 10px; height: 18px;"><br class="" style=""></div><div class="" id="LC948" style="box-sizing: border-box; padding-left: 10px; height: 18px;"><span style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px; line-height: normal; white-space: normal;" class="">Any issues with such approach? Apart from GPS antenna not connected to the board?</span></div><div class="" id="LC948" style="box-sizing: border-box; padding-left: 10px; height: 18px;"><span style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px; line-height: normal; white-space: normal;" class=""><br></span></div><div class="" id="LC948" style="box-sizing: border-box; padding-left: 10px; height: 18px;"><span
 style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px; line-height: normal; white-space: normal;" class="">Nikolay </span><br class="" style=""></div><div class="" id="LC948" style="box-sizing: border-box; padding-left: 10px; height: 18px;"><br class="" style=""></div><div class="" id="LC948" style="box-sizing: border-box; padding-left: 10px; height: 18px;"><br class="" style=""></div></pre></pre></div></pre></div></pre><pre class="" style="">Here:

unsigned long car_time

Time (in seconds), as measured by the car. The 0 value of this can be whatever the car module desires.
It is acceptable to merely initialize this to zero and increment it by 1 for every ticker1() received.
Alternatively, a more accurate method is to read the real time clock from the vehicle CAN bus (if available) and update from there. 


I think the Tesla Roadster is the only vehicle actually updating it from the CAN bus. There was some (fairly recent) discussion about getting this from the GPS, and Tom did the foundation work (utils.{h,c} JDEpoch, JdToYMD, JdFromYMD, and datestring_to_timestamp  in net.c), but we haven't completed the changes to the core net.c (+CCLK handler) to do this yet. I attach the mailing list eMail showing how this will be done.

Regards, Mark.



On 15 Jun, 2014, at 9:35 pm, Nikolay Shishkov <<a href="http://lists.teslaclub.hk/mailman/listinfo/ovmsdev" class="" style="">nshishkov at yahoo.com</a>> wrote:

><i class="" style=""> Hi, 
</i>><i class="" style=""> 
</i>><i class="" style=""> I am getting strange time on my push notifications and on the logs. 
</i>><i class="" style=""> Looking at the code it seem a variable called car_time is used to produce string indicating time. 
</i>><i class="" style=""> Also looking at the code I can not seem to find where this car_time variable is set. The only place I could find is the vehicle_teslaroadster.c .
</i>><i class="" style=""> 
</i>><i class="" style=""> If I am not missing something wouldn't it be beneficial to get the time from the GPS or the GSM network instead?
</i>><i class="" style=""> 
</i>><i class="" style=""> I am attaching a screenshot of my app where the timestamp of the push notification is visible together with the time displayed on my phone.
</i>><i class="" style=""> 
</i>><i class="" style=""> Nikolay</i></pre><div class="" style=""><br class="" style=""></div></div></body></html>