Skip to content

3.1r1: 8.10.2, multi-drop support - #55

Merged
jadamcrain merged 1 commit into
mainfrom
multi-drop
Oct 14, 2026
Merged

jadamcrain merged 1 commit into
mainfrom
multi-drop

Conversation

@jadamcrain

Copy link
Copy Markdown
Member

3.1r1's 8.10.2 over the serial transport from #54, for a device on a drop with other devices. Their addresses are set in serial.otherDevices, at least two.

Steps

  • Class 1, 2 and 3 reads go to each other device and to the broadcast address. No frame from the DUT may follow within the response timeout; frames from the other devices are noted.
  • A read to the DUT must be answered. Before it, the harness waits for the line to go quiet, so a late reply from another device can't mix with the DUT's response.
  • That read is repeated for each RTS delay setting to test (serial.rtsDelays, before/after pairs in ms), and the usual delays are restored at the end, even after a failure. The step says which settings to list: for each delay, every selection where it has four or fewer, otherwise its minimum, maximum and two values in between.

Plugin. Whether the DUT raised carrier or asserted RTS, and when, is checked on the line by the plugin, straight away, while the line's recording is of that exchange:

  • verifyNoCarrier
  • verifyCarrierTiming
  • setRtsDelays, which changes the delays or restores the usual ones

Their defaults throw, and DefaultIntegrationPlugin asks the tester, e.g. to read an oscilloscope.

Configuration. The test runs where serial.enabled and serial.multiDrop are true. The configuration check requires:

  • at least two other devices, at ordinary addresses (at most 0xFFEF), neither the DUT's nor the master's;
  • RTS settings that parse, with none listed twice.

2.7's 8.10.2 stays not implemented, and its -describe output is unchanged.

Over serial, with the DUT on a drop with other devices
(serial.otherDevices, at least two): class 1, 2 and 3 reads to each of
them and to the broadcast address, which no frame from the DUT may follow
within the response timeout, and one to the DUT, which it answers; then
the same read for each RTS delay setting to test (serial.rtsDelays, as
before/after pairs), restoring the usual ones at the end.

Whether the DUT raised carrier or asserted RTS, and when, is checked on
the line by the plugin: verifyNoCarrier and verifyCarrierTiming, with
setRtsDelays to change the delays. Their defaults throw, and
DefaultIntegrationPlugin asks the tester, e.g. to read an oscilloscope.

The test runs where serial.enabled and serial.multiDrop are true; the
configuration check requires two other devices' addresses, neither the
DUT's nor the master's, and RTS delays it can read.
@jadamcrain
jadamcrain merged commit 340a608 into main Oct 14, 2026
5 checks passed
@jadamcrain
jadamcrain deleted the multi-drop branch October 14, 2026 15:06
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