This package relies on the HAL clock API. It is strongly recommended
that the HAL clocks are implemented using the full newer version of the
HAL clock API, and not the older backward compatibility API
HAL_CLOCK_RESET()). The package will still
operate with the older form of API implementation, but it is likely to
be less accurate, and possibly slightly slower.
The HAL clock API provides a high-resolution interface to an appropriate hardware clock, allowing fine-grained access with subtick access. Naturally, the resolution and accuracy that this package is able to provide is subject to what the hardware and HAL clock implementation provides. It is desirable, if possible, for the HAL clock to be configured with auto-reloading on interrupt. This reduces clock drift.