Motion Master 6.0.0-alpha.86
Next-generation motion control software
Loading...
Searching...
No Matches
cyclic_task.h
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4
5namespace mm::core {
6
31 uint64_t elapsed = 0;
32 uint64_t skipped = 0;
33};
34
45 public:
47 virtual ~CyclicTask() = default;
48
66 virtual void execute(const CycleContext& ctx) noexcept = 0;
67};
68
69} // namespace mm::core
Interface for work executed once per game loop cycle.
Definition cyclic_task.h:44
virtual void execute(const CycleContext &ctx) noexcept=0
Called once per cycle, after the exchange of process data and device parameters updated.
virtual ~CyclicTask()=default
Virtual destructor.
Definition http_server.h:25
Per-cycle timing context passed to every CyclicTask::execute().
Definition cyclic_task.h:30
uint64_t skipped
Cycles skipped just before this cycle; 0 on the normal path.
Definition cyclic_task.h:32
uint64_t elapsed
Cycles elapsed since run() = executed + skipped (grid index).
Definition cyclic_task.h:31