Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/master slave add custom fc handlers #101

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

alisitsyn
Copy link
Collaborator

@alisitsyn alisitsyn commented Mar 5, 2025

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 Response
Loading

Related

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.

@CLAassistant
Copy link

CLAassistant commented Mar 5, 2025

CLA assistant check
All committers have signed the CLA.

@alisitsyn alisitsyn changed the base branch from master to main March 5, 2025 15:18
@alisitsyn alisitsyn self-assigned this Mar 5, 2025
@alisitsyn alisitsyn force-pushed the feature/master_slave_add_custom_fc_handlers branch 3 times, most recently from 2df9d0e to 2699949 Compare March 24, 2025 08:50
@alisitsyn alisitsyn force-pushed the feature/master_slave_add_custom_fc_handlers branch from 2699949 to 20b3dba Compare March 28, 2025 15:30
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.

2 participants