import cocotb from cocotb.triggers import Timer from cocotb_usb.harness import get_harness from cocotb_usb.device import UsbDevice from cocotb_usb.descriptors.cdc import (setLineCoding, setControlLineState, getLineCoding, LineCodingStructure) from os import environ descriptorFile = environ['TARGET_CONFIG'] DEVICE_ADDRESS = 20 model = UsbDevice(descriptorFile) @cocotb.test() def test_tinyfpgabl_cdc_transfer(dut): harness = get_harness(dut) harness.max_packet_size = model.deviceDescriptor.bMaxPacketSize0 yield harness.reset() yield harness.wait(1e3, units="us") dut._log.info("[Enumerating device]") yield harness.port_reset(1e3) yield harness.connect() yield harness.wait(1e3, units="us") # After waiting (bus inactivity) let's start with SOF yield harness.host_send_sof(0x01)
from os import environ import cocotb from cocotb_usb.harness import get_harness from cocotb_usb.device import UsbDevice DESCRIPTOR_FILE = environ['TARGET_CONFIG'] DEVICE_ADDRESS = 5 model = UsbDevice(DESCRIPTOR_FILE) @cocotb.test() def test_enumeration_w10(dut): harness = get_harness(dut) harness.max_packet_size = model.deviceDescriptor.bMaxPacketSize0 yield harness.reset() yield harness.connect() yield harness.wait(1e3, units="us") yield harness.port_reset(10e3) yield harness.connect() yield harness.wait(1e3, units="us") # After waiting (bus inactivity) let's start with SOF yield harness.host_send_sof(0x01) yield harness.get_device_descriptor(length=0x40, response=model.deviceDescriptor.get()) yield harness.port_reset(1e3) yield harness.connect() yield harness.wait(1e3, units="us")