Skip to content

🐛 fix(s7comm): correct S7 bit addressing for reads and writes#156

Open
WheelerLee wants to merge 1 commit into
Autonomy-Logic:developmentfrom
WheelerLee:fix/s7-bit
Open

🐛 fix(s7comm): correct S7 bit addressing for reads and writes#156
WheelerLee wants to merge 1 commit into
Autonomy-Logic:developmentfrom
WheelerLee:fix/s7-bit

Conversation

@WheelerLee

Copy link
Copy Markdown

Decode S7WLBit Start as an absolute bit offset instead of a byte offset.

  • resolve the containing byte and bit index for S7WLBit requests
  • read the containing BOOL byte before Snap7 extracts the requested bit
  • write only the addressed BOOL instead of unpacking the payload as eight bits
  • validate BOOL mappings and reject out-of-range bit accesses
  • preserve existing byte, word and dword access behavior

Previously, bit reads and writes could target the same wrong byte, causing
readback tests to appear correct. Fixing writes alone exposed the existing
read-side addressing error.

Decode S7WLBit Start as an absolute bit offset instead of a byte offset.

- resolve the containing byte and bit index for S7WLBit requests
- read the containing BOOL byte before Snap7 extracts the requested bit
- write only the addressed BOOL instead of unpacking the payload as eight bits
- validate BOOL mappings and reject out-of-range bit accesses
- preserve existing byte, word and dword access behavior

Previously, bit reads and writes could target the same wrong byte, causing
readback tests to appear correct. Fixing writes alone exposed the existing
read-side addressing error.
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