Commit Graph

424 Commits

Author SHA1 Message Date
Scott Shawcroft 909891325a
Fix slow CDC OUT by NAKing
This NAKs CDC OUT packets when the ring buffer doesn't have
enough space for it. This makes CDC OUT reliable rather than
allowing overwriting into the ring buffer.
2019-03-21 14:52:56 -07:00
hathach 3574688d26 more with mynewt 2019-03-21 00:54:42 +07:00
hathach a1a6220ac8 update osal for mynewt 2019-03-21 00:36:52 +07:00
hathach 87962a222d clean up 2019-03-20 23:12:12 +07:00
hathach da55610f43 clean up 2019-03-20 20:19:21 +07:00
hathach c211ee19dd migrate license from BSD 3 clause to MIT 2019-03-20 16:11:42 +07:00
hathach 4647ad8136
clean up 2019-03-20 14:41:35 +07:00
hathach f932cf3854 stm32 update fifo in comment 2019-03-17 15:16:52 +07:00
hathach 5e92d67015 stm32 update TX Fifo for edpt IN, both CDC + MSC work great
- call dcd_event_xfer_complete() when enough bytes received
- add dcd_get_frame_number()
2019-03-15 18:43:09 +07:00
hathach eda56769b9 dcd_set_address include status response, usbd control stall both control in and out 2019-03-13 23:14:48 +07:00
hathach 195a44172a update stm32 dcd stall control endpoint 2019-03-13 16:54:10 +07:00
hathach 8418cb816b
Merge branch 'master' into stm32f4 2019-03-05 05:45:42 -08:00
hathach a19455d1ff follow up to PR #39 2019-03-04 11:51:36 +07:00
Gregory P. Smith fa8141f31f Fixes #33: Remove invalid use of strncpy().
This was causing a stringop-truncation compiler warning in gcc 8 when
the #defined values being copied from were string literals.
 `error: 'strncpy' output truncated before terminating nul copying 8 bytes from a string of the same length [-Werror=stringop-truncation]`

These fields aren't NUL terminated C strings, they are a fixed width buffer
that is supposed to be space (0x20) padded.
2019-03-03 19:41:41 -08:00
William D. Jones c95ad426c6 stm32f4: Refactor IN and OUT endpoint interrupt handling into their own functions. 2019-02-27 11:01:08 -05:00
William D. Jones f43161353c stm32f4: Refactor RX FIFO read into its own function; remove RXFLVL
resetting (read only) and masking (no nested ints).
2019-02-27 10:39:37 -05:00
William D. Jones c51b11f103 Move all paths using "stm" to "st" subdirectories, update config.mk. 2019-02-27 09:15:07 -05:00
hathach f2d76a39eb mscd: send scsi status before invoke read10/write10/scsi complete callback 2019-02-22 01:31:13 +07:00
Scott Shawcroft c870efffc0
Fix write protected MSC. The bits were flipped. 2019-02-20 15:12:36 -08:00
William D. Jones 5a1c5cf0b7 stm32f4: Clarify comments and disable OTGINT; fixes stack reset on
cable disconnect, and we don't use OTG right now.
2019-02-14 23:41:16 -05:00
William D. Jones 5a34a9de69 stm32f4: Implement STALL logic for endpoints. 2019-02-08 16:46:12 -05:00
William D. Jones 5526d840a8 stm32f4: Do some comment/dead code (per 6048a3b) cleanups. 2019-02-08 12:05:44 -05:00
William D. Jones c7a52829f4 Clarify receive_packet comment, add SOF handling. 2019-02-08 11:51:29 -05:00
William D. Jones 5645d44127 stm32f4: Add for-loop guard for transmit_packet xfers < 4 chars. 2019-02-07 21:25:27 -05:00
William D. Jones 28ccc8bd0b stm32f4: Fix bad implementation of receive_packet function. 2019-02-07 21:23:00 -05:00
William D. Jones b819b33a68 stm32f4: Make sure interrupts enabled for non-zero endpoints. 2019-02-07 20:29:48 -05:00
William D. Jones 4dc6746a68 stm32f4: Implement dcd_edpt_busy. Don't set EPENA for activated endpoints. 2019-02-05 13:22:39 -05:00
William D. Jones 747815f03b stm32f4: Ensure endpoints enabled properly, using correct FIFOs. 2019-02-04 20:30:47 -05:00
William D. Jones f5d9e7e560 stm32f4: Implement dcd_edpt_open. 2019-01-30 09:27:27 -05:00
William D. Jones 7aadaa3ef2 stm32f4: Handle only one setup packet at a time as a workaround. Device
enumerates.
2019-01-30 05:28:48 -05:00
William D. Jones a9e188a3d2 stm32f4: Implement dcd_set_address. 2019-01-30 02:48:49 -05:00
William D. Jones fcabc717d1 Small cleanups (remove inaccurate comment, set EP0 max size based on speed). 2019-01-30 02:03:19 -05:00
William D. Jones 8629f0c108 Properly schedule OUT xfers on a packet basis. 2019-01-30 02:01:09 -05:00
William D. Jones 6918db3639 stm32f4: Add receive packet function. 2019-01-30 01:42:17 -05:00
William D. Jones 9ce29f5ee6 stm32f4: Refactor packet transmit into subroutine. 2019-01-30 00:49:00 -05:00
hathach 1a84f5da54
nrf5x Let application decide USBD_IRQn priority 2019-01-29 19:42:31 +07:00
hathach 59c1b4b427
zero init internal class/device data 2019-01-29 19:39:34 +07:00
hathach e4e8413acc
add tusb_inited() API, check for inited() before running device/host task 2019-01-29 19:05:07 +07:00
hathach 777f41a066
clean up 2019-01-29 18:47:29 +07:00
William D. Jones 9e76635465 stm32f4: Clarify required FIFO sizes and observed behavior. 2019-01-24 04:18:53 -05:00
William D. Jones fe7f304ad4 stm32f4: Start adding OUT interrupt handling, fix buffer sizes; RXFIFO
too low for some reason, TXFIFO EP0 used wrong bitmask.
2019-01-24 03:06:57 -05:00
hathach bd53256126
fix #32 2019-01-23 19:06:37 +07:00
William D. Jones 01117fb965 stm32f4: Finish dcd_edpt_xfer implementation (OUT xfers not functional yet). 2019-01-23 03:31:44 -05:00
William D. Jones b41f610514 stm32f4: Remember to turn off TXFE when IN xfer is done; it not
automatically cleared like EPENA.
2019-01-23 02:24:29 -05:00
William D. Jones 836d13fc4b stm32f4: Fix FIFO write logic (requires 32 bit writes). 2019-01-23 02:06:07 -05:00
William D. Jones aa9a7e882c stm32f4: Properly set control endpoint max packet size. 2019-01-23 00:55:45 -05:00
William D. Jones 17e418bce4 stm32f4: Fix incorrect xfer length for short packet IN xfers. 2019-01-23 00:44:55 -05:00
William D. Jones d1150432fe stm32f4: Remove assumption that EP 0 is only control endpoint. 2019-01-23 00:12:33 -05:00
William D. Jones 51c0ce3f6b stm32f4: Implement interrupt handling for IN packets (first signs of life). 2019-01-22 23:51:58 -05:00
William D. Jones 43c890615a stm32f4: Start implementing dcd_edpt_xfer. 2019-01-22 00:42:43 -05:00
William D. Jones 69f5f18fd6 stm32f4: Remove some template commented code. 2019-01-21 23:45:40 -05:00
William D. Jones 71e1b9d045 stm32f4: Setup packet events in tinyusb now functional. 2019-01-19 21:12:20 -05:00
William D. Jones 5720aef7bb stm32f4: Implement setup packing receive, fix typo in FIFO receive size. 2019-01-19 20:03:18 -05:00
William D. Jones 06c15bf913 stm32f4: Complete initialization for EP0 (packet handling not implemented). 2019-01-19 17:56:53 -05:00
William D. Jones 657d3e2983 stm32f4: Enable USB peripheral, fix typos in register writes. 2019-01-13 18:36:18 -05:00
William D. Jones 03cbd406cb dcd_stm32f4: Add USB init skeleton based on manual (does not enumerate). 2019-01-11 19:53:24 -05:00
William D. Jones 0f9fa5956f bsp.board_stm32f407g_disc1: Switch to external oscillator (more precise). 2019-01-11 13:47:44 -05:00
William D. Jones 75fda7d638 cdc_msc_hid: Ensure example compiles again- add missing prototypes,
fix incorrect prototypes, clean up.
2019-01-10 10:24:45 -05:00
William D. Jones b367baeaf1 Merge branch 'master' of https://github.com/hathach/tinyusb into stm32f4 2019-01-10 09:58:06 -05:00
Scott Shawcroft 52abbec7c5
Remove txbuf in favor of fifo.
Fifo incurs a second copy into a USB buffer but this ensures the
correct USB buffer alignment. Some LPC chips require 64 byte
alignment that txbuf couldn't do.
2019-01-08 14:10:40 -08:00
Scott Shawcroft 048fc9694c
Split out txbuf and add unit test. 2019-01-04 18:27:00 -08:00
Scott Shawcroft a3173b8de4
Add USB Midi support.
It also introduces a txbuffer which copies data into it but passes
the buffer straight to the USB rather than another copy.
2019-01-04 12:16:27 -08:00
hathach 257d60fe1a white spaces 2018-12-21 12:58:53 +07:00
hathach 6f17b4e019 change to dcd_get_frame_number 2018-12-21 12:46:20 +07:00
hathach 426064201a fix samd build 2018-12-19 13:16:42 +07:00
hathach 902697ca07 add dcd_get_microframe() 2018-12-17 12:14:11 +07:00
hathach 351f0d7d78 merge binary.h into tusb_common.h 2018-12-14 15:45:49 +07:00
hathach 2a60427bdc rename bit_* helper to tu_bit_*, BIT_* to TU_BIT_* for consistency 2018-12-14 15:30:54 +07:00
hathach a3713f801d clean up compiler attribute 2018-12-14 13:08:21 +07:00
hathach a6b9432600 clean up error enum 2018-12-13 14:57:21 +07:00
hathach 1c49c479ca seperate tusb_task() to tud_task() and tuh_task()
tusb_task() still exists for backward compatible
2018-12-13 14:51:37 +07:00
hathach af1ffe4675 remove task void* param 2018-12-13 13:53:43 +07:00
hathach bc46dc6edf osal clean up
remove OSAL_TASK_DEF, osal_task_create. Applicaton should create a task
and call tinyusb_task(). This make API consistent with NO OS.
2018-12-13 13:49:09 +07:00
hathach a76d3a8726
clean up 2018-12-12 14:53:11 +07:00
hathach bb544a0951
minor update 2018-12-12 14:43:45 +07:00
hathach c1c501e0c2
change usbd xfer_cb return type to bool 2018-12-12 13:12:06 +07:00
hathach b6cb4757d2
change class driver open return type to bool 2018-12-12 13:00:59 +07:00
hathach 5fd60e5761
clean up 2018-12-12 12:36:40 +07:00
hathach 6c0b0917e1
rename descriptor_* helper to tu_desc_* 2018-12-12 12:01:15 +07:00
hathach 6d86db3977
rename edpt_dir/number/addr to tu_edpt_* 2018-12-12 11:51:31 +07:00
hathach e3514b8054
rename hcd_device_remove to hcd_device_close 2018-12-12 11:34:09 +07:00
hathach c88e16bd11
clean up 2018-12-12 00:48:53 +07:00
hathach aaf65831d8
update ohci for hcd_device_remove 2018-12-12 00:48:41 +07:00
hathach def20ce35b
clean up ehci warnings 2018-12-12 00:13:48 +07:00
hathach 67d6d753d6
replace all hcd pipe close by hcd_device_remove 2018-12-12 00:00:33 +07:00
hathach c94df51503
more clean up 2018-12-11 19:35:08 +07:00
hathach 364666c206
ehci clean up 2018-12-11 17:05:56 +07:00
hathach d05021009b
more ohci clean up 2018-12-11 16:29:43 +07:00
hathach 600fac1845
fix build error with ohci 2018-12-11 16:18:56 +07:00
hathach dbc560658a
more hcd_pipe to hcd_edpt rename 2018-12-11 13:15:05 +07:00
hathach 0d04e6eb96
rename to hcd_edpt_open() 2018-12-11 13:12:21 +07:00
hathach 7deac61d5f
clean up 2018-12-11 13:09:40 +07:00
hathach b8c63ff624
ehci struct rename 2018-12-11 13:01:07 +07:00
hathach b0717275c8
ehci periodic 2018-12-11 10:50:05 +07:00
hathach 73e6bb6f5d
clean up 2018-12-11 01:06:10 +07:00
hathach 7c2056defb
remove pipe handle in host msc 2018-12-11 01:03:15 +07:00
hathach 7a626dbc8b
completely remove pipe handle for cdc/hub/ehci 2018-12-11 00:56:21 +07:00
hathach e863c99a6f
fix msc host 2018-12-10 23:15:53 +07:00
hathach 212deaf2f8
usbh name change 2018-12-10 22:19:01 +07:00
hathach 9c3c782b64
host msc built but got hardfault with inquiry command 2018-12-10 22:11:02 +07:00