Commit Graph

3756 Commits

Author SHA1 Message Date
Jerzy Kasenberg f4a44ee063 audio: Update ISO endpoint attributes
Explicit feedback attribute was missing.
No synchronization now also has definition.
2020-09-28 08:41:17 +02:00
Jerzy Kasenberg 5ad2f8efc6 audio_device: Fix inline function specifiers
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-28 08:41:17 +02:00
Jerzy Kasenberg 6f3d0af1e6 synopsys: Fix fifo allocation schema
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-28 08:41:17 +02:00
Reinhard Panhuber 8dcb104933 Change modulo substitute to while ( idx >= depth) idx -= depth; 2020-09-26 11:00:31 +02:00
Reinhard Panhuber 9ddcfc09d7 Fix wrong comments, rename pos to offset, rename overflow(). 2020-09-25 15:58:28 +02:00
Reinhard Panhuber 52c9a467b4 Fix bug in modulo substitute. 2020-09-23 21:36:30 +02:00
Reinhard Panhuber 9bdeafb295 Change maximum depth to 2^15 which allows for a fast modulo substitute.
Thus, however, overflows are detectable only for one time FIFO depth.
2020-09-23 20:48:03 +02:00
Ha Thach 8b2c822557
Merge pull request #512 from mzero/fix-midi-sysex
Fix a bug in writing SysEx messages.
2020-09-23 11:23:53 +07:00
Reinhard Panhuber 21299f90fa Final cleanup. 2020-09-19 11:46:43 +02:00
Reinhard Panhuber 9dfb78e9d8 Tested, working. 2020-09-15 20:40:41 +02:00
Ha Thach 9a0a78c52e
Merge pull request #514 from kasjer/kasjer/fix-nrf52-edpt_dma_start
nrf52: Fix edpt_dma_start() wrong condition check
2020-09-16 00:43:21 +07:00
Jerzy Kasenberg 62a76c0e04 nrf52: Fix edpt_dma_start() wrong condition check
Operator < used in while condition was obviously incorrect.
Loop starts with checking if unsigned variable is less then 0.
This condition is always false.

This reverses condition to follow intention of of the code.
2020-09-15 16:08:23 +02:00
Ha Thach 745c15d5b5
Merge pull request #508 from hathach/fix-edpt-race
Fix edpt xfer race condition
2020-09-14 23:56:21 +07:00
Reinhard Panhuber 349c0f640e Implementation done, yet to be tested. 2020-09-14 18:24:08 +02:00
hathach 9c0d15fc43 more const 2020-09-14 22:23:59 +07:00
hathach 23e6ee2ea2 cdc device: claim endpoint before checking fifo availability
- add pre-check to reduce mutex lock in usbd_edpt_claim
2020-09-14 22:14:31 +07:00
Mark Lentczner 3b0216d3bf
Update midi_device.c
Fix a bug in writing SysEx messages.

At the start of a new USB packet (4 bytes), while in the middle of a SysEx, the code mistakenly
set the buffer length to 4, not the target length. As a consequence, the 3rd and 4th bytes from
the last packet were included, after every byte of the SysEx after the first packet of three.

The fix is simple, as it was just a typo, as can bee seen from the other branches in the same
section of if/else statements: At the start of a new packet, the code should set up the target
length... the buffer length should be left at 2 (as set on line 180).
2020-09-13 15:05:18 -07:00
Ha Thach 3d393df2d0
Merge pull request #510 from hathach/fix-hid-gamepad-template
correct the TUD_HID_REPORT_DESC_GAMEPAD
2020-09-13 15:15:41 +07:00
hathach 5931d19666 correct the TUD_HID_REPORT_DESC_GAMEPAD 2020-09-13 15:01:20 +07:00
Reinhard Panhuber 62a8e39c9b Merge remote-tracking branch 'upstream/master' 2020-09-12 10:29:56 +02:00
hathach 25bb8830c5 doc: merge example/readme.md into docs/getting_started.md 2020-09-12 09:26:41 +07:00
hathach 1804dba615 typo 2020-09-12 08:48:49 +07:00
hathach ce4a9b9c3a clean up 2020-09-11 00:14:07 +07:00
hathach 801f8b5b38 update claim edpt for hid and midi 2020-09-10 23:32:08 +07:00
Jan Dümpelmann b15c209805 Set new define because of build failure 2020-09-10 13:36:07 +02:00
hathach ed6d48b81e typo 2020-09-09 16:45:54 +07:00
hathach fe1b5dfa23 clean up 2020-09-09 16:29:45 +07:00
hathach 33f0a18523 update cdc edpt read 2020-09-09 16:25:31 +07:00
hathach 8b9893cada introduce optional usbd_edpt_claim, usbd_edpt_release which can be used to gain exclusive access to usbd_edpt_xfer 2020-09-09 15:48:11 +07:00
hathach 2b54dcb9f6 move functions around 2020-09-07 15:39:46 +07:00
hathach 7a3b24827e clean up 2020-09-07 15:25:03 +07:00
hathach 66a10ec9c8 rework usbh control transfer
use series of complete callback instead of blocking semaphore, which is
more noOS friendly. still working with hid host
2020-09-07 15:19:20 +07:00
Reinhard Panhuber 4e789b240d Start of sampling works. 2020-09-06 11:37:59 +02:00
hathach b3e81673c0 change xfer_cb return type from void to bool 2020-09-06 12:11:07 +07:00
hathach 15ad585e67 replacing hcd_pipe_xfer by usbh_edpt_xfer 2020-09-06 11:49:00 +07:00
hathach 9a6d7c648e clean up enum task 2020-09-05 21:12:43 +07:00
hathach 828f720207 refactor hub class
- separate connect/disconnect handling
- hub work with full speed, but doesn't seem to work with Low speed
device (with mcb1800)
- need to update msc host after migrating from isr to xfer_cb (blocked
at inquiry)
2020-09-05 20:20:45 +07:00
hathach 7ffb6acc16 more clean up 2020-09-05 17:16:46 +07:00
hathach b8b95e8494 add in_isr to all hcd event functions 2020-09-05 15:46:50 +07:00
hathach 90c8c14652 clean up 2020-09-05 15:19:01 +07:00
hathach bc09b6065f refactor extract parse_configuration_descriptor() 2020-09-05 15:16:45 +07:00
hathach d87f2a9691 remove usbh control mutex 2020-09-05 15:05:25 +07:00
hathach 9531e47d10 update example to test with mouse 2020-09-05 14:59:07 +07:00
hathach f7cf8cdf27 defer xfer_isr to xfer_cb 2020-09-05 14:41:31 +07:00
hathach 4d57b4ea33 clean up 2020-09-05 13:57:07 +07:00
Jan Dümpelmann e09ebea7b9 Remove tud_cdc_connected check from examples 2020-09-04 17:25:32 +02:00
Reinhard Panhuber 12562fc966 Merge remote-tracking branch 'upstream/master' into uac2 2020-09-04 16:23:39 +02:00
Jan Dümpelmann 9cc22b635c Add functionality to abort an ongoing transfer 2020-09-04 15:40:23 +02:00
hathach 10d5dac913 update doc 2020-09-04 11:20:09 +07:00
Ha Thach ed7a0de3ab
Merge pull request #505 from hathach/update-host
Update host
2020-09-04 10:46:48 +07:00