From a2fe43b102201433dbac71e2e1f71e3ebacc67aa Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 10 Mar 2015 16:56:14 -0500 Subject: cpukit/include/rtems/btimer.h: Add DOxygen comments --- cpukit/include/rtems/btimer.h | 58 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 56 insertions(+), 2 deletions(-) diff --git a/cpukit/include/rtems/btimer.h b/cpukit/include/rtems/btimer.h index c424e7e9ed..7257ef67c2 100644 --- a/cpukit/include/rtems/btimer.h +++ b/cpukit/include/rtems/btimer.h @@ -33,20 +33,74 @@ extern "C" { #endif -typedef uint32_t benchmark_timer_t; +/** + * @defgroup BenchmarkTimer Benchmark Timer Driver Interface + * + * This module defines the interface for the Benchmark Timer Driver. + * + * The following methods in this module must be provided by each BSP: + * + * - benchmark_timer_initialize + * - benchmark_timer_read + * - benchmark_timer_disable_subtracting_average_overhead + * + * The units measured are BSP specific but should be at the highest + * granularity possible. + * + * The Benchmark Timer may use the same hardware as the Clock Driver. + * No RTEMS Timing Tests will use both drivers at the same time. + */ -/* functions */ +/** + * @brief Benchmark Timer Value Type + * + * This type is used to contain benchmark times. The units are BSP specific. + */ +typedef uint32_t benchmark_timer_t; +/** + * @brief Initialize the Benchmark Timer + * + * This method initializes the benchmark timer and resets it to begin + * counting. + */ extern void benchmark_timer_initialize( void ); +/** + * @brief Read the Benchmark Timer + * + * This method stops the benchmark timer and returns the number of + * units that have passed since @a benchmark_timer_initialize was invoked. + * + * @return This method returns the number of units with the average overhead + * removed. If the value is below the minimum trusted value, zero + * is returned. + */ extern benchmark_timer_t benchmark_timer_read( void ); +/** + * @brief Benchmark Timer Empty Function + * + * This method is used to determine loop overhead. + */ extern rtems_status_code benchmark_timer_empty_function( void ); +/** + * @brief Disable Average Overhead Removal from the Benchmark Timer + * + * This method places the benchmark timer in a "raw" mode where it + * returns the actual number of units which have passed between + * calls to @a benchmark_timer_initialize and @a benchmark_timer_read + * counting. + * + * @param[in] find_flag indicates to enable or disable the mode + */ extern void benchmark_timer_disable_subtracting_average_overhead( bool find_flag ); +/**@}*/ + #ifdef __cplusplus } #endif -- cgit v1.2.3