|
tin
1.5.9
|
Classes | |
| class | tick_domain |
| class | elapsed_tick_source |
Typedefs | |
| using | millisecond_domain = tick_domain< std::chrono::milliseconds > |
| using | second_domain = tick_domain< std::chrono::seconds > |
Functions | |
| template<typename Duration , typename TickPeriod > | |
| constexpr tsm::tick_rep | duration_to_ticks (Duration duration, TickPeriod tick_period) |
| constexpr millisecond_domain | one_tick_per_millisecond () noexcept |
| constexpr second_domain | one_tick_per_second () noexcept |
| template<typename TickPeriod , typename Duration > | |
| tsm::sleep_ticks_awaitable | sleep_for (tick_domain< TickPeriod > domain, Duration duration) noexcept |
| template<typename TickPeriod , typename Duration > | |
| tsm::sleep_ticks_awaitable | after (tick_domain< TickPeriod > domain, Duration duration) noexcept |
| template<typename TickPeriod , typename Duration > | |
| tsm::timeout_ticks_awaitable | timeout (tick_domain< TickPeriod > domain, Duration duration) noexcept |
| template<typename TickPeriod , typename Duration > | |
| tsm::periodic_ticks | every (tick_domain< TickPeriod > domain, Duration duration) noexcept |
| using tsm::chrono_ticks::millisecond_domain = typedef tick_domain<std::chrono::milliseconds> |
| using tsm::chrono_ticks::second_domain = typedef tick_domain<std::chrono::seconds> |
|
noexcept |
|
constexpr |
Translate platform durations into semantic HSM ticks.
The HSM core should not read wall clocks. A platform adapter may measure time with std::chrono, FreeRTOS ticks, SysTick, or simulation time, then convert that elapsed duration into an explicit tick count before calling the runtime.
The conversion rounds up partial periods so a non-zero elapsed duration is not silently lost. Very large durations saturate to tsm::tick_rep.
|
noexcept |
|
constexprnoexcept |
|
constexprnoexcept |
|
noexcept |
|
noexcept |