/* * 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