Commit Graph

312 Commits

Author SHA1 Message Date
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
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
6f4b6a1d03 remove the use of TU_VERIFY_HDLR 2020-04-29 11:31:27 +07:00
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
fcdb22b2f9 fix typo 2020-04-28 10:53:43 +07:00
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
a1c599f4b6 clean up log message 2020-04-26 22:02:49 +07:00
017c95037f add usbd edpt open
- RTT mode is blocking to prevent log lost
- Improve logging message
2020-04-26 14:51:44 +07:00
379b8ac556 Merge pull request #365 from pigrew/desc_tu_verify
tu_verify for getting descriptors
2020-04-22 12:24:05 +07:00
0ec69de77c sof is optional, revert other changes but remove unneeded check. 2020-04-21 10:06:17 -04:00
d1656c0b8d tu_verify for getting descriptors 2020-04-20 16:09:15 -04:00
bbcf9241bd add back MIDI multiple jack 2020-04-20 23:46:17 +07:00
6f9c256ad0 complete remove dcd_set_config(), fix unit test 2020-04-17 13:52:34 +07:00
05476d9ad7 Merge branch 'master' into remove-dcd-set-config 2020-04-17 13:38:22 +07:00
50be9d7c3a mass rename tud/dcd_irq_handler to tud/dcd_init_handler 2020-04-17 12:27:53 +07:00
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
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
2994d100cd Remove transfer queue filtering. May need to be revisited later. 2020-04-16 09:59:40 -04:00
969121df4f added dcd disconnect/connect to lpc17/40 2020-04-16 15:52:45 +07:00
2eed58d096 per review 2020-04-16 11:13:54 +07:00
0ddbda08cb always response if GET_INTERFACE even if class driver does not support alt interface 2020-04-15 23:08:49 +07:00
caa1dceed9 implement alternate setInterface() request
mostly forward these request (recipient = interface) to class driver.
2020-04-15 17:51:02 +07:00
d315393fbb use IAD to assign itf2drv mapping correctly
merge net_data back into net driver
2020-04-15 16:18:24 +07:00
0b39168dc2 add IAD for CDC ECM, remove EEM descriptor template 2020-04-15 15:40:53 +07:00
b03b9eb939 change cdc template protocol to None 2020-04-15 15:14:26 +07:00
93ffe317b2 clean up 2020-04-15 13:53:50 +07:00
3bfb402d8c clean up 2020-04-15 11:44:12 +07:00
1faa3b2768 tested usbnet, completely remove class code 2020-04-15 11:41:26 +07:00
c74f7e708e remove class_code/subclass/protocol from driver structure, add name for logging 2020-04-15 11:06:35 +07:00
f1a6f92fab Merge branch 'master' into class-driver-id 2020-04-15 10:47:49 +07:00
7fa8d87291 usbnet: remove CDC-EEM 2020-04-14 21:10:43 -05:00
3ef6e33533 use class driver open() for interface support detection
tested with dfu_runtime
2020-04-15 01:00:37 +07:00
ae60146274 use explicit all_subclass and all_protocol since 0xFF is stil valid 2020-04-14 22:35:34 +07:00
16f65890eb Merge branch 'master' into edpt_close 2020-04-14 10:22:03 -04:00
b90b00d43b complete adding subclass and protocol to driver id 2020-04-14 18:35:50 +07:00
593fe154ec adding subclass & protocol to class driver structure 2020-04-14 18:00:59 +07:00
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
de208b31cf edpt_close: Remove item from queue instead of modifying it. 2020-04-13 11:05:34 -04:00
f8e7487355 edpt_close: Updated based on feedback. 2020-04-13 09:51:46 -04:00
f4df829399 lpc17xx move set configdevice into set address
for removing dcd_set_config()
2020-04-13 17:04:18 +07:00
0eeaccaf46 Skeleton, and initial stm32fsdev implementation (that leaks memory) 2020-04-12 21:27:27 -04:00
bb3bbcc00b usbnet: OS-agnostic (Windows/Linux/macOS) network driver 2020-04-12 15:41:18 -05:00
04a06ec401 Merge branch 'master' into refactor-irqhandler 2020-04-11 15:49:34 +07:00
07809d03a7 Merge pull request #332 from pigrew/stm32fsdev-dcdconnect
stm32fsdev: Implement dcd_connect.
2020-04-11 13:20:31 +07:00
2ff3f765db Merge pull request #319 from hathach/add-esp32s2
port ESP32 S2
2020-04-10 23:53:03 +07:00
5bd9d14fc1 stm32fsdev: set dcd_connect API definitions to strong, Modify documentation. 2020-04-10 10:26:41 -04:00
1b3d1b52c9 fix uint32_t format with log 2020-04-10 13:54:50 +07:00
715c4dbbf8 stm32fsdev: Implement dcd_connect. 2020-04-09 17:03:12 -04:00
11201f1a06 adding dcd_connect/disconnect 2020-04-09 11:42:42 +07:00
4179334aca call tud_irq_handler() for all nrf5x board 2020-04-06 17:35:11 +07:00