Reinhard Panhuber
8f72c97f7b
Change read infos to pointer type
2021-04-30 12:59:12 +02:00
hathach
c26875e70d
add TUP_MCU_STRICT_ALIGN macro that manually pick bytes for lpc55 port1 that is m4 but cannot unaligned acces on usb ram
2021-04-26 17:42:49 +07:00
hathach
8ebdf2b097
ip3511 correct buffer offset, nbytes layout for highspeed port1
...
able to get passed enumeration and up to READ10
2021-04-26 14:43:58 +07:00
Reinhard Panhuber
7072f0155e
Change tu_fifo_get_linear_write/read_info() to return a struct
...
Compilers always complain that variables set by function via pointer
might be uninitialized so to avoid that return values are now delivered
via struct.
2021-04-23 11:48:54 +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
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
hathach
d9a0cc9e9f
more cleanup
2021-04-07 16:50:45 +07:00
hathach
893919a848
remove tu_fifo_backward_write/read_pointer API
...
since it is illegal from fifo perspective
2021-04-07 13:27:28 +07:00
hathach
2468f9e26d
more _ff_pull/push clean up
2021-04-07 13:15:25 +07:00
hathach
9042e973d3
clean up _ff_push_n
2021-04-07 12:52:57 +07:00
hathach
d6737fb5fe
use tu_unaligned_write32() for _ff_push_const_addr
2021-04-07 12:34:00 +07:00
hathach
d0fa4d5189
rename
2021-04-07 12:24:24 +07:00
hathach
8ac156622d
fix cast-align warning
2021-04-07 00:38:12 +07:00
hathach
a3c06aa7bc
more clean up for _ff_pull_const_addr_in_full_words()
2021-04-06 23:39:39 +07:00
hathach
d82ee2f8c0
refactor _ff_pull_n() with const addr
2021-04-06 23:12:04 +07:00
hathach
c5db2282ad
Merge branch 'master' of github.com:hathach/tinyusb into edpt_ISO_xfer
2021-04-06 19:35:01 +07:00
Ha Thach
1d20c84798
add tu_unaligned_read32/write32 ( #772 )
...
* add tu_unaligned_read32/write32
* added tu_unaligned_read16/write16
* add TU_ATTR_ALWAYS_INLINE, add to most of simple inline function
2021-04-06 19:32:01 +07:00
Jeremiah McCarthy
c5b8ef1529
Separate DFU RT and Mode. Untested
2021-04-05 16:32:58 -04: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
Jeremiah McCarthy
1138f8cc70
Add DFU Class per Version 1.1 Spec
2021-03-26 15:30:43 -04:00
Reinhard Panhuber
994dddc231
Fix shadowing parameter in fifo.c
2021-03-25 14:38:55 +01:00
Reinhard Panhuber
bfddfbadc7
Implement unaligned word copy.
2021-03-25 14:28:59 +01:00
Reinhard Panhuber
1e4e87de51
Rework to copy wrapped word bytes by byte in copy_to_cont_dst etc.
2021-03-25 13:53:26 +01:00
Reinhard Panhuber
a60bd0c8ac
Fix bug in writing to constant src/dst address.
...
Copying has to be conduct in full words (at least for STM32). Renamed
copy function to tu_fifo_write_n_const_addr_full_words()
2021-03-23 19:33:04 +01:00
hathach
4ee1216aaf
fix fifo unlock typo, also clean up a bit
2021-03-13 00:22:04 +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
a397353916
fix ci build with rp2040
2021-03-10 17:58:39 +07:00
hathach
e864bda627
fix build with freertos
2021-03-10 17:21:59 +07:00
Reinhard Panhuber
de1f36f2b0
Adapt mutexes in fifo.c
2021-03-04 19:52:48 +01:00
Reinhard Panhuber
2e28861cf8
Remove TODOs done.
2021-03-04 18:20:22 +01:00
Reinhard Panhuber
7e56f46957
Extend FIFO mutex to use separate write and read mutexes.
...
Adjust all USB drivers using FIFO and mutexes.
2021-03-04 13:52:14 +01:00
Reinhard Panhuber
848e403e37
Fix unused parameter in _ff_push_copy_fct() and _ff_pull_copy_fct
2021-03-03 08:18:57 +01:00
Reinhard Panhuber
bd2bab7aff
Remove set_copy_modes(), implement:
...
tu_fifo_read_n_const_addr(), tu_fifo_write_n_const_addr()
2021-03-02 21:41:51 +01:00
Reinhard Panhuber
cc948288bd
Revert tusb_fifo.h include form to original.
2021-02-25 11:18:37 +01:00
Reinhard Panhuber
387bf1478e
Fix missing , in tusb_fifo.h
2021-02-23 19:52:31 +01:00
Reinhard Panhuber
e223d46033
Merge remote-tracking branch 'upstream/master' into edpt_ISO_xfer
...
Conflicts:
src/common/tusb_fifo.h
src/osal/osal_none.h
2021-02-23 19:47:57 +01:00
hathach
2a04ee68b8
add TU_FIFO_INIT() to help with tu_fifo declaration
...
tu_fifo_clear() also reset max_pointer_idx and non_used_index_space
2021-02-19 11:57:56 +07:00
Ha Thach
044d29c927
Merge pull request #654 from xmos-jmccarthy/master
...
Add alternate bitfield padding option
2021-02-19 11:03:53 +07:00
Reinhard Panhuber
8904874f76
Exclude #include "osal/osal.h" for OPT_OS_NONE
2021-02-18 20:52:57 +01:00
Reinhard Panhuber
31bf73517e
Add #include "osal/osal.h" in tu_fifo.h
2021-02-18 20:16:57 +01:00
Jeremiah McCarthy
21f1cd4ec7
Implement requested PR changes
...
Removes CFG_TUSB_ALT_BIT_PACKING_ALIGNMENT, and makes the manual padding
behavior standard. Replaced unused variable name with TU_RESERVED.
2021-02-18 13:26:03 -05:00
Reinhard Panhuber
681cfd0bf2
Correct for wrong pointer type in audio_device.c
2021-02-18 11:12:16 +01:00
Reinhard Panhuber
ae20d11124
Merge remote-tracking branch 'upstream/master' into edpt_ISO_xfer
...
Conflicts:
src/common/tusb_fifo.h
2021-02-17 22:08:21 +01:00
Reinhard Panhuber
c87357c025
Improve tu_fifo capabilites
...
Added tu_fifo_get_linear_write_info(), tu_fifo_backward_write_pointer(),
and tu_fifo_backward_read_pointer()
2021-02-17 20:44:26 +01:00
Nicholas R Dinsmore
b7ec66e33a
This fixes the overflow mathmatic in the fifo
2021-02-16 23:08:08 -05:00
Jeremiah McCarthy
f8fbc0930b
Add alternate bitfield padding option
...
Adds configuration option CFG_TUSB_ALT_BIT_PACKING_ALIGNMENT, which
substitutes bitfield variable " : 0" padding syntax with an unused
variable of size equal to the remaining number of bits.
This change resolves aligned access issues for some platforms.
Default behavior is original if the option is not explicitly enabled.
2021-02-16 10:43:52 -05:00
Reinhard Panhuber
cdf600048f
Merge remote-tracking branch 'upstream/master' into edpt_ISO_xfer
2021-02-12 18:05:20 +01:00
hathach
ec458292fe
fix host build
2021-01-25 13:25:47 +07:00
Reinhard Panhuber
f1551d7a5f
Add __restrict keyword and memore alignment to src/dst pointer of
...
_tu_fifo_read_from_const_src_ptr()
_tu_fifo_write_to_const_dst_ptr()
2021-01-20 20:14:23 +01:00