[Ovmsdev] Locations and scripts
Mark Webb-Johnson
mark at webb-johnson.net
Tue Jun 11 14:37:36 HKT 2019
This really should be unified, and probably not too hard to do. Crazy to have two so similar frameworks. I think we can just have one virtual class for converting CAN frames to/from other formats, and then implementations for CRTD, PCAP, etc.
I do remember that last time I looked at this, canlog used CAN_LogMsg_t, and candump used CAN_frame_t (with CAN_LogMsg_t having some other fields for logging statistics, etc), and that made it non-trivial. Perhaps canlog should be built on top of candump?
I will have a look at it.
Regards, Mark.
> On 6 Jun 2019, at 4:06 PM, Michael Balzer <dexter at expeedo.de> wrote:
>
> Steve,
>
> Mark quoted from the RE tools candump_crtd class, which has its own crtd formatter.
>
> For the canlog framework I currently get the timestamp from esp_log_timestamp(). Should be easy to change that to gettimeofday().
>
> Regards,
> Michael
>
>
> Am 05.06.19 um 18:39 schrieb Stephen Casner:
>> Mark,
>>
>> If by "unix julian time" you mean a timestamp like 1559751698 (the
>> time as I write this), than that is not what Greg and I have observed
>> in the CRTD logs. Here are the first lines in our files:
>>
>> 151766.574 CXX Info Type:crtd; Path:'/sd/gps.crtd'; Filter:1:100-100; Vehicle:TR2N;
>>
>> 383603.293 CXX Info Type:crtd; Path:'/sd/location.crtd'; Filter:1:100-100; Vehicle:TR1N;
>>
>> Yet OVMS does have the current time from NTP:
>>
>> OVMS# time
>> Time Zone:
>> UTC Time: 2019-06-05 16:35:45 UTC
>> Local Time: 2019-06-05 16:35:45 GMT
>> Provider: ntp
>>
>> PROVIDER STRATUM UPDATE TIME
>> *ntp 1 57 Wed Jun 5 16:35:44 2019
>>
>> Who calls candump_crtd::get() with the timeval that goes into the
>> sprintf() you mention?
>>
>> -- Steve
>>
>> On Wed, 5 Jun 2019, Mark Webb-Johnson wrote:
>>
>>> The CRTD timestamps should be unix julian time (not uptime). Produced by this:
>>>
>>> sprintf(m_buf,"%ld.%06ld %sR%s %0*X",
>>> time->tv_sec, time->tv_usec,
>>> busnumber,
>>> (frame->FIR.B.FF == CAN_frame_std) ? "11":"29",
>>> (frame->FIR.B.FF == CAN_frame_std) ? 3 : 8,
>>> frame->MsgID);
>>>
>>> Once module gets time from the vehicle (or gps), it should show the correct timestamps.
>>>
>>> Regards, Mark.
>> _______________________________________________
>> OvmsDev mailing list
>> OvmsDev at lists.openvehicles.com
>> http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>
> --
> Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
> Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
>
>
> _______________________________________________
> OvmsDev mailing list
> OvmsDev at lists.openvehicles.com
> http://lists.openvehicles.com/mailman/listinfo/ovmsdev
More information about the OvmsDev
mailing list