Meade DSI

Background

The AAAA has a Meade® DSI Ⅱ (color). It occurred to me I had the knowledge to play around with a writing a driver I could use under NetBSD®.

Hardware

USB Protocol

Once the firmware is loaded into the DSI's EZ-USB, the device presents two interesting endpoints to the USB stack. Endpoint 1 is a bidirectional endpoint. It is used for conversing with the device's firmware in short, variable-length packets. Endpoint 6 is in-only and is the endpoint through which the image samples are read into the host. Endpoint 0 is used for it's normal USB-management purpose.

The endpoint 1 conversation protocol is short, and relatively simple. The first byte of the packet specifies the length of the packet. The second byte is a sequence number that is incremented by the host for every new exchange. The third byte is a operation number, and specifies the format of the following bytes.

(I may flesh this part out more latter.)

Driver

Mail me if you're interested in the code. I have a implementation in C for NetBSD's ugen(4), and one written in Python for PyUSB.