diff options
author | Giovanni Di Sirio <gdisirio@gmail.com> | 2015-04-04 08:19:04 +0000 |
---|---|---|
committer | Giovanni Di Sirio <gdisirio@gmail.com> | 2015-04-04 08:19:04 +0000 |
commit | 5047ce62e8c7c4b702d68f29dff42e65200924b1 (patch) | |
tree | bee619afb0cff832204cfcfd418f454742e7a4b2 | |
parent | b3c635dc4b9ba6ae0d02d32e4ac5ecacbda73ca2 (diff) | |
download | ChibiOS-5047ce62e8c7c4b702d68f29dff42e65200924b1.tar.gz ChibiOS-5047ce62e8c7c4b702d68f29dff42e65200924b1.tar.bz2 ChibiOS-5047ce62e8c7c4b702d68f29dff42e65200924b1.zip |
Time conversion macros fixes.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7851 35acf78f-673a-0410-8e92-d51de3d6d3f4
-rw-r--r-- | os/hal/osal/os-less/ARMCMx/osal.h | 8 | ||||
-rw-r--r-- | os/nil/include/nil.h | 8 | ||||
-rw-r--r-- | os/rt/include/chvt.h | 16 |
3 files changed, 17 insertions, 15 deletions
diff --git a/os/hal/osal/os-less/ARMCMx/osal.h b/os/hal/osal/os-less/ARMCMx/osal.h index 66cb594a5..c54ed9327 100644 --- a/os/hal/osal/os-less/ARMCMx/osal.h +++ b/os/hal/osal/os-less/ARMCMx/osal.h @@ -425,8 +425,8 @@ typedef struct { * @api
*/
#define OSAL_MS2ST(msec) \
- ((systime_t)((((((uint32_t)(msec)) * \
- ((uint32_t)OSAL_ST_FREQUENCY)) - 1UL) / 1000UL) + 1UL))
+ ((systime_t)((((uint32_t)(msec)) * \
+ ((uint32_t)OSAL_ST_FREQUENCY) + 999UL) / 1000UL))
/**
* @brief Microseconds to system ticks.
@@ -439,8 +439,8 @@ typedef struct { * @api
*/
#define OSAL_US2ST(usec) \
- ((systime_t)((((((uint32_t)(usec)) * \
- ((uint32_t)OSAL_ST_FREQUENCY)) - 1UL) / 1000000UL) + 1UL))
+ ((systime_t)((((uint32_t)(usec)) * \
+ ((uint32_t)OSAL_ST_FREQUENCY) + 999999UL) / 1000000UL))
/** @} */
/**
diff --git a/os/nil/include/nil.h b/os/nil/include/nil.h index 3babb8da9..e17aeef99 100644 --- a/os/nil/include/nil.h +++ b/os/nil/include/nil.h @@ -596,8 +596,8 @@ struct nil_system { * @api
*/
#define MS2ST(msec) \
- ((systime_t)((((((uint32_t)(msec)) * \
- ((uint32_t)NIL_CFG_ST_FREQUENCY)) - 1UL) / 1000UL) + 1UL))
+ ((systime_t)((((uint32_t)(msec)) * \
+ ((uint32_t)NIL_CFG_ST_FREQUENCY) + 999UL) / 1000UL))
/**
* @brief Microseconds to system ticks.
@@ -610,8 +610,8 @@ struct nil_system { * @api
*/
#define US2ST(usec) \
- ((systime_t)((((((uint32_t)(usec)) * \
- ((uint32_t)NIL_CFG_ST_FREQUENCY)) - 1UL) / 1000000UL) + 1UL))
+ ((systime_t)((((uint32_t)(usec)) * \
+ ((uint32_t)NIL_CFG_ST_FREQUENCY) + 999999UL) / 1000000UL))
/** @} */
/**
diff --git a/os/rt/include/chvt.h b/os/rt/include/chvt.h index 01dc38ac6..ae26beacf 100644 --- a/os/rt/include/chvt.h +++ b/os/rt/include/chvt.h @@ -118,8 +118,8 @@ * @api
*/
#define MS2ST(msec) \
- ((systime_t)((((((uint32_t)(msec)) * \
- ((uint32_t)CH_CFG_ST_FREQUENCY)) - 1UL) / 1000UL) + 1UL))
+ ((systime_t)((((uint32_t)(msec)) * \
+ ((uint32_t)CH_CFG_ST_FREQUENCY) + 999UL) / 1000UL))
/**
* @brief Microseconds to system ticks.
@@ -132,8 +132,8 @@ * @api
*/
#define US2ST(usec) \
- ((systime_t)((((((uint32_t)(usec)) * \
- ((uint32_t)CH_CFG_ST_FREQUENCY)) - 1UL) / 1000000UL) + 1UL))
+ ((systime_t)((((uint32_t)(usec)) * \
+ ((uint32_t)CH_CFG_ST_FREQUENCY) + 999999UL) / 1000000UL))
/**
* @brief System ticks to seconds.
@@ -145,7 +145,7 @@ *
* @api
*/
-#define ST2S(n) (((((n) - 1UL) * 1UL) / CH_CFG_ST_FREQUENCY) + 1UL)
+#define ST2S(n) (((n) + CH_CFG_ST_FREQUENCY - 1UL) / CH_CFG_ST_FREQUENCY)
/**
* @brief System ticks to milliseconds.
@@ -157,7 +157,8 @@ *
* @api
*/
-#define ST2MS(n) (((((n) - 1UL) * 1000UL) / CH_CFG_ST_FREQUENCY) + 1UL)
+#define ST2MS(n) (((n) * 1000UL + CH_CFG_ST_FREQUENCY - 1UL) / \
+ CH_CFG_ST_FREQUENCY)
/**
* @brief System ticks to microseconds.
@@ -169,7 +170,8 @@ *
* @api
*/
-#define ST2US(n) (((((n) - 1UL) * 1000000UL) / CH_CFG_ST_FREQUENCY) + 1UL)
+#define ST2US(n) (((n) * 1000000UL + CH_CFG_ST_FREQUENCY - 1UL) / \
+ CH_CFG_ST_FREQUENCY)
/** @} */
/*===========================================================================*/
|