1 Sipix blink usb "toy" camera
3 Stuff you need to know to control the *still* part of the camera
4 These are probably incomplete! but they do appear to work
7 usb product id = 0x1542
9 device has 8megs ram and can take images at 640x480 and 320x240(ish)
11 usb requests (snooped from doze driver - there listed in the order they appear)
12 all control requests are on the control pipe
13 bulk is only used to read data and is on interface 1
18 no idea what this is for probably camera init?
20 bmRequestType=c0 Vendor,device to host
33 again no idea - possibly camera id? - only first 6 bytes used
34 bmRequestType=c0 Vendor,device to host
41 contains:01 06 79 10 3e 1e 00 00
48 bmRequestType=c0 Vendor,device to host
55 contains:04 00 (there were 4 pics in device)
62 Gets size of specified image, odd in that request is repeated untill
63 first byte in returned data changes to 0
65 The returned size is in "blocks" these are 0x100 bytes long eithr that
66 or ive cocked up where the size field is by a byte ;-)
68 bmRequestType=c0 Vendor,device to host
70 wValue = 0 (image index from 0)
75 contains:01 00 00 00 00 00 00 00
79 contains:00 00 10 01 00 00 00 00
82 8 bytes break down into
83 byte 00:ready 0 - yes 1 -no
91 Image Size: Upper 3 bits: (x >> 5)
100 Unknown: Lower 2 bits ( x & 0x03)
107 Unknown: Mid 3 bits ( (x >> 2) & 0x07)
117 Positions bulk pipe ready to download image
118 Again request is repeated untill returned data byte 0 is set to 0
120 bmRequestType=c0 Vendor,device to host
122 wValue = 0 (image index)
127 contains:01 00 00 00 00 00
129 untill data changes to:
130 contains:00 00 00 00 00 00
133 opens bulk pipe and starts reading data in 0x100(256) byte chunks