Commit Graph

1246 Commits

Author SHA1 Message Date
hathach
8ba0c362cc update tud_hid_boot_mode_cb/tud_hid_set_idle_cb support mul interfaces
also clean up code
2020-10-09 20:51:20 +07:00
hathach
13abcb953f rename multiple hid callback 2020-10-09 20:24:10 +07:00
Ha Thach
c2a0612885 Merge pull request #524 from zlittell/f_MultipleHIDInterfaces
Feature multiple hid interfaces
2020-10-09 00:28:13 +07:00
Zachery Littell
a4ba1f0827 Fix tu_verify args 2020-10-08 12:08:13 -05:00
Zachery Littell
298aa1b669 Cleanup per review on PR 2020-10-08 11:59:12 -05:00
Zachery Littell
db3fe97f62 fix variable names. add itf n callbacks to multihid 2020-10-07 20:36:00 -05:00
Ha Thach
440e23c491 Merge pull request #529 from gh2o/stm32-race
stm32 fsdev: fix ISTR and CTR_RX/TX race conditions
2020-10-07 15:16:55 +07:00
Gavin Li
020ad47bb0 stm32: fix ISTR and CTR_RX/TX race conditions 2020-10-06 14:43:10 -07:00
Ha Thach
0686bd9369 Merge pull request #516 from PanRe/tusb_fifo_unmaksed_pointers
Tusb fifo unmaksed pointers
2020-10-06 00:01:51 +07:00
Zachery Littell
081af79009 fix simple pull request comments. Implement descriptor index hack. 2020-10-02 16:02:00 -05:00
Ha Thach
9c4aceaaa8 Merge pull request #518 from kasjer/kasjer/nrf5x-iso-support
nrf5x iso support
2020-10-02 21:17:24 +07:00
Zachery Littell
b7208d6f7e add index to report descriptor callback. this is breaking and needs to be reviewed 2020-10-01 12:51:48 -05:00
Zachery Littell
849681724a create N functions and inlines for multi hid interfaces 2020-10-01 11:51:33 -05:00
Jerzy Kasenberg
96da1ca4b8 nrf5x: Add support for ISO endpoints
ISO endpoints were not covered so far by the driver code.
This adds support for ISO IN and OUT endpoint handling.
Registers for ISO IN(OUT) endpoints are placed just after normal IN(OUT)
so in some cases common code could be used for handling all type of
transfers.
Generally code synchronizes ISO endpoint handling to SOF interrupt.
This code does not change the way of how non-ISO endpoints are treated.

Code uses strategy outlined in nRF52840 Produce Specification v1.0
sections 6.35.11.1 and 6.35.11.2.
2020-10-01 09:22:55 +02:00
Jerzy Kasenberg
6f5ee09511 nrf5x: Increase size of mps to 16 bits
msp stores max packet size.
For ISO endpoints 8 bits is not enough so it's changed to 16 bits.
2020-10-01 09:22:55 +02:00
Jerzy Kasenberg
fceb8853c7 nrf5x: Add dcd_edpt_close
Closing endpoints can be important when there are alternate
instances. This adds functionality of closing endpoints
similar to what exists in other drivers.
2020-10-01 09:22:55 +02:00
Jerzy Kasenberg
b2ce7a39b0 device: Make number of endpoints configurable
Currently number of endpoints was hard coded to 8.
NRF52 has 9 IN and 9 OUT endpoints.
ISO endpoints are 0x08 and 0x88 and without this change those
two ISO endpoint could not be used.
2020-10-01 09:22:49 +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
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
hathach
5931d19666 correct the TUD_HID_REPORT_DESC_GAMEPAD 2020-09-13 15:01:20 +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
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
a8e538efe7 clean up 2020-09-04 01:35:32 +07:00
hathach
35aee4a6af more hid host work 2020-09-03 23:57:51 +07:00
hathach
ef651e0734 fix #449 remove obsolete pipehandle from hid host 2020-09-03 17:07:29 +07:00
hathach
1d83ad0ebb rename tuh_isr/hcd_isr to tuh_int_handler/hcd_int_handler 2020-09-03 13:12:25 +07:00
hathach
c492aef4c7 revert to use float-abi
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-02 00:46:08 +07:00
hathach
84425c50b3 add more logging to host stack
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-01 19:16:50 +07:00
hathach
be708bb8a4 Merge branch 'master' into update-host 2020-09-01 12:02:25 +07:00
hathach
2d8787cdeb fix typo 2020-08-24 15:29:34 +07:00
hathach
a1b7e767af improve midi
- fix #436 tud_midi_rx_cb() not invoked
- fix xfer_cb() not handle ep in
- add ZLP if needed
2020-08-24 14:31:46 +07:00
Ha Thach
19f08a02f6 Merge pull request #486 from kasjer/kasjer/add-endpoint-close-to-synopsys
Add dcd_edpt_close() to synopsys
2020-08-24 13:10:46 +07:00
hathach
9d3a9cf546 add OPT_MCU_SAMD11
skip ci build for example that need more ROM/RAM could fit into SAMD11
2020-08-22 18:46:19 +07:00
Ha Thach
e5d622b749 Merge pull request #434 from gh2o/master
Add TX callback to CDC device
2020-08-21 11:14:06 +07:00