Motion Master 6.0.0-alpha.50
Next-generation motion control software
Loading...
Searching...
No Matches
mm::comm::PdoLayout Struct Reference

Layout of the process-data images, produced by configureProcessData. More...

#include <fieldbus_driver.h>

Collaboration diagram for mm::comm::PdoLayout:
[legend]

Public Attributes

uint32_t outputBytes = 0
 Size of the output image (master→slave).
 
uint32_t inputBytes = 0
 Size of the input image (slave→master).
 
std::vector< SlaveIoslaves
 Per-slave windows, in bus order.
 
int expectedWkc = 0
 Working counter when every slave exchanges (outputs×2 + inputs).
 

Detailed Description

Layout of the process-data images, produced by configureProcessData.

Transport-independent description of how mapped objects are placed within the flat output and input images the caller exchanges each cycle. The output image (master→slave) is outputBytes long and the input image (slave→master) is inputBytes long; each slave's window within them is given by slaves. The node layer combines these per-slave windows with the per-object bit offsets it reads from the PDO assignment to locate individual values. The driver exposes no caller-visible memory — the images themselves are owned by the caller and passed to exchangeProcessData, so the abstraction holds equally for a memory-mapped master (SOEM, IgH) and a message-based transport (SPoE).

Member Data Documentation

◆ expectedWkc

int mm::comm::PdoLayout::expectedWkc = 0

Working counter when every slave exchanges (outputs×2 + inputs).

◆ inputBytes

uint32_t mm::comm::PdoLayout::inputBytes = 0

Size of the input image (slave→master).

◆ outputBytes

uint32_t mm::comm::PdoLayout::outputBytes = 0

Size of the output image (master→slave).

◆ slaves

std::vector<SlaveIo> mm::comm::PdoLayout::slaves

Per-slave windows, in bus order.


The documentation for this struct was generated from the following file: