45 Commits

Author SHA1 Message Date
MasterPhi
7e3e41952f Fix ISO support. 2021-07-17 13:48:21 +02:00
MasterPhi
b68c65faee Skip MCU 2021-07-04 20:47:51 +02:00
MasterPhi
e2617dc91a Skip MCU 2021-07-04 19:56:13 +02:00
MasterPhi
1c8b685457 Move audio_control_request_t to audio.h 2021-07-04 15:46:12 +02:00
MasterPhi
8a42cb3661 Prevent overflow noise 2021-07-04 15:46:12 +02:00
MasterPhi
3cc2227810 Partially revert "skip uac2_headset for mcu that does not have enough sram"
This reverts commit 6e1f812e3542f6d9047a3b8148f2f073ba38b91f.
2021-07-04 15:46:12 +02:00
MasterPhi
5f67e5c1e9 Clear FIFO only if enabled...
Add buffer align
2021-07-04 15:46:11 +02:00
hathach
8d1a88cab6 skip uac2_headset for mcu that does not have enough sram 2021-07-04 15:46:11 +02:00
MasterPhi
5b7795be4b Add 24bit loopback in example. 2021-07-04 15:46:11 +02:00
MasterPhi
a1639b0279 Refactor descriptor, add alt settings support. 2021-07-04 15:46:11 +02:00
MasterPhi
325742acb4 Fix typo 2021-07-04 15:46:11 +02:00
MasterPhi
6e9da70c18 Fix audiod_get_AS_interface_index in audio class.
Enhance uac2_headset example with multiple sample rates.
Add macro to calculate EP size.
2021-07-04 15:46:10 +02:00
graham sanderson
fd7b18a4f6 Make examples standalone buildable via CMake 2021-06-10 10:11:20 -05:00
graham sanderson
95f2478146 Rework rp2040 examples and CMake build:
- Examples should be CMake buildable from their own subdirectory; such a build will error out based on
	  matching .skip.MCU_xxx or a mismatched .only.MCU_
	- It should be possible to build from a higher level and use .skip.MCU_ and .only.MCU_ to filter which
          examples get built
	- The intention is for the CMakeLists.txts in the examples to be non family specific and without MCU based IFs. I have
          started this work, but am not really sure the state of the esp32 stuff; in any case the plan is to have
          everything encapsulated in the FAMILY/family.cmake
	- pico_examples now just includes examples/device/CMakeLists.txt and examples/host/CMakeLists.txt directly, as they
	  also build correctly when included from there.
Note that .skip.MCU_ for esp32 in the directories it wasn't previously avaiable has not been added, as the .skip is common to the regular Makefile builds also. It isn't clear whether these examples should build for esp32, but if not .skip should be added.
2021-05-30 20:13:47 -05:00
noodlefighter
aca2320075 fix uac2_headset example
tud_audio_rx_done_cb() is departed, replace with
tud_audio_rx_done_pre_read_cb()
2021-05-26 11:45:45 +08:00
noodlefighter
0b1257266b fix uac2_headset example: type of bRequest should be uint8_t, not enumerate 2021-05-20 17:45:15 +08:00
hathach
59f0fa1e5e cmake cleanup 2021-04-19 13:30:04 +07:00
Reinhard Panhuber
fa0d71f2cf Try to resolve include hassle in uac2_headset 2021-04-15 17:04:25 +02:00
hathach
b687a4fc20 Merge branch 'master' into edpt_ISO_xfer 2021-04-15 12:12:52 +07:00
hathach
c8bb0020ea update rp2040 to use pico-sdk externally
also try to update ci
2021-04-11 13:37:07 +07:00
Reinhard Panhuber
e0cb415954 Fix uac2_headset include hassle be declaring value by hand 2021-04-03 18:07:18 +02:00
Reinhard Panhuber
b3e548d2d6 Fix uac2_headset 2021-04-03 17:57:23 +02:00
Reinhard Panhuber
f6ba58e370 Fix wrong pointer type in audio_device.c 2021-04-03 17:50:30 +02:00
Reinhard Panhuber
6f2f5320f2 Fix uac2_headset example 2021-04-03 16:58:05 +02:00
Reinhard Panhuber
4af5189492 Fix potential bug in support FIFO sizes 2021-04-03 16:53:29 +02:00
Reinhard Panhuber
9559796337 Fix typo in uac2_headset 2021-04-03 16:29:44 +02:00
Reinhard Panhuber
c57369ee83 Fix old defines in uac2_headset 2021-04-03 16:22:35 +02:00
Reinhard Panhuber
475badd087 Add missing #defines in uac2_headset example 2021-04-03 16:10:46 +02:00
Reinhard Panhuber
5eb893011c Fix #define error in uac2_headset 2021-04-03 15:59:42 +02:00
Reinhard Panhuber
fc65f39ff2 Fix error in #defines in uac2_headset 2021-04-03 15:58:41 +02:00
Reinhard Panhuber
a1efd41649 Merge remote-tracking branch 'upstream/master' into edpt_ISO_xfer 2021-04-03 09:50:08 +02:00
Reinhard Panhuber
9b2ddd9cc6 Generalize audio driver for 3 audio functions plus a lot more.
- Audio format and parameters are parsed from descriptors thus user no
longer needs to give them explicitely

- Tested for 4 channel software type I PCM encoding with 16 bit with 1
channel per FIFO and 2 channels per FIFO (this is I2S specific)
2021-04-03 09:49:27 +02:00
hathach
249852d25c use boot2_generic_03h for adafruit feather rp2040
- also use boot2_generic_03h for now for itsy bitsy and qt rp2040
- change default flash target for rp2040 to flash-pyocd
2021-03-18 19:53:39 +07:00
hathach
db6242f076 move AUDIO_SAMPLE_RATE to example main.c 2021-03-13 00:23:13 +07:00
Reinhard Panhuber
8cb3bd3cd3 Merge remote-tracking branch 'upstream/edpt_ISO_xfer' into edpt_ISO_xfer 2021-03-10 19:33:11 +01:00
Reinhard Panhuber
d5a5a1cab6 Implement audio PCM type I enc./decoding acc. to 2.3.1.5 Audio Streams
Extending capabilities of support FIFOs
Removing copy from to FIFO
Adjusting audio examples
Remove peek/read into other FIFO
2021-03-10 19:32:13 +01:00
hathach
794083b647 Merge branch 'master' into edpt_ISO_xfer 2021-03-10 17:10:49 +07:00
hathach
ce942baad2 update pico-sdk to more recent commit
- move target_link_libraries() to family.cmake
- enable pico_bootsel_via_double_reset
2021-03-02 22:57:33 +07:00
Reinhard Panhuber
cdf600048f Merge remote-tracking branch 'upstream/master' into edpt_ISO_xfer 2021-02-12 18:05:20 +01:00
Reinhard Panhuber
a9fd0a454a Complete redesign of audio driver. 2021-02-12 16:28:41 +01:00
hathach
8e954a4391 added enumerate walkaround for RP2040-E5
- PICO_RP2040_USB_DEVICE_ENUMERATION_FIX=1
- target linke pico_fix_rp2040_usb_device_enumeration
2021-02-01 13:37:37 +07:00
hathach
4a0f5cbd63 change output filename to BOARD-Directory 2021-01-26 12:46:24 +07:00
hathach
83614418b5 get all device example build with rp2040 (except freeRTOS) 2021-01-25 13:28:23 +07:00
hathach
575b43e67d seperate ci build for family and orphaned boards 2021-01-23 17:32:24 +07:00
Jerzy Kasenberg
a5581b10df audio: Add headset example
This example code creates USB Audio 2.0 headset device.
Device has two audio interfaces first stereo speaker
with 48kHz stereo stream.
Second interface for microphone with 48kHz mono stream.

This example can be used to start working on audio device.
It can be also used to verify ISO endpoints for boards.

Speaker adaptive clock (bound to SOF).
Microphone for now has asynchronous clock.

Volume and mute control while present are not used for data stream
modification.
2020-10-16 08:52:26 +02:00