Motion Master 6.0.0-alpha.50
Next-generation motion control software
Loading...
Searching...
No Matches
process_data_cyclic_task.h
Go to the documentation of this file.
1#pragma once
2
3#include "core/cyclic_task.h"
5
13 public:
15 : deviceManager_(deviceManager) {}
16
17 // Exchanges the freshest process data; ignores the timing context — skipped
18 // cycles just mean fewer exchanges, which is correct (never a catch-up burst).
19 void execute(const CycleContext&) override { deviceManager_.exchangeProcessData(); }
20
21 private:
22 mm::node::DeviceManager& deviceManager_;
23};
Interface for work executed once per game loop cycle.
Definition cyclic_task.h:42
Game-loop task that exchanges one cycle of process data.
Definition process_data_cyclic_task.h:12
ProcessDataCyclicTask(mm::node::DeviceManager &deviceManager)
Definition process_data_cyclic_task.h:14
void execute(const CycleContext &) override
Called once per cycle, after process data has been exchanged and device parameters updated.
Definition process_data_cyclic_task.h:19
Owns the fieldbus driver and node collection, and drives PDO exchange.
Definition device_manager.h:183
void exchangeProcessData()
Exchanges one cycle of process data: sends staged outputs, captures inputs.
Definition device_manager.cc:299
Per-cycle timing context passed to every CyclicTask::execute().
Definition cyclic_task.h:28