Skip to content

ENI: Configure the bus from an EtherCAT Network Information file - #443

Open
leducp wants to merge 1 commit into
masterfrom
eni_support
Open

leducp wants to merge 1 commit into
masterfrom
eni_support

Conversation

@leducp

@leducp leducp commented Sep 29, 2026

Copy link
Copy Markdown
Owner
  • Load ENI files (ETG.2100) through an optional parser (eni_parser build option); the configuration model itself needs no XML library.
  • Drive the bus through its states from an ENI with ENI::Sequencer. The ENI is refused when it disagrees with the SII or with what its own commands programmed.
  • Map a process image programmed by other means with Bus::mapProcessImage, and refuse mappings the frames cannot carry.
  • Refuse datagrams larger than a frame instead of overflowing it.
  • Add load_eni and a simulated eni_replay example, and docs/ENI.md.

@github-actions

github-actions Bot commented Sep 29, 2026 •

Copy link
Copy Markdown

File Coverage Lines Branches
All files 87% 90% 83% ✅
lib/include/kickcat/Error.h 91% 100% 83% ✅
lib/include/kickcat/LockedRing.h 87% 94% 81% ✅
lib/include/kickcat/LoopbackSocket.h 81% 82% 80% ✅
lib/include/kickcat/SimulatorControl.h 84% 97% 70% ✅
lib/master/include/kickcat/AbstractLink.h 90% 80% 100% ✅
lib/master/src/Bus.cc 92% 94% 90% ✅
lib/master/src/CoE.cc 86% 90% 81% ✅
lib/master/src/FoE.cc 98% 100% 96% ✅
lib/master/src/Link.cc 98% 100% 97% ✅
lib/master/src/MailboxSequencer.cc 97% 100% 94% ✅
lib/master/src/MasterOD.cc 99% 99% 100% ✅
lib/master/src/Prints.cc 88% 88% 88% ✅
lib/master/src/Slave.cc 72% 87% 58% ❌
lib/master/src/dc.cc 76% 82% 70% ✅
lib/master/src/CoE/CiA/DS402/Drive.cc 78% 87% 70% ✅
lib/master/src/ENI/Sequencer.cc 85% 91% 79% ✅
lib/simulation/include/kickcat/simulation/devices/Ds402Motor.h 75% 91% 58% ✅
lib/simulation/src/DirectoryStorage.cc 93% 94% 92% ✅
lib/simulation/src/SimulatedSlave.cc 57% 67% 47% ❌
lib/simulation/src/SimulatorControlServer.cc 91% 97% 84% ✅
lib/simulation/src/Topology.cc 73% 70% 76% ❌
lib/slave/src/AbstractESC.cc 94% 100% 88% ✅
lib/slave/src/AbstractEmulatedEEPROM.cc 0% 0% 0% ❌
lib/slave/src/ESMStates.cc 96% 99% 93% ✅
lib/slave/src/ESM.cc 94% 100% 89% ✅
lib/slave/src/EmulatedNetwork.cc 98% 99% 97% ✅
lib/slave/src/PDO.cc 93% 97% 89% ✅
lib/slave/src/ESC/EmulatedESC.cc 87% 92% 82% ✅
lib/slave/src/ESC/Lan9252.cc 0% 0% 0% ❌
lib/src/Frame.cc 96% 96% 97% ✅
lib/src/Mailbox.cc 93% 96% 89% ✅
lib/src/SIIParser.cc 93% 95% 90% ✅
lib/src/protocol.cc 89% 86% 92% ✅
lib/src/CoE/OD.cc 95% 95% 94% ✅
lib/src/CoE/protocol.cc 92% 92% 92% ✅
lib/src/CoE/CiA/DS402/StateMachine.cc 93% 94% 92% ✅
lib/src/CoE/mailbox/request.cc 84% 86% 83% ✅
lib/src/CoE/mailbox/response.cc 87% 92% 82% ✅
lib/src/ENI/Config.cc 94% 94% 94% ✅
lib/src/ENI/Parser.cc 95% 98% 93% ✅
lib/src/ESI/Parser.cc 85% 89% 81% ✅
lib/src/ESI/SIIBuilder.cc 86% 94% 77% ✅
lib/src/EoE/protocol.cc 0% 0% 0% ❌
lib/src/FoE/protocol.cc 22% 28% 17% ❌
lib/src/FoE/mailbox/request.cc 95% 97% 93% ✅
lib/src/FoE/mailbox/response.cc 89% 93% 86% ✅
lib/src/utils/xsd.cc 93% 96% 90% ✅

Minimum allowed coverage is 75%

Generated by 🐒 cobertura-action against 95f0dc5

- Load ENI files (ETG.2100) and bring the bus to OPERATIONAL from them.
- Map a process image configured outside createMapping.
- Refuse datagrams larger than a frame.
- Refuse malformed numbers in ESI files.
- Add the load_eni and eni_replay examples, and docs/ENI.md.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant