3757 Commits

Author SHA1 Message Date
Jerzy Kasenberg
e67fc808aa audio_device: Store rhport in interface data
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-28 08:41:17 +02:00
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