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

The whole bus's process-data layout, resolved to absolute positions. More...

#include <process_image.h>

Collaboration diagram for mm::node::ProcessImage:
[legend]

Classes

struct  Location
 Where a mapped object sits in the image, and which direction it belongs to. More...
 

Public Member Functions

std::optional< Locationfind (uint16_t slavePosition, uint16_t index, uint8_t subindex) const
 Locates a mapped object by bus position and CoE address.
 

Public Attributes

std::vector< ProcessImageEntryoutputs
 Master→slave objects, located in the output image.
 
std::vector< ProcessImageEntryinputs
 Slave→master objects, located in the input image.
 
uint32_t outputBytes = 0
 Size of the output image.
 
uint32_t inputBytes = 0
 Size of the input image.
 
int expectedWkc = 0
 Working counter when every slave exchanges.
 

Detailed Description

The whole bus's process-data layout, resolved to absolute positions.

Built by buildProcessImage from the driver's PdoLayout (per-slave windows + sizes) and each device's FlatPdoMapping (per-object offsets within its window). Immutable once built and published behind an atomic pointer; the RT loop reads only outputBytes / inputBytes / expectedWkc, while outputs / inputs serve non-RT value access.

Member Function Documentation

◆ find()

std::optional< ProcessImage::Location > mm::node::ProcessImage::find ( uint16_t  slavePosition,
uint16_t  index,
uint8_t  subindex 
) const

Locates a mapped object by bus position and CoE address.

Returns
Its location, or nullopt if the object is not mapped in this image.

Member Data Documentation

◆ expectedWkc

int mm::node::ProcessImage::expectedWkc = 0

Working counter when every slave exchanges.

◆ inputBytes

uint32_t mm::node::ProcessImage::inputBytes = 0

Size of the input image.

◆ inputs

std::vector<ProcessImageEntry> mm::node::ProcessImage::inputs

Slave→master objects, located in the input image.

◆ outputBytes

uint32_t mm::node::ProcessImage::outputBytes = 0

Size of the output image.

◆ outputs

std::vector<ProcessImageEntry> mm::node::ProcessImage::outputs

Master→slave objects, located in the output image.


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