Skip to content

Questions on bit-decomposition support & stability of v4.1.0-dev.10 vs v4.0.0 (plus prior nil-pointer in modbusclient.go) #661

@AshishAvesta

Description

@AshishAvesta

Summary

  • I’m using EdgeX 4.0.0 with device-modbus-go in an IIoT project.
  • I discovered that Modbus register bit decomposition is not available in v4.0.0, but appears in v4.1.0-dev.10.
  • I’m considering upgrading, but I have concerns about production stability and a previous nil-pointer I hit (about a month ago) in modbusclient.go on a different tag.

I’d appreciate guidance on:

  1. Whether v4.1.0-dev.10 (or a specific commit/tag in the main branch) is stable / recommended for production.
  2. Status of the previous nil-pointer issue in modbusclient.go—is it resolved in v4.1.0-dev.10 or a newer tag?

Environment

  • EdgeX Foundry: 4.0.0
  • Device Service: device-modbus-go v4.0.0 (current), evaluating v4.1.0-dev.10
  • Deployment: Binary on Ubuntu 22.04 (x86_64)
  • PLC/Protocol: Modbus TCP (HOLDING_REGISTERS)
  • Use case: Need to read individual bits from a 16-bit holding register (boolean flags packed into one register)

What I expected
Bit-level reads in device profile (e.g., bit: 0..15) to be supported in v4.0.0 or released with a stable version, which we can use/deploy in production.

What actually happened
In v4.0.0, the bit decomposition feature is missing. I noted that it exists in v4.1.0-dev.10.

Questions

Recommendation on which tag/commit to use now for production if we need bit-decomposition.

  • Stability: Is v4.1.0-dev.10 considered stable enough for production use? If not, is there a recommended pre-release tag/commit or timeline for a stable v4.1.x with this feature?
  • Nil-pointer in modbusclient.go: About a month ago, on a newer tag (not 4.0.0), I encountered a nil pointer dereference originating in modbusclient.go during reads.
    - Has this been fixed in v4.1.0-dev.10 (or later)?
    - If there’s a specific commit/PR that addressed it, could you point me to it?

Thank you for the guidance, and I'm happy to provide more logs/configs or test a candidate commit if that helps!

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions