Commit Graph

748 Commits

Author SHA1 Message Date
Reinhard Panhuber a98d0217a0 Init len_wrap = 0 to fix compiler complains. 2021-04-23 10:47:22 +02:00
Reinhard Panhuber 4dd1f1f3b5 Fix include path in audio_device.h 2021-04-23 10:32:22 +02:00
Reinhard Panhuber 03f974c9b9 Implement functions to allow for DMA usage in audio driver.
- Add tud_audio_n_get_ep_out_ff(), tud_audio_n_get_ep_in_ff(),
tud_audio_n_get_rx_support_ff(), and tud_audio_n_get_tx_support_ff()
- Change get_linear_read/write_info() to return linear and wrapped part
at once
- Adjusted affected code in audio_device.c and tested with
audio_4_channel.
2021-04-23 10:27:48 +02:00
Jeremiah McCarthy b8e5885c2b Removes polltimeout behaviour and restructures
Moves dfu_req_dnload_reply to ACK stage of a DNREQUEST.

Removes unneeded variables due to other simplifications.
2021-04-22 17:45:33 -04:00
Jeremiah McCarthy 8c80ddeb54 Fix statte check on DATA stage 2021-04-22 17:00:57 -04:00
Jeremiah McCarthy cc440ade81 Remove custom status description table 2021-04-22 16:47:05 -04:00
Jeremiah McCarthy e54d9d10af Add const 2021-04-22 16:39:43 -04:00
Jeremiah McCarthy 289af581bb Remove uunused code 2021-04-22 16:06:06 -04:00
Jeremiah McCarthy 18e9d253e9 Remove usb reset callback 2021-04-22 16:04:09 -04:00
Jeremiah McCarthy 0936a76dc9 Remove nonstd behaviour 2021-04-22 15:59:49 -04:00
Jeremiah McCarthy 88dea7a0a8 Move debug from .h to .c 2021-04-22 15:02:50 -04:00
Jeremiah McCarthy 01661b3f28 Replace dfu_mode with dfu 2021-04-22 14:56:52 -04:00
Reinhard Panhuber 29bcc83d0f Remove unnecessary volatile and short audio function index to func_id 2021-04-21 17:01:38 +02:00
Reinhard Panhuber c7c11b181c Clean up old depracted and misleading variable names 2021-04-20 20:15:02 +02:00
Reinhard Panhuber fef0d54559 Refactor static function for better performance 2021-04-20 19:56:40 +02:00
Reinhard Panhuber 4408ffce88 Fix pointer alt_setting to be cleared when driver gets initialized 2021-04-20 18:44:56 +02:00
Reinhard Panhuber 8d9f60ca5e Improve user feedback in case of wrong configuration of audio driver 2021-04-14 21:52:54 +02:00
Jeremiah McCarthy 7b45b38fe4 Remove DFU mode and rt 2021-04-12 11:17:01 -04:00
Reinhard Panhuber 2134c1a875 Fix defines in audio_device.c 2021-04-08 21:48:36 +02:00
Reinhard Panhuber 4bebb9ca49 Remove depracted defines in audio_device.c 2021-04-08 20:11:51 +02:00
Jeremiah McCarthy ae851bba31 Resolve gcc warnings for no parameter functions 2021-04-07 17:15:26 -04:00
Jeremiah McCarthy 2e2dc7bdc5 Revise per initial comments
Returns the RT driver to the function state of previous iteration, which
did not support the will_detach.  Behavior should be fine without this
feature.  This removes much of the added bloat to track state, and
handle requests in the APP_DETACH state which is no longer required.

Removes the optional bloat added to the RT driver, such as responding to
GETSTATE requests.

Fixes the DFU Mode to extract the attr bits from the functional
descriptor when opened.

Fixes some incorrect bitwise if checks.

Also, updates some naming of functions to be consistent with the rest of
the library.
2021-04-07 17:05:04 -04:00
Reinhard Panhuber 8eacdffebd Optimize encode/decode - refactor unnecessary repetitive division 2021-04-07 20:07:28 +02:00
hathach 58bab86d79 minor clean up 2021-04-06 21:09:23 +07:00
hathach 8b79040c38 code format 2021-04-06 15:34:50 +07:00
Jeremiah McCarthy c39b7b8177 Add DFU runtime and mode "class"
With the runtime and mode portions in separate classes, a single
application should only be building with one or the other enabled.  In
some applications both might be desired at build time.

The CFG_TUD_DFU_RUNTIME_AND_MODE option creates a DFU class, which asks
the application which mode to initialize to.  This allows a runtime
change between RT and DFU mode, by just reinitializing tusb.
2021-04-05 17:52:33 -04:00
Jeremiah McCarthy bc2cb99780 Remove unreachable callback 2021-04-05 17:06:27 -04:00
Jeremiah McCarthy fdc91f8d2c Fix bug during initialization of DFU Mode 2021-04-05 16:48:09 -04:00
Jeremiah McCarthy c5b8ef1529 Separate DFU RT and Mode. Untested 2021-04-05 16:32:58 -04:00
hathach 68687ed0f4 fix build 2021-04-06 01:16:51 +07:00
hathach 7ab8da949e audio driver only use USE_LINEAR_BUFFER = 0 for stm32 synopsys driver 2021-04-06 01:07:32 +07:00
Jeremiah McCarthy 164d3e82e3 Fix incorrect DNLOAD request len passed to app
Fixes bug where the app callback was getting the length of the status
request transfer rather than the length of the data stage payload.

TODO: Right now this returns the expected length, when it really should
be returning the transfer length.
2021-04-05 11:13:42 -04:00
Reinhard Panhuber 1ac9e7e3a7 Fix wrong read mutexes in audio_device.c 2021-04-03 18:22:19 +02:00
Reinhard Panhuber f6ba58e370 Fix wrong pointer type in audio_device.c 2021-04-03 17:50:30 +02:00
Reinhard Panhuber 4af5189492 Fix potential bug in support FIFO sizes 2021-04-03 16:53:29 +02:00
Reinhard Panhuber 475badd087 Add missing #defines in uac2_headset example 2021-04-03 16:10:46 +02:00
Reinhard Panhuber fc65f39ff2 Fix error in #defines in uac2_headset 2021-04-03 15:58:41 +02:00
Reinhard Panhuber ec6b240de2 Fix #define error in audio_device.h 2021-04-03 15:44:44 +02:00
Reinhard Panhuber 6236effb14 Fix #define error in audio_device.h 2021-04-03 15:29:39 +02:00
Reinhard Panhuber 8b90c08b35 Fix #define errors in audio_device.h 2021-04-03 15:24:38 +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
Ha Thach eb92986b88 Merge pull request #766 from hathach/enhance-midi
Enhance midi
2021-04-02 15:47:40 +07:00
hathach 48bb96f507 correct midi stream read behavior to read until user buffer is full or no more data from usb fifo 2021-04-02 15:08:36 +07:00
hathach 350eb11277 refactor midi read buffer to stream 2021-04-02 14:52:44 +07:00
hathach da59c4ad44 rename midi write()/read() to stream_write() stream_read()
also add deprecated for warning and rename hint
2021-04-02 14:43:38 +07:00
hathach 99b78e62f2 removed tud_midi_write24() 2021-04-02 14:34:13 +07:00
hathach 08fe16840f refactor midi write into stream 2021-04-02 14:26:55 +07:00
hathach 6b04efd443 refactor midi stream read 2021-04-02 13:55:51 +07:00
hathach 080b14b292 fix midi tx fifo overflow cause data corruption
rename
2021-04-02 13:26:55 +07:00