You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: flush stale bytes before each shared poll + increase lock timeout (v1.0.9)
Two fixes for shared connection mode (issue #351):
1. Pre-poll buffer flush: after acquiring the hub lock, drain any bytes left in
the adapter's TCP receive buffer before starting reads. With a persistent
shared connection, late RS485 responses from the previous slave's poll can
arrive after the lock is released and sit in the buffer until the next slave
picks them up, causing transaction ID mismatches. Flushing before each
locked poll cycle prevents this.
2. SHARED_LOCK_TIMEOUT increased from 30s to 60s: the 3000-range register
block has no skip-on-failure caching, so each failing chunk costs a full
TCP timeout (10s). Multiple failing chunks can push poll time past 30s,
triggering spurious lock timeout warnings and skipped polls on the other
coordinator. 60s accommodates realistic worst-case poll times.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
0 commit comments