X-Git-Url: https://git.giacomolli.uk/onehouse/blobdiff_plain/920de226fe0914003a350a93e311039a02b684d7..c36e60046f72af3d0803943185526c27b10aa4ae:/doc/m31.rst diff --git a/doc/m31.rst b/doc/m31.rst index 69c1703..b0305e3 100644 --- a/doc/m31.rst +++ b/doc/m31.rst @@ -33,10 +33,10 @@ load. The conservative sixteen-module limit includes the host. *************** ``NewTCPClient`` supplies a caller-owned, serialized connection through -``Client``. Connect selects the configured unit and has a two-second -timeout. A request has a one-second write deadline and a two-second -response deadline, both measured from its start. Caller deadlines and -cancellation can stop it earlier. Each response must match the +``Client``. Connect selects the configured unit and has a one-second +timeout. Each write has a one-second deadline. Each response has a +two-second deadline measured after the request write. Caller deadlines +and cancellation can stop it earlier. Each response must match the transaction, unit, function, length, and write acknowledgement. Supported functions are 01, 02, 03, 05, 15, and 16. No external Modbus package is required. @@ -122,3 +122,9 @@ cancellation, duplicate replay, and failed feedback or result sends. They do not verify electrical simultaneity, contact timing, hardware interlocks, or physical pulse width. Local motor protection remains necessary when network commands control moving equipment. + +A caller cancellation interrupts blocked transport work through its +deadline. A timeout caused only by that interruption is a context stop +for the runner. A joined independent transport or cleanup failure stays +a failure. Operation timeouts while the worker context is active remain +device failures and enter reconnect recovery.