Commit Graph

1198 Commits

Author SHA1 Message Date
hathach 66942b814b
change return type of callback to void 2022-03-17 16:55:29 +07:00
hathach deab8c276a
remove const in xfer callback 2022-03-17 16:53:54 +07:00
hathach 6df420f7f3
move result into transfer struct 2022-03-17 16:24:43 +07:00
hathach 68bfd048a5
change tuh_control_xfer_t struct 2022-03-17 12:53:52 +07:00
hathach 98d4ed0584
update hid host to use new control xfer for set config 2022-03-16 18:44:41 +07:00
Reinhard Panhuber ceac9d64c0 Disable CFG_TUD_AUDIO_ENABLE_FEEDBACK_DETERMINATION_WITHIN_SOF_ISR
By default disable
CFG_TUD_AUDIO_ENABLE_FEEDBACK_DETERMINATION_WITHIN_SOF_ISR such that
current examples still work.
2022-03-16 08:05:31 +01:00
Reinhard Panhuber 92ac041869 Add todos and comments 2022-03-16 07:13:38 +01:00
Reinhard Panhuber 90502739c3 Fix cycle count calculation 2022-03-15 20:45:06 +01:00
Reinhard Panhuber c9b444e771 Implement 16.16 fixed point feedback value calculation 2022-03-15 20:30:31 +01:00
Reinhard Panhuber 26339e694f Merge remote-tracking branch 'upstream/add-sof-isr' into add-sof-isr 2022-03-14 20:40:57 +01:00
Reinhard Panhuber f212899b54 Add SOF callback function for feedback value determination in uac - wip! 2022-03-14 20:40:33 +01:00
hathach 2929afe2fa add synchronous (blocking) support for usbh control transfer
- add synchronous version of all get descriptor API
- update bare example to use sync API for string descriptor
- change order of index, language_id in tuh_descriptor_get_string() to
match similar API of libusb
- add index to tuh_descriptor_get_hid_report()
2022-03-13 17:45:46 +07:00
hathach ec28593ce5 update hid,msc to new usbh control API 2022-03-11 22:13:57 +07:00
hathach bcdeb386cc rework usbh control xfer
- change API of tuh_control_xfer and its callback
- rename tuh_control_complete_cb_t to tuh_control_xfer_cb_t
- add user argument to control callback
- migrate usbh and hub
2022-03-11 21:57:55 +07:00
hathach 708f05668d add tusb_debug.h remove tusb_error.h
move debug utils to new header
2022-03-09 16:44:19 +07:00
hathach f920e1c171 rename host descriptor function 2022-03-09 11:21:13 +07:00
hathach db9d97c947 add tuh_descriptor_hid_report_get() 2022-03-09 11:03:29 +07:00
Ha Thach 4c6bb161e2
Merge pull request #1289 from kasjer/kasjer/vendor-update
vendor: Write improvements
2022-03-06 11:16:35 +07:00
tobozo 9526a0ff73
stick to struct naming convention 2022-03-02 16:56:59 +01:00
tobozo 8c79b8924e
added Absolute Mouse descriptor template 2022-03-02 15:01:18 +01:00
tobozo 34ae21319e
added Absolute Mouse report struct 2022-03-02 15:00:07 +01:00
Ha Thach 7c627f58d7
Merge pull request #1343 from Daft-Freak/patch-1
Open OUT endpoint for HID host
2022-02-28 20:00:40 +07:00
Ha Thach 5b7a01ba79
Merge pull request #1350 from hathach/enhance-multipl-ports
Enhance rhports management
2022-02-26 01:00:07 +07:00
Ha Thach 13a4582ce2
Merge pull request #1349 from iabdalkader/fix_inquiry_data
Set the standard inquiry response additional length field.
2022-02-26 00:22:55 +07:00
iabdalkader 8eeda60bd0 Set the standard inquiry response additional length field.
* The standard inquiry response additional length field needs to be set to
the length in bytes of the remaining standard inquiry data (i.e. N - 5),
otherwise the kernel driver issues a warning about short inquiry response..
2022-02-25 18:42:23 +02:00
hathach 309540473b minor house keeping 2022-02-25 22:26:35 +07:00
hathach 31aa077cb0 rename TUSB_OPT_HOST_ENABLED to CFG_TUH_ENABLED 2022-02-25 18:35:21 +07:00
hathach d10326cb4e rename TUSB_OPT_DEVICE_ENABLED to CFG_TUD_ENABLED
TUSB_OPT_DEVICE_ENABLED still usable for backward compatible
2022-02-25 18:35:21 +07:00
hathach 4a5a53b3b8 improve rphort management for usbd 2022-02-25 18:35:21 +07:00
hathach a8d6e82395 enhance dual role examples 2022-02-25 17:36:05 +07:00
Charlie Birks 83b638f230
Open OUT endpoint for HID host 2022-02-23 13:03:20 +00:00
hathach a53e83665e fix HID_REPORT_ID_N() 2022-02-17 12:12:42 +07:00
hathach 46f4f7ff49 minor rename set sense function 2022-02-15 22:53:23 +07:00
hathach 391edc7afb msc example response PREVENT_ALLOW_MEDIUM_REMOVAL command as unsupported command
LUN1 of msc_disk_dual will be set to not ready to simulate medium not
present (e.g SD card removed)
2022-02-15 22:40:08 +07:00
hathach 456c06aa5e add tud_msc_request_sense_cb() as weak callback
set default error sense to NOT READY, Medium not present
2022-02-14 18:17:49 +07:00
Jerzy Kasenberg 4ca2215684 vendor: Add tx flush functionality
So far tud_vendor_n_write() always flushed data.
It requires to have whole vendor packed constructed
before in one buffer.

With this change data do get flushed when endpoint size
is filled on write, when there is no enough data to
fill endpoint data is not sent and subsequent calls to
write functions can add more bytes.

Vendor code needs to call tud_vendor_n_flush() when packet is
ready to be sent.
2022-01-19 15:08:12 +01:00
Jerzy Kasenberg d069ea1421 vendor: Add tx callback
Other drivers already have notification about data sent.
It allows batter control in application on vendor
protocol level.
2022-01-19 14:06:00 +01:00
hathach 45fb60e883 update format correction with actual bus speed 2022-01-16 12:12:57 +07:00
Valentin Milea c2533a45bd Merge branch 'master' into feature/feedback_format 2022-01-07 15:12:07 +02:00
Valentin Milea a284e438f1 Disable feedback format correction by default #1234 2022-01-07 15:02:52 +02:00
Scott Shawcroft 47218eeb67
No exceptions on broadcom. Add parens to if 2022-01-05 16:07:17 -08:00
Valentin Milea ef879e8a8a Support disabling feedback format correction #1234 2021-12-06 18:49:58 +02:00
hathach ab223eb1df
correct 32 button in gamepad hid descriptor template 2021-11-29 13:07:46 +07:00
hathach a994540860 fix nrf easy dma race condition 2021-11-23 09:36:28 +07:00
hathach f65917f51a
rename to simply OPT_MCU_MSP432E4, add msp432e to ci 2021-11-08 17:29:26 +07:00
kkitayam 0b3c8c4a59 Implement dcd_edpt_xfer_fifo for dcd_musb 2021-11-06 00:06:27 +09:00
Jerzy Kasenberg ec8ece2c9d bth: Update driver to interface association changes
Two interfaces that are required by Bluetooth Primary Controller
do not have IAD according to Bluetooth specification.
Those two interfaces were opened separately in process_set_config().

Later interface association was inferred for BTH (along with other
drivers), since then only one call to open() is place for BTH driver
that should prepare both interfaces at once.

To make it work again btd_open() parses two interfaces at once.
2021-11-05 12:33:15 +01:00
Ha Thach fc59515bfd
Merge pull request #1163 from hathach/generalize-synopsys-dwc2
Generalize synopsys dwc2
2021-11-04 13:41:25 +07:00
hathach 07829510e7 Merge branch 'tannewt-rpi' into generalize-synopsys-dwc2 2021-10-26 23:43:35 +07:00
hathach dbd31895bc
change usage of TU_CHECK_MCU() to prevent macro conflict 2021-10-25 17:04:03 +07:00
Tod Kurt 9f014b059a properly handle Program Change and Channel Aftertouch messages 2021-10-25 00:07:59 -07:00
hathach 5af989384b remove ep descriptor wMaxPacketSize bitfield due to endian issue 2021-10-24 13:11:21 +07:00
hathach 6f5b197a98 indent 2021-10-24 08:44:58 +07:00
Ha Thach 311c05b401
Merge branch 'master' into fix-warnings 2021-10-23 21:23:56 +07:00
kkitayam b3b6b4f785 Update _negotiate_streaming_parameters() to handle some requests 2021-10-19 21:49:00 +09:00
kkitayam 4fd0ee4eef Implement GET_DEF and GET_LEN handling on Probe/Commit entities of streaming interface 2021-10-18 21:53:38 +09:00
hathach a7dd5b616c fix -Wnull-dereference in midi_device 2021-10-18 01:11:27 +07:00
hathach a5f516893b more with -Wcast-qual 2021-10-17 16:36:53 +07:00
kkitayam 7325dd6335 Change input terminal type to camera 2021-10-16 12:06:13 +09:00
hathach 0b249618b0 fix -Wcast-qual 2021-10-15 23:54:31 +07:00
hathach 7596cb3079 update some sense warning from -Wconversion 2021-10-15 15:54:32 +07:00
kkitayam 2a795d5fd0 Fix GUID of video compression formats 2021-10-14 23:15:35 +09:00
Ha Thach 379537cb6d
Merge branch 'master' into add_uvc 2021-10-12 22:01:02 +07:00
kkitayam 67f1603833 Fix a typo 2021-10-12 23:35:19 +09:00
hathach 4d9e44e09c more rename 2021-10-12 01:12:26 +07:00
hathach 7afcb1e5d5 minor code clean up without functionality changes 2021-10-12 00:56:20 +07:00
hathach 4d170614dc rename some video constants 2021-10-11 23:18:24 +07:00
hathach b3bfce2cb7 update the descriptor endpoint ISO for nrf5x 2021-10-11 16:07:34 +07:00
Ha Thach ecec0370ca
Merge pull request #1107 from majbthrd/add_ncm
add NCM driver in a compatible manner : hathach/tinyusb#550
2021-10-11 15:57:46 +07:00
hathach a6723f556d add ncm.h for magic number
mostly clean up magic number
2021-10-11 12:36:03 +07:00
hathach a867d87072
rename CFG_TUD_NET to CFG_TUD_ECM_RNDIS 2021-10-05 16:00:07 +07:00
hathach 31cfd5a684 Merge branch 'add_ncm' of https://github.com/majbthrd/tinyusb into majbthrd-add_ncm 2021-10-05 11:39:32 +07:00
Charlie Birks aa97b419b2
Handle HID devices with OUT endpoint listed first
This happens on my PowerA wired Switch pro controller
2021-10-04 11:43:12 +01:00
Ha Thach d9bda631d4
Merge pull request #1120 from hathach/enhance
house keeping update
2021-10-01 23:31:21 +07:00
hathach fec2d15989
clean up vendor open 2021-10-01 23:00:09 +07:00
Ha Thach c851229eea
Merge pull request #1063 from HiFiPhile/uac_fifo
UAC2: Add xfer_fifo support for dcd_transdimension.
2021-10-01 00:17:51 +07:00
hathach 7708997a67
change scsis status to phase error when total_bytes < block_count 2021-09-30 20:14:23 +07:00
hathach 14514d7087 Merge branch 'master' of https://github.com/szymonh/tinyusb into szymonh-master 2021-09-30 20:02:32 +07:00
kkitayam 4ca466b00b Update comments 2021-09-29 22:59:46 +09:00
kkitayam 9bcab53c2c Implement frame rate settings 2021-09-29 22:53:26 +09:00
kkitayam dba5e7b17d Implement negotiation process for streaming parameters 2021-09-29 21:23:19 +09:00
kkitayam 0c89292a8d Fix transfer failure when reconnecting 2021-09-29 21:23:19 +09:00
kkitayam a15c354329 Fix typo 2021-09-29 21:23:18 +09:00
kkitayam f7bbdea0b8 Refactor application API parameters 2021-09-29 21:23:17 +09:00
kkitayam 0d6496886c Change frame buffer management 2021-09-29 21:23:17 +09:00
kkitayam d88cc23ca5 Refactor packet handling 2021-09-29 21:23:17 +09:00
kkitayam cd3f6eac2f Fix streaming payload handling 2021-09-29 21:23:16 +09:00
kkitayam 3cb4bb391d Separate a handling resource into controller and streaming 2021-09-29 21:23:16 +09:00
kkitayam 2b4e02f192 Implement some mandatory requests on streaming interface 2021-09-29 21:23:16 +09:00
kkitayam 4995d9cbd2 Fix handling for set_interface 2021-09-29 21:23:15 +09:00
kkitayam 20572a6ed2 Fix regarding standard video stream request 2021-09-29 21:23:15 +09:00
kkitayam d026f17457 fix: configuration descriptor has incorrectly sizes
update some descriptors
2021-09-29 21:23:15 +09:00
kkitayam 019c1ab09e add tentative example 2021-09-29 21:23:14 +09:00
kkitayam 033d6b28ff moved ISO attributes from audio to common 2021-09-29 21:23:14 +09:00
kkitayam e8de411322 cleanup open() 2021-09-29 21:23:14 +09:00
kkitayam 97d5d1e491 add files for video class device 2021-09-29 21:23:14 +09:00
hathach 1d5bdf7d39
add same7x to board list 2021-09-29 16:29:15 +07:00
hathach 0b31c40b9f Merge branch 'master' into enhance 2021-09-29 16:18:17 +07:00
hathach 2f2fb3d8d9
clean up 2021-09-29 16:18:11 +07:00
hathach f3c1b2a60d
clean up 2021-09-29 15:31:03 +07:00
hathach 103309b88b
Merge branch 'master' of github.com:hathach/tinyusb into zhangslice-master
examples/device/hid_composite_freertos/src/FreeRTOSConfig/FreeRTOSConfig.h
2021-09-29 15:27:41 +07:00
szymonh db862ae725 Assure msc device block size is not zero 2021-09-27 21:11:44 +02:00
Peter Lawrence 03d7988df3 add NCM driver in a compatible manner : hathach/tinyusb#550 2021-09-25 17:05:58 -05:00
hathach 3333703d25 Merge branch 'master' into zhangslice-master 2021-09-18 13:35:26 +07:00
Scott Shawcroft 2499c9382d
rpi start. doesn't work 2021-09-17 16:51:34 -07:00
hathach b474522245 make vendor driver more flexible
- skip additional custom descriptor between interface and endpoints
- can have up to 2 bulk endpoint ( 1 in & 1 out)
2021-09-14 21:30:38 +07:00
hathach 25ea8f9c9e update configuration parser 2021-09-14 21:02:38 +07:00
szymonh 2d6407e7a5 Enforced buffer boundaries for hid devices 2021-09-13 22:56:25 +02:00
szymonh 50e3c0054f Add size check to tud_bt_hci_cmd_cb call in bth_device.c 2021-09-13 10:23:03 +02:00
szymonh d5f2c34eaa Prevent buffer overflow in bth_device.c 2021-09-12 20:24:54 +02:00
hathach f47e5402fa add msc workaround for cxd56 2021-09-07 13:30:51 +07:00
hathach fa030075c2 Revert "Fix for MSC during stage STATUS"
This reverts commit 2e23f3dd72.
2021-09-06 19:26:28 +07:00
Kamil Tomaszewski 2e23f3dd72 Fix for MSC during stage STATUS 2021-09-03 18:13:45 +02:00
Ha Thach 831a45f14b
Merge pull request #1065 from hathach/rp2040-compliance
Rp2040 compliance test
2021-09-01 20:18:01 +07:00
hathach 15fa2f447b
add back edpt check before cbw, since bot reset can occurred any time 2021-09-01 16:53:12 +07:00
hathach 90dc9bc289
revert previous changes, edpt stall also clear any pending (not complete) transfer 2021-09-01 12:42:45 +07:00
hathach ab0c3e8dd0
fix rp2040 chapter 9 TD 9.6 test 2021-08-31 17:41:08 +07:00
MasterPhi e3bf4c069b UAC2: Add ring buffer support for dcd_transdimension.
Add ring buffer ON/OFF switch.
2021-08-31 12:29:22 +02:00
MasterPhi 8305766afe fix HID_LOGICAL_MAX overflow. 2021-08-31 11:27:43 +02:00
hathach fdf1ff545f responding with status per-spec in test case 4 2021-08-29 15:44:27 +07:00
hathach 4e3ed8159e passed all USBCV bot complaince test 2021-08-29 13:34:47 +07:00
hathach ee18cc42f2 msc handle more test, passed Command Self Test compliant 2021-08-29 12:06:10 +07:00
hathach be98cd56c7 update msc to be more robuse
add more log, pass more complaint test
2021-08-29 00:29:29 +07:00
hathach 53ea1e1324 fix msc test case 8 and 10 2021-08-27 23:52:59 +07:00
hathach c6b9f8a530 fix msc case 3 complaint test 2021-08-27 23:33:11 +07:00
hathach e01239ccc9 more msc refactoring 2021-08-27 20:05:56 +07:00
hathach 2667ce6981 fix BOT case 2 test compliant 2021-08-27 17:50:02 +07:00
hathach 893dceb198 refactor msc device 2021-08-27 17:30:02 +07:00
hathach 032770682e minor clean up 2021-08-27 13:18:51 +07:00
hathach 9394de6ae7 update msc driver to pass MSC BOT error recovery compliant test 2021-08-27 12:38:41 +07:00
hathach 629da937f8
slightly change the keyboard descriptor template to pass usb compliant test 2021-08-26 17:55:31 +07:00
Ha Thach 8d97f0e81f
Merge pull request #1041 from HiFiPhile/vdc
Fix vendor fifo deadlock, add tud_vendor_n_read_flush
2021-08-25 23:22:15 +07:00
hathach 3c0c051df1
add tuh_vid_pid_get()
complete Sony PS4 dualshock controller example
2021-08-24 19:10:23 +07:00
hathach 353c070d00 exclude dev0 from usbh devices pool 2021-08-24 01:06:05 +07:00
hathach 3309425211 sepearate CFG_TUH_DEVICE_MAX and CFG_TUH_HUB
separate dev0 from _usbh_devices pool to save sram
2021-08-23 19:56:53 +07:00
hathach 6a16f6ccdd rename CFG_TUSB_HOST_DEVICE_MAX to CFG_TUH_DEVICE_MAX 2021-08-23 11:01:40 +07:00
hathach 800f85329e add tuh_hid_receive_report() for applicaiton to explicitly request report 2021-08-23 11:00:21 +07:00
MasterPhi 4941cde175 Fix vendor fifo deadlock, add tud_vendor_n_read_flush 2021-08-22 13:26:50 +02:00
hathach 22a5b1608c change host driver open return type to bool
the descriptor len used by driver will be calculated by usbh
2021-08-20 19:31:38 +07:00
hathach 62f2efbe8c hid host skip get report descriptor if too large instead of assert 2021-08-20 18:26:56 +07:00
hathach a6d18c400d fix keyboard report reserved is always 0 2021-08-17 13:29:26 +07:00
Ha Thach 2bb63406e9
Merge pull request #959 from KarlK90/gd32vf103-support-tiny-usb
[PORT] Add GD32VF103 support and Sipeed Longan Nano Board support
2021-08-15 18:50:00 +07:00
hathach 2ea0ef4543
correct newline usage keycode (ENTER 0x28) 2021-08-10 16:40:43 +07:00
Stefan Kerkmann 8b78067cc1 Use linear buffer for GD32VF103
As the peripheral is the same as on the STM32F1 and STM32F4 lines we do the same.
2021-08-07 12:06:54 +02:00
hathach 794bbd7177 fix warning 2021-08-02 18:58:27 +07:00
hathach 98e4ba6a12 correct midi available with already stream read 2021-08-02 18:55:12 +07:00
kkitayam ff20e4d6bc add the entry for RX72N 2021-07-29 20:45:51 +09:00
kkitayam 3c3563288d add RX65N 2021-07-29 20:24:12 +09:00
kkitayam 6b9f8e454e add a condition regarding OPT_MCU_RX63N 2021-07-29 20:24:12 +09:00
Ha Thach fa00377d93
Merge pull request #859 from Wini-Buh/CCRX_Port
Adaptations for Renesas CCRX toolchain and Rx72N controller performed
2021-07-29 16:13:13 +07:00
MasterPhi 0ba4315ae5 Fix IAR warning 2021-07-27 18:08:52 +02:00
hathach 15112fdbba clean up compiler 2021-07-22 22:10:48 +07:00
hathach c4da1abb1e rename bit filed order
clean up packed/bit order begin end
2021-07-22 17:30:08 +07:00
hathach 4e50ceba48 rename packed begin/end 2021-07-22 17:07:39 +07:00
hathach fa0936bf58 Merge branch 'CCRX_Port' of https://github.com/Wini-Buh/tinyusb into Wini-Buh-CCRX_Port 2021-07-22 16:48:18 +07:00
Ha Thach 1c2bc47c07
Merge pull request #950 from HiFiPhile/dfu
DFU improvements
2021-07-22 11:17:01 +07:00
hathach 9542fcdbcd rename CFG_TUD_DFU_TRANSFER_BUFSIZE to CFG_TUD_DFU_XFER_BUFSIZE 2021-07-22 01:00:06 +07:00
hathach 3960beece0 rename CFG_TUD_DFU_MODE to simply CFG_TUD_DFU 2021-07-15 20:52:58 +07:00
hathach daca9e520b wrap up DFU update 2021-07-15 20:47:50 +07:00
hathach b4fde90b55 update clear status and get state 2021-07-14 17:03:20 +07:00
hathach 6a68fc6997 update dfu abort 2021-07-14 16:51:28 +07:00
hathach 95ded08e3b simplify upload request 2021-07-14 16:42:12 +07:00
hathach 5b965a3888 more rename and update 2021-07-14 15:52:38 +07:00
hathach 27676f738d rename tud_dfu_reboot_cb() to tud_dfu_detach_cb() 2021-07-14 15:31:20 +07:00
hathach 57d9f696a2 clean up 2021-07-14 15:24:09 +07:00
hathach ac8d0abecf rename dfu API
- tud_dfu_dnload_complete() -> tud_dfu_download_complete()
- tud_dfu_req_dnload_data_cb() -> tud_dfu_download_cb()
- tud_dfu_req_upload_data_cb() -> tud_dfu_upload_cb()
2021-07-14 15:04:38 +07:00
hathach ebd98e1a18 fix midi stream write return value (off by 1) 2021-07-13 21:09:23 +07:00
hathach 137dff620b add option to silent a driver log 2021-07-13 20:41:28 +07:00
hathach 86d511f244 rename tud_dfu_set_timeout_cb() to tud_dfu_get_status_cb()
also add state as argument
2021-07-12 21:08:13 +07:00
hathach 8c48a4a288 clean up 2021-07-12 20:23:19 +07:00
hathach 389d340678 clean up 2021-07-12 20:17:44 +07:00
hathach 2916cd4575 rename TUD_DFU_MODE_DESCRIPTOR to TUD_DFU_DESCRIPTOR 2021-07-12 18:51:57 +07:00
hathach 134ed995c8 add alt to tud_dfu_abort_cb() 2021-07-12 18:50:19 +07:00
hathach a0691a4fd4 update dfu_moded_open 2021-07-12 18:48:33 +07:00
hathach 10a7e0502a Merge branch 'dfu' of https://github.com/HiFiPhile/tinyusb into HiFiPhile-dfu 2021-07-12 17:50:11 +07:00
Mengsk 2147a31f25 Fix wrong blocknum and length 2021-07-08 01:10:02 +02:00
Mengsk 5b4b5ca533 Add bwPollTimeout set callback, postpone download callback after GETSTATUS 2021-07-08 00:25:12 +02:00
HiFiPhile 7e883e0f41 Refactor with one DFU functionnal descriptor 2021-07-07 19:01:00 +02:00
Mengsk 941b02c6a9 Reactor to one functional descriptor. 2021-07-07 18:02:04 +02:00
Mengsk 71c0043261 TU_ASSERT return 0. 2021-07-07 12:18:25 +02:00
Mengsk 3949fb9e8c Add DFU_DETACH support 2021-07-07 12:12:52 +02:00
Mengsk 88478594bc Update comment 2021-07-07 12:06:41 +02:00
Mengsk bc49ee7f2f Better alt settings support 2021-07-07 11:55:36 +02:00
MasterPhi cf4220a9fb Update 2021-07-06 18:04:24 +02:00
Ha Thach ecb100a62f
Merge pull request #938 from HiFiPhile/uac_example
Bug fix and Enhancements of UAC2
2021-07-06 22:57:48 +07:00
MasterPhi 72f916423e Fix copy byte count 2021-07-06 10:56:13 +02:00
MasterPhi 82d355aefe - Remove alt_setting alignment 2021-07-06 00:25:00 +02:00
MasterPhi 05a1b854ff ENCODE -> DECODE 2021-07-05 21:00:37 +02:00
Mengsk c2b9ac9dd4 Fix ATTR_MANIFESTATION_TOLERANT logic. 2021-07-05 17:57:23 +02:00
Mengsk c2d8ed3fd1 Add alt settings support in DFU class. 2021-07-05 17:56:21 +02:00
Ha Thach 2ae19ce40d
Merge pull request #913 from xmos-jmccarthy/master
Add dfu function memory access protection
2021-07-05 12:51:07 +07:00
hathach dfe410ea8b fix ci build, address review comment 2021-07-05 12:38:15 +07:00
hathach 227dd2d40a Merge branch 'master' of https://github.com/xmos-jmccarthy/tinyusb into xmos-jmccarthy-master 2021-07-05 12:33:11 +07:00
Ha Thach 0a230d57ee
Merge pull request #931 from hathach/more-hid-host
More hid host update
2021-07-05 00:23:56 +07:00
MasterPhi 98d921c4b3 Better handling tud_audio_set_itf_cb with FB. 2021-07-04 15:46:13 +02:00
MasterPhi 1c8b685457 Move audio_control_request_t to audio.h 2021-07-04 15:46:12 +02:00
MasterPhi 61fd0e2c1c Delay tud_audio_set_itf_cb call with feedback EP. 2021-07-04 15:46:12 +02:00
MasterPhi 090859bf42 Fix speed detection 2021-07-04 15:46:12 +02:00
MasterPhi 449936c0f1 more uac fixes, 2021-07-04 15:46:12 +02:00
MasterPhi 5f67e5c1e9 Clear FIFO only if enabled...
Add buffer align
2021-07-04 15:46:11 +02:00
MasterPhi 204f3152cb audio_device : clear fifo on intf change. 2021-07-04 15:46:11 +02:00
MasterPhi 6e9da70c18 Fix audiod_get_AS_interface_index in audio class.
Enhance uac2_headset example with multiple sample rates.
Add macro to calculate EP size.
2021-07-04 15:46:10 +02:00
hathach 2b3d547b7b clean up 2021-07-01 23:05:21 +07:00
hathach ca98996e1f better support for hid device set/get protocol
add caplock detection for hid_composite
2021-07-01 22:46:39 +07:00
Ha Thach 3b539fdd8d
Merge pull request #905 from HiFiPhile/uac_fix
UAC fixes
2021-06-29 22:34:57 +07:00
MasterPhi 5877f20d4b Fix IAR compile error on pointer type.
Clean up warnings.

Signed-off-by: MasterPhi <admin@hifiphile.com>
2021-06-29 10:57:26 +02:00
Wini-Buh cb0f1d98db Merge remote-tracking branch 'origin/master' into CCRX_Port
# Conflicts:
#	src/portable/renesas/usba/dcd_usba.c
#	src/tusb_option.h
2021-06-29 00:19:30 +02:00
hathach c172caa288 clean up 2021-06-29 00:03:34 +07:00
hathach efc12ae7d4 fix SET_PROTOCOl, update hid host behavior for default boot interface 2021-06-28 23:57:57 +07:00
hathach 268dcc8d20 fix issue with weird msc device with 3 endpoints 2021-06-28 17:39:57 +07:00
hathach 58d3e8c08b update func comment 2021-06-28 17:39:57 +07:00
hathach c99b70c08c force boot protocol for keyboard/mouse 2021-06-28 17:39:57 +07:00
hathach 5811122cfd change usbh open driver to have max_len and return driver len 2021-06-28 17:39:57 +07:00
Ha Thach 6e939de9d6
Merge pull request #891 from hathach/host-rp2040-double-buffer
RP2040 double buffer
2021-06-28 17:39:09 +07:00
Jeremiah McCarthy f5f087b2f8 Add dfu function memory access protection
Adds TU_VERIFY to dfu internal buffer access from host.

Adds TU_ASSERT to dfu internal buffer access by application.
2021-06-23 10:58:18 -04:00
Wini-Buh c5f6b57755 Merge remote-tracking branch 'upstream/master' into CCRX_Port 2021-06-22 23:21:01 +02:00
Niklas Hauser 264dc35b95 Fix typo in TUH configuration define 2021-06-21 05:32:43 +02:00
hathach 9323a9d094 fix issue when calling midi API when not enumerated yet 2021-06-21 00:00:46 +07:00
MasterPhi 8433f638e6 Add bracket to switch case, fix warning. 2021-06-20 15:39:47 +02:00
hathach 82618d2d5f fix build with mm32 board 2021-06-18 17:18:11 +07:00
Wini-Buh 60d8ecbfe6 clean up 2021-06-11 22:36:17 +02:00
Wini-Buh 1c23462b43 weak atrribute work around removed from CCRX_Port 2021-06-11 22:25:36 +02:00
hathach dfe5a727c6 log clean up 2021-06-11 18:54:09 +07:00
hathach 572d986a02 improve usbh 2021-06-11 17:14:22 +07:00
hathach c7f51cde40 implement usbh_edpt_busy (WIP), remove hcd_edpt_busy 2021-06-10 17:19:21 +07:00
hathach 13cb016042 add usbh_classdriver.h 2021-06-10 16:48:20 +07:00
hathach cffa666bd1 use alias for button naming 2021-06-09 17:45:14 +07:00
Marcelo Bezerra a8abbcc34d Change buttons to start from 0 2021-06-09 12:14:04 +02:00
hathach dca9bc97d6 miss a helper 2021-06-09 10:45:37 +07:00
hathach 2c0947ebb6 update gamepad helper 2021-06-09 10:33:57 +07:00
Marcelo Bezerra e393fb32a0 re-adding ifdef removed accidentally 2021-06-09 10:33:57 +07:00
Marcelo Bezerra d3b6e28387 indent fix 2021-06-09 10:33:57 +07:00
Marcelo Bezerra de71e72e31 Fix comment in hid.h 2021-06-09 10:33:57 +07:00
Marcelo Bezerra e12195705c Pull request changes
Remove configuration options and just bump number of buttons to 32
Fix button numbereing and comments in
2021-06-09 10:33:57 +07:00
Marcelo Bezerra ce634f226e remove excess empty lines 2021-06-09 10:33:57 +07:00
Marcelo Bezerra 3842c806a6 clean up 2021-06-09 10:33:57 +07:00
Marcelo Bezerra d5f8da44d1 Add optional support for 32 gamepad buttons 2021-06-09 10:33:57 +07:00
Wini-Buh 5a554508ca Merge remote-tracking branch 'upstream/master' into CCRX_Port 2021-06-03 22:17:30 +02:00
hathach 6e2cf2a3ee clean up log 2021-06-02 00:10:35 +07:00
hathach 3fb80e76ce remove obsolete hcd_pipe_queue_xfer()/hcd_pipe_xfer() 2021-05-31 12:08:37 +07:00
hathach 5cf930d78a fix cast-align warning in msc host 2021-05-31 11:11:00 +07:00
Wini-Buh b4f092ec74 Adaptations for Renesas CCRX toolchain and Rx72N controller performed 2021-05-29 21:23:39 +02:00
hathach 7c66c5121b
update doc 2021-05-27 19:31:55 +07:00
hathach 9ad6fadf6a
more include clean up 2021-05-27 18:34:07 +07:00
hathach 9736e54734
include clean up 2021-05-27 17:40:39 +07:00
hathach faa31152b4 rename usbd_edpt_iso_xfer to usbd_edpt_xfer_fifo 2021-05-26 20:34:06 +07:00
Ha Thach 4e2684f23a
Merge pull request #825 from ogatatsu/hid_desc
fix hid report descriptor
2021-05-26 20:33:45 +07:00
hathach f9c542aa52
fix dfu example build 2021-05-26 18:16:56 +07:00
Jeremiah McCarthy ce59d69520 Merge remote-tracking branch 'official/master' 2021-05-25 09:27:35 -04:00
hathach 3654d96e07 only invoke tuh_msc_umount_cb() if needed 2021-05-23 14:11:12 +07:00
hathach 8cffe4897e change hid device internal boot_mode to protocol_mode 2021-05-23 13:56:32 +07:00
hathach a1dab1611b get protocol when enum with hid boot interface 2021-05-22 23:30:41 +07:00
hathach f13a3c04f7 fix missing report in tuh_hid_set_report() 2021-05-22 22:43:55 +07:00
hathach a2c4a48dd6 add tuh_hid_report_sent_cb() 2021-05-22 22:03:21 +07:00
hathach b8e019da32 rename tuh_hid_get_report_cb to tuh_hid_report_received_cb() 2021-05-22 21:51:30 +07:00
hathach df65c35b31 implement hid host set report with control transfer
rename mount, umount callback
2021-05-22 21:48:42 +07:00
hathach 63c57ed1a4 clean p 2021-05-22 20:55:42 +07:00
hathach ad845db6a5 improve hid parser 2021-05-22 20:54:59 +07:00
hathach 350dfb2ea3 more hid api rename 2021-05-22 18:17:32 +07:00
hathach 89dad1ad41 update app 2021-05-22 16:48:07 +07:00
hathach 99add05aa7 simplify hid api
add hid set_protocol() and set_protocol_complete_cb()
2021-05-22 16:27:28 +07:00
hathach 2df5a5367f update hid host get/set protocol to match device 2021-05-18 13:12:33 +07:00
hathach 40cd3a7e20 Merge branch 'master' into host-hid 2021-05-18 13:08:30 +07:00
hathach ffdcf9a0d0 move report_info to application
update API accordingly, update hid parser for usage, and usage_page.
2021-05-18 12:58:24 +07:00
hathach da6a7fb2bb update hid report descriptor macro 2021-05-18 12:58:24 +07:00
hathach 5b2d117bcd fix compile 2021-05-18 12:58:24 +07:00
hathach 93661042d9 more API update
- remove tuh_n_hid_n_get_report()
- usbh auto queue get report and invoke callback when received data
2021-05-18 12:58:24 +07:00
hathach dfa8b41b96 adding hid parser 2021-05-18 12:58:24 +07:00
hathach 9ddc3bfd6d more host hid API
adding hid parser
2021-05-18 12:58:24 +07:00
hathach 641f55f1f1 remove CFG_TUH_HID_KEYBOARD and CFG_TUH_HID_MOUSE 2021-05-18 12:58:24 +07:00
hathach cc1b83412a continue with hid host rework 2021-05-18 12:58:24 +07:00
hathach 9324fd8f2e more hid host API rework 2021-05-18 12:58:24 +07:00
hathach 7305fec4db change hid device report len from uint8 to uint16 2021-05-18 12:58:24 +07:00
hathach b7a8b278c8 rename tuh_device_is_configured() to tuh_device_configured()
- remove tuh_device_get_state()
- more hid mouse clean up
2021-05-18 12:58:24 +07:00
hathach 69defb5edc rename and moving 2021-05-18 12:58:24 +07:00
hathach a5cd81a226 correct hid host mount/unmount callback
rename HOST_CLASS_HID to CFG_TUH_HID
2021-05-18 12:58:24 +07:00
hathach be165a6713 reworking host hid API 2021-05-18 12:58:24 +07:00
hathach 510beef9f8 make tuh_msc_mount_cb() tuh_msc_unmount_cb() as weak callback 2021-05-18 12:58:24 +07:00
hathach e83bdcdfdc reworking hid host 2021-05-18 12:58:24 +07:00
hathach 68fa17e17c more API rename 2021-05-18 12:58:24 +07:00
hathach f1148ca5ac reworking hid host 2021-05-18 12:58:24 +07:00
hathach 98f5082191 rename var to be consistent 2021-05-18 12:58:24 +07:00
hathach a26752a93e fix build error 2021-05-18 12:45:59 +07:00
hathach 7e9e682e09 update to use HID spec protocol value for get/set_protocol() 2021-05-18 12:38:11 +07:00
hathach e163f85ee0 clean up, rename some HID device symbol/API
- add tud_hid_n_interface_protocol()
- rename tud_hid_n_boot_mode() to  tud_hid_n_get_protocol()
- rename tud_hid_boot_mode_cb() to tud_hid_set_protocol_cb()
- add HID_PROTOCOL_BOOT/REPORT to avoid magic number 0,1
- rename HID_PROTOCOL_NONE/KEYBOARD/MOUSE to HID_ITF_PROTOCOL_ to avoid
confusion
2021-05-18 12:32:20 +07:00
Jerzy Kasenberg 74ca1894de audio_device: Fix build error
ep_in_as_intf_num was incorrectly used to access out interface
which is defined for 'in' interface.
Code related to 'out' endpoint should use ep_out_as_intf_num instead.
2021-05-10 15:58:04 +02:00
ogatatsu 5d69b2ac4d fix hid report descriptor 2021-05-10 17:19:44 +09:00
Jeremiah McCarthy 05892a5a1e Merge branch 'master' of github.com:xmos-jmccarthy/tinyusb 2021-05-06 12:18:55 -04:00
Jeremiah McCarthy dab1ed6b32 Add example to be tested
Update API description.
2021-05-05 17:42:38 -04:00
Ha Thach 42a1d2f3b9
Merge pull request #804 from hathach/audio_make_dma_ready
Implement functions to allow for DMA usage in audio driver.
2021-05-02 15:29:38 +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 6acfa14fec Fix bug in cdc_peek 2021-04-30 17:23:34 +02:00
Reinhard Panhuber 54f332fae0 Fix cdc peeks() 2021-04-30 15:42: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 8f72c97f7b Change read infos to pointer type 2021-04-30 12:59:12 +02:00
Jeremiah McCarthy f830800d00 Fix typo and clean up reset 2021-04-29 16:04:18 -04:00
hathach c9177246d2 temporarily fix include recusrive loop 2021-04-28 12:31:24 +07:00
hathach c26875e70d add TUP_MCU_STRICT_ALIGN macro that manually pick bytes for lpc55 port1 that is m4 but cannot unaligned acces on usb ram 2021-04-26 17:42:49 +07: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 a98d0217a0 Init len_wrap = 0 to fix compiler complains. 2021-04-23 10:47:22 +02:00
Reinhard Panhuber 4dd1f1f3b5 Fix include path in audio_device.h 2021-04-23 10:32:22 +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
Jeremiah McCarthy b8e5885c2b Removes polltimeout behaviour and restructures
Moves dfu_req_dnload_reply to ACK stage of a DNREQUEST.

Removes unneeded variables due to other simplifications.
2021-04-22 17:45:33 -04:00
Jeremiah McCarthy 8c80ddeb54 Fix statte check on DATA stage 2021-04-22 17:00:57 -04:00
Jeremiah McCarthy cc440ade81 Remove custom status description table 2021-04-22 16:47:05 -04:00
Jeremiah McCarthy e54d9d10af Add const 2021-04-22 16:39:43 -04:00
Jeremiah McCarthy 289af581bb Remove uunused code 2021-04-22 16:06:06 -04:00
Jeremiah McCarthy 18e9d253e9 Remove usb reset callback 2021-04-22 16:04:09 -04:00
Jeremiah McCarthy 0936a76dc9 Remove nonstd behaviour 2021-04-22 15:59:49 -04:00
Jeremiah McCarthy 88dea7a0a8 Move debug from .h to .c 2021-04-22 15:02:50 -04:00
Jeremiah McCarthy 01661b3f28 Replace dfu_mode with dfu 2021-04-22 14:56:52 -04:00
Reinhard Panhuber 29bcc83d0f Remove unnecessary volatile and short audio function index to func_id 2021-04-21 17:01:38 +02:00
Reinhard Panhuber c7c11b181c Clean up old depracted and misleading variable names 2021-04-20 20:15:02 +02:00
Reinhard Panhuber fef0d54559 Refactor static function for better performance 2021-04-20 19:56:40 +02:00
Reinhard Panhuber 4408ffce88 Fix pointer alt_setting to be cleared when driver gets initialized 2021-04-20 18:44:56 +02:00
Reinhard Panhuber 8d9f60ca5e Improve user feedback in case of wrong configuration of audio driver 2021-04-14 21:52:54 +02:00
Jeremiah McCarthy 7b45b38fe4 Remove DFU mode and rt 2021-04-12 11:17:01 -04:00
Reinhard Panhuber 2134c1a875 Fix defines in audio_device.c 2021-04-08 21:48:36 +02:00
Reinhard Panhuber 4bebb9ca49 Remove depracted defines in audio_device.c 2021-04-08 20:11:51 +02:00
Jeremiah McCarthy ae851bba31 Resolve gcc warnings for no parameter functions 2021-04-07 17:15:26 -04:00
Jeremiah McCarthy 2e2dc7bdc5 Revise per initial comments
Returns the RT driver to the function state of previous iteration, which
did not support the will_detach.  Behavior should be fine without this
feature.  This removes much of the added bloat to track state, and
handle requests in the APP_DETACH state which is no longer required.

Removes the optional bloat added to the RT driver, such as responding to
GETSTATE requests.

Fixes the DFU Mode to extract the attr bits from the functional
descriptor when opened.

Fixes some incorrect bitwise if checks.

Also, updates some naming of functions to be consistent with the rest of
the library.
2021-04-07 17:05:04 -04:00
Reinhard Panhuber 8eacdffebd Optimize encode/decode - refactor unnecessary repetitive division 2021-04-07 20:07:28 +02:00
hathach 58bab86d79 minor clean up 2021-04-06 21:09:23 +07:00
hathach 8b79040c38 code format 2021-04-06 15:34:50 +07:00
Jeremiah McCarthy c39b7b8177 Add DFU runtime and mode "class"
With the runtime and mode portions in separate classes, a single
application should only be building with one or the other enabled.  In
some applications both might be desired at build time.

The CFG_TUD_DFU_RUNTIME_AND_MODE option creates a DFU class, which asks
the application which mode to initialize to.  This allows a runtime
change between RT and DFU mode, by just reinitializing tusb.
2021-04-05 17:52:33 -04:00
Jeremiah McCarthy bc2cb99780 Remove unreachable callback 2021-04-05 17:06:27 -04:00
Jeremiah McCarthy fdc91f8d2c Fix bug during initialization of DFU Mode 2021-04-05 16:48:09 -04:00
Jeremiah McCarthy c5b8ef1529 Separate DFU RT and Mode. Untested 2021-04-05 16:32:58 -04:00
hathach 68687ed0f4 fix build 2021-04-06 01:16:51 +07:00
hathach 7ab8da949e audio driver only use USE_LINEAR_BUFFER = 0 for stm32 synopsys driver 2021-04-06 01:07:32 +07:00
Jeremiah McCarthy 164d3e82e3 Fix incorrect DNLOAD request len passed to app
Fixes bug where the app callback was getting the length of the status
request transfer rather than the length of the data stage payload.

TODO: Right now this returns the expected length, when it really should
be returning the transfer length.
2021-04-05 11:13:42 -04:00
Reinhard Panhuber 1ac9e7e3a7 Fix wrong read mutexes in audio_device.c 2021-04-03 18:22:19 +02:00
Reinhard Panhuber f6ba58e370 Fix wrong pointer type in audio_device.c 2021-04-03 17:50:30 +02:00
Reinhard Panhuber 4af5189492 Fix potential bug in support FIFO sizes 2021-04-03 16:53:29 +02:00
Reinhard Panhuber 475badd087 Add missing #defines in uac2_headset example 2021-04-03 16:10:46 +02:00
Reinhard Panhuber fc65f39ff2 Fix error in #defines in uac2_headset 2021-04-03 15:58:41 +02:00
Reinhard Panhuber ec6b240de2 Fix #define error in audio_device.h 2021-04-03 15:44:44 +02:00
Reinhard Panhuber 6236effb14 Fix #define error in audio_device.h 2021-04-03 15:29:39 +02:00
Reinhard Panhuber 8b90c08b35 Fix #define errors in audio_device.h 2021-04-03 15:24:38 +02:00
Reinhard Panhuber a1efd41649 Merge remote-tracking branch 'upstream/master' into edpt_ISO_xfer 2021-04-03 09:50:08 +02: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
Ha Thach eb92986b88
Merge pull request #766 from hathach/enhance-midi
Enhance midi
2021-04-02 15:47:40 +07:00
hathach 48bb96f507 correct midi stream read behavior to read until user buffer is full or no more data from usb fifo 2021-04-02 15:08:36 +07:00
hathach 350eb11277 refactor midi read buffer to stream 2021-04-02 14:52:44 +07:00
hathach da59c4ad44 rename midi write()/read() to stream_write() stream_read()
also add deprecated for warning and rename hint
2021-04-02 14:43:38 +07:00
hathach 99b78e62f2 removed tud_midi_write24() 2021-04-02 14:34:13 +07:00
hathach 08fe16840f refactor midi write into stream 2021-04-02 14:26:55 +07:00
hathach 6b04efd443 refactor midi stream read 2021-04-02 13:55:51 +07:00
hathach 080b14b292 fix midi tx fifo overflow cause data corruption
rename
2021-04-02 13:26:55 +07:00