Commit Graph

2516 Commits

Author SHA1 Message Date
Ha Thach 7b1344fe69
Merge pull request #1467 from kilograham/rp2040_cleanup
Minor cleanup of RP2040 code post addition of Pico-PIO-USB
2022-05-26 23:54:20 +07:00
Ha Thach 0a4a28a90c
Merge pull request #1451 from kasjer/kasjer/pic32-sanity-fixes
pic32 sanity fixes
2022-05-24 20:42:06 +07:00
graham sanderson 26c4d4b328 Minor cleanup of RP2040 code post addition of Pico-PIO_USB
* Removed some compiler warnings, and cleaned out unnecessary warning suppression from CMake suppress_tinyusb_warnings()
* Made explicit family_configure_dual_usb_example() for DUAL mode examples as family_configure_target() may not generally be called multiple times for the same target

* Renamed library pico_pio_usb to tinyusb_picio_pio_usb to be clearer and avoid conflict if someone already has a pico_pio_usb in their project
* Added family_add_pico_pio_usb() method for adding Pico-PIO_SUB support to an existing example
* Allowed tinyusb_pico_pio_usb to be added to regular apps using the Pico SDK
2022-05-20 17:25:30 -05:00
hathach 8473ca16fb clean up 2022-05-10 22:56:06 +07:00
Jerzy Kasenberg e49cad84e2 dcd_pic32: Fix memory overwrite in incoming data
When transfer was finished rx_fifo_read() read all that
was to read RXPKTRDY was cleared allowing next packet to
be received.
Then xfer_complete was called.
Interrupt for OUT endpoint was left enable, that would not
be a problem if data was handled fast and new transfer was
scheduled.
For MSC when host sends a lot of data this interrupt that was
enabled could cause epn_handle_rx_int() to be called after
transfer was completed and next was not scheduled yet.
Without TU_ASSERT that was added to detect this, incoming
data was written past buffer provided by user code resulting
in random memory corruption.

This just blocks RX interrupt when transfer is finished,
and also only unmasked rx interrupts are handled.
2022-05-01 14:26:24 +02:00
Jerzy Kasenberg c145777e0e dcd_pic32: Add asserts transfer sanity check
TU_ASSERTS added to detect transfer inconsistency.
2022-05-01 14:14:42 +02:00
Jerzy Kasenberg d51743a21c Add TU_BREAKPOINT for mips architecture
_mips is provided by xc32-gcc
2022-05-01 14:05:49 +02:00
hathach 0b30a10ab3 configure hid_to_cdc example to build with rp2040 with pio usb as host 2022-04-29 22:24:36 +07:00
hathach 85dcb73774 more clean up 2022-04-28 18:00:30 +07:00
hathach a72d4e2462 make hcd_event_handler() fastfunc, and force inline other helper 2022-04-27 20:54:21 +07:00
hathach ae5490e5a5 clean up 2022-04-27 20:52:56 +07:00
hathach 4a661dead0 add TU_ATTR_FAST_FUNC for rp2040 __not_in_flash() section 2022-04-27 17:57:52 +07:00
hathach 455bddddcd
minor clean up 2022-04-26 18:47:09 +07:00
hathach 4d11c658ff
improve pio usb endpoint handler 2022-04-26 13:08:03 +07:00
hathach 26a25279bc
follow pio usb changes 2022-04-26 00:35:16 +07:00
hathach 2f9b9a31be
more with pio usb 2022-04-22 18:26:58 +07:00
hathach 12debd7763
keep up with pio usb 2022-04-22 01:06:17 +07:00
hathach 98bbb0d402
Merge branch 'master' into pio-host 2022-04-21 12:05:22 +07:00
hathach 6a022c73db
add note for tud_task() behavior in freertos example 2022-04-20 18:35:38 +07:00
hathach b034c18077
add tud_task_ext(), tuh_task_ext() as exteneded version that take timeout and in_isr
also allow exit tud_task,tuh_task after processing all events for
running other background task for user
2022-04-20 18:29:41 +07:00
hathach 669e36d674
fix freertos issue when 1 tick > 1 ms 2022-04-20 14:37:42 +07:00
hathach a90839688c
add msec timeout to osal_queue_receive(), tud_task() and tuh_task() both pending for event queue with timeout of 1 ms 2022-04-20 13:25:38 +07:00
hathach a32cb1bb93 clean up pio driver 2022-04-18 17:49:21 +07:00
hathach b5a9537eea
support pio dcd endpiont stall 2022-04-16 01:19:51 +07:00
hathach 05bfc1a9eb pio device works well 2022-04-15 01:04:12 +07:00
hathach cc5a4720e5 catch up with pio lib 2022-04-14 22:00:47 +07:00
hathach d5d4909c20 proof of concpet that device pio-usb work with host pio-usb 2022-04-08 13:36:05 +07:00
hathach d97c154695 add need_pre for pio usb, but not work out well 2022-04-05 00:04:47 +07:00
hathach d7d7e61f34 correct pio usb speed, and close device 2022-04-03 22:48:08 +07:00
hathach 7ea75d3c09 use pio usb host init 2022-04-03 20:44:16 +07:00
hathach f6851cf187 clean up hcd pio 2022-04-03 00:17:58 +07:00
hathach f881e77e66 extracting hw root port 2022-04-02 19:19:00 +07:00
hathach c25f835aea update to use pio hw endpoint 2022-04-01 23:31:43 +07:00
hathach db6cba6a7b rename pio to pio_usb 2022-04-01 16:38:41 +07:00
hathach e6e3dfedc8 hid example work well 2022-04-01 16:34:36 +07:00
hathach 75bca96bc6 pio usb control work well including stall response 2022-04-01 16:01:24 +07:00
hathach e94d11a5b3 implement pio_usb_irq_handler 2022-03-31 12:56:53 +07:00
hathach e2f0aef93b make use pio_usb_port_reset_start/end 2022-03-30 16:41:55 +07:00
hathach 45052c625e
Merge branch 'master' into pio-host 2022-03-20 00:51:00 +07:00
hathach 821be65b03
rename usbh_edpt_open() to tuh_edpt_open() 2022-03-19 14:59:31 +07:00
hathach 4795cca04a
add parse config descriptor to example
move usbh_edpt_open() to public API, remove rhport from its signature
2022-03-19 00:43:31 +07:00
hathach ba1185bf28
implement tuh_edpt_xfer() for non-control 2022-03-18 22:22:21 +07:00
hathach 9ae0304b1e
move code around 2022-03-18 18:04:25 +07:00
hathach 8750e3b577
move daddr into xfer struct 2022-03-18 16:39:35 +07:00
hathach 2ff8978dde
update sync API, move timeout into xfer struct
remove tuh_control_xfer_sync()
2022-03-18 13:38:30 +07:00
hathach 85c6d6d37d
minor update for control xfer 2022-03-18 12:51:12 +07:00
hathach c063ab4944
try to fix ci 2022-03-18 00:56:51 +07:00
hathach f89ff939d8
rename user_arg to user_data 2022-03-17 22:37:51 +07:00
hathach 9dd2f11f4a
add CFG_TUH_API_EDPT_XFER to enable generic edpt xfer 2022-03-17 21:20:20 +07:00
hathach 55428d7dd2
rename tuh_control_xfer_t to tuh_xfer_t 2022-03-17 20:52:16 +07:00