Hi Franjo, On Friday 07 September 2007, Franjo Mlakar wrote: > Hi! > > I had some problems at the begining with UVC driver, but now it works fine > for me and I am interested to know more about the driver. I would like to > know how to add new functionalities to the driver. I reviewed the driver's > code and I have a foggy idea how it works. But I gues I have to learn a > lot. I also have a question. > > Can somebody tell me where are this indexes from and what they mean in the > structure struct uvc_control_info? For example (.index=6): > .entity = UVC_GUID_UVC_PROCESSING, > .selector = PU_WHITE_BALANCE_TEMPERATURE_CONTROL, > .index = 6, ---> where is this index from? > .size = 2, > .flags = UVC_CONTROL_SET_CUR | UVC_CONTROL_GET_RANGE, > > Can I find some docs somewhere on the internet about the driver?
You should first download (and read :-)) the UVC documentation available at http://www.usb.org/developers/devclass_docs Have a look at section 3.7.2.5 (Processing Unit Descriptor). The index field identifies the control index in the bmControls bitmap. The same goes for other kind of entities (camera input terminal, extension unit, ...). The driver uses the index field to check out if the control is supported by devices only. To query the control, the driver uses the selector field, which identifies the control inside the unit it belongs to. There is unfortunately no mandatory relationship between the index and selector. To access an extension unit control, you will need to get the control selector from the vendor. Hope this helps. Best regards, Laurent Pinchart _______________________________________________ Linux-uvc-devel mailing list [email protected] https://lists.berlios.de/mailman/listinfo/linux-uvc-devel
