Пример #1
0
def test_session(ep, address, bus_speed):

    pktLength = 10
    ied = 4000

    session = UsbSession(bus_speed=bus_speed,
                         run_enumeration=False,
                         device_address=address)

    for pktLength in range(10, 14):

        if pktLength == 12:
            session.add_event(
                TokenPacket(
                    pid=USB_PID["IN"],
                    address=address,
                    endpoint=ep,
                    interEventDelay=ied,
                ))
            session.add_event(
                RxDataPacket(
                    dataPayload=session.getPayload_in(ep,
                                                      pktLength,
                                                      resend=True),
                    pid=USB_PID["DATA0"],
                ))
            session.add_event(TxHandshakePacket(pid=0xFF))

        session.add_event(
            UsbTransaction(
                session,
                deviceAddress=address,
                endpointNumber=ep,
                endpointType="BULK",
                transType="IN",
                dataLength=pktLength,
                interEventDelay=ied,
            ))

    return session
Пример #2
0
def test_session(ep, address, bus_speed):

    # Note, quite big gap to allow checking
    ied = 4000

    session = UsbSession(bus_speed=bus_speed,
                         run_enumeration=False,
                         device_address=address)

    for pktLength in range(10, 15):

        if pktLength == 12:
            session.add_event(
                TokenPacket(
                    pid=USB_PID["IN"],
                    address=address,
                    endpoint=ep,
                    interEventDelay=ied,
                ))
            session.add_event(
                RxDataPacket(dataPayload=session.getPayload_in(
                    ep, pktLength, resend=True)))
            # Missing ACK - simulate CRC fail at host

        session.add_event(
            UsbTransaction(
                session,
                deviceAddress=address,
                endpointNumber=ep,
                endpointType="BULK",
                transType="IN",
                dataLength=pktLength,
                interEventDelay=ied,
            ))

    return session