Feature/master slave add custom fc handlers - #101
Open
alisitsyn wants to merge 6 commits into
Open
Conversation
alisitsyn
force-pushed
the
feature/master_slave_add_custom_fc_handlers
branch
3 times, most recently
from
March 24, 2025 08:50
2df9d0e to
2699949
Compare
alisitsyn
force-pushed
the
feature/master_slave_add_custom_fc_handlers
branch
from
March 28, 2025 15:30
2699949 to
20b3dba
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This MR is to add custom modbus function handlers for master and slave communication objects. This also addresses the size of command handling tables for Modbus master and slave. This MR has relationship with the MR !96 to add support of the custom commands in data dictionary.
--- title: Modbus custom command handling --- sequenceDiagram participant M as Master Device participant S as Slave Device participant H as Command Handler Note over M,H: Default Command Flow M->>S: Send Modbus Command (Function Code) S->>H: Route to Default Handler H-->>S: Process Command S-->>M: Return Response Note over M,H: Extended Command Flow M->>S: Send Custom Command (New Function Code) S->>H: Route to Custom Handler Note over H: Execute Custom Logic H-->>S: Process Command S-->>M: Return Response Note over M,H: Overridden Command Flow M->>S: Send Standard Command (Overridden Function Code) S->>H: Route to Override Handler Note over H: Execute Override Logic H-->>S: Process Command S-->>M: Return ResponseRelated
Closes IDFGH-10913
Closes IDFGH-13746
Closes IDFGH-6561
IDFGH-12046 (!63)
Check list
Add custom handling API for master and slave objects
Update set/get wrappers in slave controller object to override command handler
Update documentation to describe how to set and get custom handler for the command
Update examples to address the <0x41 - Custom Command> on master and slave to transfer data
Perform testing using robot framework on host side
🚨 This PR does not introduce breaking changes.
All CI checks (GH Actions) pass.
Documentation is updated as needed.
Tests are updated or added as necessary.
Code is well-commented, especially in complex areas.
Git history is clean — commits are squashed to the minimum necessary.