Jay,
Very cool, I wasn't keeping up with the latest Android Accessory
protocol developments, since there didn't seem to be much of an
interest in the protocol support already in LUFA. I have a nice shiny
Android phone now, so I can look at implementing this if it is
practical when I get back to my equipment.
> I had to comment out the Audio_Host_GetSetEndpointProperty(...) part since
> AOA 2.0 only supports 44100hz (Can I do this or does it do something other
> then set the frequency?)
Yes, that's fine. Most devices support variable sampling rates
(indicated by the device descriptors) so I hard-coded the request in
the demo, but you can just turn it off if you know it won't be
required.
> Is the difference simply reading one sample, vs reading two samples in the ISR?
Yes, that will do it. I designed the demo for a USB mono microphone,
but given that the AOA protocol is backwards where your device is the
audio sink but the bus host you can just convert it to stereo by
reading multiple samples in and de-muxing.
> So is there anyway to get around the 384 byte packet size without
> switching to better processor?
Unfortunately no - you should hear mostly good sound, but with some
glitches as part of the audio stream will be truncated due to an
overrun. However, the phone might only send short packets so you might
get lucky. If it does, it will sound fine but that would be dependent
on the audio stack in Android.
> So then why does the phone show 0x0180 (384)?
Presumably that's what the USB controller in the phone supports, and
as we all know more is better right? Right?
- Dean
> > *Size 384*