forked from Imagelibrary/rtems
rtems: Add rtems_clock_get_uptime_timeval()
This commit is contained in:
@@ -154,6 +154,7 @@ librtems_a_SOURCES += src/clockgettickssinceboot.c
|
|||||||
librtems_a_SOURCES += src/clockgettod.c
|
librtems_a_SOURCES += src/clockgettod.c
|
||||||
librtems_a_SOURCES += src/clockgettodtimeval.c
|
librtems_a_SOURCES += src/clockgettodtimeval.c
|
||||||
librtems_a_SOURCES += src/clockgetuptime.c
|
librtems_a_SOURCES += src/clockgetuptime.c
|
||||||
|
librtems_a_SOURCES += src/clockgetuptimetimeval.c
|
||||||
librtems_a_SOURCES += src/clockset.c
|
librtems_a_SOURCES += src/clockset.c
|
||||||
librtems_a_SOURCES += src/clocksetnsecshandler.c
|
librtems_a_SOURCES += src/clocksetnsecshandler.c
|
||||||
librtems_a_SOURCES += src/clocktick.c
|
librtems_a_SOURCES += src/clocktick.c
|
||||||
|
|||||||
@@ -227,6 +227,13 @@ rtems_status_code rtems_clock_get_uptime(
|
|||||||
struct timespec *uptime
|
struct timespec *uptime
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Gets the system uptime in the struct timeval format.
|
||||||
|
*
|
||||||
|
* @param[out] Returns the system uptime. Pointer must not be NULL.
|
||||||
|
*/
|
||||||
|
void rtems_clock_get_uptime_timeval( struct timeval *uptime );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief _TOD_Validate
|
* @brief _TOD_Validate
|
||||||
*
|
*
|
||||||
|
|||||||
27
cpukit/rtems/src/clockgetuptimetimeval.c
Normal file
27
cpukit/rtems/src/clockgetuptimetimeval.c
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2012 embedded brains GmbH. All rights reserved.
|
||||||
|
*
|
||||||
|
* embedded brains GmbH
|
||||||
|
* Obere Lagerstr. 30
|
||||||
|
* 82178 Puchheim
|
||||||
|
* Germany
|
||||||
|
* <rtems@embedded-brains.de>
|
||||||
|
*
|
||||||
|
* The license and distribution terms for this file may be
|
||||||
|
* found in the file LICENSE in this distribution or at
|
||||||
|
* http://www.rtems.com/license/LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if HAVE_CONFIG_H
|
||||||
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <rtems/rtems/clock.h>
|
||||||
|
|
||||||
|
void rtems_clock_get_uptime_timeval( struct timeval *uptime )
|
||||||
|
{
|
||||||
|
Timestamp_Control snapshot_as_timestamp;
|
||||||
|
|
||||||
|
_TOD_Get_uptime( &snapshot_as_timestamp );
|
||||||
|
_Timestamp_To_timeval( &snapshot_as_timestamp, uptime );
|
||||||
|
}
|
||||||
@@ -22,6 +22,7 @@ the clock manager are:
|
|||||||
@item @code{@value{DIRPREFIX}clock_get_ticks_per_second} - Get ticks per second
|
@item @code{@value{DIRPREFIX}clock_get_ticks_per_second} - Get ticks per second
|
||||||
@item @code{@value{DIRPREFIX}clock_get_ticks_since_boot} - Get ticks since boot
|
@item @code{@value{DIRPREFIX}clock_get_ticks_since_boot} - Get ticks since boot
|
||||||
@item @code{@value{DIRPREFIX}clock_get_uptime} - Get time since boot
|
@item @code{@value{DIRPREFIX}clock_get_uptime} - Get time since boot
|
||||||
|
@item @code{@value{DIRPREFIX}clock_get_uptime_timeval} - Get time since boot in timeval format
|
||||||
@item @code{@value{DIRPREFIX}clock_set_nanoseconds_extension} - Install the nanoseconds since last tick handler
|
@item @code{@value{DIRPREFIX}clock_set_nanoseconds_extension} - Install the nanoseconds since last tick handler
|
||||||
@item @code{@value{DIRPREFIX}clock_tick} - Announce a clock tick
|
@item @code{@value{DIRPREFIX}clock_tick} - Announce a clock tick
|
||||||
@end itemize
|
@end itemize
|
||||||
@@ -665,6 +666,40 @@ call.
|
|||||||
|
|
||||||
This directive may be called from an ISR.
|
This directive may be called from an ISR.
|
||||||
|
|
||||||
|
@c
|
||||||
|
@c
|
||||||
|
@c
|
||||||
|
@page
|
||||||
|
@subsection CLOCK_GET_UPTIME_TIMEVAL - Get the time since boot in timeval format
|
||||||
|
|
||||||
|
@cindex clock get uptime
|
||||||
|
@cindex uptime
|
||||||
|
|
||||||
|
@subheading CALLING SEQUENCE:
|
||||||
|
|
||||||
|
@ifset is-C
|
||||||
|
@findex rtems_clock_get_uptime_timeval
|
||||||
|
@example
|
||||||
|
void rtems_clock_get_uptime_timeval(
|
||||||
|
struct timeval *uptime
|
||||||
|
);
|
||||||
|
@end example
|
||||||
|
@end ifset
|
||||||
|
|
||||||
|
@subheading DIRECTIVE STATUS CODES:
|
||||||
|
|
||||||
|
NONE
|
||||||
|
|
||||||
|
@subheading DESCRIPTION:
|
||||||
|
|
||||||
|
This directive returns the seconds and microseconds since the
|
||||||
|
system was booted. If the BSP supports nanosecond clock
|
||||||
|
accuracy, the time reported will probably be different on every
|
||||||
|
call.
|
||||||
|
|
||||||
|
@subheading NOTES:
|
||||||
|
|
||||||
|
This directive may be called from an ISR.
|
||||||
|
|
||||||
@c
|
@c
|
||||||
@c
|
@c
|
||||||
|
|||||||
@@ -83,6 +83,9 @@ void Screen2()
|
|||||||
"rtems_clock_get_uptime NULL param"
|
"rtems_clock_get_uptime NULL param"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
puts( "TA1 - rtems_clock_get_uptime_timeval" );
|
||||||
|
rtems_clock_get_uptime_timeval( &tv );
|
||||||
|
|
||||||
puts( "TA1 - rtems_clock_get_tod_timeval - RTEMS_INVALID_ADDRESS" );
|
puts( "TA1 - rtems_clock_get_tod_timeval - RTEMS_INVALID_ADDRESS" );
|
||||||
status = rtems_clock_get_tod_timeval( NULL );
|
status = rtems_clock_get_tod_timeval( NULL );
|
||||||
fatal_directive_status(
|
fatal_directive_status(
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ TA1 - rtems_clock_get_tod - RTEMS_NOT_DEFINED
|
|||||||
TA1 - rtems_clock_get_seconds_since_epoch - RTEMS_INVALID_ADDRESS
|
TA1 - rtems_clock_get_seconds_since_epoch - RTEMS_INVALID_ADDRESS
|
||||||
TA1 - rtems_clock_get_seconds_since_epoch - RTEMS_NOT_DEFINED
|
TA1 - rtems_clock_get_seconds_since_epoch - RTEMS_NOT_DEFINED
|
||||||
TA1 - rtems_clock_get_uptime - RTEMS_INVALID_ADDRESS
|
TA1 - rtems_clock_get_uptime - RTEMS_INVALID_ADDRESS
|
||||||
|
TA1 - rtems_clock_get_uptime_timeval
|
||||||
TA1 - rtems_clock_get_tod_timeval - RTEMS_INVALID_ADDRESS
|
TA1 - rtems_clock_get_tod_timeval - RTEMS_INVALID_ADDRESS
|
||||||
TA1 - rtems_clock_get_tod_timeval - RTEMS_NOT_DEFINED
|
TA1 - rtems_clock_get_tod_timeval - RTEMS_NOT_DEFINED
|
||||||
TA1 - rtems_clock_set_nanoseconds_extension - RTEMS_INVALID_ADDRESS
|
TA1 - rtems_clock_set_nanoseconds_extension - RTEMS_INVALID_ADDRESS
|
||||||
|
|||||||
Reference in New Issue
Block a user