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

One object mapped into a slave's process data, with its position in the window. More...

#include <pdo_mapping.h>

Public Attributes

uint16_t index = 0
 CoE object index; 0x0000 marks a padding gap (no object).
 
uint8_t subindex = 0
 CoE object subindex.
 
uint8_t bitLength = 0
 Width of the entry in bits (the packed 7..0 field; max 255).
 
uint32_t bitOffset
 Bit offset from the slave's direction window (read-only; 0 on write).
 

Detailed Description

One object mapped into a slave's process data, with its position in the window.

Produced by walking the PDO assignment (0x1C12 / 0x1C13) and the mapping objects (0x16xx / 0x1Axx). bitOffset is measured from the start of this slave's direction window (its output region for an RxPDO entry, its input region for a TxPDO entry), so it composes with the per-slave window offset from mm::comm::PdoLayout to give the object's absolute position in the process image.

A mapping object may contain padding entries (index == 0) inserted purely for byte alignment; these are kept so the running offset stays correct, but they bind to no object and consumers skip them. The three packed fields (index, subindex, bitLength) mirror the 32-bit CoE mapping entry exactly — index<<16 | subindex<<8 | bitLength — so a PdoMappingEntry is both what a mapping-object read decodes into and what Device::writePdoMapping composes onto the wire. bitOffset is derived metadata: populated by readFlatPdoMapping from the running offset, and left at its default (ignored) when the entry describes a mapping to be written (the write derives each object's position from the entry order).

Member Data Documentation

◆ bitLength

uint8_t mm::node::PdoMappingEntry::bitLength = 0

Width of the entry in bits (the packed 7..0 field; max 255).

◆ bitOffset

uint32_t mm::node::PdoMappingEntry::bitOffset
Initial value:
=
0

Bit offset from the slave's direction window (read-only; 0 on write).

◆ index

uint16_t mm::node::PdoMappingEntry::index = 0

CoE object index; 0x0000 marks a padding gap (no object).

◆ subindex

uint8_t mm::node::PdoMappingEntry::subindex = 0

CoE object subindex.


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