Paso 10: Comando #1 & 2 - LED blinky!
A editar nuestro código python para sólo enviar comando #1 y ver qué pasa. Por nuestros registros sabemos que para el envío de comandos desde el host al dispositivo, debemos utilizar bRequestType de 0 x 40 (verificar esto mirando los bits de bmRequestType de los paquetes de comando), wIndex y wLength de ceroPara el comando #1, ponga bRequest a 0 x 06 y un wValue 4. El argumento final es ahora una matriz vacía [] para indicar que no hay datos se transmisión
importación usb.core
importación usb.util
Import sys
# encontrar nuestro dispositivo
dev = usb.core.find (idVendor = 0x045e, idProduct = 0x02B0)
¿# fue encontrado?
Si dev ninguno:
elevar ValueError ('dispositivo no encontrado')
# establecer la configuración activa. Sin argumentos, el primero
# configuración será el activo
dev.set_configuration()
RET = dev.ctrl_transfer (0 x 40, 0x6, 0 x 1, 0, [])
impresión ret
Corrimos que nuestros and...nothing de código python sucedió!
OK bien tal vez fue algún comando de inicialización. Permite reemplazar con el siguiente comando #2, bRequest a 0 x 06 y un wValue a 1
RET = dev.ctrl_transfer (0 x 40, 0x6, 0 x 1, 0, [])
Corrimos este comando y el motor no se movía pero el LED dejó de parpadear.
Para la diversión funcionó el comando anterior otra vez y el LED comenzó a parpadear otra vez.
¿Ahora tenemos una idea: tal vez este bRequest 0x6 controla el LED?
Por su propia cuenta, continuar esta línea de pensamiento por probando diferentes wValues desde 0 hasta ver lo que otros hacen wValues, mantener registro de todas en un archivo de notebook o proyecto.