blob: 9dadad9399b72fafb152e624df6d78f320f01615 [file] [log] [blame]
/*
* Copyright (c) 2016-2018 Nordic Semiconductor ASA
* Copyright (c) 2016 Vinayak Kariappa Chettimada
*
* SPDX-License-Identifier: Apache-2.0
*/
/* Macro to translate microseconds to tick units.
* NOTE: This returns the floor value.
*/
#define HAL_TICKER_US_TO_TICKS(x) \
( \
((u32_t)(((u64_t) (x) * 1000000000UL) / 30517578125UL)) \
& 0x00FFFFFF \
)
/* Macro returning remainder in nanoseconds */
#define HAL_TICKER_REMAINDER(x) \
( \
( \
((u64_t) (x) * 1000000000UL) \
- ((u64_t)HAL_TICKER_US_TO_TICKS(x) * 30517578125UL) \
) \
/ 1000UL \
)
/* Macro to translate tick units to microseconds. */
#define HAL_TICKER_TICKS_TO_US(x) \
((u32_t)(((u64_t) (x) * 30517578125UL) / 1000000000UL))
/* Macro defines the h/w supported most significant bit */
#define HAL_TICKER_MSBIT 23