|
Motion Master 6.0.0-alpha.86
Next-generation motion control software
|
Knobs for buildDeviceEntries.
More...
#include <esi_entry.h>
Public Attributes | |
| uint32_t | lcId = kDefaultLcId |
| Preferred locale for names and descriptions. | |
| std::vector< uint32_t > | moduleIdents |
| Restricts the merge to these module idents, in the order the slots declare them. | |
| bool | applySlotOffsets = true |
Apply SlotIndexIncrement / SlotPdoIncrement. | |
| bool | requireDependOnSlot = true |
Only relocate objects whose <Index> carries DependOnSlot="1". | |
| EsiCollisionPolicy | collisionPolicy = EsiCollisionPolicy::LastWins |
| bool | padShortValues = true |
| Zero-pad or sign-extend a hexBinary value shorter than its declared width. | |
| bool | sortByAddress = true |
Sort by (index, subindex); false keeps document order. | |
| std::size_t | maxWarnings = 1000 |
| Cap before warnings are summarised. | |
Knobs for buildDeviceEntries.
| bool mm::etg::EsiEntryOptions::applySlotOffsets = true |
Apply SlotIndexIncrement / SlotPdoIncrement.
| EsiCollisionPolicy mm::etg::EsiEntryOptions::collisionPolicy = EsiCollisionPolicy::LastWins |
| uint32_t mm::etg::EsiEntryOptions::lcId = kDefaultLcId |
Preferred locale for names and descriptions.
| std::size_t mm::etg::EsiEntryOptions::maxWarnings = 1000 |
Cap before warnings are summarised.
| std::vector<uint32_t> mm::etg::EsiEntryOptions::moduleIdents |
Restricts the merge to these module idents, in the order the slots declare them.
Empty — the default — merges every ident any slot references. That is the right default for offline inspection, where which module is physically fitted is unknowable: the result is the union of everything the device could expose. Where a slot offers mutually exclusive alternatives this necessarily produces collisions, resolved by collisionPolicy. Naming idents here models one concrete configuration instead.
| bool mm::etg::EsiEntryOptions::padShortValues = true |
Zero-pad or sign-extend a hexBinary value shorter than its declared width.
Real files disagree with themselves here, so padding is on by default and always warns, naming the address. false leaves the bytes exactly as written.
| bool mm::etg::EsiEntryOptions::requireDependOnSlot = true |
Only relocate objects whose <Index> carries DependOnSlot="1".
true — the default — is the literal ETG.2000 reading, and is a no-op on a file that sets the attribute nowhere, which matches what such a device's firmware actually answers to. Set false to relocate every module object unconditionally. Getting this wrong invents indices the drive will reject, which is worse than omitting them, hence the conservative default.
| bool mm::etg::EsiEntryOptions::sortByAddress = true |
Sort by (index, subindex); false keeps document order.