aboutsummaryrefslogtreecommitdiffstats
path: root/os/rt/include/chvt.h
diff options
context:
space:
mode:
authorGiovanni Di Sirio <gdisirio@gmail.com>2017-10-12 08:37:47 +0000
committerGiovanni Di Sirio <gdisirio@gmail.com>2017-10-12 08:37:47 +0000
commit286deccd1280b0d66ccc6d9b2617719582607f0d (patch)
tree26c4066c47d36dd4dbeaea4c48c8ac9b3da3a4e7 /os/rt/include/chvt.h
parentb172abc34df730bea1487f9d2fe518a9b3d098b9 (diff)
downloadChibiOS-286deccd1280b0d66ccc6d9b2617719582607f0d.tar.gz
ChibiOS-286deccd1280b0d66ccc6d9b2617719582607f0d.tar.bz2
ChibiOS-286deccd1280b0d66ccc6d9b2617719582607f0d.zip
EXPERIMENTAL: Introduced sysinterval_t in RT, now system time and intervals are different types and could have different sizes.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/rt5_dev_point1@10812 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/rt/include/chvt.h')
-rw-r--r--os/rt/include/chvt.h277
1 files changed, 0 insertions, 277 deletions
diff --git a/os/rt/include/chvt.h b/os/rt/include/chvt.h
index dc08dbe07..92adaaf7b 100644
--- a/os/rt/include/chvt.h
+++ b/os/rt/include/chvt.h
@@ -32,37 +32,6 @@
/* Module constants. */
/*===========================================================================*/
-/**
- * @name Special time constants
- * @{
- */
-/**
- * @brief Zero time specification for some functions with a timeout
- * specification.
- * @note Not all functions accept @p TIME_IMMEDIATE as timeout parameter,
- * see the specific function documentation.
- */
-#define TIME_IMMEDIATE ((systime_t)0)
-
-/**
- * @brief Infinite time specification for all functions with a timeout
- * specification.
- * @note Not all functions accept @p TIME_INFINITE as timeout parameter,
- * see the specific function documentation.
- */
-#define TIME_INFINITE ((systime_t)-1)
-
-/**
- * @brief Maximum time constant.
- */
-#define TIME_MAXIMUM ((systime_t)-2)
-/** @} */
-
-/**
- * @brief Maximum unsigned integer.
- */
-#define __UINT_MAX ((unsigned int)-1)
-
/*===========================================================================*/
/* Module pre-compile time settings. */
/*===========================================================================*/
@@ -71,14 +40,6 @@
/* Derived constants and error checks. */
/*===========================================================================*/
-#if (CH_CFG_ST_RESOLUTION != 16) && (CH_CFG_ST_RESOLUTION != 32)
-#error "invalid CH_CFG_ST_RESOLUTION specified, must be 16 or 32"
-#endif
-
-#if CH_CFG_ST_FREQUENCY <= 0
-#error "invalid CH_CFG_ST_FREQUENCY specified, must be greater than zero"
-#endif
-
#if (CH_CFG_ST_TIMEDELTA < 0) || (CH_CFG_ST_TIMEDELTA == 1)
#error "invalid CH_CFG_ST_TIMEDELTA specified, must " \
"be zero or greater than one"
@@ -100,108 +61,6 @@
/* Module macros. */
/*===========================================================================*/
-/**
- * @name Fast time conversion utilities
- * @{
- */
-/**
- * @brief Seconds to system ticks.
- * @details Converts from seconds to system ticks number.
- * @note The result is rounded upward to the next tick boundary.
- * @note Use of this macro for large values is not secure because
- * integer overflows, make sure your value can be correctly
- * converted.
- *
- * @param[in] sec number of seconds
- * @return The number of ticks.
- *
- * @api
- */
-#define S2ST(sec) \
- ((systime_t)((uint32_t)(sec) * (uint32_t)CH_CFG_ST_FREQUENCY))
-
-/**
- * @brief Milliseconds to system ticks.
- * @details Converts from milliseconds to system ticks number.
- * @note The result is rounded upward to the next tick boundary.
- * @note Use of this macro for large values is not secure because
- * integer overflows, make sure your value can be correctly
- * converted.
- *
- * @param[in] msec number of milliseconds
- * @return The number of ticks.
- *
- * @api
- */
-#define MS2ST(msec) \
- ((systime_t)(((((uint32_t)(msec)) * \
- ((uint32_t)CH_CFG_ST_FREQUENCY)) + 999UL) / 1000UL))
-
-/**
- * @brief Microseconds to system ticks.
- * @details Converts from microseconds to system ticks number.
- * @note The result is rounded upward to the next tick boundary.
- * @note Use of this macro for large values is not secure because
- * integer overflows, make sure your value can be correctly
- * converted.
- *
- * @param[in] usec number of microseconds
- * @return The number of ticks.
- *
- * @api
- */
-#define US2ST(usec) \
- ((systime_t)(((((uint32_t)(usec)) * \
- ((uint32_t)CH_CFG_ST_FREQUENCY)) + 999999UL) / 1000000UL))
-
-/**
- * @brief System ticks to seconds.
- * @details Converts from system ticks number to seconds.
- * @note The result is rounded up to the next second boundary.
- * @note Use of this macro for large values is not secure because
- * integer overflows, make sure your value can be correctly
- * converted.
- *
- * @param[in] n number of system ticks
- * @return The number of seconds.
- *
- * @api
- */
-#define ST2S(n) (((n) + CH_CFG_ST_FREQUENCY - 1UL) / CH_CFG_ST_FREQUENCY)
-
-/**
- * @brief System ticks to milliseconds.
- * @details Converts from system ticks number to milliseconds.
- * @note The result is rounded up to the next millisecond boundary.
- * @note Use of this macro for large values is not secure because
- * integer overflows, make sure your value can be correctly
- * converted.
- *
- * @param[in] n number of system ticks
- * @return The number of milliseconds.
- *
- * @api
- */
-#define ST2MS(n) (((n) * 1000UL + CH_CFG_ST_FREQUENCY - 1UL) / \
- CH_CFG_ST_FREQUENCY)
-
-/**
- * @brief System ticks to microseconds.
- * @details Converts from system ticks number to microseconds.
- * @note The result is rounded up to the next microsecond boundary.
- * @note Use of this macro for large values is not secure because
- * integer overflows, make sure your value can be correctly
- * converted.
- *
- * @param[in] n number of system ticks
- * @return The number of microseconds.
- *
- * @api
- */
-#define ST2US(n) (((n) * 1000000UL + CH_CFG_ST_FREQUENCY - 1UL) / \
- CH_CFG_ST_FREQUENCY)
-/** @} */
-
/*===========================================================================*/
/* External declarations. */
/*===========================================================================*/
@@ -225,142 +84,6 @@ extern "C" {
/*===========================================================================*/
/**
- * @name Secure time conversion utilities
- * @{
- */
-/**
- * @brief Seconds to system ticks.
- * @details Converts from seconds to system ticks number.
- * @note The result is rounded upward to the next tick boundary.
- * @note This function uses a 64 bits internal representation,
- * use with non-constant parameters can lead to inefficient
- * code because 64 bits arithmetic would be used at runtime.
- *
- * @param[in] sec number of seconds
- * @return The number of ticks.
- *
- * @api
- */
-static inline systime_t LL_S2ST(unsigned int sec) {
- uint64_t ticks = (uint64_t)sec * (uint64_t)CH_CFG_ST_FREQUENCY;
-
- chDbgAssert(ticks <= (uint64_t)TIME_MAXIMUM, "conversion overflow");
-
- return (systime_t)ticks;
-}
-
-/**
- * @brief Milliseconds to system ticks.
- * @details Converts from milliseconds to system ticks number.
- * @note The result is rounded upward to the next tick boundary.
- * @note This function uses a 64 bits internal representation,
- * use with non-constant parameters can lead to inefficient
- * code because 64 bits arithmetic would be used at runtime.
- *
- * @param[in] msec number of milliseconds
- * @return The number of ticks.
- *
- * @api
- */
-static inline systime_t LL_MS2ST(unsigned int msec) {
- uint64_t ticks = (((uint64_t)msec * (uint64_t)CH_CFG_ST_FREQUENCY) + 999ULL)
- / 1000ULL;
-
- chDbgAssert(ticks <= (uint64_t)TIME_MAXIMUM, "conversion overflow");
-
- return (systime_t)ticks;
-}
-
-/**
- * @brief Microseconds to system ticks.
- * @details Converts from microseconds to system ticks number.
- * @note The result is rounded upward to the next tick boundary.
- * @note This function uses a 64 bits internal representation,
- * use with non-constant parameters can lead to inefficient
- * code because 64 bits arithmetic would be used at runtime.
- *
- * @param[in] usec number of microseconds
- * @return The number of ticks.
- *
- * @api
- */
-static inline systime_t LL_US2ST(unsigned int usec) {
- uint64_t ticks = (((uint64_t)usec * (uint64_t)CH_CFG_ST_FREQUENCY) + 999999ULL)
- / 1000000ULL;
-
- chDbgAssert(ticks <= (uint64_t)TIME_MAXIMUM, "conversion overflow");
-
- return (systime_t)ticks;
-}
-
-/**
- * @brief System ticks to seconds.
- * @details Converts from system ticks number to seconds.
- * @note The result is rounded up to the next second boundary.
- * @note This function uses a 64 bits internal representation,
- * use with non-constant parameters can lead to inefficient
- * code because 64 bits arithmetic would be used at runtime.
- *
- * @param[in] n number of system ticks
- * @return The number of seconds.
- *
- * @api
- */
-static inline unsigned int LL_ST2S(systime_t n) {
- uint64_t sec = ((uint64_t)n + (uint64_t)CH_CFG_ST_FREQUENCY - 1ULL)
- / (uint64_t)CH_CFG_ST_FREQUENCY;
-
- chDbgAssert(sec < (uint64_t)__UINT_MAX, "conversion overflow");
-
- return (unsigned int)sec;
-}
-
-/**
- * @brief System ticks to milliseconds.
- * @details Converts from system ticks number to milliseconds.
- * @note The result is rounded up to the next millisecond boundary.
- * @note This function uses a 64 bits internal representation,
- * use with non-constant parameters can lead to inefficient
- * code because 64 bits arithmetic would be used at runtime.
- *
- * @param[in] n number of system ticks
- * @return The number of milliseconds.
- *
- * @api
- */
-static inline unsigned int LL_ST2MS(systime_t n) {
- uint64_t msec = (((uint64_t)n * 1000ULL) + (uint64_t)CH_CFG_ST_FREQUENCY - 1ULL)
- / (uint64_t)CH_CFG_ST_FREQUENCY;
-
- chDbgAssert(msec < (uint64_t)__UINT_MAX, "conversion overflow");
-
- return (unsigned int)msec;
-}
-
-/**
- * @brief System ticks to microseconds.
- * @details Converts from system ticks number to microseconds.
- * @note The result is rounded up to the next microsecond boundary.
- * @note This function uses a 64 bits internal representation,
- * use with non-constant parameters can lead to inefficient
- * code because 64 bits arithmetic would be used at runtime.
- *
- * @param[in] n number of system ticks
- * @return The number of microseconds.
- *
- * @api
- */
-static inline unsigned int LL_ST2US(systime_t n) {
- uint64_t usec = (((uint64_t)n * 1000000ULL) + (uint64_t)CH_CFG_ST_FREQUENCY - 1ULL)
- / (uint64_t)CH_CFG_ST_FREQUENCY;
-
- chDbgAssert(usec < (uint64_t)__UINT_MAX, "conversion overflow");
-
- return (unsigned int)usec;
-}
-/** @} */
-
-/**
* @brief Initializes a @p virtual_timer_t object.
* @note Initializing a timer object is not strictly required because
* the function @p chVTSetI() initializes the object too. This