Commit Graph

569 Commits

Author SHA1 Message Date
Jeremiah McCarthy bc2cb99780 Remove unreachable callback 2021-04-05 17:06:27 -04:00
Jeremiah McCarthy c5b8ef1529 Separate DFU RT and Mode. Untested 2021-04-05 16:32:58 -04: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
Jeremiah McCarthy 1138f8cc70 Add DFU Class per Version 1.1 Spec 2021-03-26 15:30:43 -04:00
hathach a397353916 fix ci build with rp2040 2021-03-10 17:58:39 +07:00
hathach 794083b647 Merge branch 'master' into edpt_ISO_xfer 2021-03-10 17:10:49 +07:00
hathach eeea19c0ab usbd ack SET_INTERFACE if it is not implemented by class driver. 2021-03-10 11:33:03 +07:00
hathach a655a4169e add note for MIDI (audio v1.0) endpoint decriptor use 9 bytes instead of 7 2021-03-04 01:18:49 +07:00
Ha Thach 68db108b35
Merge pull request #688 from duddie/master
Fix Endpoint descriptor size for MIDI Device
2021-03-04 01:10:37 +07:00
Reinhard Panhuber 7b8a08d2e1 Rename dcd_edpt_iso_xfer() to dcd_edpt_xfer_fifo() 2021-03-02 20:00:39 +01:00
hathach 9d5e369170 rp2040 add disconnection detection
- also use dcd_event_bus_reset()
- Add TODO for suspend, resume later on (need to test with/without vbus
detection).
2021-03-02 23:24:36 +07:00
Duddie 72c1066ed1 Fix Endpoint descriptor for MIDI Device
Endpoint descriptor should be 9 bytes in length (not 7) and have two extra bytes at the end: bRefresh and bSynchAddress

According to MIDI USB specification 1.0 (6.2.1 Standard MS Bulk Data Endpoint Descriptor)
2021-02-28 22:18:35 +08:00
Reinhard Panhuber cdf600048f Merge remote-tracking branch 'upstream/master' into edpt_ISO_xfer 2021-02-12 18:05:20 +01:00
Ha Thach 04ab6b4082
Merge pull request #648 from hathach/rename-dfu-rt-to-runtime
Rename dfu rt to runtime
2021-02-11 15:29:55 +07:00
Ha Thach d4281291e5
Merge pull request #647 from hathach/correct-fs-bulk-epsize
more epsize checking per type
2021-02-11 12:36:19 +07:00
hathach e12c25ec2c rename dfu_rt to dfu_runtime for easy reading
also rename tud_dfu_rt_reboot_to_dfu to tud_dfu_runtime_reboot_to_dfu_cb
2021-02-11 12:05:22 +07:00
hathach 9812cfc6c6 clean up 2021-02-11 11:48:34 +07:00
hathach 919bb9ce38 more epsize checking per type 2021-02-11 11:45:24 +07:00
hathach 49bc97b0ca remove the requirement of std SET/CLEAR_FEATURE must not return zlp status 2021-02-11 11:22:02 +07:00
hathach bb2f93d427 prepare for release 2021-02-05 20:41:41 +07:00
Reinhard Panhuber 84406f1654 Rework audio driver 2021-01-31 19:08:23 +01:00
Reinhard Panhuber 93ec6f3735 Adjust #include "dcd.h" to "device/dcd.h", the same for usbd.h in usbd.c 2021-01-19 17:10:08 +01:00
Reinhard Panhuber 56edc2b261 Change names from edpt_ISO_xfer to edpt_iso_xfer 2021-01-19 10:50:19 +01:00
Reinhard Panhuber 2284db1fb5 Add usbd_edpt_ISO_xfer() 2021-01-18 17:14:17 +01:00
Reinhard Panhuber 84c383061f Add tusb_fifo.h header file to dcd.h 2021-01-18 17:08:59 +01:00
Reinhard Panhuber 485d8fa77e Merge remote-tracking branch 'upstream/master' into edpt_ISO_xfer 2021-01-09 12:10:08 +01:00
hathach 6e6e6265e4 use dcd_event_bus_reset() with speed to replace bus_signal 2021-01-08 22:34:36 +07:00
Reinhard Panhuber 09d8ead4b8 Start changes - not yet finished 2021-01-04 12:02:08 +01:00
Jacob Potter 3158b323d8 Adapt to new control xfer callback 2021-01-03 15:16:54 -07:00
Jacob Potter 57058e33fc Merge branch 'master' into ncm 2021-01-03 15:12:02 -07:00
Ha Thach b580a0b7f3
Merge pull request #573 from HiFiPhile/scsi_mode_sense6_t
IAR build error fixes
2020-12-22 17:17:36 +07:00
HiFiPhile c8dc7f807f Fix more warnings.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2020-12-22 10:13:10 +01:00
HiFiPhile b3c0d417ef Fix error if "Required Prototype" is selected.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2020-12-20 23:10:34 +01:00
hathach 148eea1417 add tud_connected()
which return true as long as we receive the very first SETUP packet from
host.
2020-11-24 21:49:12 +07:00
hathach e4144d8b47 remove control_complete 2020-11-20 17:21:01 +07:00
hathach cebb375eac migrate audio device to new control xfer cb 2020-11-20 17:20:05 +07:00
hathach c4bc8b2561 migrate net device to new control xfer cb 2020-11-20 16:59:33 +07:00
hathach 9f853685ae migrate bth device to new control xfer cb 2020-11-20 16:13:58 +07:00
hathach 61ad7bef71 migrate vendor device to new control xfer cb 2020-11-20 15:50:11 +07:00
hathach 3cc1979adb migrate dfu runtime device to new control xfer cb 2020-11-20 15:42:32 +07:00
hathach 7df979673d migrate usbtmc device to new control xfer cb 2020-11-20 15:38:56 +07:00
hathach 8813f9d3b8 clean up 2020-11-20 15:33:05 +07:00
hathach e2abb089f4 migrate midi device to new control xfer cb 2020-11-20 15:30:36 +07:00
hathach dc9a309839 migrate hid device to new control xfer cb 2020-11-19 22:00:49 +07:00
hathach dd07fecc5f migrate cdc_device to new control_xfer_cb 2020-11-19 21:26:06 +07:00
hathach 3c31d08051 merge class driver control_request & control_complete to control_xfer_cb()
migrated msc_device
2020-11-19 21:01:33 +07:00
Ha Thach a708ab6254
Merge pull request #553 from hathach/host-async-control
Host async control
2020-11-07 10:52:14 +07:00
Jacob Potter 226efdcec0 Reduce excessive poll rate on interrupt endpoint 2020-11-05 18:14:56 -07:00
Jacob Potter bb0df2740e Add CDC NCM driver 2020-11-04 20:51:57 -07:00
Jacob Potter 3ea8138750 Rename CDC_COMM_SUBCLASS_ETHERNET_NETWORKING_CONTROL_MODEL
This was a confusing name; "Ethernet control model" (CDC ECM)
and "network control model" (CDC NCM) are two separate USB subclasses.
2020-10-31 10:57:53 -06:00
Jerzy Kasenberg 8669fd7383 audio: Add two channel feature unit descriptor
Feature unit descriptor size depends on number of channels.
So far only single channel feature unit was present.
This change adds feature unit descriptor for two channels.
2020-10-15 15:37:40 +02:00
hathach 87b989e8b4 add usbh_edpt_claim/release
implement USBH_EVENT_FUNC_CALL
2020-10-12 00:35:45 +07:00
hathach b5d4c8185d Merge branch 'master' into host-async-control 2020-10-11 16:22:12 +07:00
Reinhard Panhuber 032e84c9be Revert dcd_alloc_mem_for_conf() but keep changes from @kasjer for ISO EP
Add tud_audio_set_itf_close_EP_cb()
2020-10-09 19:50:05 +02:00
hathach 74a1404bea tab -> spaces 2020-10-07 13:36:27 +07:00
hathach d41248900b Merge branch 'uac2' of https://github.com/PanRe/tinyusb into PanRe-uac2 2020-10-06 22:32:22 +07:00
Reinhard Panhuber 603ce17696 Change AUDIO_CS_INTERFACE_HEADER to AUDIO_CS_AC_INTERFACE_HEADER 2020-10-01 17:49:30 +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 13a9cbde79 Change AUDIO_FUNC_PROTOCOL_CODE_UNDEF for midi in usbd.h 2020-09-29 23:30:35 +02:00
Reinhard Panhuber 142871654e Merge remote-tracking branch 'upstream/master' into uac2 2020-09-28 18:08:39 +02:00
Jerzy Kasenberg f55437d889 audio: Add descriptor for mono speaker
This provides descriptor for mono speaker with
explicit feedback.
2020-09-28 08:41:17 +02:00
Jerzy Kasenberg 2ace98e943 audio_device: Update explicit feedback support
Feedback can be specified by the user code and will be
sent at feedback endpoint specified interval.
2020-09-28 08:41:17 +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
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 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 b8b95e8494 add in_isr to all hcd event functions 2020-09-05 15:46:50 +07:00
hathach 4d57b4ea33 clean up 2020-09-05 13:57:07 +07:00
Reinhard Panhuber 12562fc966 Merge remote-tracking branch 'upstream/master' into uac2 2020-09-04 16:23:39 +02:00
hathach 1d83ad0ebb rename tuh_isr/hcd_isr to tuh_int_handler/hcd_int_handler 2020-09-03 13:12:25 +07:00
Reinhard Panhuber 6309364722 Merge remote-tracking branch 'upstream/master' into uac2
Conflicts:
	src/device/usbd.c
	src/device/usbd.h
	src/portable/st/synopsys/dcd_synopsys.c
2020-08-16 14:08:24 +02:00
hathach a9d362185b update note for app driver list mustbe accesible at all time. 2020-08-07 15:06:19 +07:00
hathach 01b9b77d3b allow application driver to overwrite built-in one
- position application driver before built-in
- remove dcd.h from public include.
2020-08-07 14:47:32 +07:00
hathach 9df8057702 Merge branch 'master' into add-app-driver 2020-08-07 12:13:13 +07:00
hathach acde49ccc9
enable pull-up in dcd_init() instead of usbd 2020-08-01 20:14:58 +07:00
Reinhard Panhuber 01903a4a6d Implement dynamic reallocation of RX and TX fifos for EP0.
Tested with EP0 size 8/16/32/64.
2020-07-27 21:03:20 +02:00
Reinhard Panhuber e047fbe8fb Merge remote-tracking branch 'upstream/master' into uac2 2020-07-25 14:26:24 +02:00
hathach 503c15217e
example to call tud_init() after freeRTOS kernel is started
add note for usb init when using with RTOS
2020-07-23 09:20:45 +07:00
Ha Thach be744e1e01
Merge pull request #466 from chang196700/feature/string_desc_msos
Remove 0xEE index string if statement & change TU_ASSERT to TU_VERIFY
2020-07-21 20:25:08 +07:00
Chang Feng 5cd654838b
Remove 0xEE index string if statement & change TU_ASSERT to TU_VERIFY
Signed-off-by: Chang Feng <chang_196700@hotmail.com>
2020-07-19 19:13:17 +08:00
Reinhard Panhuber d0f3d03933 Intermediate commit. 2020-07-17 08:40:10 +02:00
hathach 706413f751 add tud_speed_get()
- define both fs and hs configuration descriptor
- rename CFG_TUD_CDC_EPSIZE to CFG_TUD_CDC_EP_BUFSIZE with default size of 64 for FS, and 512 for HS
2020-07-16 00:44:09 +07:00
hathach ab75998316 Merge branch 'master' into add-stm-hs 2020-06-30 01:55:57 +07:00
Reinhard Panhuber 28505cf03e Merge branch 'master' into uac2
Conflicts:
	src/device/usbd.c
2020-06-20 11:10:35 +02:00
Reinhard Panhuber ada82b840f Get update from tinyusb. 2020-06-20 10:51:21 +02:00
Mengsk 57b553e023 Fix IAR warnings.
Pa039 : use of address of unaligned structure member.
Pe188: enumerated type mixed with another type.
2020-06-17 10:08:33 +02:00
Reinhard Panhuber bc7e24b659 Fix wrong comment for IAD checks. 2020-06-14 14:22:10 +02:00
hathach 95966c2201 improve usbd log for control transfer 2020-06-14 18:29:02 +07:00
Reinhard Panhuber b25bbf4776 Fix alignment. 2020-06-14 12:58:16 +02:00
Reinhard Panhuber 3012175351 Fix alignment. 2020-06-14 12:57:00 +02:00
Reinhard Panhuber 862d1667f0 Fix alignment. 2020-06-14 12:55:52 +02:00
Reinhard Panhuber 930817221d Merge branch 'fix-too-strict-iad-checks' into uac2
Conflicts:
	src/device/usbd.c
2020-06-14 12:36:59 +02:00
Reinhard Panhuber 48b2e6cf78 Fix too strict checks on subclass and interface of iad descriptor. 2020-06-13 13:51:50 +02:00
Reinhard Panhuber 4362665fb3 Fix mic audio descriptor, fix too strict check on IAD desc. in usbd.c 2020-06-13 12:36:05 +02:00
Reinhard Panhuber d2f1bb58b3 Merge branch 'master' into uac2 2020-06-11 14:35:44 +02:00
hathach e92118635c adding speed detect on bus reset 2020-06-01 13:40:18 +07:00
hathach f771afe6af fixed EP0 size to 64 since LS is not supported in device mode
- set turn-around and report actual speed in Enum Done
- add dcd_event_bus_reset() helper to report speed
2020-05-31 23:43:29 +07:00
Ha Thach 5efeaf2ac1
Merge pull request #413 from kasjer/kasjer/ble-over-usb
Bluetooth HCI transport over USB
2020-05-31 15:07:56 +07:00
hathach d6d29897f3 add get device qualifier descriptor 2020-05-28 23:16:16 +07:00
Jerzy Kasenberg 56d46483e4 Add bt hci device class
Code implements USB transport for bluetooth HCI.
2020-05-28 10:58:49 +02:00
Jerzy Kasenberg 077437b3dc Add non standard request handling in class
For some reason bluetooth stack implementations send class requests
to device instead of interface.
To implement HCI interface over USB non device addressed requests
for class need to be handled.
2020-05-28 10:11:37 +02:00
hathach e340404968
changing usbd driver open() return type, add max_len
only done with cdc and msc, push this interim for feedback first
2020-05-27 19:01:59 +07:00
hathach d4bf777c94 try to get synopsys work with OTG HS + external PHY 2020-05-27 11:01:33 +07:00
Reinhard Panhuber 9be2f1bf3d Add basic UAC2 structure - untested 2020-05-22 12:09:34 +02:00
hathach 88a455a9b9 added tud_task_event_ready()
to check if there is pending events in the tud task without executing
it. Useful to check before entering low power mode with WFI/WFE
2020-05-20 14:31:45 +07:00
Sean Cross 63bd8d2e44 device: fix build warning when CFG_TUSB_DEBUG >= 2
The function is defined inside of a function body which generates a
warning.  Circuit Python treats these warnings as errors, and so
refuses to build with debugging enabled:

    ../../lib/tinyusb/src/device/usbd_control.c: In function 'usbd_control_xfer_cb':
    ../../lib/tinyusb/src/device/usbd_control.c:195:19: error: nested extern declaration of 'usbd_driver_print_control_complete_name' [-Werror=nested-externs]
      195 |       extern void usbd_driver_print_control_complete_name(bool (*control_complete) (uint8_t, tusb_control_request_t const *));
          |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    cc1: all warnings being treated as errors
    make: *** [../../py/mkrules.mk:55:
    build-simmel/lib/tinyusb/src/device/usbd_control.o] Error 1

Move the declaration to the top of the function to silence this warning.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-07 19:03:40 +08:00
hathach 6f4b6a1d03 remove the use of TU_VERIFY_HDLR 2020-04-29 11:31:27 +07:00
hathach c14c0cfc9f support class drivers implemented by application 2020-04-29 10:49:58 +07:00
Ha Thach d4511186a2
Merge pull request #383 from kasjer/kasjer/fox-busy-flag-race-condition
Fix endpoint busy flag race condition
2020-04-29 10:12:31 +07:00
hathach fcdb22b2f9 fix typo 2020-04-28 10:53:43 +07:00
Jerzy Kasenberg 63cefb7615 Fix endpoint busy flag race condition
Busy flag was set to true after call to dcd_edpt_xfer().
In some cased it was possible that transfer finished before function
ended.
In this case busy flag could be set to false before it was set to
true.
Then setting it to true after dcd_edpt_xfer() made edpoint busy forever.

This change marks endpoint as busy before transfer is started to
avoid race condition.
2020-04-27 16:42:35 +02:00
hathach a1c599f4b6 clean up log message 2020-04-26 22:02:49 +07:00
hathach 017c95037f add usbd edpt open
- RTT mode is blocking to prevent log lost
- Improve logging message
2020-04-26 14:51:44 +07:00
Ha Thach 379b8ac556
Merge pull request #365 from pigrew/desc_tu_verify
tu_verify for getting descriptors
2020-04-22 12:24:05 +07:00
Nathan Conrad 0ec69de77c sof is optional, revert other changes but remove unneeded check. 2020-04-21 10:06:17 -04:00
Nathan Conrad d1656c0b8d tu_verify for getting descriptors 2020-04-20 16:09:15 -04:00
hathach bbcf9241bd add back MIDI multiple jack 2020-04-20 23:46:17 +07:00
hathach 6f9c256ad0
complete remove dcd_set_config(), fix unit test 2020-04-17 13:52:34 +07:00
hathach 05476d9ad7 Merge branch 'master' into remove-dcd-set-config 2020-04-17 13:38:22 +07:00
hathach 50be9d7c3a
mass rename tud/dcd_irq_handler to tud/dcd_init_handler 2020-04-17 12:27:53 +07:00
Ha Thach 33610751d7
Merge pull request #336 from pigrew/edpt_close
> If you notice my chain of events above, the bulk transfer was started BEFORE the SET_INTERFACE call. The USB device hardware swaps the order of them being delivered. On STM32, it gives priority to the lower-numbered EP index.

It shouldn't be a matter, control is 2+ stage, before sending the setup. Host should stop all communication to the endpoint that It wants to close.
2020-04-16 23:10:36 +07:00
Ha Thach bfec3b4479
Merge pull request #345 from hathach/add-alt-itf
Implement setInterface(alt) for usb net driver
2020-04-16 21:33:03 +07:00
Nathan Conrad 2994d100cd Remove transfer queue filtering. May need to be revisited later. 2020-04-16 09:59:40 -04:00
hathach 969121df4f
added dcd disconnect/connect to lpc17/40 2020-04-16 15:52:45 +07:00
hathach 2eed58d096
per review 2020-04-16 11:13:54 +07:00
hathach 0ddbda08cb
always response if GET_INTERFACE even if class driver does not support alt interface 2020-04-15 23:08:49 +07:00
hathach caa1dceed9
implement alternate setInterface() request
mostly forward these request (recipient = interface) to class driver.
2020-04-15 17:51:02 +07:00
hathach d315393fbb
use IAD to assign itf2drv mapping correctly
merge net_data back into net driver
2020-04-15 16:18:24 +07:00
hathach 0b39168dc2
add IAD for CDC ECM, remove EEM descriptor template 2020-04-15 15:40:53 +07:00
hathach b03b9eb939
change cdc template protocol to None 2020-04-15 15:14:26 +07:00
hathach 93ffe317b2
clean up 2020-04-15 13:53:50 +07:00
hathach 3bfb402d8c
clean up 2020-04-15 11:44:12 +07:00
hathach 1faa3b2768
tested usbnet, completely remove class code 2020-04-15 11:41:26 +07:00
hathach c74f7e708e
remove class_code/subclass/protocol from driver structure, add name for logging 2020-04-15 11:06:35 +07:00
hathach f1a6f92fab
Merge branch 'master' into class-driver-id 2020-04-15 10:47:49 +07:00
Peter Lawrence 7fa8d87291 usbnet: remove CDC-EEM 2020-04-14 21:10:43 -05:00
hathach 3ef6e33533
use class driver open() for interface support detection
tested with dfu_runtime
2020-04-15 01:00:37 +07:00
hathach ae60146274 use explicit all_subclass and all_protocol since 0xFF is stil valid 2020-04-14 22:35:34 +07:00
Nathan Conrad 16f65890eb Merge branch 'master' into edpt_close 2020-04-14 10:22:03 -04:00
hathach b90b00d43b
complete adding subclass and protocol to driver id 2020-04-14 18:35:50 +07:00
hathach 593fe154ec
adding subclass & protocol to class driver structure 2020-04-14 18:00:59 +07:00
Ha Thach 57ffa94a52
Merge pull request #334 from majbthrd/usbnet_osagnostic
usbnet: OS-agnostic (Windows/Linux/macOS) network driver
2020-04-14 17:39:50 +07:00
Nathan Conrad de208b31cf edpt_close: Remove item from queue instead of modifying it. 2020-04-13 11:05:34 -04:00
Nathan Conrad f8e7487355 edpt_close: Updated based on feedback. 2020-04-13 09:51:46 -04:00
hathach f4df829399 lpc17xx move set configdevice into set address
for removing dcd_set_config()
2020-04-13 17:04:18 +07:00
Nathan Conrad 0eeaccaf46 Skeleton, and initial stm32fsdev implementation (that leaks memory) 2020-04-12 21:27:27 -04:00
Peter Lawrence bb3bbcc00b usbnet: OS-agnostic (Windows/Linux/macOS) network driver 2020-04-12 15:41:18 -05:00
Ha Thach 04a06ec401
Merge branch 'master' into refactor-irqhandler 2020-04-11 15:49:34 +07:00
Ha Thach 07809d03a7
Merge pull request #332 from pigrew/stm32fsdev-dcdconnect
stm32fsdev: Implement dcd_connect.
2020-04-11 13:20:31 +07:00
Ha Thach 2ff3f765db
Merge pull request #319 from hathach/add-esp32s2
port ESP32 S2
2020-04-10 23:53:03 +07:00
Nathan Conrad 5bd9d14fc1 stm32fsdev: set dcd_connect API definitions to strong, Modify documentation. 2020-04-10 10:26:41 -04:00
hathach 1b3d1b52c9 fix uint32_t format with log 2020-04-10 13:54:50 +07:00
Nathan Conrad 715c4dbbf8 stm32fsdev: Implement dcd_connect. 2020-04-09 17:03:12 -04:00
hathach 11201f1a06 adding dcd_connect/disconnect 2020-04-09 11:42:42 +07:00
hathach 4179334aca call tud_irq_handler() for all nrf5x board 2020-04-06 17:35:11 +07:00
hathach fb05451a26 mass rename dcd_isr() to dcd_irq_handler() 2020-04-06 17:24:22 +07:00
hathach dc4bf02dcb mass rename tud_isr to tud_irq_handler 2020-04-06 17:04:49 +07:00
hathach c026236824 house keeping 2020-04-06 16:33:04 +07:00
hathach 2d6d298302 move irqhandler to application
tud_isr() must be called by application to forward the irqhandle to the
stack
2020-04-06 14:11:45 +07:00
Peter Lawrence 794212d44e revise argument order for TUD_CONFIG_DESCRIPTOR macro 2020-03-31 10:53:47 -05:00
Peter Lawrence 87f313da48 add provision for multiple configurations 2020-03-30 13:47:17 -05:00
Nathan Conrad 6606cf2896 USBD: Use tud_control_xfer only for data 2020-03-27 15:54:37 -04:00
hathach 4f871063fd Merge branch 'master' into cr1901-msp430f5529 2020-03-22 17:19:57 +07:00
Nathan Conrad 7f6316dbe1 Use CRLF on UART. 2020-03-14 14:26:14 -04:00
hathach c8247f0907 fix zlp for nrf52840 2020-03-08 14:20:28 +07:00
hathach 7aa5a53652 fix log printf 2020-03-08 13:26:36 +07:00
Ha Thach 5f5ee465a6
Merge pull request #291 from hathach/port-samg55
Port samg55
2020-03-07 16:38:59 +07:00
Peter Lawrence fee79d7466 add CDC-ECM/RNDIS/CDC-EEM network device class with example 2020-03-02 21:15:01 -06:00
Chang Feng b8ea0f0a6b
Add langid support to descriptor string callback.
Signed-off-by: Chang Feng <chang_196700@hotmail.com>
2020-02-26 13:07:15 +08:00
hathach b6b9fe42af more log for debugging 2020-02-07 16:43:44 +07:00
Nathan Conrad 25c1bea782 Normalize line endings 2020-01-15 14:47:43 -05:00
Ha Thach d6a8d42bd6
Merge pull request #254 from majbthrd/multi-setconfig
gracefully handle multiple SET_CONFIGURATION requests
2020-01-05 17:48:55 +07:00
Jeremy Herbert db24b2f372 Let device respond to endpoint requests on EP0 (#251)
Since endpoint 0 is used for control requests, it doesn't have a class driver attached to it. As such, the corresponding `_usbd_dev.ep2drv` entry points to driver `0xFF`, which is invalid and this makes the `TU_ASSERT(drvid < USBD_CLASS_DRIVER_COUNT);` line fail, and eventually causes an endpoint stall. So as-is the stack cannot respond to any endpoint requests on endpoint 0.

However, standard requests on endpoint 0 do not need a class driver to produce a valid response. This commit changes the order of execution so that the assert is only checked if the endpoint is not 0.
2019-12-30 10:58:06 +07:00
Peter Lawrence e7bf66b29e gracefully handle multiple SET_CONFIGURATION requests 2019-12-28 16:49:52 -06:00
hathach 2caa1ac078 Merge branch 'master' into develop 2019-12-24 21:13:05 +07:00
hathach bbada1d3e6 adding lookup table for debugging
add msc scsi command list
2019-12-23 18:54:06 +07:00
hathach 050fa2fd39
able to response to scsi inquiry, but failed to response to test unit ready 2019-12-21 19:33:41 +07:00
hathach a1e55e57a4
clean warnings 2019-12-20 17:09:42 +07:00
hathach d7558e8a0f use dcd_edpt0_status_complete() to set address without blocking for samd21/samd51/stm32_fsdev 2019-11-28 13:39:29 +07:00
hathach 5dc04887e2 get passed set address 2019-11-28 11:48:08 +07:00
hathach 6bc245cb36 add dcd_edpt0_status_complete() which is useful for several mcu port 2019-11-28 11:46:36 +07:00
hathach 40b454cf28 get passed first get device descriptor 2019-11-27 23:20:48 +07:00
hathach 8a1b6327ba extract code to invoke_class_control()
- also rename usbd_class_drivers to _usbd_driver
2019-11-27 12:12:52 +07:00
hathach f5d737aa7e moving irq to bsp for lpc17/40 2019-11-21 23:19:38 +07:00
hathach bbec47b647 adding tud_isr/tuh_isr with lpc18/43 2019-11-21 22:20:30 +07:00
hathach 1ab3a1035c Merge branch 'master' into cr1901-msp430f5529 2019-11-05 10:17:36 +07:00
hathach 3c49ff153e
Merge pull request #149 from pigrew/ZLP_Request2
Zlp request2
2019-11-05 00:05:21 +07:00
Nathan Conrad 8d0fa158d7 Change one more TU_ASSERT to TU_VERIFY in usbd. 2019-11-04 11:33:14 -05:00
hathach 2727983a2d fix #211 2019-11-04 22:52:29 +07:00
Nathan Conrad a94fe05ecb usbd: Change TU_ASSERT to TU_VERIFY as the assertion can be hit when bad data is sent from host. 2019-11-04 08:59:29 -05:00
hathach 44ad683bd6 fix tud_control_status() didn't update request 2019-11-04 11:21:57 +07:00
hathach 65e96e5d52 added optional dcd_control_status_complete() 2019-11-03 18:00:07 +07:00
hathach 62f8c14fae add a bit of log1 for debugging 2019-11-03 14:08:38 +07:00
hathach 7bf01e218d make control buf static 2019-11-03 11:43:07 +07:00
hathach 1b51b78eaf hack the request length for the first get device descriptor if EP0 size =8 or 16
to prevent usbd control send out ZLP
2019-11-03 00:17:17 +07:00
hathach a0cffdc843 Merge branch 'pigrew-ZLP_Request2' into cr1901-msp430f5529 2019-11-02 23:29:35 +07:00
hathach 164d0db825
Merge branch 'ZLP_Request2' into pigrew-ZLP_Request2 2019-11-01 10:16:59 +07:00
Nathan Conrad d35f86993f Merge remote-tracking branch 'origin/master' into ZLP_Request2 2019-10-31 12:23:54 -04:00