[ECOS] Time questions
Andre-John Mas
ajmas@sympatico.ca
Sat Nov 4 00:59:00 GMT 2006
Thanks for info.
On 3-Nov-06, at 04:31 , Andrew Lunn wrote:
> On Thu, Nov 02, 2006 at 07:16:45PM -0500, Andre-John Mas wrote:
>> Hi,
>>
>> I have been asked to correct an issue in our code. The time
>> returned by the function:
>>
>> time( time_t* )
>>
>> returns the right value, when the system has been set using
>> SNTP. The issue is that a call to cyg_current_time() is made in part
>> of our code, since a requirement had been made to have the time in
>> milliseconds. From what I can tell this function only returns the
>> time since the system booted and not the date as set by SNTP, which
>> seems to be maintained by the wallclock code? Is this correct?
>
> Yes, cyg_current_time() is no way related to wall clock time.
> cyg_current_time() is the number of ticks since startup. This is
> typically in 10ms ticks, but it is configurable how long a tick is.
>
> time() will return the wallclock time with a resolution of 1s.
>
> You are asking for wallclock time with a resolution of less than
> 1s. This is currently not available. What you need is the POSIX call
>
> int clock_gettime(clockid_t clk_id, struct timespec *tp);
>
> which is not implemented. Also, it is not easy to implement. To do
> this you would have to extend the io/wallclock API to include a
> function get_current_timespec() which would return a timespec. You
> would also need to extend the API between io/wallclock and the
> wallclock drivers so that they implement a call get_hw_timespec()
> which would return a timespec. However this might not solve your
> problem if you underlying wallclock hardware only supports time to 1s
> accuracy. If this is the case you could somehow try to combine time
> from the wallclock device with cyg_current_time(), but this is not
> easy. Combing information from two clocks running from different
> sources gives all sorts of wrap-around problems, time going backwards
> etc.
>
> Andrew
>
> --
> Before posting, please read the FAQ: http://ecos.sourceware.org/fom/
> ecos
> and search the list archive: http://ecos.sourceware.org/ml/ecos-
> discuss
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
More information about the Ecos-discuss
mailing list