33 lines
1.1 KiB
C
33 lines
1.1 KiB
C
/*!
|
|
* @file xtime.h
|
|
* @brief Provides additional definitions for working with delays
|
|
*
|
|
* Project: \n
|
|
* Subsystem: \n
|
|
* Module: mst\n
|
|
* Code: GNU-C\n
|
|
*
|
|
* @date 08.06.2016
|
|
* @author Martin Winkler
|
|
*/
|
|
#ifndef XTIME_H_
|
|
#define XTIME_H_
|
|
|
|
#include <time.h>
|
|
|
|
/*! @brief Convert milliseconds to nanoseconds */
|
|
#define XTIME_MSTONS(milliseconds) (milliseconds * 1000000L)
|
|
/*! @brief Convert microseconds to nanoseconds */
|
|
#define XTIME_USTONS(microseconds) (microseconds * 1000L)
|
|
/*! @brief Convert nanoseconds to milliseconds*/
|
|
#define XTIME_NSTOMS(nanoseconds) (nanoseconds / 1000000L)
|
|
/*! @brief Convert nanoseconds to microseconds*/
|
|
#define XTIME_NSTOUS(nanoseconds) (nanoseconds / 1000L)
|
|
|
|
/*! @brief Only microseconds up to 1000000 are supported */
|
|
#define XTIME_TIMESPEC_US(seconds, microseconds) (const struct timespec[]){{seconds, XTIME_USTONS(microseconds)}}
|
|
/*! @brief Only milliseconds up to 1000 are supported */
|
|
#define XTIME_TIMESPEC_MS(seconds, milliseconds) (const struct timespec[]){{seconds, XTIME_MSTONS(milliseconds)}}
|
|
|
|
#endif /* XTIME_H_ */
|