import usb.core
import usb.util
import time
import random

dev = usb.core.find(idVendor=0x148f, idProduct=0x3572)
if dev is None:
    raise ValueError("Device not found")


def send_ctrl_transfer(bmRequestType, bRequest, wValue, wIndex, data_length):
    try:
        data = bytes([0xFF] * data_length)
        print(
            f"Sending: bmRequestType={bmRequestType}, bRequest={bRequest}, wValue={wValue}, wIndex={wIndex}, data={data}")
        send = dev.ctrl_transfer(bmRequestType, bRequest, wValue, wIndex, data)
    except Exception as e:
        print(f"Error: {e}")


requests = [
    (0x00, 0x00, 0x0000, 0x0000, 1),
]

for i in range(100):
    for bmRequestType, bRequest, wValue, wIndex, data_length in requests:
        send_ctrl_transfer(bmRequestType, bRequest, wValue, wIndex, data_length)
        time.sleep(0.1)
        dev.reset()