USB feature unit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm trying to debug some code that implements a feature unit in an 
(incoming) USB device, based on an AT32UC3B1256 controller.  The feature 
unit contains only a volume control, for which the host requests and I 
provide values for MAX, MIN, CUR, and RES.  The host then tries to set 
RES to half the value I've set, even though the host has no business 
playing with MAX, MIN, or RES in the device. So I stall, as the USB 
audio spec says to do if the device is asked to modify an unmodifiable 
quantity.  But if I don't stall, the host continuously counts down by 
half until it gets to the minimum, 1 (which is .0039 dB).  With the 
stall, the host repeats the SET_RES request ten times at the same value, 
half of what I've defined RES to be.

The upshot is that when the feature unit shows up (e.g. in xfce4 mixer) 
it's missing the slider; it just shows a mute button.

Now I can't imagine that the host is at fault for not showing the 
slider; it must be something I'm missing in my code as no one else seems 
to have this problem.

But just to satisfy my curiosity, what's the reason for the SET_RES 
countdown?

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Alsa-user mailing list
Alsa-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-user




[Index of Archives]     [ALSA Devel]     [Linux Audio Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

  Powered by Linux