Commit Graph

76 Commits

Author SHA1 Message Date
Bastien Nocera 6a2cf67289 Fix typos 2022-12-04 19:43:23 +07:00
hathach 4f6e770eda
add more warning option, also fix -Wconversion with rp2040
-Wuninitialized, -Wunused,  -Wredundant-decls
2022-06-24 19:46:19 +07:00
email af9a3f646c fix idfgh-6508: return type in tu_fifo_peek_n()
https://github.com/espressif/esp-idf/issues/8161
2022-01-19 09:00:43 +01:00
hathach 161ba73c8b
fix locked mutex when fifo is full 2022-01-19 10:17:39 +07:00
hathach 0b249618b0 fix -Wcast-qual 2021-10-15 23:54:31 +07:00
hathach 98e4ba6a12 correct midi available with already stream read 2021-08-02 18:55:12 +07:00
MasterPhi 7321972380 Force unsigned compare on advance_pointer. 2021-06-30 20:26:27 +02:00
Mengsk 2b2549b573 Fix fifo overflow correction. 2021-06-30 17:00:56 +02:00
hathach f384d6f67e
more with clean up 2021-05-27 18:11:12 +07:00
hathach 954056da0c
fix warnings cast function type for nrf, fix pico osal warning
add TODO for overflow in tusb_fifo.c
2021-05-25 21:02:40 +07:00
hathach 18c35bb89e some text fomarting, update unit test to test get buffer info for fifo 2021-05-02 15:01:28 +07:00
Reinhard Panhuber 5add664874 Remove n from tu_fifo_get_write_info() and fix bug in vendor class 2021-04-30 17:37:14 +02:00
Reinhard Panhuber 5f88def9c9 Comment cleanup 2021-04-30 15:14:27 +02:00
Reinhard Panhuber 14e2c004cd Remove variable n in tu_fifo_get_read_info() 2021-04-30 15:08:14 +02:00
Reinhard Panhuber de933c45bc Remove all remainings with peek_at 2021-04-30 14:56:14 +02:00
Reinhard Panhuber 5f268608d7 Remove offset feature from fifo.c 2021-04-30 13:39:55 +02:00
Reinhard Panhuber 8f72c97f7b Change read infos to pointer type 2021-04-30 12:59:12 +02: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
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
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
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 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
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 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
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
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
Reinhard Panhuber 99e6bc3720 Explicitly add cast to uint32_t before shifting uint8 to left 2021-01-18 17:54:08 +01:00
Reinhard Panhuber 8450bc3225 Add FIFO copy modes: tu_fifo_copy_mode_t
Allows to copy from/to constant pointers required for STM32 hardware
FIFO copies.
2021-01-18 17:12:39 +01:00
Reinhard Panhuber bdbcb8df39 Add tu_fifo_read_n_into_other_fifo() to copy into from FIFO into another
Fix overflow in tu_fifo_write_n()
2021-01-17 11:55:33 +01:00
HiFIPhile baa5417f3e Fix IAR error on memcpy and warnings.
Signed-off-by: MasterPhi <admin@hifiphile.com>
2020-12-23 16:54:55 +01:00