tin  1.5.9
chrono_ticks.h File Reference

Helpers for converting measured durations into explicit HSM ticks. More...

#include <chrono>
#include <cstdint>
#include <limits>
#include "tsm/runtime/coroutine.h"
#include "tsm/ticks.h"
Include dependency graph for chrono_ticks.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  tsm::chrono_ticks::tick_domain< TickPeriod >
 
class  tsm::chrono_ticks::elapsed_tick_source< Clock, TickPeriod >
 

Namespaces

 tsm
 
 tsm::chrono_ticks
 

Typedefs

using tsm::chrono_ticks::millisecond_domain = tick_domain< std::chrono::milliseconds >
 
using tsm::chrono_ticks::second_domain = tick_domain< std::chrono::seconds >
 

Functions

template<typename Duration , typename TickPeriod >
constexpr tsm::tick_rep tsm::chrono_ticks::duration_to_ticks (Duration duration, TickPeriod tick_period)
 
constexpr millisecond_domain tsm::chrono_ticks::one_tick_per_millisecond () noexcept
 
constexpr second_domain tsm::chrono_ticks::one_tick_per_second () noexcept
 
template<typename TickPeriod , typename Duration >
tsm::sleep_ticks_awaitable tsm::chrono_ticks::sleep_for (tick_domain< TickPeriod > domain, Duration duration) noexcept
 
template<typename TickPeriod , typename Duration >
tsm::sleep_ticks_awaitable tsm::chrono_ticks::after (tick_domain< TickPeriod > domain, Duration duration) noexcept
 
template<typename TickPeriod , typename Duration >
tsm::timeout_ticks_awaitable tsm::chrono_ticks::timeout (tick_domain< TickPeriod > domain, Duration duration) noexcept
 
template<typename TickPeriod , typename Duration >
tsm::periodic_ticks tsm::chrono_ticks::every (tick_domain< TickPeriod > domain, Duration duration) noexcept
 

Detailed Description

Helpers for converting measured durations into explicit HSM ticks.

Converts std::chrono durations into explicit tick counts at platform and test boundaries. Runtime schedulers deliberately do not read clocks: a platform adapter may measure wall time with chrono, FreeRTOS, SysTick, or simulation time, then hand only elapsed ticks to executors and delayed-event timers.