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

Reply via email to