Commit Graph

764 Commits

Author SHA1 Message Date
Nathan Conrad 7b93177890 Use TU_VERIFY_STATIC, use more uint instead of uint8_t/uint16_t. Create reg16_clear_bits function to reduce typec conversion warnings. 2019-09-11 09:45:48 -04:00
Nathan Conrad 784dc52b62 Update header comments. 2019-09-11 09:44:25 -04:00
Nathan Conrad 4cf2b30759 Fix bug where the EPREGs were not being initialized as expected. 2019-09-11 09:43:57 -04:00
hathach a3f1c269e9 added stm32f767nucleo board, board_test works 2019-09-11 18:02:27 +07:00
hathach bf76a1e49e
Merge pull request #136 from hathach/develop
fix #132
2019-09-11 11:16:47 +07:00
hathach 6c6a597465 fix #132 2019-09-11 10:47:07 +07:00
hathach 678ba586df
Merge pull request #122 from cr1901/synopsys
Synopsys Refactor
2019-09-11 10:37:49 +07:00
Nathan Conrad 4f6bedeac9 Rename the STM32 MCU options. 2019-09-10 12:57:43 -04:00
Nathan Conrad 23d39f2b15 Remove OPT_MCU_STM for L and G series. 2019-09-10 12:13:36 -04:00
Nathan Conrad 65e72de7ce Move interrupt handler into device driver, and rename the OPT_MCU_STM32 constants. 2019-09-10 09:35:52 -04:00
Nathan Conrad 49c58be4ce Fix silly typo in the F3xx support. 2019-09-10 01:31:14 -04:00
Nathan Conrad bc2a65b20b A few bug fixes, remove the unstested device notices, note supported boards in READMEs, and implement PMA
access stride (used on MCU's with 512 byte USB buffers).
2019-09-10 01:03:24 -04:00
Nathan Conrad f7b0aeec52 Start clock on F0 and F0, and handle USB interrupts. 2019-09-09 19:20:26 -04:00
Nathan Conrad d1976a30b3 Update F3 BSP and create F070RB BSP. Both are untested (but compile). 2019-09-09 16:14:38 -04:00
Nathan Conrad 5ec59c2a30 Add STM32 FSDEV driver. 2019-09-09 14:55:39 -04:00
Nathan Conrad 75a3f791e3 Remove some type conversion warnings (using GCC pedantic warnings) 2019-09-09 13:35:41 -04:00
Nathan Conrad 4517d504b8 Fix typo of ENDOINT 2019-09-09 13:34:30 -04:00
Nathan Conrad b4c8a09f20 Remove STM32 F3 port. 2019-09-09 13:29:26 -04:00
Nathan Conrad 96bead4b2a Add dummy arguments to GET_NTH_ARG to make GCC happy (removes pedantic warnings) 2019-09-09 13:24:08 -04:00
William D. Jones 1385d7c494 stm32: Refactor so F4 and H7 use a single Synopsys IP source file. 2019-09-09 10:48:14 -04:00
William D. Jones 82cd4b5350 dcd_stm32f4: Merge relevant changes from dcd_stm32h7. 2019-09-09 10:27:46 -04:00
William D. Jones 3efc81b285 dcd_stm32h7: Merge relevant changes from dcd_stm32f4. USB2 -> USB works as alias. 2019-09-09 10:14:20 -04:00
hathach e123cad7bb enhance dcd stm32f4 to support max 4 or 6 endpoints on 407 or 412 2019-09-08 23:10:51 +07:00
hathach 4663f9084d ported board stm32f412g discovery
- added soft connect for enable pull up register dcd stm32f4
2019-09-08 21:57:02 +07:00
hathach 56f1ccd68a fix #97 2019-09-05 21:59:19 +07:00
hathach 143a138028
Merge pull request #116 from hathach/develop
Board update
2019-09-05 16:18:34 +07:00
hathach a90e2aa2ce 55s69 device work with usb0 2019-09-05 16:12:13 +07:00
hathach 7350e9c25c
Merge pull request #114 from cr1901/stm32h7
STM32H7 Support
2019-09-05 15:29:13 +07:00
William D. Jones 8f8ca77a91 stm32h7: Mark USB FIFOs as volatile, otherwise optimizations will remove
reads/writes to the FIFOs.
2019-09-04 01:06:07 -04:00
William D. Jones 910fd867c7 stm32h7: Fix indentation error where OUT XFER interrupt wasn't handled
in the correct scope.
2019-09-03 01:37:44 -04:00
William D. Jones 1a3dc9cba1 stm32h7: USB_OTG_FS -> USB2_OTG_FS. 2019-09-03 01:28:41 -04:00
William D. Jones f703a74daa stm32h7: Implement STALL logic for endpoints. 2019-09-03 01:28:41 -04:00
William D. Jones 28b131ea94 stm32h7: Implement dcd_edpt_open. cdc_msc_hid demo functional. 2019-09-03 00:37:50 -04:00
William D. Jones d4302dacc5 stm32h7: Fix accidental overwrite of STUPCNT field in DOEPTSIZ register. 2019-09-03 00:25:21 -04:00
William D. Jones 9210167603 stm32h7: Implement dcd_set_address. 2019-09-02 21:00:30 -04:00
William D. Jones 0d0b802ee0 stm32h7: Implement IN and OUT receive for EP0; device descriptor returned. 2019-09-02 19:32:11 -04:00
William D. Jones f602534536 stm32h7: Implement setup packet events. 2019-09-02 13:34:33 -04:00
hathach ee57113981 trying to add LPC55xx support 2019-09-02 15:53:12 +07:00
hathach 80cde5b0b5 fix potential bug with mis-align issue 2019-09-01 17:20:10 +07:00
hathach 074681da8b dma of lpc54114 can also execute up to 64 bytes each transfer
There is still issue with cdc_msc_hid example
2019-09-01 17:05:34 +07:00
hathach aeea6754af rename lpc_usbd to lpc_ip3511 2019-09-01 16:44:40 +07:00
hathach 3067809957 adding lpc54xxx to dcd, able to go through enumeration 2019-09-01 16:15:23 +07:00
hathach 403662a1d6 board_test run with lpc54114 2019-09-01 15:58:42 +07:00
hathach 957201fc58 fix undef __ARM_ARCH_6M__ 2019-09-01 11:59:50 +07:00
hathach 2d041aaa1d clean up 2019-09-01 08:11:22 +07:00
hathach 30f707cad2 rename lpc11_13_15 to simply lpc_usbd since it is almost used by in recent year for nxp mcu 2019-09-01 00:51:58 +07:00
hathach bac75a81fd support LPC51u68 #100 2019-08-31 22:44:08 +07:00
hathach b7dbc98ab1 close #105 add tud_vendor_write_available() 2019-08-31 16:31:07 +07:00
William D. Jones 8b165e1024 stm32h7: Ensure FS (and the only) PHY is selected for OTG_HS2. 2019-08-30 22:07:35 -04:00
William D. Jones 7153561984 stm32h7: Enable USB peripheral (device does not enumerate yet). 2019-08-30 21:57:06 -04:00
William D. Jones 0fb9ab9a09 stm32h7: Add empty template cdc_msc_hid example for STM32H743 Nucleo board that compiles. 2019-08-24 12:40:18 -04:00
hathach b3acce17cc adding lpc51u68 support 2019-08-24 00:52:46 +07:00
hathach 48c7b80c57 fix warnings of template descriptor 2019-08-23 13:33:40 +07:00
Scott Shawcroft 00c440cb26
Merge pull request #99 from jepler/issue98-midi-program-change
midi_device: Send message classes C and D as 2 bytes
2019-08-15 23:34:42 -07:00
jepler 96d96a94b8 midi_device: Send message classes C and D as 2 bytes
.. sending these as two 1-byte messages with CIN of 0xF is
misinterpreted by OSes including Windows 10 and (reportedly)
Mac.

Testing performed: Ran the reproducer script, which sends Program
Change (0xCx) messages.  I did not check with Change Pressure (0xDx)
messages, but expect the same thing.

Closes: #98
2019-08-14 19:15:29 -05:00
hathach 47cd08d526 clean up 2019-08-05 22:31:41 +07:00
hathach d1df041519 nrf5x remove the depenedent on nrfx_power.h 2019-08-05 22:09:37 +07:00
hathach d211035a0a merge dcd/hal_nrf5x.c into dcd/dcd_nrf5x.c 2019-08-05 21:54:20 +07:00
hathach 30de17a830 clean up
- remove TUD_WEBUSB_URL_DESCRIPTOR to avoid flexible array member (C++
forbid in strict mode)
- remove unused TUD_DESC_STRLEN/TUD_DESC_STR_HEADER/TUD_DESC_STR_HEADER
2019-08-01 13:20:00 +07:00
hathach bd08d0edc9 add vendor peek, change cdc peek signature, change cdc read_char() return from signed char to int32_t 2019-08-01 10:46:27 +07:00
hathach 2c2db31b09 clean up 2019-07-30 20:28:39 +07:00
hathach 00a9e492cd clean up 2019-07-30 00:48:31 +07:00
hathach af3c301ea5 added BOS MS OS 2.0 descriptor to webusb example, it work with windows 2019-07-30 00:34:25 +07:00
hathach cdaf455461 fix stall response with SET_INTERFACE/GET_INTERFACE
webusb work with linux & macos
2019-07-26 20:14:56 +07:00
hathach d2b60b6755 webusb work great with linux 2019-07-26 11:36:30 +07:00
hathach 8ba71be6ee more webusb + vendor 2019-07-25 16:52:20 +07:00
hathach caf2b6d463 move tud_vendor_control_* to usbd.h 2019-07-24 23:12:31 +07:00
hathach 2a543c0e79 update vendor device similar to cdc read/write
maybe refactor later
2019-07-24 23:07:30 +07:00
hathach 56b656c768 Merge branch 'master' into develop 2019-07-24 17:08:19 +07:00
hathach 1ee9ef4f2b change tud_msc_start_stop_cb() to return void -> bool 2019-07-24 16:19:12 +07:00
hathach 8ba78ee012 adding vendor 2019-07-24 16:08:43 +07:00
hathach c63f2b30cb rename tud_control_vendor_request_cb/complete_cb to tud_vendor_control_request_cb/complete_cb 2019-07-24 09:45:32 +07:00
hathach 8fad8fb5c2 Merge branch 'master' into develop 2019-07-22 19:23:48 +07:00
hathach 33de35504a more house keeping 2019-07-19 20:20:13 +07:00
hathach ae5dc435cb house keeping 2019-07-19 16:49:04 +07:00
hathach a3cb2dda9e rename custom/custom-_* to vendor/vendor_* 2019-07-19 16:37:28 +07:00
hathach 6a076d8aae rename CFG_TUSB_HOST_CUSTOM_CLASS to CFG_TUH_VENDOR 2019-07-19 16:31:51 +07:00
hathach b0678e1050 rename CFG_TUD_CUSTOM_CLASS to CFG_TUD_VENDOR 2019-07-19 16:23:56 +07:00
hathach ed6fa460e9 stm32 minor change 2019-07-19 10:59:35 +07:00
hathach 83f7aacbb1 clean up 2019-07-16 18:43:06 +07:00
hathach 036e858543 add tud_control_vendor_request_cb()/tud_control_vendor_complete_cb(), expose usbd control transfer
rename usbd_control_transfer/status to tud_control_transfer/status
2019-07-16 18:14:47 +07:00
hathach cb4e6837e9 clean up, rename internal driver control_request_complete to simply control_complete 2019-07-12 22:03:40 +07:00
hathach 2b7acd554a updating webusb with cdc 2019-07-12 19:38:04 +07:00
hathach 164b26ee6b change TUD_HID_INOUT_DESCRIPTOR epout & epin order
clean up, adding template for BOS & BOS platform descriptor
2019-07-12 14:53:11 +07:00
hathach 3b6013e78f clean up 2019-07-12 14:43:01 +07:00
hathach e74aa41552 added tud_descriptor_bos_cb(), add support for BOS get descriptor 2019-07-12 00:12:14 +07:00
hathach 5ebb606ecd add BOS descriptor and device capability constant 2019-07-11 22:35:17 +07:00
hathach f554a50507 release as 0.5.0 2019-07-10 23:54:11 +07:00
hathach 64e9c11b41 fix incorrect midi descriptor template 2019-07-09 10:40:14 +07:00
hathach 216ccc6e93 midi only use audio 1.0 without IAD 2019-07-05 16:46:11 +07:00
hathach f16ebd512b indent clean up 2019-07-04 18:45:10 +07:00
hathach 1b242cb3c6 clean up 2019-07-04 01:31:56 +07:00
hathach b0e5a1a9ec remove tud_midi_write_flush() send asap. rename tud_midi_connected() to tud_midi_mounted() 2019-07-04 01:27:51 +07:00
hathach 50f4c61d7c fix midi_write prototype 2019-07-03 01:22:41 +07:00
hathach 1a0e02fa1b tested midi example 2019-07-03 00:52:25 +07:00
hathach 62d3b91691 clean up 2019-07-02 18:23:42 +07:00
hathach 3f3ef6f4e6 clean up 2019-07-02 16:42:12 +07:00
hathach 57433135ce fix midi template 2019-07-01 23:19:14 +07:00
hathach e702328093 fix compiling 2019-07-01 23:11:16 +07:00
hathach 6991b28532 improving midi support, adding midi exmaple
rename TUSB_DESC_CLASS_SPECIFIC to TUSB_DESC_CS_INTERFACE
2019-07-01 22:38:06 +07:00
hathach 73d7ab201e
remove dcd_edpt_busy() 2019-06-10 22:29:18 +07:00
hathach 7156bfb54d
fix build error with midi, use usbd_edpt_xfer/busy for midi to replace dcd_* 2019-06-10 18:46:00 +07:00
hathach dcfaec9efc
add HID_ASCII_TO_KEYCODE 2019-06-06 18:06:24 +07:00
hathach 13e01c7dca
add TU_ prefix to compiler ATTR to prevent name conflict with application 2019-06-06 10:39:37 +07:00
hathach a0307bafda added usbd_edpt_xfer/usbd_edpt_busy to replace dcd_edpt_transfer/dcd_edpt_busy()
- improve fifo write/read_n with only one lock
- use usbd_edpt_xfer/usbd_edpt_busy for hid/cdc/msc class driver
- replace cdc read's pending_read_from_host by usbd_edpt_busy()
2019-05-29 16:55:15 +07:00
hathach 5f34c63660 should fix and work with #58
- add hid_test_js
2019-05-24 12:33:56 +07:00
hathach f4762ff012 host fix address alloc when it reach max devices 2019-05-23 10:59:43 +07:00
hathach 3846645a28 fix tud_cdc_read_char()/tud_cdc_peek() to return signed char
- depending on compiler option "char" can be intepreted as unsigned char
2019-05-22 00:54:21 +07:00
hathach bcf9718f9a
clean up 2019-05-15 22:51:49 +07:00
hathach 8ccecde18e
lpc1769 work with makefile 2019-05-15 12:57:31 +07:00
hathach 6e443d1918
enable CFG_TUSB_DEBUG on DEBUG build 2019-05-14 17:36:03 +07:00
hathach 910a94e9ca
clean up 2019-05-14 13:12:16 +07:00
hathach 454496316f
more endian convert 2019-05-14 13:06:38 +07:00
hathach 3e6d911ce9
more clean up use inline bit funciton instead of macros 2019-05-14 12:54:29 +07:00
hathach 81fc7b7e2b
clean up endian convert function 2019-05-14 12:14:51 +07:00
hathach 3e24daac79
remove deprecated tusb_task, clean up tusb compiler 2019-05-14 12:03:06 +07:00
hathach 61ec407752
update license year to 2019 2019-05-14 11:48:05 +07:00
hathach 6135019230
clean up 2019-05-14 11:46:22 +07:00
hathach f3a5ea65a9
add index to tud_descriptor_configuration_cb() 2019-05-12 19:55:15 +07:00
hathach 1174949308
change tud_descriptor_string_cb() to be consistent with other descriptor callback 2019-05-12 15:38:15 +07:00
hathach ba2136486c
add tud_hid_descriptor_report_cb()
- remove tud_desc_set.hid_report
- remove tud_desc_set_t
2019-05-12 14:09:35 +07:00
hathach de56a0ca89 add tud_descriptor_string_cb() for getting string descriptor from application
- remove tud_desc_set.string_arr/string_count
2019-05-11 16:31:52 +07:00
hathach 667133304b fix samd dcd_clear_stall also reset data toggle 2019-05-10 00:10:18 +07:00
hathach 7063a0dd03 msc device will stall READ_CAPACITY & READ_FORMAT_CAPACITY if tud_msc_capacity_cb() get zero size 2019-05-09 23:33:55 +07:00
hathach 77bc421359 fix clear stall usage, fix reset data toggle with dcd_clear_stall for nrf52 2019-05-09 23:31:18 +07:00
hathach 81cb1c9510 clean up 2019-05-07 00:03:42 +07:00
hathach 6e4dc2f23d adding msc Start Stop to buitin command, but not complate yet
add tud_msc_start_stop_cb() as optional callback
2019-05-06 16:48:50 +07:00
hathach efefbd3a4e add Test Unit Ready to builtin command, add tud_msc_test_unit_ready_cb()
- rename tud_msc_maxlun_cb to tud_msc_get_maxlun_cb
2019-05-06 15:01:38 +07:00
hathach fae9aba68f add tud_msc_inquiry_cb() remove CFG_TUD_MSC_VENDOR/PRODUCT/PRODUCT_REV 2019-05-03 23:46:01 +07:00
hathach f9d9eebfe1 support hid generic inout #58
- add report descriptor template TUD_HID_REPORT_DESC_GENERIC_INOUT
- add TUD_HID_INOUT_DESCRIPTOR & TUD_HID_INOUT_DESC_LEN
- add hid_generic_inout example
2019-05-02 14:30:49 +07:00
hathach 3387b9fca5 use tud_hid_set_report_cb for hid epout 2019-05-02 13:27:32 +07:00
hathach 353d415d3f clean up 2019-05-02 13:27:00 +07:00
hathach 1c0ec61aa1 add tud_hid_out_report_cb() for hid epout 2019-05-02 00:08:39 +07:00
hathach a25ca701cd text clean up 2019-05-01 23:26:52 +07:00
hathach c8b9293d68 rename hid report_buf to epin_buf
add epout_buf and use it for SET_REPORT request buffer
2019-05-01 20:45:05 +07:00
hathach 2050778763 clean up 2019-05-01 20:41:26 +07:00
hathach c006f3dbce adding optional ep out for hid
refactor usbd_open_edpt_pair
2019-05-01 19:29:56 +07:00
hathach 90fdae94f8 clean up 2019-05-01 18:21:08 +07:00
hathach 9fa5c8025f clean up 2019-05-01 17:07:33 +07:00
hathach 84f81f6b21 simplify hid keyboard & mouse report to one API each 2019-05-01 17:06:18 +07:00
hathach 0b6999a28e add tud_hid_set_idle_cb
- rename tud_hid_mode_changed_cb to tud_hid_mode_changed_cb
- add mouse ac pan descriptor template support
2019-05-01 16:53:35 +07:00
hathach 0ef7edb446 osal clean up 2019-05-01 01:46:39 +07:00
hathach 89ace295ba add TUD_ to HID_REPORT_DESC_* template 2019-04-28 00:43:36 +07:00
hathach b74eca4f12
add msc multiple lun support
- remove CFG_TUD_MSC_MAXLUN
- add tud_msc_maxlun_cb()
- add msc_dual_lun exmaple
2019-04-26 15:54:42 +07:00
hathach 67aa45f75f
remove CFG_TUD_HID_ASCII_TO_KEYCODE_LOOKUP 2019-04-25 21:41:21 +07:00
hathach ff8fe28c98
move interface descriptor template to usbd.h, update exmaple 2019-04-19 13:16:06 +07:00
hathach 23bcf1cc7a
remove auto descriptor and its option CFG_TUD_DESC_AUTO 2019-04-18 23:59:21 +07:00
hathach 307ba23046
wrap up hid device refactor 2019-04-18 22:31:35 +07:00
hathach a30461b078
update tud_hid_keyboard/mouse helper 2019-04-18 13:27:06 +07:00
hathach 8d2db4dd70
add tud_hid_mode_changed_cb() 2019-04-18 12:32:19 +07:00
hathach 1ffcadd373
hid update 2019-04-18 11:52:23 +07:00
hathach cc2fce31e5
refactor hid, rename hid_generic to simply hid_ 2019-04-18 00:36:17 +07:00
hathach 516964b3d3
add interface descriptor template 2019-04-17 13:43:07 +07:00
hathach 72575534f8
remove auto device descriptor
Application should declare its own device descriptor
2019-04-11 00:51:28 +07:00
hathach 6102183193
clean up 2019-04-11 00:22:18 +07:00
hathach 64bed848d0 fix #53 use nrfx_usbd_errata.h 2019-04-08 17:36:12 +07:00
hathach 6564580c3d
clean up 2019-04-02 16:23:13 +07:00
hathach 4af16efea7
add tud_ready() to hid_ready() 2019-04-02 02:14:39 +07:00
hathach dd9c441a61
samd support suspend and resume. Though cannot distinguish between Suspend and Disconnect
should work with #47
2019-04-02 02:14:22 +07:00
hathach 491b5936d5
usbd better support suspend/resume 2019-04-02 01:30:01 +07:00
hathach 06e1fac7c5
nrf5x enable suspend after set address, instead of set config 2019-04-02 01:20:34 +07:00
hathach 2cc4ab2aef
nrf5x added LOWPOWER when suspend/resume 2019-03-31 23:57:38 +07:00
hathach eabfc53f38
added tud_suspended() and tud_ready() 2019-03-30 23:01:23 +07:00
hathach f3a954e7de
self powered and remote wakeup support are from configuration descriptor attribute 2019-03-30 17:38:00 +07:00
hathach ee6ed084f4
clean up text 2019-03-30 15:03:48 +07:00
hathach b28cc6ddb1 added dcd_remote_wakeup() stub for all ports 2019-03-30 14:47:11 +07:00
hathach cabf6abb4f added tud_set_self_powered(), fix #50 reponse to GET_STATUS request 2019-03-30 14:34:38 +07:00
hathach d9682f8240 replaced config_num by configured 2019-03-30 13:48:15 +07:00
hathach 93a853cd5b usbd add connected, suspended, remote_wakeup
- remove use of osal_queue_reset
2019-03-30 02:26:15 +07:00
hathach 28610198df clean up 2019-03-29 17:42:10 +07:00
hathach 7d9b68a7b9 clean up control req a bit 2019-03-29 16:55:58 +07:00
hathach 3a38cde53d support set/clear feature Device_remote_wakeup 2019-03-29 16:37:08 +07:00
hathach 1c2beba85c working on suspend and resume
change dcd_init signature
2019-03-29 16:23:00 +07:00
hathach 0bdd4bd550
added Suspend and Resume event for nrf5x port
also rename DCD_EVENT_SUSPENDED to DCD_EVENT_SUSPEND
2019-03-29 01:34:53 +07:00
hathach 8fb9fbb0b1
add tud_mounted() check in tud_cdc_connected()
mark device as disconnected immed with DCD_EVENT_UNPLUGGED
2019-03-27 23:58:24 +07:00
hathach c09d754654
remove tud_msc_ready() 2019-03-27 23:47:59 +07:00
hathach 801f3c9d8d
more clean up 2019-03-27 21:00:15 +07:00
hathach da452d4ba6
cleanup, remove the use of _TINY_USB_SOURCE_FILE_ 2019-03-27 17:48:42 +07:00
hathach f26fbaf404
clean up remove usbd_control_stall() 2019-03-27 16:26:52 +07:00
hathach 1e9848d917
replace dcd_edpt_(clear)stall by usbd_edpt_(clear)stall
- remove dcd_edpt_stalled() from dcd porting
2019-03-27 16:09:49 +07:00
hathach 4722376654 remove dcd_get_frame_number() 2019-03-27 01:01:48 +07:00
hathach 852abba918 Merge branch 'master' into develop 2019-03-27 00:46:32 +07:00
hathach 89b9ee2f52 revert to use pending_read_from_host (temp) since 2019-03-27 00:39:14 +07:00
hathach aaf5714268 follow up to pr #46 2019-03-25 11:38:16 +07:00
hathach fad8720215
Merge pull request #46 from tannewt/fix_cdc_out
Fix slow CDC OUT by NAKing
2019-03-24 03:27:58 -07:00
hathach 18f248b142
remove tusb_hal_millis() usage, less work for porting 2019-03-24 01:19:32 +07:00
hathach d866999bf0
remove idle rate enforcement, should be done in application level 2019-03-23 21:46:51 +07:00
hathach df1aac44b8
add board_noos_millis() for blinky 2019-03-23 16:51:07 +07:00
hathach 43eb1a8b16
added stub for dcd_stm32f3 2019-03-22 23:57:56 +07:00
hathach ba1bea5d53
simplify board API, adding stm32f3 discovery
- remove board header since it is not used
2019-03-22 22:06:48 +07:00
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