Controlling similar missile-type devices

There are several variants of USB missile-type devices, each with their own USB IDs and USB commands. We can add support for these other devices by defining their own classes to handle them.

Use lsusb -vv to determine the vendor and product ID that matches your device.

For Chesen Electronics/Dream Link, we have to add the following code:

class ChesenMissile(): idVendor=0x0a81 idProduct=0x0701 idName="Chesen Electronics/Dream Link" # Protocol control bytes bmRequestType=0x21 bmRequest=0x09 wValue=0x0200 wIndex=0x00 # Protocol command bytes DOWN = [0x01] UP = [0x02] LEFT = [0x04] RIGHT = [0x08] FIRE = [0x10] STOP = [0x20] def __init__(self): self.dev = usb.core.find(idVendor=self.idVendor, idProduct=self.idProduct) ...

Get Raspberry Pi 3 Cookbook for Python Programmers - Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.