diff --git a/tests/test_bulk_loopback.py b/tests/test_bulk_loopback.py index 8a0b4d72..f5c9e89d 100644 --- a/tests/test_bulk_loopback.py +++ b/tests/test_bulk_loopback.py @@ -20,7 +20,12 @@ def test_session(ep, address, bus_speed): ep_loopback = ep ep_loopback_kill = ep + 1 - interEventDelay = 500 + # Rx -> Tx, recieving handshake after OUT -> sending IN tok + ied_in = 21 + # Last IN doesn't work with 21 for some reason + ied_in1 = 25 + # Tx -> Tx, sending IN handshake -> sending next OUT tok + ied_out = 15 start_length = 10 end_length = 20 @@ -39,7 +44,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, - interEventDelay=interEventDelay, + interEventDelay=ied_out, ) ) session.add_event( @@ -50,7 +55,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="IN", dataLength=pktLength, - interEventDelay=interEventDelay, + interEventDelay=ied_in, ) ) @@ -65,7 +70,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, - interEventDelay=interEventDelay, + interEventDelay=ied_out, ) ) session.add_event( @@ -76,7 +81,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="IN", dataLength=pktLength, - interEventDelay=interEventDelay, + interEventDelay=ied_in1, ) ) diff --git a/tests/test_bulk_notready.py b/tests/test_bulk_notready.py index a9441420..056cb3ce 100644 --- a/tests/test_bulk_notready.py +++ b/tests/test_bulk_notready.py @@ -3,6 +3,7 @@ from usb_session import UsbSession from usb_transaction import UsbTransaction from usb_packet import TokenPacket, TxDataPacket, RxHandshakePacket, USB_PID +from usb_phy import USB_PKT_TIMINGS import pytest from conftest import PARAMS, test_RunUsbSession @@ -11,7 +12,6 @@ def test_session(ep, address, bus_speed): pktLength = 10 - ied = 500 session = UsbSession( bus_speed=bus_speed, run_enumeration=False, device_address=address @@ -34,6 +34,7 @@ def test_session(ep, address, bus_speed): pid=USB_PID["IN"], address=address, endpoint=ep, + interEventDelay = USB_PKT_TIMINGS["RX_TO_TX_PACKET_DELAY"] ) ) session.add_event(RxHandshakePacket(pid=USB_PID["NAK"])) @@ -43,7 +44,7 @@ def test_session(ep, address, bus_speed): pid=USB_PID["OUT"], address=address, endpoint=ep, - interEventDelay=ied, + interEventDelay = USB_PKT_TIMINGS["RX_TO_TX_PACKET_DELAY"] ) ) diff --git a/tests/test_bulk_rx_basic.py b/tests/test_bulk_rx_basic.py index 14e3d6ff..e8695547 100644 --- a/tests/test_bulk_rx_basic.py +++ b/tests/test_bulk_rx_basic.py @@ -12,7 +12,9 @@ def test_session(ep, address, bus_speed): start_length = 10 end_length = start_length + 10 - interEventDelay = 50 + # Rx -> Tx, recieving OUT handshake -> sending OUT tok + # ied_out = 19 + ied_out = 100 session = UsbSession( bus_speed=bus_speed, run_enumeration=False, device_address=address @@ -27,7 +29,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, - interEventDelay=interEventDelay, + interEventDelay=ied_out, ) ) diff --git a/tests/test_bulk_rx_basic_badcrc32.py b/tests/test_bulk_rx_basic_badcrc32.py index 654b3a8f..06f22eed 100644 --- a/tests/test_bulk_rx_basic_badcrc32.py +++ b/tests/test_bulk_rx_basic_badcrc32.py @@ -10,8 +10,12 @@ @pytest.fixture def test_session(ep, address, bus_speed): - # The large inter-event delays are to give the DUT time to do checking on - # the fly + # Rx -> Tx, recieving OUT handshake -> sending OUT tok + ied_out = 19 + # one of the OUTs doesn't pass with 19 + ied_out1 = 20 + # Tx -> Tx, sent bad crc DATA, didn't get ACK -> sending OUT tok + ied_out_badcrc = 8 session = UsbSession( bus_speed=bus_speed, run_enumeration=False, device_address=address @@ -38,7 +42,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=11, - interEventDelay=6000, + interEventDelay=ied_out, ) ) @@ -51,7 +55,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=12, - interEventDelay=6000, + interEventDelay=ied_out, badDataCrc=True, ) ) @@ -66,7 +70,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=12, - interEventDelay=6000, + interEventDelay=ied_out_badcrc, ) ) @@ -79,7 +83,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=13, - interEventDelay=6000, + interEventDelay=ied_out1, ) ) @@ -91,7 +95,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=14, - interEventDelay=6000, + interEventDelay=ied_out, ) ) diff --git a/tests/test_bulk_rx_basic_badpidseq.py b/tests/test_bulk_rx_basic_badpidseq.py index f2241e69..c5940a35 100644 --- a/tests/test_bulk_rx_basic_badpidseq.py +++ b/tests/test_bulk_rx_basic_badpidseq.py @@ -14,8 +14,8 @@ def test_session(ep, address, bus_speed): bus_speed=bus_speed, run_enumeration=False, device_address=address ) - # The large inter-frame gap is to give the DUT time to print its output - interEventDelay = 500 + # Rx -> Tx, recieving OUT handshake -> sending OUT tok + ied_out = 20 # Valid OUT transaction session.add_event( @@ -26,7 +26,6 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=10, - interEventDelay=interEventDelay, ) ) @@ -40,7 +39,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=11, - interEventDelay=interEventDelay, + interEventDelay=ied_out, resend=True, ) ) @@ -54,7 +53,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=11, - interEventDelay=interEventDelay, + interEventDelay=ied_out, ) ) @@ -67,7 +66,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=12, - interEventDelay=interEventDelay, + interEventDelay=ied_out, ) ) @@ -79,7 +78,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=13, - interEventDelay=interEventDelay, + interEventDelay=ied_out, ) ) diff --git a/tests/test_bulk_rx_basic_invalidpid.py b/tests/test_bulk_rx_basic_invalidpid.py index 61233555..bb2e43e1 100644 --- a/tests/test_bulk_rx_basic_invalidpid.py +++ b/tests/test_bulk_rx_basic_invalidpid.py @@ -19,8 +19,8 @@ def test_session(ep, address, bus_speed): bus_speed=bus_speed, run_enumeration=False, device_address=address ) - # The large inter-frame gap is to give the DUT time to print its output - interEventDelay = 500 + # Rx -> Tx, recieving OUT handshake -> sending OUT tok + ied_out = 19 # Valid OUT transaction session.add_event( @@ -31,7 +31,6 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=10, - interEventDelay=interEventDelay, ) ) @@ -41,7 +40,7 @@ def test_session(ep, address, bus_speed): pid=USB_PID["OUT"], address=address, endpoint=ep, - interEventDelay=interEventDelay, + interEventDelay=ied_out, ) ) @@ -61,7 +60,6 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=11, - interEventDelay=interEventDelay, ) ) session.add_event( @@ -72,7 +70,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=12, - interEventDelay=interEventDelay, + interEventDelay=ied_out, ) ) session.add_event( @@ -83,7 +81,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=13, - interEventDelay=interEventDelay, + interEventDelay=ied_out, ) ) diff --git a/tests/test_bulk_rx_basic_rxerror.py b/tests/test_bulk_rx_basic_rxerror.py index 9c725302..a2138ec8 100644 --- a/tests/test_bulk_rx_basic_rxerror.py +++ b/tests/test_bulk_rx_basic_rxerror.py @@ -10,8 +10,13 @@ @pytest.fixture def test_session(ep, address, bus_speed): - # Large inter-event delay is to give the DUT time to perform checking - ied = 6000 + # Rx -> Tx, recieving OUT handshake -> sending OUT tok + ied = 19 + # Tx -> Tx, asserting RxError -> sending OUT tok + # not clear from UTMI if it's the same as normal Tx -> Tx + ied_err = 11 + # second one doesn't pass with 11 + ied_err1 = 12 session = UsbSession( bus_speed=bus_speed, run_enumeration=False, device_address=address @@ -53,7 +58,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=11, - interEventDelay=ied, + interEventDelay=ied_err, ) ) @@ -92,7 +97,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=13, - interEventDelay=ied, + interEventDelay=ied_err1, ) ) diff --git a/tests/test_bulk_rx_multiep.py b/tests/test_bulk_rx_multiep.py index 2a8caf31..7b705357 100644 --- a/tests/test_bulk_rx_multiep.py +++ b/tests/test_bulk_rx_multiep.py @@ -7,6 +7,8 @@ from conftest import PARAMS, test_RunUsbSession # noqa F401 from usb_session import UsbSession from usb_transaction import UsbTransaction +from usb_phy import USB_PKT_TIMINGS + # EP numbers currently fixed for this test - set in params PARAMS = deepcopy(PARAMS) @@ -17,6 +19,8 @@ @pytest.fixture def test_session(ep, address, bus_speed): + ied = USB_PKT_TIMINGS["RX_TO_TX_PACKET_DELAY"] + session = UsbSession( bus_speed=bus_speed, run_enumeration=False, device_address=address ) @@ -31,6 +35,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, + interEventDelay=ied, ) ) session.add_event( @@ -41,6 +46,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, + interEventDelay=ied, ) ) session.add_event( @@ -51,6 +57,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, + interEventDelay=ied, ) ) session.add_event( @@ -61,6 +68,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, + interEventDelay=ied, ) ) diff --git a/tests/test_bulk_rx_multiep_select.py b/tests/test_bulk_rx_multiep_select.py index 947282cd..351eb58e 100644 --- a/tests/test_bulk_rx_multiep_select.py +++ b/tests/test_bulk_rx_multiep_select.py @@ -22,10 +22,11 @@ def test_session(ep, address, bus_speed): bus_speed=bus_speed, run_enumeration=False, device_address=address ) + interEventDelay = 32 + testEpCount = 3 pktLength_start = 10 pktLength_end = 19 - interEventDelay = 100 maxEp = ep + testEpCount - 1 pktLength = [pktLength_start] * testEpCount diff --git a/tests/test_bulk_rx_traffic.py b/tests/test_bulk_rx_traffic.py index ff50616f..d5103d16 100644 --- a/tests/test_bulk_rx_traffic.py +++ b/tests/test_bulk_rx_traffic.py @@ -5,13 +5,13 @@ from conftest import PARAMS, test_RunUsbSession # noqa F401 from usb_session import UsbSession from usb_transaction import UsbTransaction -from usb_phy import USB_MAX_EP_ADDRESS +from usb_phy import USB_MAX_EP_ADDRESS, USB_PKT_TIMINGS @pytest.fixture def test_session(ep, address, bus_speed): - ied = 500 + ied = USB_PKT_TIMINGS["RX_TO_TX_PACKET_DELAY"] trafficAddress1 = (address + 1) % 128 trafficAddress2 = (address + 127) % 128 diff --git a/tests/test_bulk_tx_badack.py b/tests/test_bulk_tx_badack.py index 8e98f544..5cff89a6 100644 --- a/tests/test_bulk_tx_badack.py +++ b/tests/test_bulk_tx_badack.py @@ -6,13 +6,17 @@ from usb_packet import TokenPacket, RxDataPacket, TxHandshakePacket, USB_PID from usb_session import UsbSession from usb_transaction import UsbTransaction +from usb_phy import USB_PKT_TIMINGS @pytest.fixture def test_session(ep, address, bus_speed): pktLength = 10 - ied = 4000 + # Tx -> Tx, sent hanshake after IN -> sending IN tok + ied = 24 + # Tx -> Tx, sent bad hanshake after IN -> sending IN tok + ied_bad = 23 session = UsbSession( bus_speed=bus_speed, run_enumeration=False, device_address=address @@ -35,7 +39,12 @@ def test_session(ep, address, bus_speed): pid=USB_PID["DATA0"], ) ) - session.add_event(TxHandshakePacket(pid=0xFF)) + session.add_event( + TxHandshakePacket( + pid=0xFF, + interEventDelay = USB_PKT_TIMINGS["RX_TO_TX_PACKET_DELAY"] + ) + ) session.add_event( UsbTransaction( @@ -45,7 +54,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="IN", dataLength=pktLength, - interEventDelay=ied, + interEventDelay=ied_bad, ) ) diff --git a/tests/test_bulk_tx_basic.py b/tests/test_bulk_tx_basic.py index 22ed0fc4..0c9360d8 100644 --- a/tests/test_bulk_tx_basic.py +++ b/tests/test_bulk_tx_basic.py @@ -10,6 +10,9 @@ @pytest.fixture def test_session(ep, address, bus_speed): + # Tx -> Tx, sent hanshake after IN -> sending IN tok + ied = 24 + start_length = 10 end_length = start_length + 10 @@ -26,7 +29,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="IN", dataLength=pktLength, - interEventDelay=100, + interEventDelay=ied, ) ) diff --git a/tests/test_bulk_tx_basic_noack.py b/tests/test_bulk_tx_basic_noack.py index 7f92ace2..80ec0ebb 100644 --- a/tests/test_bulk_tx_basic_noack.py +++ b/tests/test_bulk_tx_basic_noack.py @@ -11,8 +11,12 @@ @pytest.fixture def test_session(ep, address, bus_speed): - # Note, quite big gap to allow checking - ied = 4000 + # Tx -> Tx, sent hanshake after IN -> sending IN tok + ied = 24 + # Rx -> Tx, got data from teh device but have not sent an ACK + # so device must timeout first before beimg able to recieve + # a new token, TODO: verify this time for FS + ied_timeout = 99 session = UsbSession( bus_speed=bus_speed, run_enumeration=False, device_address=address @@ -44,7 +48,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="IN", dataLength=pktLength, - interEventDelay=ied, + interEventDelay=ied_timeout, ) ) diff --git a/tests/test_bulk_tx_basic_short.py b/tests/test_bulk_tx_basic_short.py index 821c5937..22be9d5f 100644 --- a/tests/test_bulk_tx_basic_short.py +++ b/tests/test_bulk_tx_basic_short.py @@ -10,6 +10,9 @@ @pytest.fixture def test_session(ep, address, bus_speed): + # Tx -> Tx, sent hanshake after IN -> sending IN tok + ied = 23 + start_length = 0 end_length = 7 @@ -26,7 +29,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="IN", dataLength=pktLength, - interEventDelay=100, + interEventDelay=ied, ) ) diff --git a/tests/test_bulk_tx_multiep.py b/tests/test_bulk_tx_multiep.py index 50ba203f..e4b563fb 100644 --- a/tests/test_bulk_tx_multiep.py +++ b/tests/test_bulk_tx_multiep.py @@ -17,8 +17,6 @@ @pytest.fixture def test_session(ep, address, bus_speed): - ied = 200 - session = UsbSession( bus_speed=bus_speed, run_enumeration=False, device_address=address ) @@ -32,7 +30,6 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="IN", dataLength=pktLength, - interEventDelay=ied, ) ) session.add_event( @@ -43,7 +40,6 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="IN", dataLength=pktLength, - interEventDelay=ied, ) ) session.add_event( @@ -54,7 +50,6 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="IN", dataLength=pktLength, - interEventDelay=ied, ) ) session.add_event( @@ -65,7 +60,6 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="IN", dataLength=pktLength, - interEventDelay=ied, ) ) diff --git a/tests/test_bulk_tx_multiep_select.py b/tests/test_bulk_tx_multiep_select.py index ac064be2..d070951d 100644 --- a/tests/test_bulk_tx_multiep_select.py +++ b/tests/test_bulk_tx_multiep_select.py @@ -22,6 +22,8 @@ def test_session(ep, address, bus_speed): bus_speed=bus_speed, run_enumeration=False, device_address=address ) + ied = 40 + testEpCount = 3 pktLength_start = 10 pktLength_end = 19 @@ -47,7 +49,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="IN", dataLength=transPktLength, - interEventDelay=100, + interEventDelay=ied, ) ) diff --git a/tests/test_control_basic_get.py b/tests/test_control_basic_get.py index 65fac5e0..7576927a 100644 --- a/tests/test_control_basic_get.py +++ b/tests/test_control_basic_get.py @@ -43,7 +43,7 @@ def test_session(ep, address, bus_speed): endpointType="CONTROL", transType="SETUP", dataLength=8, - interEventDelay=interEventDelay, + interEventDelay=170#interEventDelay, ) ) @@ -55,7 +55,7 @@ def test_session(ep, address, bus_speed): endpointType="CONTROL", transType="IN", dataLength=pktLength, - interEventDelay=interEventDelay, + interEventDelay=33#interEventDelay, ) ) @@ -67,7 +67,7 @@ def test_session(ep, address, bus_speed): endpointType="CONTROL", transType="OUT", dataLength=0, - interEventDelay=interEventDelay, + interEventDelay=23#interEventDelay, ) ) diff --git a/tests/test_control_basic_get_epmax.py b/tests/test_control_basic_get_epmax.py index a6d77991..64b0a7c8 100644 --- a/tests/test_control_basic_get_epmax.py +++ b/tests/test_control_basic_get_epmax.py @@ -45,7 +45,7 @@ def test_session(ep, address, bus_speed): endpointType="CONTROL", transType="SETUP", dataLength=8, - interEventDelay=1000, # Large delay to allow for packet generation + interEventDelay=250, # Large delay to allow for packet generation ) ) @@ -68,7 +68,7 @@ def test_session(ep, address, bus_speed): endpointType="CONTROL", transType="IN", dataLength=pktLength, - interEventDelay=500, + interEventDelay=35, ) ) @@ -80,7 +80,7 @@ def test_session(ep, address, bus_speed): endpointType="CONTROL", transType="OUT", dataLength=0, - interEventDelay=500, + interEventDelay=25, ) ) diff --git a/tests/test_control_basic_set.py b/tests/test_control_basic_set.py index 3013f0e4..a95ff5ce 100644 --- a/tests/test_control_basic_set.py +++ b/tests/test_control_basic_set.py @@ -39,7 +39,6 @@ def test_session(ep, address, bus_speed): endpointType="CONTROL", transType="SETUP", dataLength=8, - interEventDelay=ied, ) ) @@ -51,7 +50,7 @@ def test_session(ep, address, bus_speed): endpointType="CONTROL", transType="OUT", dataLength=10, - interEventDelay=ied, + interEventDelay=11#ied, ) ) @@ -64,7 +63,7 @@ def test_session(ep, address, bus_speed): endpointType="CONTROL", transType="IN", dataLength=0, - interEventDelay=ied, + interEventDelay=15#ied, ) ) return session diff --git a/tests/test_control_notready.py b/tests/test_control_notready.py index c848aea1..86813a78 100644 --- a/tests/test_control_notready.py +++ b/tests/test_control_notready.py @@ -43,7 +43,6 @@ def test_session(ep, address, bus_speed): endpointType="CONTROL", transType="SETUP", dataLength=8, - interEventDelay=interEventDelay, ) ) @@ -55,7 +54,7 @@ def test_session(ep, address, bus_speed): endpointType="CONTROL", transType="OUT", dataLength=10, - interEventDelay=interEventDelay, + interEventDelay=11#interEventDelay, ) ) @@ -65,7 +64,7 @@ def test_session(ep, address, bus_speed): pid=USB_PID["SETUP"], address=address, endpoint=ep, - interEventDelay=interEventDelay, + interEventDelay=1#interEventDelay, ) ) @@ -73,7 +72,6 @@ def test_session(ep, address, bus_speed): TxDataPacket( dataPayload=[8, 9, 10, 11, 12, 13, 14, 15], pid=USB_PID["DATA0"], - interEventDelay=interEventDelay, ) ) @@ -86,7 +84,7 @@ def test_session(ep, address, bus_speed): endpointType="CONTROL", transType="IN", dataLength=0, - interEventDelay=interEventDelay, + interEventDelay=10#interEventDelay, ) ) diff --git a/tests/test_control_traffic.py b/tests/test_control_traffic.py index 320c6700..c00ae2e8 100644 --- a/tests/test_control_traffic.py +++ b/tests/test_control_traffic.py @@ -45,14 +45,14 @@ def test_session(ep, address, bus_speed): pid=USB_PID["SETUP"], address=trafficAddress1, endpoint=ep, - interEventDelay=ied, + interEventDelay=130#ied, ) ) session.add_event( TxDataPacket( dataPayload=[1, 2, 3, 4, 5, 6, 7, 8], pid=USB_PID["DATA0"], - interEventDelay=ied, + # interEventDelay=ied, ) ) @@ -64,7 +64,7 @@ def test_session(ep, address, bus_speed): endpointType="CONTROL", transType="SETUP", dataLength=8, - interEventDelay=ied, + # interEventDelay=4#ied, ) ) @@ -76,7 +76,7 @@ def test_session(ep, address, bus_speed): endpointType="CONTROL", transType="IN", dataLength=pktLength, - interEventDelay=ied, + interEventDelay=33#ied, ) ) @@ -86,14 +86,14 @@ def test_session(ep, address, bus_speed): pid=USB_PID["SETUP"], address=trafficAddress2, endpoint=ep, - interEventDelay=ied, + # interEventDelay=4#ied, ) ) session.add_event( TxDataPacket( dataPayload=[1, 2, 3, 4, 5, 6, 7, 8], pid=USB_PID["DATA0"], - interEventDelay=ied, + # interEventDelay=4#ied, ) ) @@ -102,7 +102,6 @@ def test_session(ep, address, bus_speed): pid=USB_PID["IN"], address=trafficAddress2, endpoint=ep, - interEventDelay=1000, ) ) @@ -115,7 +114,7 @@ def test_session(ep, address, bus_speed): endpointType="CONTROL", transType="OUT", dataLength=0, - interEventDelay=ied, + interEventDelay=5#ied, ) ) diff --git a/tests/test_device_attach.py b/tests/test_device_attach.py index 9ff375e5..81a4d024 100644 --- a/tests/test_device_attach.py +++ b/tests/test_device_attach.py @@ -26,8 +26,6 @@ def test_session(ep, address, bus_speed): pktLength = 10 frameNumber = 52 # Note, for frame number 52 we expect A5 34 40 on the bus - interEventDelay = USB_PKT_TIMINGS["TX_TO_TX_PACKET_DELAY"] - session = UsbSession( bus_speed=bus_speed, run_enumeration=False, @@ -47,14 +45,13 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, - interEventDelay=interEventDelay, ) ) frameNumber = frameNumber + 1 pktLength = pktLength + 1 - session.add_event(CreateSofToken(frameNumber)) + session.add_event(CreateSofToken(frameNumber, interEventDelay=USB_PKT_TIMINGS["RX_TO_TX_PACKET_DELAY"])) session.add_event( UsbTransaction( session, @@ -63,7 +60,6 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, - interEventDelay=interEventDelay, ) ) diff --git a/tests/test_disabled_ep.py b/tests/test_disabled_ep.py index f60be9ac..b231245f 100644 --- a/tests/test_disabled_ep.py +++ b/tests/test_disabled_ep.py @@ -32,7 +32,6 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, - interEventDelay=500, ) ) @@ -44,7 +43,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="IN", dataLength=pktLength, - interEventDelay=500, + interEventDelay=23, ) ) @@ -58,7 +57,7 @@ def test_session(ep, address, bus_speed): transType="OUT", dataLength=pktLength, halted=True, - interEventDelay=500, + interEventDelay=8, ) ) @@ -71,7 +70,7 @@ def test_session(ep, address, bus_speed): transType="OUT", dataLength=pktLength, halted=True, - interEventDelay=500, + interEventDelay=1, ) ) session.add_event( @@ -83,7 +82,7 @@ def test_session(ep, address, bus_speed): transType="IN", dataLength=pktLength, halted=True, - interEventDelay=500, + interEventDelay=1, ) ) @@ -96,7 +95,7 @@ def test_session(ep, address, bus_speed): transType="IN", dataLength=pktLength, halted=True, - interEventDelay=500, + interEventDelay=1, ) ) @@ -110,7 +109,7 @@ def test_session(ep, address, bus_speed): transType="OUT", dataLength=pktLength, nacking=True, - interEventDelay=500, + interEventDelay=1, ) ) @@ -124,7 +123,7 @@ def test_session(ep, address, bus_speed): transType="IN", dataLength=pktLength, nacking=True, - interEventDelay=500, + interEventDelay=1, ) ) @@ -137,7 +136,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, - interEventDelay=500, + interEventDelay=1, ) ) diff --git a/tests/test_invalidtoken.py b/tests/test_invalidtoken.py index 6d124074..a1e6f67e 100644 --- a/tests/test_invalidtoken.py +++ b/tests/test_invalidtoken.py @@ -75,7 +75,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=11, - interEventDelay=6000, + interEventDelay=72, ) ) @@ -97,7 +97,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=12, - interEventDelay=6000, + interEventDelay=78, ) ) session.add_event( @@ -108,7 +108,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=13, - interEventDelay=6000, + interEventDelay=96, ) ) session.add_event( @@ -119,7 +119,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=14, - interEventDelay=6000, + interEventDelay=102, ) ) diff --git a/tests/test_iso_loopback.py b/tests/test_iso_loopback.py index 37ab1f65..7d9f2354 100644 --- a/tests/test_iso_loopback.py +++ b/tests/test_iso_loopback.py @@ -29,7 +29,7 @@ def test_session(ep, address, bus_speed): endpointType="ISO", transType="OUT", dataLength=pktLength, - interEventDelay=500, + interEventDelay=5, ) ) @@ -45,7 +45,7 @@ def test_session(ep, address, bus_speed): endpointType="ISO", transType="IN", dataLength=pktLength, - interEventDelay=498, + interEventDelay= 20#498, ) ) @@ -60,7 +60,7 @@ def test_session(ep, address, bus_speed): endpointType="ISO", transType="OUT", dataLength=pktLength, - interEventDelay=500, + interEventDelay=1, ) ) session.add_event( @@ -71,7 +71,7 @@ def test_session(ep, address, bus_speed): endpointType="ISO", transType="IN", dataLength=pktLength, - interEventDelay=500, + interEventDelay=19, ) ) diff --git a/tests/test_iso_rx_basic.py b/tests/test_iso_rx_basic.py index c424c7ad..88d758fa 100644 --- a/tests/test_iso_rx_basic.py +++ b/tests/test_iso_rx_basic.py @@ -17,7 +17,7 @@ def test_session(ep, address, bus_speed): bus_speed=bus_speed, run_enumeration=False, device_address=address ) - interTransactionDelay = 24 # Fail at 23 + interTransactionDelay = 100 # Fail at 23 for pktLength in range(start_length, end_length + 1): session.add_event( diff --git a/tests/test_iso_tx_basic.py b/tests/test_iso_tx_basic.py index fee9cfb6..a4006b96 100644 --- a/tests/test_iso_tx_basic.py +++ b/tests/test_iso_tx_basic.py @@ -26,7 +26,7 @@ def test_session(ep, address, bus_speed): endpointType="ISO", transType="IN", dataLength=pktLength, - interEventDelay=500, + interEventDelay=15, ) ) diff --git a/tests/test_ping_rx_basic.py b/tests/test_ping_rx_basic.py index 94b7fae0..c82d498d 100644 --- a/tests/test_ping_rx_basic.py +++ b/tests/test_ping_rx_basic.py @@ -28,7 +28,6 @@ def test_session(ep, address, bus_speed): pid=USB_PID["PING"], address=address, endpoint=ep, - interEventDelay=500, ) ) session.add_event(RxHandshakePacket(pid=USB_PID["NAK"])) @@ -39,7 +38,7 @@ def test_session(ep, address, bus_speed): pid=USB_PID["PING"], address=address, endpoint=ep, - interEventDelay=500, + interEventDelay=1, ) ) session.add_event(RxHandshakePacket(pid=USB_PID["NAK"])) @@ -53,7 +52,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=10, - interEventDelay=500, + interEventDelay=1, ) ) @@ -63,7 +62,7 @@ def test_session(ep, address, bus_speed): pid=USB_PID["PING"], address=address, endpoint=ep, - interEventDelay=6000, + interEventDelay=89, ) ) session.add_event(RxHandshakePacket(pid=USB_PID["ACK"])) @@ -74,7 +73,7 @@ def test_session(ep, address, bus_speed): pid=USB_PID["PING"], address=address, endpoint=ep, - interEventDelay=6000, + interEventDelay=1, ) ) session.add_event(RxHandshakePacket(pid=USB_PID["ACK"])) @@ -88,7 +87,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=10, - interEventDelay=6000, + interEventDelay=1, ) ) @@ -98,7 +97,7 @@ def test_session(ep, address, bus_speed): pid=USB_PID["PING"], address=address, endpoint=ep, - interEventDelay=500, + interEventDelay=47, ) ) session.add_event(RxHandshakePacket(pid=USB_PID["NAK"])) @@ -109,7 +108,7 @@ def test_session(ep, address, bus_speed): pid=USB_PID["PING"], address=address, endpoint=ep, - interEventDelay=500, + interEventDelay=1, ) ) session.add_event(RxHandshakePacket(pid=USB_PID["NAK"])) @@ -123,7 +122,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=10, - interEventDelay=500, + interEventDelay=1, ) ) diff --git a/tests/test_ping_stall.py b/tests/test_ping_stall.py index 88852cc2..3c2e57a5 100644 --- a/tests/test_ping_stall.py +++ b/tests/test_ping_stall.py @@ -26,7 +26,6 @@ def test_session(ep, address, bus_speed): pid=USB_PID["PING"], address=address, endpoint=ep, - interEventDelay=500, ) ) session.add_event(RxHandshakePacket(pid=USB_PID["STALL"])) @@ -37,7 +36,7 @@ def test_session(ep, address, bus_speed): pid=USB_PID["PING"], address=address, endpoint=ep, - interEventDelay=500, + interEventDelay=1, ) ) session.add_event(RxHandshakePacket(pid=USB_PID["STALL"])) @@ -51,7 +50,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, - interEventDelay=500, + interEventDelay=1, ) ) @@ -64,7 +63,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, - interEventDelay=500, + interEventDelay=34, ) ) @@ -76,7 +75,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, - interEventDelay=500, + interEventDelay=19, ) ) diff --git a/tests/test_sof_basic.py b/tests/test_sof_basic.py index dc91f0e2..0f6a37f0 100644 --- a/tests/test_sof_basic.py +++ b/tests/test_sof_basic.py @@ -13,7 +13,7 @@ def test_session(ep, address, bus_speed): frameNumber = 52 # Note, for frame number 52 we expect A5 34 40 on the bus - interEventDelay = 50 + interEventDelay = 16 session = UsbSession( bus_speed=bus_speed, run_enumeration=False, device_address=address @@ -31,7 +31,7 @@ def test_session(ep, address, bus_speed): ) ) - session.add_event(CreateSofToken(frameNumber, interEventDelay=interEventDelay)) + session.add_event(CreateSofToken(frameNumber, interEventDelay=15)) session.add_event(CreateSofToken(frameNumber + 1, interEventDelay=interEventDelay)) session.add_event(CreateSofToken(frameNumber + 2, interEventDelay=interEventDelay)) session.add_event(CreateSofToken(frameNumber + 3, interEventDelay=interEventDelay)) @@ -46,7 +46,6 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=11, - interEventDelay=6000, ) ) diff --git a/tests/test_stall_basic.py b/tests/test_stall_basic.py index f9e4b898..d805ab74 100644 --- a/tests/test_stall_basic.py +++ b/tests/test_stall_basic.py @@ -27,7 +27,6 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, - interEventDelay=500, ) ) @@ -39,7 +38,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="IN", dataLength=pktLength, - interEventDelay=500, + interEventDelay=150, ) ) @@ -53,7 +52,7 @@ def test_session(ep, address, bus_speed): transType="OUT", dataLength=pktLength, halted=True, - interEventDelay=500, + interEventDelay=150, ) ) @@ -66,7 +65,7 @@ def test_session(ep, address, bus_speed): transType="OUT", dataLength=pktLength, halted=True, - interEventDelay=500, + interEventDelay=150, ) ) @@ -78,7 +77,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="IN", halted=True, - interEventDelay=500, + interEventDelay=150, ) ) @@ -90,7 +89,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="IN", halted=True, - interEventDelay=500, + interEventDelay=150, ) ) @@ -103,7 +102,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, - interEventDelay=500, + interEventDelay=58, ) ) @@ -116,7 +115,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength + 1, - interEventDelay=1000, + interEventDelay=280, ) ) @@ -128,7 +127,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="IN", dataLength=pktLength, - interEventDelay=500, + interEventDelay=150, ) ) @@ -142,7 +141,7 @@ def test_session(ep, address, bus_speed): transType="OUT", dataLength=pktLength, halted=True, - interEventDelay=500, + interEventDelay=8, ) ) @@ -154,7 +153,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="IN", halted=True, - interEventDelay=500, + interEventDelay=1, ) ) @@ -167,7 +166,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, - interEventDelay=500, + interEventDelay=1, ) ) @@ -180,7 +179,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength + 2, - interEventDelay=500, + interEventDelay=51, ) ) @@ -192,7 +191,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="IN", dataLength=pktLength, - interEventDelay=500, + interEventDelay=140 ) ) diff --git a/tests/test_stall_control.py b/tests/test_stall_control.py index 8b50a01c..bf0c5f93 100644 --- a/tests/test_stall_control.py +++ b/tests/test_stall_control.py @@ -42,7 +42,6 @@ def test_session(ep, address, bus_speed): endpointType="CONTROL", transType="SETUP", dataLength=8, - interEventDelay=500, ) ) @@ -54,7 +53,7 @@ def test_session(ep, address, bus_speed): endpointType="CONTROL", transType="OUT", dataLength=10, - interEventDelay=500, + interEventDelay=58, ) ) @@ -67,7 +66,7 @@ def test_session(ep, address, bus_speed): endpointType="CONTROL", transType="IN", dataLength=0, - interEventDelay=500, + interEventDelay=220, ) ) @@ -94,7 +93,7 @@ def test_session(ep, address, bus_speed): transType="IN", dataLength=pktLength, halted=True, - interEventDelay=1000, + interEventDelay=17, ) ) @@ -108,7 +107,7 @@ def test_session(ep, address, bus_speed): endpointType="CONTROL", transType="SETUP", dataLength=8, - interEventDelay=500, + interEventDelay=1, ) ) @@ -120,7 +119,7 @@ def test_session(ep, address, bus_speed): endpointType="CONTROL", transType="IN", dataLength=pktLength, - interEventDelay=500, + interEventDelay=72, ) ) @@ -132,7 +131,7 @@ def test_session(ep, address, bus_speed): endpointType="CONTROL", transType="OUT", dataLength=0, - interEventDelay=500, + interEventDelay=22, ) ) diff --git a/tests/test_stall_control_epready.py b/tests/test_stall_control_epready.py index 33d05ead..9af2e7e0 100644 --- a/tests/test_stall_control_epready.py +++ b/tests/test_stall_control_epready.py @@ -42,7 +42,6 @@ def test_session(ep, address, bus_speed): endpointType="CONTROL", transType="SETUP", dataLength=8, - interEventDelay=500, ) ) @@ -56,7 +55,7 @@ def test_session(ep, address, bus_speed): transType="IN", dataLength=0, halted=True, - interEventDelay=500, + interEventDelay=17, ) ) @@ -69,7 +68,7 @@ def test_session(ep, address, bus_speed): transType="OUT", dataLength=10, halted=True, - interEventDelay=500, + interEventDelay=1, ) ) @@ -83,7 +82,7 @@ def test_session(ep, address, bus_speed): endpointType="CONTROL", transType="SETUP", dataLength=8, - interEventDelay=500, + interEventDelay=1, ) ) @@ -95,7 +94,7 @@ def test_session(ep, address, bus_speed): endpointType="CONTROL", transType="OUT", dataLength=10, - interEventDelay=500, + interEventDelay=11, ) ) @@ -108,7 +107,7 @@ def test_session(ep, address, bus_speed): endpointType="CONTROL", transType="IN", dataLength=0, - interEventDelay=500, + interEventDelay=26, ) ) diff --git a/tests/test_stall_epready_in.py b/tests/test_stall_epready_in.py index a7139497..863ebc6c 100644 --- a/tests/test_stall_epready_in.py +++ b/tests/test_stall_epready_in.py @@ -31,7 +31,6 @@ def test_session(ep, address, bus_speed): transType="IN", dataLength=pktLength, halted=True, - interEventDelay=500, ) ) @@ -44,7 +43,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, - interEventDelay=500, + interEventDelay=25, ) ) @@ -57,7 +56,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="IN", dataLength=pktLength, - interEventDelay=500, + interEventDelay=43, ) ) pktLength += 1 @@ -73,7 +72,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="IN", dataLength=pktLength, - interEventDelay=500, + interEventDelay=22, ) ) pktLength += 1 @@ -86,7 +85,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, - interEventDelay=500, + interEventDelay=34, ) ) @@ -100,7 +99,7 @@ def test_session(ep, address, bus_speed): transType="IN", dataLength=pktLength, halted=True, - interEventDelay=500, + interEventDelay=23, ) ) @@ -112,7 +111,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, - interEventDelay=500, + interEventDelay=1, ) ) @@ -124,7 +123,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="IN", dataLength=pktLength, - interEventDelay=500, + interEventDelay=28, ) ) diff --git a/tests/test_stall_epready_out.py b/tests/test_stall_epready_out.py index ed4496e6..99e040f6 100644 --- a/tests/test_stall_epready_out.py +++ b/tests/test_stall_epready_out.py @@ -31,7 +31,7 @@ def test_session(ep, address, bus_speed): transType="OUT", dataLength=pktLength, halted=True, - interEventDelay=500, + interEventDelay=10, ) ) @@ -44,7 +44,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, - interEventDelay=500, + interEventDelay=33, ) ) @@ -57,7 +57,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, - interEventDelay=500, + interEventDelay=34, ) ) @@ -72,7 +72,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, - interEventDelay=500, + interEventDelay=19, ) ) @@ -84,7 +84,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, - interEventDelay=500, + interEventDelay=56, ) ) @@ -98,7 +98,7 @@ def test_session(ep, address, bus_speed): transType="OUT", dataLength=pktLength, halted=True, - interEventDelay=500, + interEventDelay=33, ) ) @@ -110,7 +110,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, - interEventDelay=500, + interEventDelay=1, ) ) @@ -122,7 +122,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, - interEventDelay=500, + interEventDelay=55, ) ) diff --git a/tests/test_suspend_resume.py b/tests/test_suspend_resume.py index b3f843dd..5e6b16fc 100644 --- a/tests/test_suspend_resume.py +++ b/tests/test_suspend_resume.py @@ -41,7 +41,7 @@ def test_session(ep, address, bus_speed): frameNumber = frameNumber + 1 pktLength = pktLength + 1 - session.add_event(CreateSofToken(frameNumber, interEventDelay=2000)) + session.add_event(CreateSofToken(frameNumber, interEventDelay=52)) session.add_event( UsbTransaction( diff --git a/tests/test_suspend_resume_invalidls.py b/tests/test_suspend_resume_invalidls.py index c6257820..b339e6dc 100644 --- a/tests/test_suspend_resume_invalidls.py +++ b/tests/test_suspend_resume_invalidls.py @@ -41,7 +41,7 @@ def test_session(ep, address, bus_speed): frameNumber = frameNumber + 1 pktLength = pktLength + 1 - session.add_event(CreateSofToken(frameNumber, interEventDelay=2000)) + session.add_event(CreateSofToken(frameNumber, interEventDelay=52)) session.add_event( UsbTransaction( diff --git a/tests/test_suspend_resume_mid_trans.py b/tests/test_suspend_resume_mid_trans.py index 850e98a6..80515843 100644 --- a/tests/test_suspend_resume_mid_trans.py +++ b/tests/test_suspend_resume_mid_trans.py @@ -50,7 +50,7 @@ def test_session(ep, address, bus_speed): session.add_event(UsbResume()) frameNumber = frameNumber + 1 - session.add_event(CreateSofToken(frameNumber, interEventDelay=2000)) + session.add_event(CreateSofToken(frameNumber, interEventDelay=52)) session.add_event( UsbTransaction( @@ -73,7 +73,7 @@ def test_session(ep, address, bus_speed): endpointType="ISO", transType="OUT", dataLength=pktLength, - interEventDelay=500, + interEventDelay=200, ) ) @@ -93,7 +93,7 @@ def test_session(ep, address, bus_speed): session.add_event(UsbResume()) frameNumber = frameNumber + 1 - session.add_event(CreateSofToken(frameNumber, interEventDelay=2000)) + session.add_event(CreateSofToken(frameNumber, interEventDelay=52)) session.add_event( UsbTransaction( @@ -103,7 +103,7 @@ def test_session(ep, address, bus_speed): endpointType="ISO", transType="OUT", dataLength=pktLength + 1, - interEventDelay=100, + # interEventDelay=100, ) ) diff --git a/tests/test_unused_ep.py b/tests/test_unused_ep.py index 78d7b4ad..8b416a0d 100644 --- a/tests/test_unused_ep.py +++ b/tests/test_unused_ep.py @@ -29,7 +29,6 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, - interEventDelay=500, ) ) @@ -41,7 +40,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="IN", dataLength=pktLength, - interEventDelay=500, + interEventDelay=24, ) ) @@ -55,7 +54,7 @@ def test_session(ep, address, bus_speed): transType="OUT", dataLength=pktLength, halted=True, - interEventDelay=500, + interEventDelay=8, ) ) @@ -68,7 +67,7 @@ def test_session(ep, address, bus_speed): transType="OUT", dataLength=pktLength, halted=True, - interEventDelay=500, + interEventDelay=1, ) ) session.add_event( @@ -80,7 +79,7 @@ def test_session(ep, address, bus_speed): transType="IN", dataLength=pktLength, halted=True, - interEventDelay=500, + interEventDelay=1, ) ) @@ -93,7 +92,7 @@ def test_session(ep, address, bus_speed): transType="IN", dataLength=pktLength, halted=True, - interEventDelay=500, + interEventDelay=1, ) ) @@ -106,7 +105,7 @@ def test_session(ep, address, bus_speed): endpointType="BULK", transType="OUT", dataLength=pktLength, - interEventDelay=500, + interEventDelay=1, ) ) diff --git a/tests/usb_phy.py b/tests/usb_phy.py index 45921d89..9d8363bd 100644 --- a/tests/usb_phy.py +++ b/tests/usb_phy.py @@ -56,18 +56,31 @@ USB_PKT_TIMINGS_TIGHT = { + # UTMI uses device-centric terminology, while these constants are host-centric "TX_TO_RX_PACKET_TIMEOUT": 18, # Timeout between sending DUT a packet - # and the expected response (in USB - # clocks). This is SIE decision time in - # UTMI spec - # TODO this needs reducing to 14! - "TX_TO_TX_PACKET_DELAY": 5, # Default delay between transmitting two packets - # TODO this needs reducing to 4! + # and the expected response (in USB clocks). + # UTMI defines SIE decision time (0 - 14) but there's also RxEnd delay (2.75 - 7.875) and TxStart delay (1 - 2) + # so assuming the PHY works fast, we have 14 + 2.75 + 1 = 18 + "TX_TO_TX_PACKET_DELAY": 4, # Default delay between transmitting two packets + "RX_TO_TX_PACKET_DELAY": 1 # Delay between recieving a packet and sending a new one + # The SIE prep time in UTMI is 6 - 36.875, where there's a TxEnd delay (2 - 5) and RxStart delay (2.75 - 7.875) + # Which leaves us (the host) with 6 - 2 - 2.75 = 1 } +USB_PKT_TIMINGS_RELAXED = { + # UTMI uses device-centric terminology, while these constants are host-centric + "TX_TO_RX_PACKET_TIMEOUT": 18, # Timeout between sending DUT a packet + # and the expected response (in USB clocks). + # UTMI defines SIE decision time (0 - 14) but there's also RxEnd delay (2.75 - 7.875) and TxStart delay (1 - 2) + # so assuming the PHY works fast, we have 14 + 2.75 + 1 = 18 + "TX_TO_TX_PACKET_DELAY": 5, # Default delay between transmitting two packets + "RX_TO_TX_PACKET_DELAY": 1 # Delay between recieving a packet and sending a new one + # The SIE prep time in UTMI is 6 - 36.875, where there's a TxEnd delay (2 - 5) and RxStart delay (2.75 - 7.875) + # Which leaves us (the host) with 6 - 2 - 2.75 = 1 +} USB_TIMINGS = USB_TIMINGS_SHORT -USB_PKT_TIMINGS = USB_PKT_TIMINGS_TIGHT +USB_PKT_TIMINGS = USB_PKT_TIMINGS_RELAXED class UsbPhy(Pyxsim.SimThread): diff --git a/tests/usb_transaction.py b/tests/usb_transaction.py index cc55690b..e09b7b2e 100644 --- a/tests/usb_transaction.py +++ b/tests/usb_transaction.py @@ -185,7 +185,8 @@ def __init__( elif self._nacking: self._packets.append(RxHandshakePacket(pid=USB_PID["NAK"])) else: - self._packets.append(TxHandshakePacket()) + # we know that the device is not halted and not nacking, hence we've recieved the RxDataPacket before + self._packets.append(TxHandshakePacket(interEventDelay = USB_PKT_TIMINGS["RX_TO_TX_PACKET_DELAY"])) super().__init__(time=eventTime)