hathach
172c9f70c7
clean up
2024-04-02 16:55:49 +07:00
hathach
7d3d60f96d
add hcd_configure() to change max NAK dynamically
2024-04-02 16:38:40 +07:00
hathach
e802fe0677
refactor: add hxfr per endpoint
2024-04-02 16:04:03 +07:00
hathach
bd2210b812
always limit number of NAK per endpoint per usb frame to save cpu usage. Default to 1 NAK per endpoint
2024-04-02 12:36:00 +07:00
IngHK
b644e4d955
fixed spelling
2024-03-31 10:27:54 +02:00
IngHK
fe304576d0
reactivated TU_ASSERT(_hcd_data.hirq & HIRQ_SNDBAV_IRQ,);
2024-03-31 10:27:15 +02:00
IngHK
c1a17a7369
removed debug code
2024-03-31 10:27:15 +02:00
IngHK
fbb2818864
added multiple attemp counting per frame
2024-03-31 10:27:14 +02:00
IngHK
79bc09a68c
improved code readability
2024-03-31 10:27:00 +02:00
IngHK
f3fccaad26
improved/fixed trigger 1st retryable EP
2024-03-31 10:27:00 +02:00
IngHK
0bb26c97c3
removed redundant return true;
2024-03-31 10:27:00 +02:00
IngHK
009d85722b
replaced bits xfer_pending, xfer_complete and retry_pending by common 4 bits state
2024-03-31 10:26:59 +02:00
IngHK
11a54bc8e1
renamed define NAK_RETRY_HANDLING to CFG_TUH_MAX3421_MAX_ATTEMPS_PER_FRAME as official option
2024-03-31 10:26:39 +02:00
IngHK
818c64efec
fixed EP0 control handling
2024-03-31 10:26:39 +02:00
IngHK
998090d1a7
added further debug log outputs
2024-03-31 10:26:12 +02:00
IngHK
9fdb1c1684
draft MAX3421E NAK retry handling next frame
2024-03-26 08:12:24 +01:00
hathach
fbb20373c1
implement hcd_deinit() for max3421
2024-03-26 10:26:42 +07:00
hathach
551e47a464
allow rp2040 to use max3421e as host controller
...
- fix warnings build hcd max3421 with rp2040
- add tinyusb_host_max3421 target for rp2040 cmake, -DMAX3421_HOST=1
will enable this
- add max3421 driver implementation for rp2040 family
- update tusb_config for host to allow easy enable host selection for
rp2040 (default/pio-usb/max3421)
2023-12-26 22:50:01 +07:00
Ha Thach
be4d65221b
Merge pull request #2346 from IngHK/LogLineEnds
...
made log line end consistent \r\n
2023-11-29 17:12:08 +07:00
IngHK
7e1fe2ff83
made log line end consistent \r\n
2023-11-24 22:02:58 +01:00
hathach
1f71625a32
add tuh_max3421_reg_read(), tuh_max3421_reg_read() for application usage
...
added max3241 for feather m4 and tested
2023-11-20 21:31:06 +07:00
hathach
46106c6ef4
skip tuh_max3421_spi_cs_api() in hcd_init()
...
only call tuh_max3421_spi_cs_api() in SPI start/end transfer since
Arduino port use this to call begin/endTransaction()
2023-11-02 15:22:02 +07:00
hathach
9cba9a753b
update s3 devkitm with max3421 pin following metro s3, check max3421 version to make sure it is valid
2023-10-27 17:40:53 +07:00
hathach
67e34267a6
change tuh_max3421_spi_xfer_api() signature
...
tested working with sam d21 and d51, not tested with nrf52, seem not
working with esp32
2023-10-04 18:00:32 +07:00
hathach
6b8933cfe8
fix build with new freertos host example
2023-09-28 12:55:59 +07:00
hathach
76c43a5bdc
Merge branch 'master' into add-max3421-esp32
2023-09-27 17:52:18 +07:00
hathach
3b0ffd0f48
change hcd_int_handler(rhport, in_isr) signature: add in_isr
...
change tuh_int_handler() to take in_isr as optional parameter (default =
true)
2023-09-27 15:51:03 +07:00
hathach
2f6592de7f
update max3421 to have hcd_int_handler_ext()
2023-09-27 11:30:18 +07:00
hathach
a7c136c03f
adding host/cdc_msc_hid_freertos example
2023-09-25 16:53:11 +07:00
hathach
81cd995108
add default CFG_TUH_MAX3421 = 0, default spi speed for samd21/samd51 to 12Mhz
2023-09-18 22:15:31 +07:00
hathach
c074488f75
minor rename
2023-09-09 12:20:16 +07:00
hathach
21ab40bab2
- wrap up hcd max3421, work well with nrf52840
...
- also add usbh_defer_func()
2023-09-07 12:38:18 +07:00
hathach
ed0a233d48
vastly improve attach/detach device, still have issue where thing is still hanged occasionally.
2023-08-31 21:28:27 +07:00
hathach
3b7d5aa042
improve connection & disconnection detection. But there is still issue when CONDETIRQ occurs but we are disabled interrupt (for osal queue access).
2023-08-31 16:52:09 +07:00
hathach
41493426b3
use ep buf to keep setup packet, work well with hid device
2023-08-30 16:21:43 +07:00
hathach
1ab488eb06
call xfer_complete_isr() when result is not successful (stalled or failed)
2023-08-30 16:04:18 +07:00
hathach
2a814a99af
- hcd_setup_send() also check for busy flag
...
- xact_inout() to support send setup
2023-08-29 20:27:37 +07:00
hathach
3740a3287a
- correct tuh_max3421e_int_api() for nrf52
...
- hcd_int_disable/enable is software only to reduce interrupt lag
2023-08-29 18:22:21 +07:00
hathach
b31924e13e
- add xfer_complete_isr()
...
- merge addr0 ep to pool
- add control status to xact in/out
- use atomic flag busy to ensure only 1 transfer is active at any time
- execute pending transfer after one is complete (or clear busy flag)
- change rtt mode to block if full
2023-08-28 12:41:44 +07:00
hathach
502b1bdda6
more update to transaction
2023-08-27 23:45:34 +07:00
hathach
cd7464a884
try next endpoint when received NAK
2023-08-25 17:37:09 +07:00
hathach
ac00b91472
add xact_out(), xact_in() to manage transfer
2023-08-25 17:26:57 +07:00
hathach
ecf2f91042
use endpoint pool for more flexible multiple devices support
2023-08-25 16:36:28 +07:00
hathach
09ceaa6cf3
add osal mutex for spi
2023-08-25 13:18:47 +07:00
hathach
f5ebc1700f
add spi lock with interrupt enable/disable
2023-08-25 12:12:44 +07:00
hathach
e6cf125e53
save data toggle, always retry NAK. work with msc device
2023-08-24 16:46:20 +07:00
hathach
344932d27e
add tuh_max3421e_int_api(), retry control if received NAK
2023-08-24 16:27:47 +07:00
hathach
3ed5d6c372
complete enumeration
2023-08-24 16:27:12 +07:00
hathach
2c237b1ae4
able to complete 1st get device descriptor and set address
2023-08-23 17:49:28 +07:00
hathach
e3f3179924
able to get 8 byte descriptor, but read(RCVBC) always return 0
...
- rename max3421e to max3421
- fix incorrect bitmask for HCTL, fix initial device connect
- fix bus reset cause connect IRQ
2023-08-23 15:08:12 +07:00