summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2020-09-28audio_device: Allow one FIFO for N channelsJerzy Kasenberg
This allow to build with single FIFO for devices with multiple channels. Having just one FIFO greatly reduces time needed to feed endpoint. This change also allows to have one FIFO with 24 bit samples that is not rounded up to 32 bit elements. CFG_TUD_AUDIO_RX_ITEMSIZE and CFG_TUD_AUDIO_TX_ITEMSIZE can be manually defined. This allows to use FIFO more efficiently when 24 bits samples are already using 3 bytes, in this case there is no need to put them into FIFO one by one. For 8, 16, 32 bits samples size efficient FIFO access is always used when single FIFO is selected. This also changes FIFO element size to 1, FIFO usage was confusing in some place it treated content as byte base in other it looked like ITEM size is to be used. Also bufsize that in most (maybe all) cases was really meaning item count. bufsize now mean buffer size in bytes so there is no confusion.
2020-09-28audio_device: Fix tud_audio_n_read_flush TU_VERIFY usageJerzy Kasenberg
void function used TU_VERIFY in a way that returned bool value. It would not compile.
2020-09-28audio_device: Fix audio_rx_done_type_I_pcm_ff_cb bufor size checkJerzy Kasenberg
Function was not checking buffer size correctly due missing parenthesis.
2020-09-28audio_device: Fix audio_rx_done_type_I_pcm_ff_cb prototypeJerzy Kasenberg
Function prototype did not have return type specified by mistake.
2020-09-28audio_device: Store rhport in interface dataJerzy Kasenberg
Some API uses interface number as argument, some wants to have rhport. To accommodate need of rhport for functions that don't have it rhport can be extracted from interface data.
2020-09-28audio: Update ISO endpoint attributesJerzy Kasenberg
Explicit feedback attribute was missing. No synchronization now also has definition.
2020-09-28audio_device: Fix inline function specifiersJerzy Kasenberg
Having just inline keyword for function specified in header may not be enough to generate code for function. Adding static solves this problem. static inline is used in all other inline functions in TinyUSB.
2020-09-28synopsys: Fix fifo allocation schemaJerzy Kasenberg
Recommended FIFO allocation schema includes 2 maximum endpoint sizes. Comment suggested that this is the case while it would work according to this description only in checked endpoints were ascending sizes. Also two same size endpoints would be counted as one. That is fixed by way sz is filled. Calculation used too much modulo operation while single division was enough to account for odd FIFO sizes. Extra space that is evenly distributed between Bulk and control endpoints was incorrectly calculated it could prevent allocation of ISO endpoint FIFO when bulk endpoints existed with smaller endpoint numbers. Minimum endpoint FIFO size is 16 32bit words, FIFO space requirement is now observed.
2020-09-06Start of sampling works.Reinhard Panhuber
2020-09-04Merge remote-tracking branch 'upstream/master' into uac2Reinhard Panhuber
2020-09-04clean uphathach
2020-09-03more hid host workhathach
2020-09-03Remove tud_audio_n_write_ep_in_buffer() as long as ISO EPs are not RBs.Reinhard Panhuber
2020-09-03fix #449 remove obsolete pipehandle from hid hosthathach
2020-09-03rename tuh_isr/hcd_isr to tuh_int_handler/hcd_int_handlerhathach
2020-09-02revert to use float-abihathach
define __USE_CMSIS instead of __USE_LPCOPEN will have startup enable FPU on startup properly. Although it is only relevant to lpx43/40 series, change all to __USE_CMSIS for consistency
2020-09-01add more logging to host stackhathach
tested host with lpc4357, don't use fpu with lpc m4 since it seems to cause hardfault (stack does not make use of fpu anyway).
2020-09-01Allow epin_buf to be written directly into in case no TX FIFOs are used.Reinhard Panhuber
This is helpful if you have already encoded audio data and want an efficient way to send it. However, this approach is NOT THREADSAFE so far and works realiably ONLY IF tud_audio_n_write_ep_in_buffer() is NOT called form an interrupt!
2020-09-01Merge branch 'master' into update-hosthathach
2020-08-29Fix comment.Reinhard Panhuber
2020-08-29Fix CFG_TUD_AUDIO_RX_FIFO_SIZE defines.Reinhard Panhuber
2020-08-29Change min to tu_min16.Reinhard Panhuber
2020-08-25audio_device: Change CFG_TUD_AUDIO_TX_BUFSIZE to CFG_TUD_AUDIO_TX_FIFO_SIZEJerzy Kasenberg
CFG_TUD_AUDIO_TX_BUFSIZE seems to be used only in 3 preprocessor condition while in other places CFG_TUD_AUDIO_TX_FIFO_SIZE is used.
2020-08-25audio_device: Fix NULL pointer access in audiod_xfer_cbJerzy Kasenberg
b_bytes_copied was pointer with NULL value instead of plain variable. NULL pointer was passed to audio_tx_done_cb() and dereference as well. Now variable is not a pointer.
2020-08-25audio_device: Fix FIFO element size discrepanciesJerzy Kasenberg
Buffer for TX and RX FIFO was not taking into account size of element leading to out of bound access. audio_tx_done_type_I_pcm_ff_cb() reported copied bytes was not returning correct value number if channels was omitted in computation. Transfer size calculation uses simpler arithmetic.
2020-08-24fix typohathach
2020-08-24improve midihathach
- fix #436 tud_midi_rx_cb() not invoked - fix xfer_cb() not handle ep in - add ZLP if needed
2020-08-24audio_device: Fix descriptor limit calculationJerzy Kasenberg
In several place p_desc_end calculation was not taking into account that starting pointer (_audiod_itf[idxDriver].p_desc) was pointing past interface association descriptor. It would result in accessing random memory.
2020-08-24Merge pull request #486 from kasjer/kasjer/add-endpoint-close-to-synopsysHa Thach
Add dcd_edpt_close() to synopsys
2020-08-22add OPT_MCU_SAMD11hathach
skip ci build for example that need more ROM/RAM could fit into SAMD11
2020-08-21Merge pull request #434 from gh2o/masterHa Thach
Add TX callback to CDC device
2020-08-20Fix formatting, get rid of all tabs.Reinhard Panhuber
2020-08-20Slight optimization for cdc tx refillGavin Li
2020-08-20Smarter CDC TX refill logicGavin Li
2020-08-19Commit before sharing.Reinhard Panhuber
Setup a test example - UNTESTED! Missing: Start transmitting audio data in set_interface.
2020-08-16Merge remote-tracking branch 'upstream/master' into uac2Reinhard Panhuber
Conflicts: src/device/usbd.c src/device/usbd.h src/portable/st/synopsys/dcd_synopsys.c
2020-08-16Add EP close. Fix bug in set_interface within audio.Reinhard Panhuber
2020-08-14Add dcd_edpt_close() to synopsysJerzy Kasenberg
Endpoint close was implemented only in one driver so far. This function is needed for interfaces with several alternate settings. The way FIFO is allocated in dcd_edpt_open() allows to correctly close only one IN endpoint (the one that was opened last).
2020-08-12Fix synopsys fifo flush during stallJerzy Kasenberg
Wrong FIFO was flushed in dcd_edpt_stall(). (epnum - 1) should only be used when accessing DIEPTXF registers. For DIEPCTL and GRSTCTL epnum is correct index.
2020-08-11use usbd_edpt_open in bth driverhathach
2020-08-07update note for app driver list mustbe accesible at all time.hathach
2020-08-07allow application driver to overwrite built-in onehathach
- position application driver before built-in - remove dcd.h from public include.
2020-08-07Merge branch 'master' into add-app-driverhathach
2020-08-05Merge pull request #476 from kasjer/kasjer/fix-synopsys-fix-iso-frame-bitHa Thach
Fix synopsys odd/even frame bit for IN ISO endpoints
2020-08-04Fix synopsys odd/even frame bit for IN ISO endpointsJerzy Kasenberg
For ISO endpoint driver has to specify when data is to be transmitted (odd or even frame). Currently code was not updating this bit resulting in data being sent every other frame. If interval was 1ms full data packed was sent every 2ms, and ZLP was sent in between.
2020-08-04manually submit unplugged event for nrf dcd_disconnect()hathach
2020-08-04Merge pull request #478 from hathach/move-dcdconnect-to-dcdinitHa Thach
Move pull-up enabling to dcd_init() instead of usbd
2020-08-03Implement dynamic FIFO RAM allocation according to configuration desc.Reinhard Panhuber
2020-08-02Merge pull request #472 from hathach/fix-msp430-warningHa Thach
fix msp430 gcc 9.2.0 warning
2020-08-01enable pull-up in dcd_init() instead of usbdhathach