Compare commits

...

5292 Commits

Author SHA1 Message Date
Ha Thach
542e5b4550
Merge pull request #3114 from hathach/fix-sigma-mouse-multiple-attach
Fix sigma mouse multiple attach
2025-05-06 21:40:23 +07:00
hathach
a05fc50461
clean up ci 2025-05-06 18:41:12 +07:00
hathach
fb2214dea6
move hil into build workflow 2025-05-06 16:30:34 +07:00
hathach
809af3e74c
chore(usbh): change removing_hubs to array instead of bitmask 2025-05-06 15:58:07 +07:00
hathach
bc37ed6e3e
usbh: force removed device in the same bus info, before setting address.
usbh: move code around
hub: queue status endpoint for detach/remove event
2025-05-06 15:23:23 +07:00
Ha Thach
1a783b3573
Merge pull request #3104 from hathach/usbh-attach-debounce
Usbh attach debounce
2025-04-29 21:36:18 +07:00
hathach
2abd3c54c4
define hcd_devtree_info_t forr backward compatible 2025-04-29 20:49:47 +07:00
hathach
e7d4b5c9e7
add enum for set addr recovery 2025-04-29 20:16:50 +07:00
hathach
fc43eeddf2
attach debouncing fixed issue with port1 highspeed on imxrt 2025-04-29 10:11:20 +07:00
hathach
42d4f7c81e
remove the old attach duplicated logic, debouncing skip should take care of it. 2025-04-28 15:10:03 +07:00
hathach
2c1414b4c1
usbh: add roothub debounncing flag to ignore attach/remove event on the roothub that is currently doing debouncing delay 2025-04-28 14:59:32 +07:00
Ha Thach
a22e45b816
Merge pull request #3100 from wavenumber-eng/get_deps_fix
Fixed broken deps on a fresh clone
2025-04-28 10:36:29 +07:00
Eli Hughes
0937a2b2d3 using get-deps from tinyuf2 2025-04-27 09:38:18 -04:00
Ha Thach
b5d4d0f623
Merge pull request #3096 from hathach/usbh-improve-hub
Usbh improve hub
2025-04-24 23:02:18 +07:00
hathach
b5b7a4be60
hub check status before get 1st device descriptor 2025-04-24 22:21:38 +07:00
hathach
093720f60b
fix build 2025-04-24 18:08:00 +07:00
hathach
0f784e8a07
refactor hub driver and move port reset on connection change to usbh.
hub: add hub_port_get_status_local(), ignore resp in hub_port_get_status(pot != 0)
usbh properly deboucning with hub/rootport accordingly to usb specs, also add 10ms of reset recovery
2025-04-24 17:59:45 +07:00
Ha Thach
1afe8a0039
Merge pull request #3095 from fenugrec/ex_cmake_CM0
examples cmake: fix gcc flag -mcpu=cortex=m0
2025-04-24 10:46:14 +07:00
hathach
89f8d0cffb
add tuh_address_set() API
minor rename and move code around
2025-04-24 10:41:00 +07:00
fenugrec
736b1d50bc examples cmake: fix gcc flag -mcpu=cortex-m0 2025-04-23 16:04:42 -04:00
Ha Thach
8b3c558881
Merge pull request #3093 from hathach/refactor-usbh-bus-info
refactor(usbh) improve the usage of bus info
2025-04-23 20:08:38 +07:00
hathach
9a1f690ec4
move usbh ctrl_xfer into usbh_data 2025-04-23 16:50:58 +07:00
hathach
a2da575793
rename and expose tuh_bus_info_get() to application 2025-04-23 16:03:40 +07:00
hathach
741cb3cf02
rename hcd_devtree_info_t to tuh_bus_info_t, hcd_devtree_get_info to hcd_bus_info_get
streamline bus info to usbh_devies, also replace dev0 (renamed to dev0_bus)
2025-04-23 12:35:32 +07:00
Ha Thach
b632686f54
Merge pull request #3080 from HiFiPhile/enum_racing
host: fix enumerate racing
2025-04-23 10:41:14 +07:00
HiFiPhile
b6170c965f Compile fix.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-04-22 21:14:04 +02:00
hathach
8f9ef7dfbe
reduce ENUM_DEBOUNCING_DELAY_MS to 200ms
replace dev0.enumerating by enumerating_daddr for better clean up on unplugging while enumerating
move controller_id & enumerating_daddr into _usbh_data struct
2025-04-22 22:09:06 +07:00
hathach
940fe43e68
move removing dev0 to process_removing_device() 2025-04-22 17:33:37 +07:00
HiFiPhile
7ba63a6302
Also cleanup unaddressed device.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-04-22 16:58:13 +07:00
HiFiPhile
3c4e6a779d
Move decouncing delay before USB reset.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-04-22 16:58:12 +07:00
HiFiPhile
9f096ac56b
host: fix enumerate racing
- if a previous enumeration failed _ctrl_xfer status could stuck, it needs to be cleared before next attempt.
- after _dev0.enumerating is reset in hcd_event_handler(), if an attach event arrived before _ctrl_xfer clean up in remove event, a racing condition will happen.

Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-04-22 16:58:10 +07:00
Ha Thach
18d7a993be
Merge pull request #3075 from maximevince/dwc2-proper-attach-debouncing
dwc2/host: attach debouncing fixes
2025-04-21 22:46:15 +07:00
hathach
5725d33121
improve usbh stability with failed setup send, prevent control stage locked out 2025-04-21 20:39:23 +07:00
Ha Thach
56ed51c8fb
Merge pull request #3088 from HiFiPhile/intv
Fix 1st nak retry one frame shorter.
2025-04-21 18:31:43 +07:00
HiFiPhile
b3a9b6e37f enable SOF interrupt only if not already enabled
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-04-19 11:43:28 +02:00
Ha Thach
5572168994
Merge pull request #3077 from HiFiPhile/ping_out 2025-04-19 00:03:51 +07:00
hathach
d51863d1a0
- correctly do_ping if received nyet as transfer complete e.g msc 31 byte command
- correctly carry out OUT transfer when PING is ack
2025-04-18 22:46:37 +07:00
HiFiPhile
1efc9007b2 Merge branch 'dwc2-proper-attach-debouncing' of github.com:maximevince/tinyusb into dwc2-proper-attach-debouncing 2025-04-18 14:58:59 +02:00
HiFiPhile
b3d20442e2 Fix usbh racing later.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-04-18 14:57:53 +02:00
HiFiPhile
4c6736c277 Merge branch 'master' into dwc2-proper-attach-debouncing
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-04-18 14:54:20 +02:00
hathach
8111e53ff0
minor rename 2025-04-18 18:21:42 +07:00
hathach
2fd0301f0e
Merge branch 'master' into fork/HiFiPhile/ping_out
# Conflicts:
#	src/portable/synopsys/dwc2/hcd_dwc2.c
2025-04-18 17:59:38 +07:00
HiFiPhile
b7a26cc33c Fix 1st nak retry one frame shorter.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-04-18 12:46:20 +02:00
Ha Thach
e44f556a95
Merge pull request #3072 from maximevince/dwc2-retry-in-token-immediately
dwc2/host: immediately retry IN token for bInterval=1
2025-04-18 17:12:07 +07:00
HiFiPhile
ee1a5dbac0
Merge pull request #3084 from joelpmichael/hcd-template-comments
note potential issues using ep_desc in hcd_edpt_open()
2025-04-18 11:25:59 +02:00
HiFiPhile
91163c9217
Merge pull request #3067 from maximevince/dwc2-host-fix-disconnect
dwc2/host: enable disconnect interrupt + handle it
2025-04-18 11:24:23 +02:00
hathach
1b888a3311
clean up, remove halted_sof_schedule flags since channel_xfer_in_retry() is only called when channel is halted. 2025-04-18 16:17:35 +07:00
HiFiPhile
b6abc9022a Merge remote-tracking branch 'upstream/master' into hcd-template-comments
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-04-18 11:13:15 +02:00
HiFiPhile
7134109973 Update hcd_edpt_open() note.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-04-18 11:12:14 +02:00
Ha Thach
3fd7854a91
Merge pull request #3081 from hathach/usbh-enum-get-string-desc-first
usbh enum get string descriptor length first
2025-04-18 15:24:42 +07:00
hathach
ba45625ea4
minor ci update 2025-04-18 14:29:06 +07:00
hathach
5c7ca2acad
change gh ci iar to push event 2025-04-18 12:07:08 +07:00
hathach
e8a84f9076
enum For string descriptor (langid, manufacturer product, serila): always get the first 2 bytes to determine the length first. otherwise, some device may have buffer overflow. 2025-04-18 10:53:12 +07:00
Ha Thach
edbea218b9
Merge pull request #3086 from hathach/ci-add-picow-host
Ci add picow host test
2025-04-17 23:51:50 +07:00
hathach
46d2d4199e
run arm-iar with non-forked PR 2025-04-17 21:36:09 +07:00
hathach
0220852a6e
- hil test max retry = 3
- fix h7 unused function
2025-04-17 16:58:26 +07:00
hathach
d4983acd3a
github ci support setup/install iar toolchain 2025-04-17 16:50:25 +07:00
hathach
3851c7c97a
- run arm-iar using github action
- add skip_ci.txt to family folder to skip boards in ci run
2025-04-17 16:07:10 +07:00
hathach
9eb0ae7636
fix iar make build with stm32 l0, f2, f3, u5, wb 2025-04-17 15:15:07 +07:00
hathach
b1eedf4d1d
fix iar make build with wb and u5 2025-04-17 14:40:43 +07:00
hathach
eea42fd119
update iar build 2025-04-17 13:05:18 +07:00
hathach
ccb34dbbdb
add toolchain.json for toolchain url 2025-04-17 12:20:05 +07:00
hathach
f479b02ea6
ci add pico_w for native host test 2025-04-17 11:22:38 +07:00
Ha Thach
e426c8c876
Merge pull request #3085 from hathach/ci-add-s3-host
Ci add s3 host
2025-04-17 11:07:04 +07:00
hathach
7ef17a85cb
de-duplicate flash board_test for board with multiple flags_on 2025-04-16 23:47:17 +07:00
hathach
4d601545eb
add TS3USB30 to test s3 host with slave/dma 2025-04-16 21:15:07 +07:00
Joel Michael
0d2c08efd7 note potential issues using ep_desc in hcd_edpt_open() 2025-04-16 20:26:35 +10:00
Maxime Vincent
62d06e7b19
dwc2/host: fix all retry intervals
Signed-off-by: Maxime Vincent <maxime@veemax.be>
2025-04-15 09:07:48 +02:00
Maxime Vincent
384e191fdc
dwc2/host: immediately retry IN token for bInterval=1
Signed-off-by: Maxime Vincent <maxime@veemax.be>
2025-04-15 09:01:39 +02:00
Maxime Vincent
de5cc0b830
Merge branch 'master' into dwc2-proper-attach-debouncing 2025-04-15 09:00:57 +02:00
Maxime Vincent
cea2c97248
Merge branch 'master' into dwc2-host-fix-disconnect 2025-04-15 09:00:16 +02:00
Ha Thach
bfe08176e5
Merge pull request #3070 from HiFiPhile/bitfield
host/dwc2: fix bitfields access width
2025-04-15 10:44:01 +07:00
hathach
d039d54a89
channge DWC2_CHANNEL_COUNT/DWC2_EP_COUNT to inline function 2025-04-14 23:45:20 +07:00
HiFiPhile
6689a0142d
Merge pull request #3079 from byteit101/version-string-fix
Fix version string to actually be the version
2025-04-12 16:41:04 +02:00
HiFiPhile
af0c47e06e Fix typo
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-04-12 15:21:42 +02:00
HiFiPhile
5e4decb4a3
Merge pull request #3074 from maximevince/dwc2-fix-hfir-off-by-one
dwc2/host: HFIR: Fix timing off-by-one
2025-04-12 13:40:36 +02:00
HiFiPhile
aecfd3433c Fix handle_hprt_irq
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-04-12 13:36:54 +02:00
Patrick Plenefisch
937b07cdc0
Fix version string to actually be the version 2025-04-11 18:19:39 -04:00
HiFiPhile
925010fd84 host/dwc2: resume OUT transfer when PING ACKed
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-04-11 17:18:36 +02:00
Maxime Vincent
2064ee470d
dwc2/host: attach debouncing fixes 2025-04-11 12:26:36 +02:00
Maxime Vincent
72357cdb20
dwc2/host: HFIR: Fix timing off-by-one 2025-04-11 12:20:24 +02:00
HiFiPhile
2aff61ccb3 Fix CI.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-04-09 19:40:03 +02:00
HiFiPhile
3acaffd64d build fix.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-04-09 19:34:56 +02:00
HiFiPhile
084c0802c3 dwc2: refactor bitfields.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-04-09 19:34:56 +02:00
Maxime Vincent
6607b76c76
dwc2/host: remove hcd_event_device_remove() call from handle_hptr_irq to prevent double removal
Signed-off-by: Maxime Vincent <maxime@veemax.be>
2025-04-08 14:34:21 +02:00
HiFiPhile
1be4171d2a Fix espressif build with presets.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-04-07 23:41:55 +02:00
Maxime Vincent
7d8433abab
dwc2/host: enable disconnect interrupt + handle it
Signed-off-by: Maxime Vincent <maxime@veemax.be>
2025-04-07 11:36:06 +02:00
HiFiPhile
865e3488f9
Merge pull request #3014 from deshipu/master
Allow different port and mode for LED on ch32v boards
2025-04-06 18:35:28 +02:00
Radomir Dopieralski
1f2f92d97a Allow different port and mode for LED on ch32v boards
While there is a define for the port, the clock enable is hardcoded for
GPIOA, so setting a different port than GPIOA doesn't work. This fixes
it by adding a define for enabling the port clock.

It also adds a define for the pin mode, because not all boards have the
LED connected in a way that open drain works with it.
2025-04-06 17:14:32 +02:00
HiFiPhile
b4252c426f
Merge pull request #3015 from Dazza0/docs/fix_formatting
Fix .rst document formatting
2025-04-06 14:15:08 +02:00
HiFiPhile
42213eff2b
Merge pull request #3063 from maximevince/dwc2-host-fix-sof-flag
dwc2/host: clear SOF flag in handle_sof_irq()
2025-04-06 14:05:28 +02:00
Maxime Vincent
255ccf26ea
dwc2/host: clear SOF flag in handle_sof_irq() 2025-04-04 14:21:20 +02:00
Ha Thach
60e6d53d10
Merge pull request #3061 from hathach/update-endpoint-open
fix(hcd) hcd_edpt_open() return true if endpoint is already opened.
2025-04-03 21:22:01 +07:00
hathach
4787cd5f54
fix(hcd) hcd_edpt_open() return true if endpoint is already opened. 2025-04-03 18:11:33 +07:00
Ha Thach
8c1802e41d
Merge pull request #3043 from hathach/hcd-close-ep
feat(host) add endpoint close API and feat(HIL) improvement
2025-03-27 10:47:10 +07:00
hathach
5531de4f2c
add clion debugserver 2025-03-26 23:20:00 +07:00
hathach
e511d00f34
added hcd_edpt_close() stub for other ports 2025-03-26 22:11:44 +07:00
hathach
901ce2ad93
hcd/ehci: hcd_edpt_open() return false if ep is already opened. implement hcd_edpt_close() 2025-03-26 21:32:18 +07:00
hathach
1615120bca
added mimxrt1064_evk to hil test pool 2025-03-26 15:32:19 +07:00
hathach
69dca9518c
added mimxrt1064_evk to hil test pool 2025-03-26 15:20:27 +07:00
hathach
73e810a7ba
imxrt: disable BOARD_ConfigMPU() since it cause issue with imxrt1060/64. Update imxrt configtool forr some board to get uart pin init. 2025-03-26 15:20:02 +07:00
hathach
99673cdbb8
fix wanings 2025-03-25 17:36:15 +07:00
hathach
65e01fff2e
add tuh_edpt_close() API, it will abort any pending transfer
implement hcd_edpt_close() for pio-usb and max3421e, also move max3421e api into its own header.
2025-03-25 16:15:58 +07:00
hathach
b99b811308
more hil improvement 2025-03-25 14:43:40 +07:00
hathach
1fd5c12316
HIL: add flag CFG_TUH_RPI_PIO_USB to pico/pico2 2025-03-25 10:43:55 +07:00
hathach
875e645b32
update hil test to include dual and host for pico/pico2 2025-03-24 23:56:32 +07:00
hathach
db537861b2
device cdc: rename tud_cdc_configure_fifo/_t to tud_cdc_configure/_t
add tx_overwritabe_if_not_connected for cdc driver configure
2025-03-24 22:58:21 +07:00
hathach
9f541a3d96
host: add tuh_enum_descriptor_device_cb() and tuh_enum_descriptor_configuration_cb() callback
host: support device with multiple configurations
2025-03-24 22:55:04 +07:00
Ha Thach
cf76af1056
Merge pull request #3042 from rppicomidi/fix_3033
Fix #3033: Increase array bounds and test for overflow
2025-03-21 22:56:16 +07:00
rppicomidi
3324a327cb Fix #3033: address review comment 2025-03-21 07:14:10 -07:00
rppicomidi
b0def52f45 Move misplaced statement 2025-03-21 07:13:01 -07:00
hathach
e54753814b
enable hil dual for metro m4 with max3421 2025-03-21 00:11:18 +07:00
rppicomidi
4b46493cb4 Fix #3033: Increase array bounds and test for overflow 2025-03-20 06:27:23 -07:00
Ha Thach
c2924c51fc
Merge pull request #3032 from rppicomidi/fix_3031
Fix 3031: implement tuh_midi_itf_get_info()
2025-03-20 09:44:56 +07:00
rppicomidi
05e4f8b777 Move iInterface per review comment 2025-03-19 05:57:01 -07:00
rppicomidi
62f00bdf5d Fix compiler conversion error warning 2025-03-18 07:42:47 -07:00
rppicomidi
5ecea4eefe fix tuh_midi_itf_get_info() desc->iInterface value 2025-03-18 07:41:49 -07:00
rppicomidi
31b3a2f63b Fix 3031: implement tuh_midi_itf_get_info() 2025-03-17 07:41:51 -07:00
Ha Thach
40ddf0628a
Merge pull request #3038 from hathach/update-pio-usb
change pio-usb to upstream
2025-03-17 13:06:10 +07:00
Ha Thach
e0df20f260
change pio-usb to upstream 2025-03-17 12:20:49 +07:00
Ha Thach
e9a1be7e02
Merge pull request #3034 from hathach/ctrl_fix
Fix UAC ctrl buffer alignment.
2025-03-16 11:19:43 +07:00
HiFiPhile
585bcbfcdd Fix 2 IAR warnings.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-03-16 00:07:15 +01:00
HiFiPhile
de45e4b01a Add ctrl buffer alignment.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-03-15 23:49:11 +01:00
HiFiPhile
ca750313b2 Update gitignore.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-03-15 21:15:52 +01:00
Ha Thach
5333d042f9
Merge pull request #3029 from rppicomidi/fix_3028
Only clear stream_read & stream_write if they are defined
2025-03-14 16:25:54 +07:00
rppicomidi
b80800f182 Only clear stream_read & stream_write if they are defined 2025-03-13 10:04:56 -07:00
HiFiPhile
f01c4be350
Merge pull request #3020 from Cynventria/fix-desc_end-calculation-in-vendor-device-open
fix desc_end in vendord_open()
2025-03-11 22:59:56 +01:00
Cynventria[CitRA]
cf94b3f5fc
fix desc_end in vendord_open()
minor fix on calculation of desc_end in vendord_open( ) for descriptor prasing
2025-03-10 14:22:29 +08:00
Ha Thach
dc45903161
Merge pull request #3019 from hathach/fix-pico-examples-build
fix(rp2040) set RTOS as cmake cache to fix pico-example build
2025-03-10 12:18:22 +07:00
hathach
683b1e9702
fix(rp2040) set RTOS as cmake cache to fix pico-example build 2025-03-10 11:20:47 +07:00
Ha Thach
02a630b3da
Merge pull request #1627 from atoktoto/midihost
RP2040 MIDI Host
2025-03-09 19:01:10 +07:00
HiFiPhile
29ffd57237
Merge pull request #2990 from dauc/master
Add full/high speed compile flag for Microchip SAME70 examples
2025-03-08 11:57:41 +01:00
Darian Leung
8f288e96a8
refactor: Fix inline literal and code blocks in .rst documents
- Added missing inline literals (double backticks) to any reference of symbol
names and macros
- Added language specifier to "code-block" directives to enable syntax
highlighting when rendered.
2025-03-07 21:21:33 +08:00
Darian Leung
5342f1255a
fix: Turn various .rst files from symbolic links to proper files
"code_of_conduct.rst" and "contributors.rst" both contain RST include
directives, but their file types are symoblic links. This commit turns them
into proper files.
2025-03-07 21:19:58 +08:00
Ha Thach
334ac80726
Merge pull request #2937 from pschatzmann/rp2040-iso
rp2040 correct dcd_edpt_iso_activate
2025-03-07 10:03:58 +07:00
Ha Thach
fd3290cbd1
Merge pull request #3011 from hathach/fix-dwc2-host-conflict-max3421e
fix(dwc2) host driver conflict with max3421e
2025-03-07 10:00:03 +07:00
hathach
65e44e0a51
fix(dwc2) host driver conflict with max3421e 2025-03-06 22:46:21 +07:00
hathach
ee234a84ca
hack: force/overwrite endpoint mps to 64 for device that incorrectly report 512 bytes for bulk in fullspeed mode. 2025-03-06 11:03:47 +07:00
hathach
39e6375b74
midi host: skip rx data with all zeroes 2025-03-06 10:26:45 +07:00
hathach
102c1991d0
rp2040: abort transfer if active in iso_activate()
add hw_endpoint_abort_xfer()
2025-03-05 22:26:28 +07:00
hathach
3ea71b67b1
Merge branch 'master' into fork/pschatzmann/rp2040-iso 2025-03-05 22:25:58 +07:00
hathach
8c0c21189c
Merge branch 'master' into fork/atoktoto/midihost
# Conflicts:
#	src/host/usbh.c
2025-03-05 18:25:31 +07:00
Ha Thach
6bba41045a
Merge pull request #3008 from hathach/add-metro-rp2350
add adafruit metro rp2350
2025-03-05 17:53:45 +07:00
hathach
7dbad0a23e
add adafruit metro rp2350 2025-03-04 22:42:27 +07:00
Ha Thach
51cfae6e97
Merge pull request #3007 from hathach/fix-8bitdo-enum
Fix(host) enumeration with 8bitdo devices
2025-03-04 10:47:31 +07:00
hathach
5f447b76ad
- add tuh_descriptor_get_string_langid() API
- host enumeration always get language id, manufacturer, product and serial string. Which is required by some device such as 8bitdo
2025-03-03 23:22:23 +07:00
hathach
93ff3daa11
fix(hcd_rp2040) assert/panic endpoint already active: when a device reset while having on-going control transfer 2025-02-28 16:41:51 +07:00
Ha Thach
a29e11404d
Merge pull request #3005 from hathach/fix-rp2-picosdk-board
add missing board.h for BOARD=pico_sdk
2025-02-28 12:28:17 +07:00
hathach
c1df796a7c
add missing board.h for BOARD=pico_sdk 2025-02-28 12:04:54 +07:00
Ha Thach
72b1fc50e5
Merge pull request #3002 from espressif/fix/remove_deprecated_includes
fix(esp): Remove deprecated include
2025-02-27 21:15:16 +07:00
Tomas Rezucha
720697b6ae fix(esp): Remove deprecated include
soc/usb_pins.h header will be deprecated in IDF v6.0
2025-02-27 12:48:31 +01:00
hathach
d132044b75
add tuh_midi_mount_cb_t struct for tuh_midi_mount_cb()
change tuh_midi_rx/tx_cb() to have xferred_bytes
rename tuh_midi_get_num_rx/tx_cables() to tuh_midi_get_rx/tx_cable_count()
use default empty callback instead of weak null to be compatible with keil compiler
2025-02-24 16:05:31 +07:00
hathach
56e84bd1a6
add desc_audio_control to midi descriptor callback 2025-02-24 14:40:32 +07:00
hathach
8c70475c23
change API to take index instead of dev address, this allow to support more than 1 midi per device. 2025-02-24 12:39:02 +07:00
hathach
71e046d9ff
add tuh_midi_descriptor_cb() 2025-02-24 10:55:03 +07:00
hathach
b12c8a9012
remove CFG_MIDI_HOST_DEVSTRINGS support, we will leave that for application to parse/extract this information if needed
rename tuh_midi_configure() to mounted() for consistency
2025-02-21 17:31:13 +07:00
hathach
6ebd362cfd
Merge branch 'master' into fork/atoktoto/midihost
# Conflicts:
#	src/host/usbh.c
2025-02-21 10:59:40 +07:00
Ha Thach
1cfc88dbcb
Merge pull request #2994 from hathach/enhance-hub
Enhance hub driver
2025-02-21 10:36:52 +07:00
hathach
61aab7a86a
pio-usb now only need sysclk to be multiple of 12Mhz 2025-02-20 22:18:33 +07:00
hathach
cafc788508
change pio-usb to wip fork for testing 2025-02-20 16:16:07 +07:00
hathach
6572c1da0d
add fruitjam bsp 2025-02-20 15:47:29 +07:00
hathach
70ddb7a867
more hub improve, handle more failed transfer with polling interrupt status endpoint 2025-02-19 15:50:42 +07:00
hathach
27a4895b79
complete separate hub epbuf from itf
add hub_get_status(), hub_clear_feature()
2025-02-19 12:58:03 +07:00
hathach
48a43a675c
move status_change to epbuf
improve hub_xfer_cb()
rename internal complete function
2025-02-19 11:27:33 +07:00
hathach
792a446405
usbh always retry control transfer (max 3) in case of XFER_RESULT_FAILED.
added tuh_connected()
2025-02-17 22:40:19 +07:00
hathach
18d566b94c
improve hub: retry if hub interrupt endpoint failed
bump up pio-usb to latest
2025-02-17 17:06:51 +07:00
Devin Auclair
aa860041b8 Add full/high speed compile flag for Microchip SAME70 examples
Default is still high speed, but setting
SPEED=high|full work as expected.

`make BOARD=same70_xplained SPEED=full`

Tested with examples/device/cdc_msc

```preformatted
lsusb -v

...

  TinyUSB Device:

    Product ID: 0x4003
    Vendor ID: 0xcafe
    Version: 1.00
    Serial Number: 0123456789ABCDEF
    Speed: Up to 12 Mb/s   <------ full speed here
    Manufacturer: TinyUSB
    Location ID: 0x03142130 / 12
    Current Available (mA): 500
    Current Required (mA): 100
    Extra Operating Current (mA): 0
    Media:
      Mass Storage:
        Capacity: 8 KB (8,192 bytes)
        Removable Media: Yes
        BSD Name: disk5
        Logical Unit: 0
        Partition Map Type: Unknown
        S.M.A.R.T. status: Verified
        USB Interface: 2
```
2025-02-14 11:06:54 -05:00
hathach
997771fdba
- rename tuh_midi_stream_flush() to tuh_midi_write_flush()
- add tuh_midi_packet_read_n() and tuh_midi_packet_write_n()
- add CFG_TUH_MIDI_STREAM_API to opt out stream API
2025-02-14 16:21:48 +07:00
Ha Thach
9d2fd6c4ac
Merge pull request #2984 from HiFiPhile/preset
Add CMake presets.
2025-02-14 11:29:33 +07:00
hathach
31a2696de7
- change signature of tuh_midi_mount/umount_cb()
- rename midi_stream_t to midi_driver_stream_t and move to midi.h (common for device and host)
2025-02-14 11:25:50 +07:00
hathach
ed88fc983f
- remove tuh_midi_read_poll(), auto schedule EP in when set_config() and xfer_cb as well as ep read()
- de-dup tuh_midi_get_num_rx/tx_cables
- add tuh_midi_read_available()
2025-02-14 10:41:05 +07:00
hathach
bad6cbe489
update midi host to use endpoint stream API 2025-02-13 15:54:31 +07:00
hathach
e0b192b633
- use CFG_TUH_MIDI as number of midi host instance
- comment out tuh_descriptor_device_cb/tuh_desc_configuration_cb since it is unrelated to this PR
2025-02-12 22:16:08 +07:00
hathach
86d371fb79
more ci fix 2025-02-12 13:58:01 +07:00
hathach
7c405236cf
fix host midi build 2025-02-12 11:50:57 +07:00
hathach
294fb268d7
pre-commit fix 2025-02-12 11:39:26 +07:00
hathach
85247e50dd
clean up 2025-02-12 11:34:32 +07:00
hathach
87adc63226
Merge branch 'master' into fork/atoktoto/midihost
# Conflicts:
#	hw/bsp/rp2040/family.cmake
#	src/class/midi/midi.h
#	src/class/midi/midi_device.c
#	src/device/usbd_control.c
#	src/host/hcd.h
#	src/host/usbh.c
#	src/host/usbh.h
2025-02-12 11:28:16 +07:00
HiFiPhile
14f1feac84 Fix path.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-02-11 20:56:41 +01:00
Ha Thach
5afcfb7522
Merge pull request #2989 from hathach/rtos-house-keeping
Rtos house keeping
2025-02-11 22:54:57 +07:00
hathach
3560ed3d98
remove board_mcu.h 2025-02-11 21:55:28 +07:00
hathach
f1ce4918c2
update make to use FreeRTOSConfig in family instead of examples 2025-02-11 21:44:35 +07:00
hathach
5a39bcf79c
remove freeeRTOSConfig in examples 2025-02-11 21:19:09 +07:00
Ha Thach
bb48e6acc8
Merge pull request #2988 from hathach/update-iar-cloud-lms
update IAR LMS CLOUD
2025-02-11 21:18:16 +07:00
hathach
f23bef5fd8
update IAR LMS CLOUD 2025-02-11 20:30:07 +07:00
Ha Thach
457c2b55da
Merge pull request #2914 from ReimuNotMoe/master
Various fixes for the Microchip Chipidea FS driver
2025-02-11 16:50:44 +07:00
Ha Thach
24b2abbb05
Merge pull request #2982 from hathach/fix-stringop-overread-warning
fix stringop-overread warning for msc device with memmove
2025-02-10 13:47:52 +07:00
HiFiPhile
1208f88b6e Sort list (bettter for Clion)
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-02-09 18:40:30 +01:00
HiFiPhile
09bce3532c Add CMake presets.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-02-09 00:25:38 +01:00
Ha Thach
35e9f03324
Merge pull request #2911 from jay94ks/styluspen
Adding Stylus-Pen Device Support.
2025-02-07 16:56:22 +07:00
hathach
a232644cbd
add full hid usage for Digitizer Page (0x0D), move thing around a bit. 2025-02-07 16:38:14 +07:00
hathach
cd0ca4832d
Merge branch 'refs/heads/master' into fork/jay94ks/styluspen 2025-02-07 16:37:51 +07:00
hathach
3ffe8dbfee
fix stringop-overread warning for msc device with memmove 2025-02-07 12:48:17 +07:00
Ha Thach
2a3025eaa5
Merge pull request #2976 from JannisKonradBecker/master
ch32v3 fs: signal bus speed
2025-02-06 20:40:51 +07:00
hathach
7df510ecc9
Merge branch 'master' into fork/JannisKonradBecker/master 2025-02-06 17:56:10 +07:00
Ha Thach
9c093a30f4
Merge pull request #2981 from hathach/skip-iar-forked-pr
skip iar build for forked PR
2025-02-06 17:49:18 +07:00
hathach
7282572a56
skip iar build for forked PR 2025-02-06 17:19:18 +07:00
Jannis Konrad
169d2d7a1f use speed enum 2025-02-06 08:50:25 +01:00
Ha Thach
99b6e97080
Merge pull request #2979 from hathach/fix-407blackvet
fix build for 407blackvet
2025-02-06 12:43:46 +07:00
hathach
efd2934919
fix build for 407blackvet 2025-02-06 12:19:29 +07:00
Jannis Konrad
f7fa4d0edb ch32v3 fs: signal bus speed 2025-02-05 17:36:38 +01:00
HiFiPhile
eca025f714
Merge pull request #2959 from ho-ho-ho/master
stm32: fix compilation error when not using uart
2025-01-27 20:23:52 +01:00
HiFiPhile
67f0d610e5
Merge branch 'master' into master 2025-01-27 19:27:47 +01:00
Ha Thach
0d4f945bdc
Merge pull request #2962 from hathach/zephyr-support
Initial Zephyr support
2025-01-26 00:24:25 +07:00
hathach
882cb1406d
update cmake.xml 2025-01-25 23:50:09 +07:00
hathach
7641060252
Merge branch 'master' into zephyr-support 2025-01-25 23:48:05 +07:00
Ha Thach
37e6f49619
Merge pull request #2964 from hathach/fix-2939
fix bug introduced by 2939, with correct offset check logic
2025-01-25 23:46:06 +07:00
hathach
f6f02f1893
correct offset check logic 2025-01-25 23:07:34 +07:00
hathach
8c7998b0e9
fix ci 2025-01-25 22:24:00 +07:00
hathach
6b3a5957c2
cmake remove EXAMPLE-tinyusb target as library 2025-01-25 16:08:40 +07:00
hathach
dc514c6230
use board alias for pca10056 2025-01-25 15:12:57 +07:00
hathach
1003aba690
use board alias for pca10056 2025-01-25 12:39:08 +07:00
hathach
13856af935
add -DRTOS=zephyr to ci west build 2025-01-25 12:19:24 +07:00
hathach
b53801a8ac
add cmake RTOS=zephyr (default noos) for zephyr build 2025-01-24 15:06:05 +07:00
hathach
201b9707b9
try build zephyr with ci 2025-01-24 11:54:42 +07:00
hohoho
5ca3822830 stm32: fix conditional compilation error when not using uart 2025-01-23 19:56:57 +01:00
hathach
9f45e25b1c
msc_dual_lun and cdc_msc work with zephyr on pca10056 2025-01-24 00:39:48 +07:00
hathach
0162d6ab32
kind of work with zephyr with pca10056 with cmake -DBUILD_ZEPHYR 2025-01-23 17:35:05 +07:00
hathach
31071ccf0e
kind of work with zephyr with pca10056 with cmake -DBUILD_ZEPHYR 2025-01-23 17:10:48 +07:00
HiFiPhile
597446fbea
Merge pull request #2939 from PwnVerse/patch-1
Fix potential out of bounds access in msc_disk.c
2025-01-22 23:48:57 +01:00
HiFiPhile
19d28a9d15 Fix also cdc_msc example. 2025-01-22 21:24:14 +01:00
HiFiPhile
bd08753583 Fix CI. 2025-01-22 21:22:32 +01:00
HiFiPhile
586d284e6b
Merge branch 'master' into patch-1 2025-01-22 21:19:19 +01:00
HiFiPhile
feb41eeceb
Merge pull request #2950 from espressif/fix/ncm_buffer_validation
fix(ncm): Return invalid NTBs to free list
2025-01-22 21:02:35 +01:00
hathach
6080f89f3d
- change to use CMAKE_SYSTEM_CPU to prevent CMAKE_SYSTEM_PROCESSOR conflict with zephyr
- change tinyusb CMakeLists.txt to function tinyusb_target_add() instead of defining tinyusb lib target
2025-01-22 22:31:08 +07:00
hathach
91214b4614
zephyr 2025-01-21 16:28:29 +07:00
hathach
c8130afe9b
bump up cmake min to 3.20 2025-01-21 16:28:26 +07:00
Ha Thach
2d7d1070fc
Merge pull request #2955 from hathach/fix-dwc2-issue
Work around for esp32s3 racing/timing issue with macos
2025-01-21 00:09:51 +07:00
hathach
786aa2cd1c
use IAR toke for hfp runner since normal IAR license is expired 2025-01-20 23:45:57 +07:00
hathach
5b32df5abd
add s3 undefined speed note for racing issue with reset.
fix dcd_event_sof() with frame number
2025-01-20 22:47:32 +07:00
hathach
2109b801d4
update esp-idf to 5.3.2 2025-01-16 11:56:19 +07:00
Tomas Rezucha
6476ff1241 fix(ncm): Return invalid NTBs to free list
In case we received invalid datagram, we silently fail
a the buffer was not returned to empty list -> it was lost.
If this happened more than CFG_TUD_NCM_OUT_NTB_N times, we run out of
NTBs and all OUT transfers are NACKed.

Closes https://github.com/espressif/esp-usb/issues/107
2025-01-15 19:16:58 +01:00
pschatzmann
b91d5ebb45 rp2040 correct dcd_edpt_iso_activate 2025-01-15 10:18:16 +01:00
HiFiPhile
880aae4be2
Merge pull request #2947 from espressif/fix/ncm_buffer_checks
fix(ncm): Use IN buffer for transmit checks
2025-01-15 10:16:16 +01:00
Dan Halbert
76fe0393ed src/class/hid/hid_host.c: fix logging calls for epbuf 2025-01-15 14:54:49 +07:00
Ha Thach
e889c0b51e
Fix ceedling (#2949)
* fixed unit test with ceedling 1.0.0
2025-01-15 14:53:13 +07:00
Tomas Rezucha
679065c3d6
fix(ncm): Use IN buffer for transmit checks 2025-01-14 16:56:24 +01:00
Ritvik
19b6baa455
Fix potential out of bounds access in msc_disk.c 2025-01-09 15:40:21 -05:00
Ha Thach
2495563600
Merge pull request #2917 from hathach/board-doc
update docs, embed metadata to family.c and board.h
2024-12-27 21:24:36 +07:00
hathach
de38e53271
update docs, remove uses.rst, structure.rst. Refactor docs, use README.rst for docs index.rst 2024-12-27 17:48:45 +07:00
hathach
29f226c2fb
docs index.rst pointed to README.rst 2024-12-27 15:27:04 +07:00
hathach
824793a428
move mcu supported to README.rst, separated supported boards to boards.rst 2024-12-27 11:34:35 +07:00
hathach
6a36c74b10
embed metadata to family.c and board.h to generate supported boards doc 2024-12-27 09:11:09 +07:00
Reimu NotMoe
655092d568 dcd_pic: check USBBUSY bit on PIC32s 2024-12-27 04:17:26 +08:00
Reimu NotMoe
a4169114ec dcd_pic: let the user manage shared GPIO/VBUS pin 2024-12-27 01:16:15 +08:00
Reimu NotMoe
6e11406831 dcd_pic: handle EP0 timeout/stall correctly 2024-12-27 01:16:15 +08:00
Reimu NotMoe
0192b2a9b0 dcd_pic: implement dcd_deinit() 2024-12-27 00:59:45 +08:00
Reimu NotMoe
f409472998 dcd_pic: handle remote wakeup more correctly 2024-12-27 00:57:22 +08:00
Reimu NotMoe
8907a817a2 dcd_pic: handle bus resume correctly 2024-12-27 00:50:32 +08:00
Reimu NotMoe
99e6b32a7d dcd_pic: change license header and credit people accordingly 2024-12-27 00:36:42 +08:00
Reimu NotMoe
8022477031 dcd_pic: add readme 2024-12-27 00:36:31 +08:00
Ha Thach
86ad6e56c1
Merge pull request #2913 from hathach/release-0.18.0
update doc, bump up release 0.18.0
2024-12-25 12:45:09 +07:00
hathach
ab9472f584
update doc, bump up release 0.18.0
revert OPT_MCU_RAXXX value back to 1403
2024-12-25 12:23:56 +07:00
Jay
5c4e4b1bc2 modified invalid marked unit exponent. 2024-12-23 22:26:08 +09:00
Jay
eb1c2b83ef trimed trailing whitespaces. 2024-12-23 22:19:35 +09:00
Jay
b029c94035 Modified example app. 2024-12-23 22:15:01 +09:00
Jay
7e59b595f4 Update hid_device.h 2024-12-23 22:09:59 +09:00
Jay
15b1623aa3 add hid stylus pen device.
this works with android, for bypassing that absmouse does not support android.
note that, to hide cursor on android for every touch signal, find cursor option in android settings menu.

references:
1. https://stackoverflow.com/questions/28536602/hid-digitizer-descriptor-doesnt-perform-well-with-landscape-orientation
2. https://github.com/jonathanedgecombe/absmouse/blob/master/src/AbsMouse.cpp
2024-12-23 22:03:37 +09:00
Ha Thach
7c1afa837a
Merge pull request #2865 from HiFiPhile/rt1170
RT1170 enhancements
2024-12-18 16:07:21 +07:00
hathach
22a6777c2d
enable CFG_TUD/THU_MEM_DCACHE_ENABLE for imxrt with M7 by default 2024-12-17 20:53:50 +07:00
hathach
a39e30db92
Merge branch 'refs/heads/master' into fork/HiFiPhile/rt1170 2024-12-17 11:16:27 +07:00
Ha Thach
b1eae1e5e4
Merge pull request #2906 from hathach/add-ra8m1
Add ra8m1_ek
2024-12-17 11:14:57 +07:00
hathach
f74ee9c4ed
change rx url 2024-12-17 10:54:03 +07:00
hathach
73ec14d926
install libc++ for clang build fuzzer 2024-12-17 00:35:05 +07:00
hathach
7e207e4f4a
fix warning due to bsp_rom_registers.c 2024-12-16 23:48:44 +07:00
hathach
656772fc9d
make sure g_bsp_rom_registers is not dropped by linker in cmake build.
always reserve 0x100 for option setting in linker to prevent possible bricked mcu
2024-12-16 22:03:06 +07:00
Ha Thach
8eeddaab36
Merge pull request #2897 from shdeb/hid_pid_defs
Adding HID Usage Table Physical Input Device Page (0x0F)
2024-12-13 18:29:53 +07:00
hathach
380bfc0a63
fix portenta build, added core-m85.cmake/mk 2024-12-13 18:16:19 +07:00
hathach
ad0ac6780d
change OPT_MCU_RAXXX, fix missing prototype warnings. 2024-12-13 17:33:21 +07:00
hathach
0785daecc1
update build for ra8m1: usbfs work, but usbhs not working just yet. Probably missing configuration or clock setup 2024-12-13 17:28:45 +07:00
hathach
c79890c359
ra8m1_ek led and button works 2024-12-13 12:50:51 +07:00
hathach
4b39ecc519
update make build for ra 2024-12-13 08:53:54 +07:00
hathach
ec2f2f3523
rasc for portenta_c33 2024-12-12 23:50:50 +07:00
hathach
4d1f945096
rasc ra2a1_ek, but usb does not seem to work. Note fsp.ld need extra 0x100 byte for ROM registers to work. 2024-12-12 23:31:16 +07:00
hathach
ec1c8b99e2
rasc for ra4m1_ek 2024-12-12 16:30:09 +07:00
hathach
f294400a11
rasc for ra4m3 ek 2024-12-12 16:21:47 +07:00
hathach
8f2b1bc7b9
used pin generated by rasc 2024-12-12 16:07:30 +07:00
hathach
69dd473a4c
more migrate to ra smart configurator 2024-12-12 13:17:15 +07:00
hathach
aa1bab769a
limit parallel for circleci 2024-12-11 16:41:11 +07:00
hathach
91799b0df5
Merge branch 'master' into fork/HiFiPhile/rt1170 2024-12-11 16:20:02 +07:00
Ha Thach
7c7b30f0ae
Merge pull request #2902 from hathach/skip-iar-on-fork
skip iar build with forked pr
2024-12-11 16:19:22 +07:00
hathach
62f8aac382
skip iar build with forked pr 2024-12-11 16:03:21 +07:00
Ha Thach
f0dd198462
Merge pull request #2901 from hathach/fix-dwc2-epcount
fix correct DWC2_EP_COUNT
2024-12-11 15:56:35 +07:00
hathach
29fa07d2ad
Merge branch 'master' into fork/HiFiPhile/rt1170 2024-12-11 15:10:12 +07:00
hathach
d502a0c481
fix correct DWC2_EP_COUNT 2024-12-11 15:02:02 +07:00
hathach
b5e84d26c2
change ra bsp to match fsp generated directory 2024-12-10 22:17:18 +07:00
Ha Thach
cb22301f91
Merge pull request #2898 from hathach/update-h5-bsp
correct clock setting for h563 nucleo
2024-12-06 16:36:31 +07:00
Ha Thach
ed4b1a9b68
Merge pull request #2656 from lijunru-hub/feat/uvc_support_frame_based
feat(uvc): support format frame based
2024-12-06 16:25:32 +07:00
hathach
6cc2c98daf
correct clock setting for h563 nucleo 2024-12-06 16:12:19 +07:00
shdeb
3f335df508 Adding HID Usage Table Physical Input Device Page (0x0F) 2024-12-06 11:43:54 +05:30
Ha Thach
310b8657f0
try to run arm-iar with circleci with new token (#2890)
* try to run arm-iar with circleci with new token
* limit iar ci parallel build to 4 for medium+ and 6 for large
* add hil-hfp to compile and test with IAR
2024-12-05 18:01:16 +07:00
Ha Thach
eabf68bd91
Merge pull request #2895 from tannewt/p4_fixes
Disable DWC HCD interrupt with MAX3421
2024-12-03 14:25:24 +07:00
Scott Shawcroft
3653c23240
Disable DWC HCD interrupt with MAX3421 enabled
hcd_int_handler isn't found otherwise.
2024-12-02 12:35:32 -08:00
HiFiPhile
df91c12ab2 Reformat audio class.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2024-11-30 23:31:28 +01:00
HiFiPhile
0d9a24c416 Fix HCD build.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2024-11-30 23:18:22 +01:00
HiFiPhile
f934224351 Fix cmake options.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2024-11-30 22:26:33 +01:00
HiFiPhile
0bca377d52 Fix typo.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2024-11-30 21:57:47 +01:00
HiFiPhile
0074ed7c67 Add bin & hex output to cmake targets. 2024-11-30 21:50:50 +01:00
HiFiPhile
ae4373d875 Update .gitignore 2024-11-30 21:49:54 +01:00
HiFiPhile
f2ed60e9fc Update audio class with dcache support.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2024-11-30 21:49:33 +01:00
HiFiPhile
3351c366ab Restore DCache clean/invalidate.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2024-11-30 20:48:09 +01:00
HiFiPhile
c41d9db3b1 Merge branch 'master' into rt1170
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2024-11-30 18:05:04 +01:00
HiFiPhile
486e14ea9b Fix CI. 2024-11-30 18:03:16 +01:00
Ha Thach
2179fb1bd9
Merge pull request #2891 from roma-jam/fix/dcd_dwc2_counters
fix(dcd_dwc2): Fix EP IN counters assignment and usage
2024-11-29 14:07:30 +07:00
Ha Thach
444277f4a2
Merge pull request #2892 from roma-jam/fix/usbd_control_debug_buffer_name
refactor(usbd_control): Updated the buffer name for deeper debug
2024-11-29 11:22:29 +07:00
Roman Leonov
ecc65a86c8 refactor(usbd_control): Updated the buffer name for deeper debug 2024-11-28 13:16:06 +01:00
Roman Leonov
239443c197 fix(dcd_dwc2): Correct usage of dwc2_controller 2024-11-28 13:11:54 +01:00
Roman Leonov
741fdaaee7 fix(dcd_dwc2): Reset allocated_epin_count on bus reset and close all ep 2024-11-28 13:01:07 +01:00
Ha Thach
6b36df3e39
Merge pull request #2829 from HiFiPhile/lwip_fix
net_lwip_webserver example fix and improvement
2024-11-28 16:23:41 +07:00
Ha Thach
c6dccffa2d
Merge pull request #2847 from pschatzmann/rp2040-iso
Rp2040 - ISO API to make Audio work / Merge to master
2024-11-28 16:13:20 +07:00
hathach
79373afaaf
Merge branch 'master' into fork/HiFiPhile/lwip_fix 2024-11-28 16:11:30 +07:00
hathach
7f61a5a43b
made change per reviews, remove dcd_edpt_close(), rename and move thing around 2024-11-28 15:56:47 +07:00
Ha Thach
3142927114
Merge pull request #2852 from GuavTek/recover_zero_length_desc
USBH: Recover from unexpected descriptor size
2024-11-28 11:03:17 +07:00
hathach
c514a8c879
Merge branch 'master' into fork/pschatzmann/rp2040-iso 2024-11-28 11:02:23 +07:00
hathach
3cacb01459
Merge branch 'refs/heads/master' into fork/GuavTek/recover_zero_length_desc 2024-11-28 10:36:17 +07:00
GuavTek
4212db1b83 Move desc_len sanity checks to start of loops 2024-11-27 22:19:42 +01:00
Ha Thach
5bb90efd5f
Merge pull request #2848 from DavidEGrayson/pr_stm32c0
Add support for the STM32C0 and the NUCLEO-C071RB
2024-11-27 23:22:10 +07:00
hathach
f090b64227
enable ci for stm32c0, fix build issue with video example and clang 2024-11-27 23:00:49 +07:00
David (Pololu)
568c785da1
Add support for the STM32C0 and the NUCLEO-C071RB. 2024-11-27 22:28:32 +07:00
Ha Thach
dbc2c8d972
Fix missing protoype warning, change TUD_EPBUF_TYPE_DEF order (#2889)
* change TUD_EPBUF_TYPE_DEF order
* add and fix -Wmissing-prototypes warnings  for   cmake (skip  make)
2024-11-27 18:28:12 +07:00
Ha Thach
2732aff7dd
Merge pull request #2888 from hathach/esp32p4-host-dma
Esp32p4 host dma
2024-11-27 12:52:56 +07:00
hathach
ae7cdcd070
fix typo 2024-11-27 12:18:54 +07:00
hathach
d9ef3cd1b3
default CFG_TUH_DWC2_DMA_ENABLE to 0 2024-11-27 11:54:11 +07:00
hathach
9e4b855e53
minor clean up 2024-11-27 11:35:21 +07:00
hathach
453d69517b
fix multiple flag on compiling 2024-11-27 11:10:06 +07:00
hathach
63771086d9
enable dwc2 dma for hil test for esp32s3/p4 and stm32 2024-11-27 00:22:56 +07:00
hathach
123f1affb7
update device_info example to work with p4 dcache 2024-11-27 00:01:37 +07:00
hathach
67e92e6688
add TUH_EPBUF_DEF for cdc host 2024-11-26 22:07:28 +07:00
hathach
f7efcf3c47
msc host, use usbh_get_enum_buf() for set_config() process 2024-11-26 18:02:59 +07:00
hathach
e9a3f88894
add buffer note for host msc api 2024-11-26 17:28:27 +07:00
hathach
d9f3e7dd25
add TUH_EPBUF_DEF for hid host 2024-11-26 16:32:19 +07:00
hathach
a5f9947a20
msc host work ok with p4 dma 2024-11-26 13:38:03 +07:00
hathach
be25aa31f6
hcd dwc2 add dcache support, usbh correctly use cache line size with TUH_EPBUF_DEF 2024-11-26 10:20:38 +07:00
Ha Thach
62f0e87bf1
Merge pull request #2887 from hathach/change-dcd_dcache_return-to-bool
change dcd_dcache_*() API return type from void to bool
2024-11-25 20:09:21 +07:00
hathach
833eb7d22d
change dcd_dcache_*() API return type from void to bool 2024-11-25 19:11:19 +07:00
Ha Thach
66741e35c2
Merge pull request #2884 from hathach/esp32p4-dma
More Esp32p4 dma with cache sync
2024-11-25 18:07:39 +07:00
hathach
c09eedaf24
try to fix circleci with kinetis 2024-11-25 17:45:54 +07:00
hathach
07d47ba487
fix ncm incorrect length for notify connection 2024-11-22 20:21:12 +07:00
hathach
5c18a32aaa
add TUD_EPBUF_DEF for ecm rndis, also separate notify and control buffer, use edpt_claim() to prevent race condition 2024-11-22 20:09:29 +07:00
hathach
1eb72af433
TUD_EPBUF_TYPE_DEF video_device.c 2024-11-22 18:33:48 +07:00
hathach
7831af3ccf
update epnotif endpoint for ncm_device.c 2024-11-22 16:46:26 +07:00
hathach
8a5c118a66
TUD_EPBUF_TYPE_DEF usbtmc_device.c and vendor_device.c 2024-11-22 16:22:10 +07:00
hathach
1533e693ee
TUD_EPBUF_TYPE_DEF ncm_device 2024-11-22 15:45:08 +07:00
hathach
090964cd1b
apply TUD_EPBUF_DEF for device: bth, dfu, hid, msc 2024-11-22 12:25:37 +07:00
hathach
f148670753
msc_device.c declare and separate epbuf from interface struct, make cbw and csw as normal variable. Also reformat code 2024-11-22 11:22:41 +07:00
hathach
f252ab4364
bump up gcc to 13.2 2024-11-21 23:01:47 +07:00
hathach
01df8c36de
fix ci 2024-11-21 22:03:52 +07:00
hathach
85e54b0fc3
use TUD_EPBUF_DEF to declare buffer memory for midi 2024-11-21 19:36:15 +07:00
hathach
c370c70bbe
fix build with midi_test_freertos 2024-11-21 18:44:17 +07:00
hathach
34346d61f0
missing host/cdc_msc_hid_freertos 2024-11-21 18:08:52 +07:00
hathach
dbdc5a239c
- move freertos_hooks to board.c
- add device/midi_test_freertos example
- update bth/dfu/midi device for cache line size
2024-11-21 17:49:38 +07:00
hathach
5d77faa835
change pico-sdk checkout branch to master 2024-11-21 10:40:58 +07:00
hathach
fa523a5682
make sure usb buffer occupies whole cache line when DCACHE is enabled for msc,cdc,hid
HIL enable device DMA for p4
2024-11-21 10:22:09 +07:00
Ha Thach
2571889061
Merge pull request #2883 from hathach/feature/esp32p4_dma_cache_syncronization
[DCD_DWC2][ESP32P4][HS] Added cache synchronization (cont)
2024-11-20 23:48:17 +07:00
hathach
c61b55b191
dcd wrap data to dcd_data_t, add padding for setup_packet to match cache line size 2024-11-20 22:04:55 +07:00
hathach
b3b8bd88cb
add CFG_TUD_MEM_DCACHE_ENABLE, CFG_TUD_MEM_DCACHE_LINE_SIZE option 2024-11-20 21:30:29 +07:00
hathach
4da5de707b
have p4 dma somewhat working but having issue with buffer that does not occupy the whole cache line 2024-11-20 20:38:20 +07:00
Roman Leonov
43a45f29cd
feature(dcd_dwc2): Added cache synchronization 2024-11-20 20:35:00 +07:00
Roman Leonov
b8d31a59ee feature(dcd_dwc2): Added cache synchronization 2024-11-20 13:10:23 +01:00
Ha Thach
9e674d4fae
Merge pull request #2881 from hathach/enhance-dwc2-dcd 2024-11-19 05:08:07 +07:00
hathach
3fe7e612c8
remove commented code 2024-11-18 23:38:25 +07:00
hathach
ac9bc01132
add CFG_TUD_DWC2_SLAVE_ENABLE = 1 as default 2024-11-18 23:15:17 +07:00
hathach
6d4a60d8ac
clean up 2024-11-18 23:07:05 +07:00
hathach
d37707d6dd
move handle ep slave/dma wihtin compiler macro 2024-11-18 23:02:17 +07:00
hathach
dab600bea2
merge back and improve edpt_schedule_packets 2024-11-18 17:51:56 +07:00
Ha Thach
b3efa8eb6a
Merge pull request #2871 from ebs-universe/master 2024-11-18 15:48:31 +07:00
Ha Thach
fee5ee6f0a
Merge pull request #2866 from HiFiPhile/uac_fix
Fix 2 UAC issue
2024-11-18 13:02:23 +07:00
hathach
a2ab783db7
seperate handle_epin_dma/slave 2024-11-18 12:39:00 +07:00
hathach
db7670a3bc
separate handle out dma and slave
separate edpt_schedule_packets into epout/epin xfer
2024-11-18 11:35:46 +07:00
Chintalagiri Shashank
c291b831e8 Make HS USB default for STM32H7RS 2024-11-16 12:32:26 +05:30
Chintalagiri Shashank
a780071d20 Add support for STM32H7RSxx 2024-11-16 12:32:26 +05:30
hathach
a68c53fb8e
clean up, add typdef for dwc2 type for device 2024-11-14 17:34:14 +07:00
hathach
daef846aa7
rename CFG_TUD_DWC2_DMA to CFG_TUD_DWC2_DMA_ENABLE 2024-11-14 13:26:11 +07:00
Ha Thach
0569188aed
Merge pull request #2869 from subsonicpulse/master
Fix Usage of Bootsel Button for Pico 2
2024-11-14 12:46:51 +07:00
hathach
394045f596
Merge branch 'master' into fork/subsonicpulse/master 2024-11-14 10:49:28 +07:00
Ha Thach
7e1c91fac2
Merge pull request #2863 from HiFiPhile/warning
Fix _rhport_role warning
2024-11-14 10:46:52 +07:00
Ha Thach
0af07f1cff
Merge branch 'master' into warning 2024-11-14 10:25:52 +07:00
Ha Thach
6f11f99f98
Merge pull request #2875 from hathach/hil-dwc2 2024-11-13 20:02:01 +07:00
hathach
401a704804
clean up 2024-11-13 19:32:57 +07:00
hathach
98bc480f73
retry test up to 2 times, somehow open serial failed randomly with rp2040 2024-11-13 18:23:58 +07:00
hathach
202aaa49ad
change test order (no cdc or msc back to back). 2024-11-13 17:34:22 +07:00
hathach
3ee3658dad
skip max3421e metro m4 for now, due to cdc output too fast. 2024-11-13 17:01:54 +07:00
hathach
9ff02daa56
improve hil for dual cdc, close cdc once done 2024-11-13 16:20:41 +07:00
hathach
6776c7171e
fix hil set matrix 2024-11-13 15:06:39 +07:00
hathach
42ead3a8e0
hil cleanup flahser 2024-11-13 13:37:29 +07:00
hathach
aeae2966a2
hil add stm32f723disco, add test flags for device/host/dual 2024-11-13 13:08:30 +07:00
hathach
839ec17292
fix example build 2024-11-12 22:03:13 +07:00
hathach
e391e33492
update host/device_info to build with freertos for espressif board. Add hil test for host/device_info 2024-11-12 19:00:00 +07:00
hathach
3a89442dba
use arm arch to detect rp2040 2024-11-11 21:55:30 +07:00
hathach
65e741937a
fix build filter for esp32 2024-11-11 21:40:03 +07:00
hathach
3c564fd947
try adding host test for p4 2024-11-11 18:40:31 +07:00
hathach
d8970506a6
hil replace f407disco by h743nucleo 2024-11-11 17:33:02 +07:00
hathach
57c8c223e5
correctly test dwc2 dma device for s3, disable for p4 (cache issue) and f407 fs (slave only) 2024-11-11 16:42:08 +07:00
hathach
13f78e2e77
add esp32p4 to hil 2024-11-11 16:07:33 +07:00
Ha Thach
a8903d3152
Merge pull request #2854 from roma-jam/fix/esp32p4_device 2024-11-10 15:25:52 +07:00
Ha Thach
fde947b124
fix typo 2024-11-10 12:55:13 +07:00
Ha Thach
449753ae69
Merge branch 'master' into fix/esp32p4_device 2024-11-10 12:40:52 +07:00
Ha Thach
9d86ca1777
Merge pull request #2870 from hathach/hcd-dwc2
Implement Host Driver support for synopsys dwc2
2024-11-09 00:10:32 +07:00
hathach
3831786ede
minor clean up 2024-11-08 22:53:28 +07:00
hathach
c8d104fb47
fix warnings 2024-11-08 21:55:23 +07:00
hathach
5d00488907
get hcd work esp32p4 but only in slave mode. In DMA channel's HCDMA is increased but data transfer over USB is not correct. 2024-11-08 17:23:43 +07:00
Roman Leonov
f5c5aaf017 fix(tusb.h): Fixed backward comatibility for port selection 2024-11-07 13:28:55 +01:00
subsonicpulse
4f11243d30
Merge pull request #1 from subsonicpulse/subsonicpulse-patch-fix-usage-bootsel-button-pico2
Fix Usage of Bootsel Button for Pico 2
2024-11-07 12:19:38 +01:00
subsonicpulse
8174ab0640
Fix Usage of Bootsel Button for Pico 2
see code from 
https://github.com/raspberrypi/pico-examples/blob/master/picoboard/button/button.c
2024-11-07 12:16:42 +01:00
hathach
ab8160a29b
hcd work with esp32p4 in slave mode but have issue with DMA mode. In slave it enumerate device but has issue with msc bulk in 2024-11-07 16:37:33 +07:00
hathach
48b32f5d1e
enable host dwc2 dma by default 2024-11-07 15:18:09 +07:00
hathach
9920ebff4a
update bsp for h7 to support host mode 2024-11-07 15:04:19 +07:00
hathach
4baeeeb564
enable stm32f4 host 2024-11-07 09:49:04 +07:00
hathach
772edf879b
fix iar build 2024-11-06 22:13:05 +07:00
hathach
e5c26924ed
update bsp for f7 2024-11-06 21:46:18 +07:00
hathach
fe79a93594
implement split for slave, got mouse working 2024-11-06 12:09:32 +07:00
hathach
fbc193647a
split interrupt work with fs mouse 2024-11-05 16:26:56 +07:00
hathach
372db1e19a
implement split transaction, got control working 2024-11-05 10:37:39 +07:00
hathach
5f891e020c
usbh use the new tusb_time_delay_ms_api()
fix duplicated device attach for some devices which cause "USBH Defer Attach until current enumeration complete"
include dev0 for tuh_edpt_abort_xfer()
2024-11-04 17:24:49 +07:00
hathach
29262f3e24
improve port0_enable(), properly configure hcfg and hfir according to port speed. Enable low power UTMI+ phy mode for ls/fs device. 2024-11-04 17:22:25 +07:00
hathach
80ad7c4e87
add tusb_time_millis_api() and default/weak tusb_time_delay_ms_api(). Which is required for host and some device without RTOS. 2024-11-04 17:20:58 +07:00
HiFiPhile
cdc98e12c1 Improve EP IN flow control.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2024-11-02 17:09:51 +01:00
HiFiPhile
ed8d2c9594 Fix align issue of _audiod_fct.alt_setting.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2024-11-02 17:07:44 +01:00
HiFiPhile
54df3b2e94 mimxrt1170_evkb: add M4 build support. 2024-11-02 15:13:08 +01:00
hathach
5d6d905cb0
got interrupt in working with slave 2024-11-02 20:20:27 +07:00
HiFiPhile
56f53a6132 Replace cache clean/invalidate by MPU config. 2024-11-02 12:50:32 +01:00
HiFiPhile
038be21e4d
Merge pull request #2713 from rgrr/ncm-fix-in-tud_network_recv_renew
NCM: avoid recursions in tud_network_recv_renew()
2024-11-01 22:22:31 +01:00
HiFiPhile
b648a38ae8 Fix Warning[Pe188]: enumerated type mixed with another type. 2024-11-01 19:49:00 +01:00
hathach
a0f75e5b67
fix slave in nak & ack order 2024-11-02 00:20:40 +07:00
hathach
c96e04159e
implement periodic endpoint using sof 2024-11-01 21:31:01 +07:00
hathach
4f288c030a
move buffer and buflen to hcd_endpoint_t to support periodic endpoint 2024-11-01 20:58:29 +07:00
hathach
b1182de872
clean up is_period 2024-11-01 19:04:32 +07:00
hathach
b7ff10f59c
rename and add both CFG_TUH_DWC2_SLAVE_ENABLE/CFG_TUH_DWC2_DMA_ENABLE better out dma handle 2024-11-01 17:54:10 +07:00
hathach
4c8ce9733a
dma host work well with bulk/control 2024-11-01 16:55:12 +07:00
hathach
f7f80e844c
do ping for slave out when nak/nyet 2024-10-31 23:22:49 +07:00
hathach
9afa64014c
testing hcd with dma, work well after enumeration. 2024-10-31 21:37:57 +07:00
hathach
9897a36ac4
fix f7 ci build 2024-10-31 12:11:47 +07:00
hathach
92e7ac6c23
fix bulk out and txfifo_empty(), should not rely on hcchar_bm.ep_size for OUT. msc explorer seems to work well. 2024-10-31 10:50:09 +07:00
HiFiPhile
b89fa89779
Merge pull request #2861 from bollenn/callback-doxygen-info
Extend callback information
2024-10-30 21:10:09 +01:00
hathach
80d8157048
handle out nak slave -> halted -> retry transfer 2024-10-30 18:11:41 +07:00
Bollen Nico
5d74fb43b3
Extend callback information 2024-10-29 20:41:13 +01:00
hathach
3c1cb0e08f
correct the fifo_available comparison (words not byte) 2024-10-29 22:48:58 +07:00
hathach
616b5770f2
fix pid token calculation, implement hcd_edpt_clear_stall(). msc explorer example read work, but write10 still wip 2024-10-29 21:54:21 +07:00
hathach
074811c251
refactor channel_send_in_token(), support IN token for multiple transaction per transfer 2024-10-29 19:08:45 +07:00
hathach
df55d587df
update handle in/out, separate allocated and xfer result to make it easier to manage. Fix channel disable/deallocated. 2024-10-29 18:23:56 +07:00
hathach
1e164412bf
split handle channel slave out/in 2024-10-29 16:06:44 +07:00
hathach
cef9bab4b5
minor clean up 2024-10-29 15:07:28 +07:00
hathach
4797c4f508
fix nptx fifo empty handling 2024-10-29 14:47:44 +07:00
hathach
c93d3eda5f
restructure, add hcd endpoint, xfer to minimize footprint for managing xfer. 2024-10-29 13:01:48 +07:00
hathach
f953b6bf92
minor rename 2024-10-28 18:40:21 +07:00
hathach
dd99da9dce
implement hcd_edpt_abort_xfer, hcd_device_close,
check request queue available before making usb attempt. Though there is no handling when queue is full.
device_info example work well
2024-10-28 17:45:44 +07:00
hathach
79c0a249e8
got In transfer working, able to get 1st device descriptor and set address 2024-10-25 22:56:25 +07:00
hathach
77fa2f6701
fix make build 2024-10-25 19:27:09 +07:00
hathach
07abc722b6
hcd able to send setup packet 2024-10-25 19:00:45 +07:00
hathach
063661e3a3
more progress on dwc2 hcd, initial code for edpt xfer 2024-10-25 00:20:34 +07:00
hathach
8461525d48
add tusb_time_millis(), able to reset and enable dwc2 port and get SOF active 2024-10-21 18:18:33 +07:00
hathach
f5978876d2
get hprt interrupt triggered 2024-10-21 11:43:37 +07:00
GuavTek
ebcd7067c9 Recover host enumeration from zero length descriptors 2024-10-18 18:05:58 +02:00
hathach
61b33ca926
testing hcd with f723 due to h743eval issue with mfx vbus drive. 2024-10-18 22:16:21 +07:00
hathach
42b6f30eda
add VBUS drive via MFX for h743 eval, but does not seems to work yet 2024-10-18 18:33:50 +07:00
hathach
b5a4f18879
get hpri triggered 2024-10-17 15:56:12 +07:00
hathach
8d9d3d9a2a
move gahbcfg/gintmsk with dma to dwc2 common 2024-10-16 13:19:28 +07:00
Phil Schatzmann
970a03e398
Merge branch 'hathach:master' into rp2040-iso 2024-10-16 03:52:46 +02:00
HiFiPhile
8b1e40c3e2
Merge pull request #2846 from pschatzmann/rp2040-audio-corrections
Rp2040 audio corrections / Merge to master
2024-10-15 23:59:36 +02:00
pschatzmann
87a35c5734 RP2040 Compile Errors 2024-10-15 23:38:16 +02:00
pschatzmann
1b17bc04f9 RP2040 New ISO API 2024-10-15 23:09:05 +02:00
HiFiPhile
047ba0a62d Add comment to BOS descriptor. 2024-10-15 21:49:02 +02:00
hathach
4012e15075
move core init code to dwc2 common. update/correct build for esppressif 2024-10-15 17:55:24 +07:00
hathach
10a3aa3cc8
adding hcd dwc2 2024-10-15 13:03:12 +07:00
Ha Thach
933ac29d77
Merge pull request #2836 from hathach/more-tusb_init()
change tusb_init() to use init struct
2024-10-14 21:38:45 +07:00
hathach
e83e08343a
change dcd_init() return from void to bool 2024-10-14 19:42:22 +07:00
hathach
1f18be93db
change the tusb_rhport_init_t struct, exclude the rhport to make API more consistent 2024-10-14 18:27:52 +07:00
hathach
1587d48e89
hcd_init() take init struct 2024-10-11 17:53:39 +07:00
hathach
f3b7d7515e
fix fuzzing build 2024-10-11 16:00:51 +07:00
hathach
d997f0071e
change dcd_init() to take rhport struct 2024-10-11 15:31:49 +07:00
hathach
92602b9de3
change tusb_init(), tusb_rhport_init() to use init struct for expandability 2024-10-11 13:41:53 +07:00
Ha Thach
a4fb8354e4
Merge pull request #2834 from hathach/add-tusb_int_handler-update-tinyusb_init
add new tusb_int_handler(rhport, in_isr) and update tusb_init(rhport, role)
2024-10-10 17:00:40 +07:00
hathach
57aac432b5
add new tusb_int_handler(rhport, in_isr) as common irq handler
update tusb_init() to take rhport and role, defined as macro with optional argument for backward compatible
2024-10-10 16:28:36 +07:00
Ha Thach
ffdf81f53a
Merge pull request #2833 from hathach/update-dwc2
more dwc2 enhance
2024-10-10 11:34:05 +07:00
hathach
1406ad84e3
remove debug code 2024-10-10 11:05:32 +07:00
hathach
ba3a5b4374
clion files 2024-10-10 10:48:25 +07:00
hathach
c3437961b8
remove stm32f769disco since it is not reliable 2024-10-10 00:08:47 +07:00
hathach
98e94a5d6d
enhance dwc2 2024-10-10 00:08:46 +07:00
hathach
07c14f30a6
add f407disco to hil pool 2024-10-10 00:08:46 +07:00
hathach
599bb0c822
improving dwc2, merging diep and doep if possible 2024-10-10 00:08:45 +07:00
hathach
b2a98eadab
add stm32f769disco to hil pool 2024-10-10 00:08:45 +07:00
hathach
cb5e273e9a
enhance dwc2 markdown with field mapping 2024-10-10 00:08:41 +07:00
Ha Thach
65242fd11f
Merge pull request #2720 from YixingShen/master
fixed video_device.c _find_desc_format
2024-10-07 11:12:53 +07:00
Ha Thach
a13dbd4452
Merge pull request #2809 from shuffle2/master
make all python files executable and standardize interpreter
2024-10-07 11:11:54 +07:00
HiFiPhile
ad362c8ac4 Add MSOS 2.0 descriptor to auto load NCM driver on Windows. 2024-10-05 15:51:02 +02:00
Stéphane Lenclud
3d3dcb1ee9 service_traffic: Don't call pbuf_free when ethernet_input is Ok 2024-10-05 15:51:02 +02:00
Ha Thach
6bfd024137
Merge pull request #2824 from Maerdl/master
support stm32U0 device
2024-10-04 17:51:58 +07:00
Ha Thach
4e0d5343b4
Merge pull request #2827 from hathach/ci-dwc2-dma
Ci dwc2 dma
2024-10-04 17:51:34 +07:00
hathach
31c123aa32
update new json change 2024-10-04 17:38:57 +07:00
hathach
73f7ce7103
U0 does not have dwc2 controller 2024-10-04 17:26:14 +07:00
hathach
0abd6474d9
fix circleci set-matrix 2024-10-04 17:10:13 +07:00
hathach
790a107287
revert hfp dma for now, due to ci build matrix 2024-10-04 17:05:45 +07:00
hathach
7cdab1c94b
enable dma hil test with hfp.json 2024-10-04 16:33:58 +07:00
hathach
06347661de
accept and ignore -f1 option 2024-10-04 16:09:43 +07:00
hathach
072a80d088
hil test both slave and dma for dwc2 esp32s3 2024-10-04 16:02:46 +07:00
hathach
5a5dbfc8c6
fix missing json 2024-10-04 15:05:02 +07:00
hathach
1b295de9ad
add hil_ci_set_matrix.py, starting to support hil with additional build flags 2024-10-04 15:01:03 +07:00
hathach
db15f63736
Merge branch 'master' into fork/Maerdl/master 2024-10-02 18:22:06 +07:00
Haefner, Martin
3fa7da95bd support stm32U0 device 2024-10-01 15:24:11 +02:00
Ha Thach
eda3cceab2
Merge pull request #2818 from hathach/add-esp32p4
Add esp32p4 OTG HS support
2024-10-01 11:15:33 +07:00
hathach
49d250be8f
Merge branch 'master' into add-esp32p4 2024-10-01 00:18:24 +07:00
Ha Thach
ad6e1ec782
Merge pull request #2820 from HiFiPhile/vendor_fix
Fix vendor class reset.
2024-10-01 00:17:57 +07:00
HiFiPhile
53989a99f6
Fix vendor class reset. 2024-10-01 00:03:01 +07:00
Ha Thach
254167bdbd
Merge pull request #2823 from hathach/hil-piousb-host-optional
HIL have dual/host_info_to_device_cdc optional for pico/pico2
2024-10-01 00:02:08 +07:00
hathach
d6c8719bcb
temporarily update hil_test.py to have dual/host_info_to_device_cdc optional for pico/pico2 since it does not seem to be stable enough 2024-09-30 23:16:53 +07:00
hathach
fa44923de1
skip some examples for mcxa15 2024-09-30 22:13:30 +07:00
hathach
4617fb5229
update build script to correctly skip non max3421 enabled for espressif boards 2024-09-30 21:53:57 +07:00
hathach
4c81d91a73
bump up idf to 5.3.1 2024-09-30 11:53:20 +07:00
hathach
87f1993304
esp32p4 use port0 as fs, port1 as highspeed 2024-09-30 11:53:19 +07:00
hathach
67e5577b42
added p4, seems to work well and enumerated 2024-09-30 11:53:18 +07:00
hathach
7e472fa3ca
try to add esp32 p4 and esp-idf v5.3 support 2024-09-30 11:53:18 +07:00
hathach
bb2d1dd0c1
update/rename ghwcfg registers 2024-09-30 11:53:17 +07:00
hathach
47233f863a
update to dwc2 register struct 2024-09-30 11:53:17 +07:00
Ha Thach
e209acb8d3
Migrate hil vm (#2822)
* migrate hil to new x64 VM instead of rpi
* re-enable hil for s3
2024-09-30 10:58:19 +07:00
Ha Thach
c8ab65fbb6
Merge pull request #2576 from HiFiPhile/dwc2_dma
DWC2 DMA support
2024-09-25 10:16:28 +07:00
HiFiPhile
e483c6a2ad Add a note about data cache. 2024-09-24 21:30:16 +02:00
hathach
6a15e7875c
more rename 2024-09-24 18:12:01 +07:00
hathach
a1244381b3
add CFG_TUD_DWC2_DMA, make it compile time option 2024-09-24 17:55:15 +07:00
hathach
86b4608365
update dfifo allocation scheme to use top pointer, update document and explanation for EPInfo address and GDFIFO.
some function rename
update h743 linker to use SRAM1 since USB DMA cannot access DTCM ram
update xmc4500 to use uuid for testing
2024-09-24 17:38:31 +07:00
hathach
40b55170c8
skip pico2 dual test, it seems not stable 2024-09-18 20:27:34 +07:00
hathach
9bfb3e7787
Merge branch 'refs/heads/master' into fork/HiFiPhile/dwc2_dma 2024-09-18 18:01:28 +07:00
Shawn Hoffman
616532892d make all python files executable and standardize interpreter 2024-09-17 12:17:12 -07:00
Ha Thach
f4dd176484
Merge pull request #2803 from UweBonnes/b_u585i-iot
Add STM32 B_5585I-IOT2A board
2024-09-16 10:48:06 +07:00
Uwe Bonnes
2c27f29f71 Add STM32 B_5585I-IOT2A board 2024-09-14 20:32:18 +02:00
Ha Thach
5217cee5de
Merge pull request #2801 from hathach/release-0.17.0 2024-09-13 23:42:53 +07:00
hathach
115b1bb71e
prepare for 0.17.0 release 2024-09-13 23:23:37 +07:00
Ha Thach
3ff128bacf
Merge pull request #2799 from hathach/add-pico2
add pico2 rp2350 (arm) board
2024-09-13 19:29:53 +07:00
hathach
c419b1e7c5
add pico2 rp2350 (arm) board
add pico2 to hil ci
2024-09-13 19:12:26 +07:00
Ha Thach
91c8700a9f
Merge pull request #2794 from hathach/fix-circleci
[circleci] fix build with rx by get-deps before install toolchain
2024-09-11 10:48:15 +07:00
hathach
013b4488b0
[circleci] fix build with rx by get-deps before install toolchain 2024-09-11 10:20:17 +07:00
Ha Thach
4b107a2b9e
Merge pull request #2450 from HiFiPhile/vendor_fifo
Allow vendor class to be used without FIFO.
2024-09-11 10:10:06 +07:00
hathach
9b4bb61cbd
ep stream init: wrap with OSAL_MUTEX_REQUIRED, only create fifo mutex if needed 2024-09-10 20:41:01 +07:00
hathach
7909a62569
fix warnings 2024-09-10 18:47:58 +07:00
hathach
dd1822ba03
reduce ep stream footprint by using is_mps512 since it only support bulk so far 2024-09-10 18:37:53 +07:00
hathach
3ab63fbc65
remove vendor ep_addr, use stream api instead 2024-09-10 18:27:22 +07:00
hathach
7373a02396
minor clean up 2024-09-10 18:13:38 +07:00
hathach
bbeae09259
update vendor device to use edpt stream which also support non-buffereed (no fifo) mode 2024-09-10 17:45:03 +07:00
hathach
cc816dc9c0
change edpt stream api to take hwid from API to reduce memory footprint 2024-09-10 17:41:20 +07:00
hathach
c0030810dd
update edpt_stream to support non-buffered (no fifo) mode 2024-09-10 16:15:51 +07:00
hathach
867f17acea
change vendor device to use edpt stream API 2024-09-10 10:44:22 +07:00
HiFiPhile
7867464694
Merge branch 'master' into dwc2_dma 2024-09-08 17:15:28 +02:00
HiFiPhile
3eea46056e
Merge pull request #2788 from dp111/cppcheck
make function prototypes match functions( found by cppcheck)
2024-09-04 20:06:47 +02:00
Ha Thach
55951b71ae
Merge pull request #2789 from hathach/enhance-disconect-connect-esp32
dwc2: for esp32 force disconnect/connect using USB_WRAP otg pad overr…
2024-09-04 21:15:40 +07:00
hathach
0bb7b992d8
dwc2: for esp32 force disconnect/connect using USB_WRAP otg pad override (DM=DP=0) in addition to dwc2's dctrl 2024-09-04 20:56:04 +07:00
dp111
6935c66309 Make function parameter definitions match function prototypes ( found with cppcheck) 2024-09-03 20:32:23 +01:00
dp111
fc07df320b use fixed with in printf ( found by clang)
NB %lu is a minimum of 32 bits where as the variable use is exactly 32 bits . This can affect porting to other systems.
2024-09-03 20:28:42 +01:00
dp111
dde81f8f03 make function prototypes match definitions ( found with cppcheck) 2024-09-03 19:59:55 +01:00
dp111
8ab1e4fbd0 make function prototypes match ( found by cppcheck) 2024-09-03 19:38:34 +01:00
HiFiPhile
4349e99fb2
Merge pull request #2786 from dp111/breakinside
Put break inside #if
2024-09-02 13:50:59 +02:00
HiFiPhile
ee551909b2
Merge pull request #2783 from donatieng/don/bth_device-zlp
Bluetooth Device: Issue ZLP on ACL IN ep when transfer is multiple of endpoint max packet size
2024-09-02 13:50:44 +02:00
HiFiPhile
8eb3bd213f
Merge pull request #2765 from hinxx/usbtmc-clean
couple of fixes for usbtmc example
2024-09-01 18:09:36 +02:00
HiFiPhile
12f5a6edbe
Merge pull request #2781 from lurch/patch-1
Fix compiler warning in hid_boot_interface example
2024-09-01 18:03:32 +02:00
Ha Thach
29e025cbf5
Merge pull request #2731 from cumhuronat/master
Fix: Properly Handle NAK Response in MAX3421E driver
2024-08-30 18:10:15 +07:00
Donatien Garnier
cef4c466b3 Bluetooth Device: Issue ZLP on ACL IN ep when transfer is multiple of endpoint max packet size 2024-08-30 07:53:49 +00:00
Ha Thach
64e62bad0d
Merge pull request #2784 from tannewt/fix_esp32_sx_resume
Fix ESP32-SX resume
2024-08-30 09:50:35 +07:00
Scott Shawcroft
6890975f80
Fix ESP32-SX resume
The interrupt handler pipes through the resume event but the
interrupt wasn't enabled in the first place.
2024-08-29 14:04:49 -07:00
HiFiPhile
ed0d58749d
Merge pull request #2782 from rgrr/fix-dcd_nrf5x-wrong-order
dcd_nrf5x: fix race condition
2024-08-29 20:56:51 +02:00
Reinhard Griech
1d2c9f929d change order, fixes #2778 2024-08-29 15:31:29 +02:00
Andrew Scheller
f73964e3e5
Fix compiler warning in hid_boot_interface example 2024-08-28 13:30:48 +01:00
Ha Thach
669f341b0b
Merge pull request #2780 from hathach/bump-pio-usb
bump up pio-usb to 0.6.1
2024-08-28 14:57:55 +07:00
hathach
0d542a0bdc
enable i386 arch for running rx-gcc 2024-08-28 14:44:32 +07:00
hathach
973cbd3338
enable i386 arch for running rx-gcc 2024-08-28 14:27:29 +07:00
hathach
59883237f7
enable rx-gcc for circleci 2024-08-28 13:07:52 +07:00
hathach
9985b9faf4
try to build hil in parallel 2024-08-28 13:02:53 +07:00
hathach
6fdf206f11
bump up pio-usb to 0.6.1, enable dual hil test for pico 2024-08-28 11:43:14 +07:00
hathach
72ee3b4f48
Merge branch 'master' into fork/HiFiPhile/vendor_fifo 2024-08-27 21:13:15 +07:00
Ha Thach
c46adc7ba8
Merge pull request #2779 from hathach/update-hil-max32
change hil max32666 to use picodebug
2024-08-27 20:47:32 +07:00
hathach
29d4c82efb
reset usb when init for max32650/66. change hil max32 to use pico (cmsis dap2), change metro m4 flasher 2024-08-27 20:24:18 +07:00
Mengsk
cefee1a743 Merge remote-tracking branch 'tinyusb/master' into vendor_fifo 2024-08-27 12:13:29 +02:00
hathach
27ddf19631
add sndfifo owner info to skip rewriting data for retrying NAKed 2024-08-26 14:27:23 +07:00
Cumhur Onat
c7851e8dcb
only check SNDBAV IRQ if there is data to send 2024-08-23 10:54:28 +07:00
Cumhur Onat
5bb2e66ce7
fix for out retry attempts with nak response 2024-08-23 10:54:28 +07:00
Ha Thach
4485bffd13
Merge pull request #2771 from hathach/hil-add-host-test
[HIL] add dual host_info_to_device_cdc support
2024-08-22 23:21:43 +07:00
hathach
45d06cd4ab
skip dual/host_info_to_device_cdc for pico due to a bug in pio-usb 2024-08-22 22:25:14 +07:00
hathach
ccf886ca80
add pio-usb host test to hil. fix build as well 2024-08-22 18:51:32 +07:00
hathach
0db42aac71
add hil support for dual host_info_to_cdc
replace itsybitsy m4 by metro m4 + max3421e
2024-08-22 18:14:14 +07:00
Ha Thach
858ad66c93
circleci tweaks (#2770)
* skip circleci build on master push
* change max32666 probe to jlink, max32625pico is not reliable enough
2024-08-22 12:37:11 +07:00
Ha Thach
6118700828
update circle ci to build make (#2769)
* update build.py script to work with circleci
* build make with circle ci
* build vm for esp only
* nrf imxrt with large resource
* nrf imxrt with large resource
* remove 2 of nrf boards
2024-08-21 19:09:37 +07:00
Ha Thach
5f519819ba
Merge pull request #2767 from hathach/minor-update
Minor update
2024-08-19 21:42:14 +07:00
hathach
0541598d07
mimxrt1015_evk does not work reliably in hil pool (like metro m7). 2024-08-19 21:22:59 +07:00
hathach
ea4f9ceb58
remove weak from dcd_edpt_close() for port without TUP_DCD_EDPT_ISO_ALLOC 2024-08-19 20:08:55 +07:00
hathach
215832397b
update doc, re-enable metro m7 for hil, only build make windows/macos on PR 2024-08-19 19:44:22 +07:00
hathach
088486186f
rename TUD_ENDPOINT_EXCLUSIVE_NUMBER to TUD_ENDPOINT_ONE_DIRECTION_ONLY 2024-08-19 19:05:33 +07:00
Ha Thach
ca3925a4c5
Merge pull request #2708 from BrentK-ADI/max32_port
Add port for Analog Devices MAX32 MCUs
2024-08-19 18:22:13 +07:00
hathach
635bdc1fce
fix ci build 2024-08-19 17:36:11 +07:00
hathach
0c9d7a2185
add hwfifo_flush() 2024-08-19 13:11:48 +07:00
hathach
8fdd8d9a7b
implement dcd_edpt_iso_alloc/dcd_edpt_iso_activate for musb. video_capture example with iso kind of work but not smoothly. audio example does not seems to work as expected 2024-08-19 12:04:24 +07:00
hathach
e345380723
add flash_openocd_adi() for use with max32
add feather max32666 to the hil pool
2024-08-18 17:15:07 +07:00
hathach
76eb2f5066
more musb update 2024-08-18 16:34:58 +07:00
hathach
fe7ffc8eda
rename register bit definition to prevent conflict 2024-08-17 19:08:48 +07:00
hathach
123830c1f0
remove unused register def 2024-08-17 19:06:19 +07:00
hathach
a6bee747b6
define and use TUD_ENDPOINT_EXCLUSIVE_NUMBER 2024-08-17 18:07:36 +07:00
hathach
993473312b
minor update 2024-08-17 17:11:54 +07:00
hathach
e9109f36ba
refactor fifo configure/setup for dynamic and static fifo 2024-08-17 16:37:27 +07:00
hathach
eaf9cc1beb
more refactor to simplify musb driver 2024-08-17 13:33:53 +07:00
dp111
c34d5e7a71 Put break inside #if #endif 2024-08-16 21:43:41 +01:00
hathach
8e3093e06f
update cmake profile 2024-08-16 08:21:20 +07:00
dp111
802713523e
Merge pull request #1 from hathach/master
Sync
2024-08-15 21:05:41 +01:00
hathach
33e3ea3645
remove analog PHY from musb_regs_t
hil: remove ch32v203 since not reliable enough
2024-08-15 23:46:33 +07:00
hathach
6152adb17f
use musb_ep_csr_t for indexed CSR, also use indexed csr for TI access as well. Merge ep0 and epn together 2024-08-15 19:39:20 +07:00
Hinko Kocevar
06e52e4fb2 couple of fixes for usbtmc example 2024-08-15 14:33:02 +02:00
hathach
7d8d364332
update musb fifo usage 2024-08-15 16:52:50 +07:00
hathach
e339702a2a
adding universal register structs for musb 2024-08-15 16:41:20 +07:00
hathach
a9df933e0d
add TUP_USBIP_MUSB macro, minor rename 2024-08-15 15:24:04 +07:00
hathach
1402e6ec0d
add flash-uniflash support for ti tm4c 2024-08-15 14:36:31 +07:00
hathach
0be427bae9
use max32 cmsis, fix NVIC_GetEnableIRQ() not defined when using with CMISIS < 5 2024-08-14 23:59:35 +07:00
hathach
f6b96f7ea9
fix spelling, add max32 to ci with arm-gcc build 2024-08-14 22:56:59 +07:00
hathach
761399b5e0
Merge branch 'refs/heads/master' into fork/BrentK-ADI/max32_port 2024-08-14 06:33:42 +07:00
Ha Thach
b8d3c0c4a8
Circi dynamic config (#2763)
Circleci
* build cmake armgcc and arm clang on circleci
* use docker medium+
2024-08-13 23:57:01 +07:00
Ha Thach
9d8052b5da
Merge pull request #2762 from hathach/fsdev_iso_fix
Fsdev iso fix
2024-08-13 16:20:19 +07:00
hathach
86419df42c
use zero wait flash for nano v203 2024-08-13 16:01:51 +07:00
hathach
0f732a2f8b
remove metro m7 for now 2024-08-13 14:50:54 +07:00
hathach
5f8599f6d4
metro m7 has issue with cdc_msc example randomly on hil test. Exclude it for now 2024-08-13 14:35:42 +07:00
hathach
5254065976
change pio-usb back to upstreaam 2024-08-13 13:51:28 +07:00
hathach
f23170786a
increase pyserial timeout 2024-08-13 13:50:19 +07:00
hathach
61725a5263
fix concurrent mass storage test conflict, use pyfatfs to access disk dev by usb id instead of mounted in /media/ 2024-08-13 13:16:46 +07:00
hathach
45f50ebaa8
increase enum timeout 2024-08-13 11:04:53 +07:00
hathach
ad411b6c25
minor update to cmake profile 2024-08-13 10:55:17 +07:00
HiFiPhile
96c5c72e97
Fix double buffer not disabled for smaller devices. 2024-08-13 10:19:08 +07:00
HiFiPhile
f565267daf
Fix stm32l0 clock init. 2024-08-13 10:19:07 +07:00
HiFiPhile
549f20d179
Fix buf_id read for ISO transfer. 2024-08-13 10:19:07 +07:00
HiFiPhile
5666aa196f
Fix tusb_dir_t warning. 2024-08-13 10:19:06 +07:00
Ha Thach
ac1fd32666
Merge pull request #2761 from hathach/hil-readd-v203
readd v203 to hil pool
2024-08-12 21:26:10 +07:00
hathach
a621c4b6fc
fix more race with ch32v203 and setup when queuing zlp.
improve hil test failed output
2024-08-12 16:39:25 +07:00
hathach
7a9ef9e7bd
readd v203 to hil pool 2024-08-11 11:10:15 +07:00
Ha Thach
9ee7d1b77e
Merge pull request #2760 from hathach/update-pio-usb
change pio to fix rp2040 build
2024-08-11 10:19:52 +07:00
hathach
8b88749223
skip ch32v203 for hil test 2024-08-11 09:51:14 +07:00
hathach
2871bb0da6
fix spi_set_format() -Wnull-dereference when compiling with -Os 2024-08-11 00:51:51 +07:00
hathach
c07928e1b3
fix build with rp2040 PICO_DEFAULT_SPI rename 2024-08-10 22:07:10 +07:00
HiFiPhile
18b5affce9
Merge pull request #2759 from hjalleboii/master
Marked the keycode parameter of the keyboard_report functions as const since the functions don't modifies the value
2024-08-10 11:00:33 +02:00
hathach
e8f42df97a
change pio to fix rp2040 build 2024-08-10 09:47:34 +07:00
Hjalmar
b786d6f4e6 Marked the keycode parameter of the keyboard_report functions as const since the functions don't modifies the value 2024-08-09 21:08:32 +02:00
Ha Thach
ea64dd4999
Update ci toolchain (#2758)
* move toolchain url to its setup action
2024-08-09 22:45:35 +07:00
Ha Thach
643a26ca8d
Merge pull request #2756
Fix ESPs without device support
2024-08-09 10:16:22 +07:00
Scott Shawcroft
00eb0144cb
Fix ESPs without device support
The newer tusb_option.h assumes that there is a number of device
endpoints to check against.
2024-08-08 12:55:30 -07:00
Ha Thach
dcd0f39b53
Merge pull request #2750 from hathach/fix-ch32v203-setup
rework fsdev driver, fix ch32v203 race condition and stability issue
2024-08-08 22:41:26 +07:00
hathach
e7e6fe7cd5
add riscv url 2024-08-08 22:28:13 +07:00
hathach
c3f3465a40
remove hiL build-esp, add riscv support 2024-08-08 22:04:54 +07:00
hathach
0d44977b54
add ch32v203 nano to hil pool 2024-08-08 21:38:49 +07:00
hathach
1ea38ebe13
refactor read/write pma from/to fifo 2024-08-08 15:43:11 +07:00
hathach
bd64625df2
revert the use of EP_KIND. ch32v203 seems to unconditionally accept ZLP on EP0 OUT, which can incorrectly use queued_len of previous transfer. So reset total_len and queued_len to 0. 2024-08-08 12:40:11 +07:00
hathach
57c26fdc72
use EP_KIND for STATUS OUT to fix OUT packet is auto accepted after SETUP without usbd consent 2024-08-08 00:27:51 +07:00
hathach
3a22163067
fix v203 race condition between rx bufsize and RX_STAT which cause PMAOVR
fix set_rx_bufsize with invalid value for zero length packet
2024-08-07 15:16:22 +07:00
hathach
0860cd3b5e
minor rename 2024-08-06 22:20:24 +07:00
hathach
d680424f62
improve dcd_int_handler()
- skip DIR and use CTR TX/RX to handle complete transfer
- clear CTR first, except for setup which we need to get data first
- separate handle_ctr_setup()
2024-08-06 22:18:25 +07:00
HiFiPhile
a7d1888328
Merge pull request #2328 from HiFiPhile/rx_fb
UAC2: Implement feedback by fifo counting.
2024-08-05 17:07:47 +02:00
hathach
30e0ef221a
fix running hil in parallel 2024-08-05 19:23:35 +07:00
hathach
315dae6a85
finally fixed fsdev setup handling, which cause race condition for ch32v203 2024-08-05 17:43:27 +07:00
hathach
91e5a066c5
more fsdev clean up
hil test boards in parallel
2024-08-02 17:12:28 +07:00
HiFiPhile
95cb319bde
Merge branch 'master' into vendor_fifo 2024-08-02 11:52:35 +02:00
hathach
e9a5af3512
add stm32f103ze_iar 2024-08-02 16:06:00 +07:00
Graham Sanderson
4232642899
Merge pull request #2743 from hathach/header_fix
rp2040: add clocks.h as set_sys_clock_khz is moving there from stdlib.h
2024-08-01 19:26:24 -05:00
hathach
e180d915c6
read/write packet enhancement, merge 16-bit and 32-bit together 2024-08-01 23:08:12 +07:00
hathach
af8609e96e
fsdev improve ep bit manipulation 2024-08-01 18:36:28 +07:00
Ha Thach
271e2a30e1
Merge pull request #2749 from hathach/hil-change
HIL test hardware changes
2024-08-01 16:12:57 +07:00
hathach
3f4f6c0ec7
increase hil timeout, reduce fuzzing from 600 to 400 seconds 2024-08-01 15:40:47 +07:00
hathach
f5d8796a6c
add f072 (fsdev 1k) to hil test 2024-08-01 15:38:59 +07:00
hathach
46fd822990
increase freerto min task stack for some stm32 2024-08-01 14:24:23 +07:00
hathach
8407252fa3
fix hil ci 2024-08-01 14:13:03 +07:00
hathach
4e114b7bfa
update hil ci 2024-08-01 14:01:35 +07:00
hathach
5fa03dd906
add stm32g0 (fsdev 2k) to hil pool
remove esp32s3 since cp210x cause usb bus issue in the long run
2024-08-01 13:00:38 +07:00
Ha Thach
c60934eedc
Merge pull request #2739 from hathach/enhance-fsdev
Enhance fsdev
2024-07-31 21:42:29 +07:00
hathach
332f75cd44
simplify read/write 16-bit packet 2024-07-31 20:53:42 +07:00
hathach
7d9b399466
fix ep type bulk typo 2024-07-31 18:28:17 +07:00
hathach
7954d9cb4c
rename to fsdev_type.h, use FSDDEV_REG instead of USB 2024-07-31 18:15:22 +07:00
hathach
26b0df2c26
refactor xfer_ctl_ptr() to take epnum/dir to reduce computation 2024-07-31 17:24:41 +07:00
hathach
ce0fdc5609
refactor dcd_ep_ctr_handler 2024-07-31 17:10:43 +07:00
hathach
ee831d27ac
rename to ep_read/write(), drop USBx argument 2024-07-31 16:56:42 +07:00
hathach
3156f1c4a7
remove all pcd ep read, modify write 2024-07-31 16:52:00 +07:00
hathach
8139840d7a
fix ep_add_dtog() 2024-07-31 15:32:37 +07:00
hathach
76cc721e8f
clean up dcd_edpt_stall/clear_statll 2024-07-31 12:45:27 +07:00
hathach
e60efec6b7
improve using ep_add_status/ep_add_dtog 2024-07-31 12:09:50 +07:00
hathach
126778298e
enhance dcd_ep_ctr_rx_handler() 2024-07-31 11:35:09 +07:00
hathach
0c8d41e25e
correct ep toggle bit 2024-07-31 09:46:31 +07:00
hathach
f4aaad6869
add edpt0_open(), slightly update dtog 2024-07-30 21:35:24 +07:00
hathach
1cf8e34ae5
improve set endpoint 2024-07-30 20:32:26 +07:00
hathach
b15814b2f9
move align buffer to pma_alloc() 2024-07-30 16:29:54 +07:00
hathach
749f092174
refactor btable_set_rx_bufsize() 2024-07-30 13:05:46 +07:00
hathach
6771ef35d9
more btable set/get clean up 2024-07-30 11:17:55 +07:00
graham sanderson
0ebe81f4c3 add explcit dependency 2024-07-29 12:34:25 -05:00
graham sanderson
cfb44a3892 add clocks.h as set_sys_clock_khz is moving there from stdlib.h 2024-07-29 12:29:27 -05:00
HiFiPhile
6a67bac47c Integrate OS guessing quirk into uac2_speaker_fb example. 2024-07-28 13:25:57 +02:00
HiFiPhile
4a48544aeb audiod_function_t clean up. 2024-07-28 12:04:25 +02:00
HiFiPhile
f48a4567a6 Merge branch 'master' of https://github.com/hathach/tinyusb into rx_fb 2024-07-28 11:59:52 +02:00
hathach
75d3a3be84
implement btable_set_addr/count 2024-07-26 00:02:06 +07:00
hathach
3b8f9a2b1f
refactor btable tx/rx into arr[2] 2024-07-25 23:51:20 +07:00
hathach
ef4285c00c
add flash stlink 2024-07-25 22:38:23 +07:00
Brent Kowal
5122d6d109 Combined DCD MUSB implementations
Combined the new MAX32 MUSB implementation with the existing (TI) implementation to provide generic code base for working the MUSB DCD peripheral.
 - Added abstraction calls for FIFO setup, EP registers, Ctrl registers and interrupt setup.
 - Combined TM4C and MSP432E into a single header file.
 - Created musb_max32.h, and removed the MAX32 specific C implementation.
 - Updated MAX32 build system to use dcd_musb.c.
 - Added MAX32 conditions for cdc_dual_ports example descriptors missed during first testing.
2024-07-25 09:08:37 -04:00
hathach
02caf00772
simplify btable rx/tx count/address access 2024-07-25 19:00:59 +07:00
hathach
a5bc0430f7
fix race condition where reset event cleaar setup count 2024-07-25 16:49:01 +07:00
hathach
0eb0baed19
fsdev: remove unused _setup_packet 2024-07-25 11:53:42 +07:00
hathach
2f8078f5b5
minor changes 2024-07-24 16:59:12 +07:00
hathach
c0f38ebf8d
fsdev read/write packet use unaligned function 2024-07-23 19:53:41 +07:00
hathach
5d26f5794e
update fsdev bsp for hil testing 2024-07-23 18:06:24 +07:00
Ha Thach
cfbdc44a8d
Merge pull request #2734 from hathach/hil-change-esp32s3-baudrate
change hil s3 baudarte
2024-07-22 22:25:33 +07:00
hathach
ce5fe3cc19
change s3 baudrate 2024-07-22 22:05:21 +07:00
Ha Thach
f09e23e453
Merge pull request #2732 from hathach/fix-fsdev-issue
fix fsdev issue introduced by #1942
2024-07-22 21:28:44 +07:00
hathach
4de46fcf97
fix a bug in fsdev introduced by #1942 2024-07-22 21:07:28 +07:00
Ha Thach
e09cf36104
Merge pull request #2728 from hathach/hil-add-lpc11u377
[HIL] add lpc11u37 for hil test
2024-07-20 00:33:22 +07:00
hathach
66193cba05
fix build with make 2024-07-19 22:48:01 +07:00
hathach
6bb59eeb3f
add lpc11u37 for hil rpi 2024-07-19 22:33:53 +07:00
Ha Thach
e9f9d43d67
Merge pull request #2723 from liamfraser/rp2040_tweaks
RP2040 tweaks
2024-07-19 21:33:50 +07:00
Ha Thach
9a418317f3
Merge pull request #2694 from feaser/keil_weak_fix
Additional fix related to issue #1018. Corrects the usage of TU_ATTR_WEAK for the Keil compiler
2024-07-19 21:20:55 +07:00
Ha Thach
dcf133b6ae
Merge pull request #2681
usbh: Add set address recovery time
2024-07-19 21:10:31 +07:00
hathach
8183433600
fix compile with tud_vendor_control_xfer_cb() and check tud_descriptor_device_cb() 2024-07-19 21:05:10 +07:00
hathach
e92acf0a91
also migrate tud_descriptor_device_qualifier_cb() / tud_descriptor_other_speed_configuration_cb() 2024-07-19 20:53:23 +07:00
Frank Voorburg
d040644b6c
Additional fix related to issue #1018. Corrects the usage of TU_ATTR_WEAK for the Keil
compiler for the callback functions:

* tud_descriptor_bos_cb()
* tud_vendor_control_xfer_cb()
* tud_mount_cb()
* tud_umount_cb()
* tud_suspend_cb()
* tud_resume_cb()

Without the fix for the first two functions, the USB device won't enumerate properly, if
the device makes use of a BOS description. For example when using a Microsoft OS 2.0
platform capability descriptor to set a specific Device Interface GUID for WinUSB.

The fix for the other four functions were added, because it's probably just a matter of
time before someone runs into the same problem with those callback functions.
2024-07-19 20:43:26 +07:00
Ha Thach
c48d2eba0d
Merge pull request #2630 from HiFiPhile/dcd_race 2024-07-19 18:28:33 +07:00
hathach
6fb6602a09
- add tud_cdc_n_ready() though not used
- usbd now change _usbd_dev.cfg_num before calling driver's open()
2024-07-19 18:08:04 +07:00
hathach
be18af8235
revert changes to usbds configuration_reset() (deal with it in separated PR) 2024-07-19 17:10:53 +07:00
HiFiPhile
4b55af17c9
Fix STM32F7 FS port build. 2024-07-19 17:02:57 +07:00
HiFiPhile
772398f6ea
Save setup_count on bus reset. 2024-07-19 17:02:57 +07:00
HiFiPhile
a1fd43ebaf
Clear _usbd_dev prior to driver reset. 2024-07-19 17:02:56 +07:00
HiFiPhile
60b3d14d19
Check tud ready check for OUT xfer. 2024-07-19 17:02:53 +07:00
Ha Thach
ad3c49ca43
Merge pull request #2726 from hathach/hil-add-ra4m1
add ra4m1 ek for hil test
2024-07-19 13:06:33 +07:00
hathach
b35173b5b0
skip msc tests for ra due to existing bug 2024-07-19 12:23:04 +07:00
Ha Thach
7706e6f5d2
Merge pull request #2725
UAC2: Fix memclr on driver reset.
2024-07-19 12:21:36 +07:00
hathach
7e7a38b97d
update test json 2024-07-19 11:48:43 +07:00
hathach
94454684f7
add ra4m1 ek for hil test 2024-07-19 11:29:48 +07:00
HiFiPhile
ffe1d0664b UAC2: Fix memclr on driver reset. 2024-07-18 20:02:57 +02:00
graham sanderson
31a979a6cc fix some clang compiler warnings 2024-07-18 11:11:06 +01:00
graham sanderson
5f6152a87e not all GCC compiler builds support --no-warn-rwx-segments; check_linker_flag is not available in all supported version of CMake, so just allow it to be passed in 2024-07-18 11:11:06 +01:00
graham sanderson
0d72f153cf fix arguable bug caught as warning by LLVM embedded toolchain for ARM 14.0.0 2024-07-18 11:11:06 +01:00
Liam Fraser
23c9353cd8 net_lwip_webserver: allow TINYUSB_LWIP_PATH to be defined by parent CMake file 2024-07-18 11:10:55 +01:00
Ha Thach
a615b0a003
Merge pull request #2722 from hathach/fix-hil-boardtest 2024-07-18 14:10:21 +07:00
hathach
eb698f8cc7
skip hil test if binary not exist 2024-07-18 13:54:11 +07:00
hathach
30a48c57bd
fix hil board_test duplication, add cdc_msc_freertos test 2024-07-18 13:21:38 +07:00
Ha Thach
b8581b4ab7
Merge pull request #2721 from hathach/hild-add-metro-m7
HIL add metro m7
2024-07-18 10:48:47 +07:00
hathach
8be0d503da
fix make build 2024-07-18 09:34:58 +07:00
hathach
68518aaa4b
add metro_m7_1011 to hil rpi 2024-07-18 09:25:52 +07:00
hathach
ea5deb0018
add unique id for imxrt 2024-07-18 09:24:29 +07:00
YixingShen
15766ad988 fixed _find_desc_format 2024-07-18 00:46:20 +08:00
Liam Fraser
3804ab9a67 RP2040: no need to clear usb_hw (usb registers) as they are reset to default state by a hardware reset 2024-07-17 15:47:00 +01:00
Liam Fraser
770efd9b46 RP2040: Use our own unaligned memcpy to avoid alignment faults with some memcpy implementations 2024-07-17 15:47:00 +01:00
Ha Thach
c6339204f4
Merge pull request #2719 from hathach/add-family-da1469x 2024-07-17 21:18:11 +07:00
hathach
daa7acd585
add FreeRTOSConfig.h for da1469 2024-07-17 20:40:27 +07:00
hathach
0e53b0b846
update workflow build ci 2024-07-17 19:45:40 +07:00
hathach
e1e68cdb9b
bump up ch32 v20x and v307 deps 2024-07-17 19:40:05 +07:00
hathach
0004faca83
minor update hid device 2024-07-17 19:29:21 +07:00
hathach
57a08200fc
add family cmake/make for da1469x boards 2024-07-17 19:28:59 +07:00
Ha Thach
e86826318c
Merge pull request #2718 from hathach/hid-2253-followup
follow up to #2253
2024-07-17 15:19:43 +07:00
hathach
0ecf15bc61
follow up to #2253
- rename tud_hid_report_fail_cb() to tud_hid_report_failed_cb() and change its signature
- use default implementation for hid callbacks to be compatible with keil compiler
- code format
2024-07-17 14:35:23 +07:00
Ha Thach
1ba88ff3ac
Merge pull request #2715 from hathach/more-hil-pi5
hil flash itsybitsy m4 with picoprobe
2024-07-16 14:43:58 +07:00
hathach
5edc8458f2
hil flash itsybitsy m4 with picoprobe 2024-07-16 14:30:51 +07:00
Hardy Griech
6b0b889f25 avoid recursions in tud_network_recv_renew() 2024-07-15 18:15:01 +02:00
Ha Thach
7ff52021ad
Merge pull request #2712 from hathach/migrate-hil-pi5
update hil test to run on new pi5
2024-07-15 18:10:16 +07:00
hathach
cc6806144f
update hil test to run on new pi5 2024-07-15 17:46:20 +07:00
Ha Thach
bd15f65e81
Merge pull request #2710 from hathach/dwc2-test-mode-followup 2024-07-12 21:15:52 +07:00
hathach
4ce1cce40a
simplify dwc2 test mode
- all dwc2 ip seems to support test mode in both fs/hs -> remove TUP_USBIP_DWC2_TEST_MODE
- remove dcd_check_test_mode_support(), all should be supported
- move enum tusb_feature_test_mode_t to tusb_types.h
2024-07-12 20:17:14 +07:00
Ha Thach
b97520e89f
Merge pull request #2709 from hathach/add-tud_cdc_configure_fifo
add tud_cdc_configure_fifo() to replace CFG_TUD_CDC_PERSISTENT_TX_BUFF
2024-07-12 17:38:33 +07:00
hathach
ef71093046
add lsusb for hil pi4 2024-07-12 17:20:06 +07:00
Ha Thach
d26b574f80
Merge pull request #2688 from HiFiPhile/3511_rtos
LPC55: FreeRTOS fix
2024-07-12 17:16:44 +07:00
hathach
1f590c3628
- add tud_cdc_configure_fifo() to replace CFG_TUD_CDC_PERSISTENT_TX_BUFF
- new line, and code format
2024-07-12 16:53:21 +07:00
Brent Kowal
13f5f20c98 Pre-commit fixes.
Resolve codespell and EOF errors found in the pre-commit CI task.
2024-07-11 12:13:30 -04:00
Ha Thach
65b3edbb09
Merge pull request #2705 from hathach/v203-use-224kb
V203 use 224kb
2024-07-11 21:36:00 +07:00
Brent Kowal
494533f9d7 Minor build system fix
Correct a case-sensitive file extension issue in the MAX32690 build scripts.  Did not present itself as an issue under MinGW or MSYS, just Linux.
2024-07-10 15:52:43 -04:00
Brent Kowal
f49725d2c9 BSP Cleanup
- Added MSDK flash rules for CMake
 - Removed partial IAR support. Uniform GCC support across MAX32 parts
 - Updated build scripts for correctly signing the MAX32651
 - Added README files for the BSPs to describe flashing and limitiations
2024-07-10 15:18:59 -04:00
hathach
e251493a16
skip FLASH_ function to reduce dependency 2024-07-10 22:58:00 +07:00
hathach
c1175b7013
enable full 224KB flash for ch32v203 with flash enhanced read mode in SystemInit (better with startup).
add flash with wlink-rs
2024-07-10 22:48:06 +07:00
Ha Thach
cb37a17ef7
Merge pull request #2699 from hathach/revert-2693-enum-int
Revert "audio.h: fix error ISO C restricts enumerator values to range of 'int'"
2024-07-05 15:42:39 +07:00
hathach
8d5dbb9577
add board_reset_to_bootloader(), try to implement that for ch32v203 but not working yet 2024-07-05 15:40:02 +07:00
hathach
ca12a57902
add u for unsigned 2024-07-05 15:19:16 +07:00
Ha Thach
bd562e4180
Revert "audio.h: fix error ISO C restricts enumerator values to range of 'int'" 2024-07-05 15:15:00 +07:00
Brent Kowal
0c37f93bc8 MAX32650/1/2 Support
Added support for the MAX32650/1/2 series parts
 - MAX32650FTHR, MAX32650EvKit, MAX32651EvKit
 - Added special flash rule for MAX32651 due to signing required
 - Added depencies to flash-msdk rules for executable
2024-07-02 18:02:11 -04:00
Brent Kowal
61beb6316d MAX32666 Support
Added support for the MAX32666, Boards MAX32666EvKit and MAX32666FTHR.
2024-07-02 14:31:38 -04:00
Brent Kowal
835a6ed622 Build System Updates
Updated MAX32690 and MAX78002 linker and cmake scripts to work with CMake + Ninja build system.  Verified all example projects build with the tools/build.py script for both board, and both make and cmake build systems.
2024-07-02 11:54:23 -04:00
Brent Kowal
2353c4ffba Add MAX78002 Support
-Added support for MAX78002, MAX78002EVKIT
 -Added provisions for remaining MAX32 USB parts
2024-07-01 17:31:38 -04:00
Brent Kowal
0b82af61f3 AD-APARD32690-SL Support and Cleanup
- Added BSP for AD-APARD32690-SL board (apard32690)
 - Ran clang-formatting on previously committed code
 - Removed LOG messages from dcd_max32.c
2024-07-01 16:31:17 -04:00
Brent Kowal
0f288326cc Initial Commit for MAX32 Support
Initial commit for the port of TUSB to MAX32xxx parts, staring with MAX32690
 - Added dcd_max32.c (based on dcd_musb.c) for interfacing with the peripheral
 - Added MAX32690 part family support
 - Added max32690evkit board support
 - Updated examples for unique EP number requirement
 - Updated get_deps.py to fetch the MSDK

Known Issues / Additional Testing Required
 - msc_dual_lun only shown 1 volume on Windows
 - USBTMC does not have a valid Windowsdriver
 - DFU does not have a valid Windows driver
 - WebUSB is "Device not Recognized"
 - Need to test build scripts with IAR and Clang
2024-06-28 16:55:27 -04:00
HiFiPhile
236aa9622a
Merge pull request #2693 from ra1nb0w/enum-int
audio.h: fix error ISO C restricts enumerator values to range of 'int'
2024-06-28 20:45:45 +02:00
Davide Gerhard
8f9a57636c audio.h: fix error ISO C restricts enumerator values to range of 'int'
fix error

~/dsp/libs/tinyusb/src/class/audio/audio.h:643:53: error: ISO C restricts enumerator values to range of 'int' before C23 [-Werror=pedantic]
  643 |   AUDIO_CHANNEL_CONFIG_RAW_DATA                   = 0x80000000, // TODO
      |                                                     ^~~~~~~~~~
compilation terminated due to -Wfatal-errors.

Closes: https://github.com/hathach/tinyusb/issues/2690
2024-06-28 19:57:59 +02:00
HiFiPhile
7125ac20ca
Merge pull request #2691 from ra1nb0w/strict-overflow
audio_device.c: fix strict-overflow warning with gcc >= 12
2024-06-28 11:12:56 +02:00
Davide Gerhard
8f699023f3 audio_device.c: fix strict-overflow warning with gcc >= 12
Fix the following error

~/libs/tinyusb/src/class/audio/audio_device.c:1493:23: error: assuming pointer wraparound does not occur when comparing P +- C1 with P +- C2 [-Werror=strict-overflow]
 1493 |         while (p_desc < p_desc_end)
      |                ~~~~~~~^~~~~~~~~~~~
compilation terminated due to -Wfatal-errors.
2024-06-28 10:55:43 +02:00
HiFiPhile
6d4e2f6c16 Fix GenID 3.10 issue on STM32L4. 2024-06-27 22:02:18 +02:00
HiFiPhile
756ad3553d
Merge pull request #2689 from ra1nb0w/semicolon
remove double semicolon since ISO C not allow it
2024-06-27 21:48:25 +02:00
Davide Gerhard
85e1f423bf remove double semicolon since ISO C not allow it
ISO C does not allow extra ';' outside of a function [-Werror=pedantic]
2024-06-27 21:30:16 +02:00
HiFiPhile
eefca229b6 Merge branch 'master' of https://github.com/hathach/tinyusb into dwc2_dma 2024-06-27 20:49:40 +02:00
HiFiPhile
fbe025190c Make FreeRTOS config work with Cortex-M33. 2024-06-27 20:46:44 +02:00
HiFiPhile
b82e0a9f1e update lpc55 bsp for rtos use. 2024-06-27 20:44:40 +02:00
Ha Thach
13dedddd19
Merge pull request #2686 from hathach/add-host-devinfo 2024-06-25 15:29:17 +07:00
hathach
4396ecd22c
change COMPILE_DEFINE to CFLAGS_CLI for cmake/make 2024-06-25 11:31:19 +07:00
Ha Thach
044f4d1801
Merge pull request #2676 from Okarss/fsdev_documentation
[FSDEV] Update the STM32 documentation
2024-06-21 20:45:44 +07:00
Okarss
822ff7b316 Update for OTG_FS devices 2024-06-21 16:23:28 +03:00
Okarss
7594d8e103 Fix the legend 2024-06-21 15:56:54 +03:00
hathach
f9cd5ccdf0
skip examples for ch32v203g6 2024-06-21 18:50:44 +07:00
HiFiPhile
906c84d2b6
Merge pull request #2683 from andrewleech/synopsys_esp32_freertos
synopsys/dwc2_esp32: Add header for vTaskDelay.
2024-06-21 12:42:11 +02:00
hathach
ab55bc077d
update cmake.xml 2024-06-21 16:09:08 +07:00
hathach
02bea8982e
add new ch32v203g6u board, sysfreq is defined in board.cmake/mk 2024-06-21 16:08:37 +07:00
Andrew Leech
0d79da37e7 synopsys/dwc2_esp32: Add header for vTaskDelay. 2024-06-20 15:18:41 +10:00
Ryzee119
5e58ec127f
usbh: Add set address recovery time
Ref USB Spec 9.2.6.3
2024-06-20 09:33:01 +09:30
Ha Thach
1cc319a15d
Merge pull request #2680 from Ryzee119/patch-1 2024-06-18 19:21:30 +07:00
Okarss
458be5dad8 Fix the table 2024-06-18 13:40:49 +03:00
hathach
ac3ec59845
add optional COMPILE_DEFINE from cmake cli 2024-06-18 16:18:58 +07:00
Okarss
5083d1eb33 Update Host mode information for FSDEV devices 2024-06-18 12:12:44 +03:00
hathach
de62b55042
add dual/host_info_to_device_cdc example 2024-06-18 13:29:04 +07:00
hathach
d945261aef
LOG3 in isr 2024-06-18 12:53:57 +07:00
hathach
f93eb40b1d
add host/device_info example 2024-06-18 12:52:32 +07:00
Ryzee119
d52d659261
usbh: Set interface recipient should be interface 2024-06-18 14:02:36 +09:30
Ha Thach
007a8bd46d
Merge pull request #2672 from tinic/master
Add support for STM32U535xx/STM32U545xx
2024-06-15 10:56:24 +07:00
HiFiPhile
edf1ef6d97
Merge pull request #2675 from Okarss/fsdev_toggle_bits
[FSDEV] Simplify toggle bit logic
2024-06-14 20:36:03 +02:00
Okarss
5f060a357d Update the STM32 documentation 2024-06-14 21:23:17 +03:00
Okarss
fb6a6acbff Revert the DSB because of RISC-V 2024-06-14 18:39:48 +03:00
Okarss
00062ddb0c [STM32 FSDEV] Simplify toggle bit logic 2024-06-14 18:16:09 +03:00
Ha Thach
0ac0c37078
Merge pull request #2674 from hathach/add-ch32v103
Add ch32v103 (not working yet)
2024-06-14 20:34:32 +07:00
hathach
2be72a97b8
minor update 2024-06-14 17:55:36 +07:00
hathach
e1012997f0
more update 2024-06-14 16:55:46 +07:00
hathach
f32851cf2a
fix ci skip example for ch32v1 2024-06-14 16:16:10 +07:00
hathach
5e9ad7daee
add ch32v10x to ci build 2024-06-14 16:09:08 +07:00
hathach
9ae0053573
newline 2024-06-14 16:08:26 +07:00
hathach
33f5547ed4
add ch32v103 bsp support, compile but does not run, probably due to compile/linker issue 2024-06-14 16:06:37 +07:00
hathach
969b06d77c
minor update 2024-06-14 12:51:50 +07:00
hathach
2ed027f2bd
use stock core_riscv.h for ch32 v2 v3 2024-06-14 12:51:28 +07:00
Tinic Uro
a6d3e2a36d Use STREQUAL instead of EQUAL to fix the cmake build. 2024-06-12 09:23:18 -07:00
Tinic Uro
48e18762b5 Use correct definition. 2024-06-12 09:02:48 -07:00
Tinic Uro
9be10f2adb Fix pin definitions. 2024-06-12 08:59:43 -07:00
tinic
a0006e6861
Merge branch 'hathach:master' into master 2024-06-12 08:33:48 -07:00
Tinic Uro
bc576e7cee Make it work. 2024-06-12 08:33:10 -07:00
Tinic Uro
6a1dc25079 Add missing files. 2024-06-12 08:14:06 -07:00
Tinic Uro
28c2433375 Add stm32u545nucleo board. 2024-06-12 08:08:25 -07:00
Ha Thach
ba2f2299c3
Merge pull request #2668 from hathach/add-c6-board
Add esp c6 devkit board
2024-06-06 16:48:08 +07:00
hathach
8df372ae7a
clean up 2024-06-06 16:19:02 +07:00
hathach
7771cae94c
fix gnurx bin 2024-06-06 16:13:25 +07:00
hathach
902cc3310b
correct script 2024-06-06 16:09:38 +07:00
hathach
302445e64f
try to build rx using build_util 2024-06-06 16:07:11 +07:00
hathach
90deeddf3d
add c6 devkit, tested with max3421e 2024-06-06 15:49:20 +07:00
HiFiPhile
b0f5422262 Merge branch 'master' of https://github.com/hathach/tinyusb into rx_fb 2024-05-31 12:38:18 +02:00
Tinic Uro
60d7fcb1ee Use correct backend. 2024-05-30 13:26:14 -07:00
Tinic Uro
2e946ac77a Use correct specs. 2024-05-29 13:23:18 -07:00
Tinic Uro
22e6b1130f Cleaner approach. 2024-05-29 13:13:47 -07:00
Tinic Uro
4938128ccc Make it compile for STM32U545. 2024-05-29 12:54:15 -07:00
Ha Thach
d10b65ada4
Merge pull request #2663 from hathach/tweak-espidf-include
fix xtensa_api.h include
2024-05-29 15:20:55 +07:00
hathach
8767d1ab7d
fix xtensa_api.h include 2024-05-29 15:19:59 +07:00
HiFiPhile
1fe86f654f
Merge pull request #2647 from andrewleech/additional_dcd_sof_enable
Add support for dcd_sof_enable() to some additional ports.
2024-05-27 20:42:28 +02:00
HiFiPhile
003a5d4f55
Merge branch 'master' into additional_dcd_sof_enable 2024-05-27 20:10:44 +02:00
HiFiPhile
a9745c9818 Fix tud_sof_cb_enable() return type. 2024-05-27 20:35:35 +10:00
HiFiPhile
8f0459c89e Fix frame count in tud_sof_cb(). 2024-05-27 20:35:35 +10:00
Andrew Leech
087fe79e2c renesas: Add support for dcd_sof_enable(). 2024-05-27 20:35:35 +10:00
Andrew Leech
160cd79fdb nrf5x: Add support for dcd_sof_enable(). 2024-05-27 20:35:35 +10:00
Andrew Leech
e229270a1c microchip samd: Add support for dcd_sof_enable(). 2024-05-27 20:35:35 +10:00
Andrew Leech
a2e5ea1882 chipidea/mimxrt: Add support for dcd_sof_enable(). 2024-05-27 20:35:35 +10:00
Ha Thach
fd11bf17fd
Merge pull request #2661 from hathach/release-0.17.0
bump up version to 0.17.0 (not release yet)
2024-05-24 20:39:33 +07:00
hathach
3175aaa0eb
increase version as pre-releases, still need more clean up before actual relesae 2024-05-24 20:17:53 +07:00
hathach
afbb07b472
test README.rst 2024-05-24 17:36:17 +07:00
HiFiPhile
37e638b3dd
Merge pull request #2657 from Rbb666/rtthread
[osal]Add usb-device and host macro controls.
2024-05-24 12:25:12 +02:00
Rbb666
2c880012f7 [osal]Add usb-device and host macro controls. 2024-05-24 16:51:22 +08:00
Ha Thach
41c7cdac68
Merge pull request #2659 from hathach/fsdev-generalize-ch32
CH32 add support for usbd (only), fsdev
2024-05-24 15:18:30 +07:00
hathach
daffb24111
minor clean up 2024-05-24 14:13:58 +07:00
hathach
937b2eac36
change default clock to 144mhz 2024-05-24 14:00:02 +07:00
hathach
4ce439a75a
add ch32 support for fsdev driver. v20x can select fsdev or usbfs with make/cmake PORT=0/1. default to fsdev 2024-05-24 13:58:44 +07:00
hathach
927015baae
wch usbfs/usbhs need to specify which driver to use. for v307 default to highspeed 2024-05-24 11:38:44 +07:00
Li Junru
61eee535c1 feat(uvc): support format frame based 2024-05-22 20:57:23 +08:00
Ha Thach
1f259b3ab0
Merge pull request #2392 from Krasutski/bugfix/ch32-hs-dcd
bugfix(ch32-hs-dcd): fix ch32 DATAx managment and long packet transmit
2024-05-21 19:15:54 +07:00
hathach
4a5b190a22
re-add sof event 2024-05-21 18:34:25 +07:00
hathach
953e3bd634
- minor update to ep_set_response_and_toggle/xfer_data_packet
- merge USBHS_ISO_ACT_FLAG, USBHS_TRANSFER_FLAG handler since they are similar
- improve uart output
- add note for link speed in bus reset
2024-05-21 17:50:50 +07:00
hathach
4bd72da5cd
use CFG_TUD_ENDPOINT0_SIZE, rename ep0_data_in_out_buffer to simply ep0_buffer
reformat indent to 2 spaces
2024-05-21 15:41:59 +07:00
Denis Krasutski
3e604d1d54
fix(ch32, iso): fix iso IN transfers for CH32 2024-05-21 15:24:40 +07:00
dkrasutski
869e5e950c
bugfix(ch32-hs-dcd): fix ch32 DATAx managment and long packet transmission 2024-05-21 15:24:36 +07:00
Ha Thach
a1abbd70cb
Merge pull request #2654 from hathach/update-circleci
circle ci remove deps caching to reduce storage credit
2024-05-21 14:01:32 +07:00
hathach
1d7aeb3fb6
try to update cache for esp-idf 2024-05-21 13:25:15 +07:00
hathach
4e24ec5e5d
circle ci skip cache for toolchain
action skip cache for toolchain url hosted by github
2024-05-21 13:04:56 +07:00
hathach
c2cfb71dce
circle ci remove deps caching to reduce storage credit 2024-05-21 12:11:08 +07:00
Ha Thach
a068b81674
Merge pull request #2362 from dragonlock2/master
Add CH32V20x USB OTG/FS Driver
2024-05-20 18:47:22 +07:00
hathach
10b1e38404
revert unrelated changes to video_device.c 2024-05-20 18:30:38 +07:00
hathach
3b144be37f
try fixing codeql 2024-05-20 18:05:45 +07:00
hathach
07d879378f
code format
add missing MIT license
2024-05-20 17:41:48 +07:00
hathach
b19295c1c1
use correct wch usbhs, usbfs for ch32v307 using CFG_TUD_MAX_SPEED 2024-05-20 17:26:04 +07:00
hathach
4a5fee503b
- update ch203 family to allow to specify flash and ram size. Introduce
- add ch32v203_ro_1v0 board
- CFG_EXAMPLE_MSC_DUAL_READONLY to build msc_dual_lun for ch32v203
2024-05-20 13:24:57 +07:00
hathach
5fee292606
temp code 2024-05-20 11:54:48 +07:00
Matthew Tran
ab5f276877 fix ep0 stall not clearing 2024-05-19 21:50:30 -07:00
Ha Thach
ccc7a36043
Merge pull request #2648 from tannewt/esp32c2_h2
Add esp32c2 and esp32h2 for max3421 support
2024-05-17 11:01:30 +07:00
Scott Shawcroft
d3098747c0
Add esp32c2 and esp32h2 for max3421 support 2024-05-16 11:17:05 -07:00
hathach
2a67ce773d
change default risv-gcc to riscv-none-elf- and add _zicsr extension
add cmake for ch32v20x, skip freertos examples for CH32V20X, also skip net webserver due to lack of RAM
update to use openocd with wlinke adapter
2024-05-16 19:18:43 +07:00
Matthew Tran
db60fa1c63
add CH32V20x USB OTG/FS driver 2024-05-15 20:01:00 +07:00
Ha Thach
5393f8ddbc
Merge pull request #2626 from rgrr/dcd_nrf5x-fix-race-condition
dcd_nrf5x: fix race condition
2024-05-15 19:31:13 +07:00
Ha Thach
cf532d1479
Merge pull request #2646 from hathach/max3421-abort-xfer
Implement Max3421 hcd abort xfer
2024-05-15 16:42:15 +07:00
hathach
50278211f4
circleci light build for merged commit to master 2024-05-15 16:20:01 +07:00
hathach
83499a2cd0
tweak action 2024-05-15 16:03:31 +07:00
hathach
aa2685536b
implement max3421e hcd_edpt_abort_xfer() 2024-05-15 16:00:15 +07:00
Ha Thach
3c24ba3ff2
build arm-clang on circleci with pull request (#2644)
* Build arm-clang using circle ci (only on PR): cache most of mandatory deps, clang toolchain
* update get_deps.py to include CMSIS_5 with --print + no arguments, prevent duplicated deps
2024-05-14 12:44:36 +07:00
HiFiPhile
ae01de2464
Merge pull request #2416 from Rocky04/test-mode-support
Add DWC2 Test Mode Support
2024-05-13 22:51:25 +02:00
HiFiPhile
ad734e658c Remove dead code. 2024-05-13 22:27:33 +02:00
HiFiPhile
e250b82377 Adjust logic. 2024-05-13 22:26:19 +02:00
HiFiPhile
0fce7d1f54 Merge branch 'master' into test-mode-support 2024-05-13 21:08:11 +02:00
Hardy Griech
9d561410e5 revert (unverified) second race condition 2024-05-13 18:57:03 +02:00
Ha Thach
7cf1bdd284
Ci tweak3 (#2643)
- enable --one-per-family to build 1 board per family, also skip family if board specified in -b also present
- minimize ci run for push event
  - only build one board per family
  - skip hil test on both pi4 and hfp
- full build will be runn for PR event
- IAR always build 1 board per family regardless of event 
- update build.py to optimize make
- remove all setup python since we don't really need it
2024-05-13 20:27:49 +07:00
Ha Thach
6f47746e5f
more ci update (#2642)
* Circi use small docker
* caching espressif docker image
* only run make job on pull request or push to master
* hw test run on pull request only, rename build_cmake to build.yml
* enable all ci build, cmake(clang) and make(*) only run with pull_request or push to master
2024-05-13 16:41:11 +07:00
HiFiPhile
67456357c5 Fix HS playback on OSX. 2024-05-12 19:00:02 +02:00
HiFiPhile
d54a1578aa Typo. 2024-05-12 17:33:31 +02:00
HiFiPhile
301fb2a9f7 Fix CI. 2024-05-12 14:05:57 +02:00
HiFiPhile
32d0baaaf8 Tested 3 bytes feedback work on OSX. 2024-05-12 14:03:29 +02:00
HiFiPhile
df6740353f Optimize fifo level display. 2024-05-12 14:02:07 +02:00
HiFiPhile
08f9e4e0c8 Hint missing import, exit on error. 2024-05-12 13:57:17 +02:00
HiFiPhile
256ccc4757 Fix CI. 2024-05-11 12:57:38 +02:00
HiFiPhile
ad85c37c03 Optimize SOF. 2024-05-11 12:51:18 +02:00
HiFiPhile
33882b3e89 Merge remote-tracking branch 'remotes/tinyusb/master' into rx_fb 2024-05-11 12:44:16 +02:00
HiFiPhile
d707ea56b4
Merge pull request #2639 from Rbb666/rtthread
[osal]add usb host script of RT-Thread to USB HOST.
2024-05-11 12:35:21 +02:00
HiFiPhile
9ce44db56f Always send 4 bytes feedback despite 10.14 format (Apple wtf ?!) 2024-05-11 12:33:51 +02:00
Rbb666
4cecb759c9 [osal]add usb host script. 2024-05-11 16:51:21 +08:00
Ha Thach
3e2ea77506
More ci tweak (#2636)
* change concurrency group to ${{ github.workflow }}-${{ github.ref }}
* use argparse for build.py hil_test.py, remove the need to install click
* move ci win/mac to build_cmake.yml
* rename build_family.yml to build_util.yml
* build_util.yml support esp32
* integrate build-espressif into build.yml
* build.py support make with --board option
* add get_deps action
* update hil test to reuse action
2024-05-10 18:55:43 +07:00
Ha Thach
bf9cf107c6
Merge pull request #2637 from hathach/circleci-project-setup
Circleci project setup
2024-05-10 17:56:46 +07:00
Ha Thach
81ceb837b9
Update config.yml 2024-05-10 17:53:26 +07:00
HiFiPhile
a13141a633
Merge pull request #2213 from Rocky04/patch-5
Adding support for a generic SOF callback
2024-05-10 10:58:37 +02:00
Ha Thach
8d63d9368e Add .circleci/config.yml 2024-05-10 13:00:19 +07:00
Ha Thach
15e2ccf1b3 CircleCI Commit 2024-05-10 12:44:54 +07:00
Ha Thach
e827829850
Merge pull request #2635 from hathach/fix-cifuzz
use argparse instead of click to fix cifuzz.yml
2024-05-10 11:03:02 +07:00
hathach
2f5db37c1a
use argparse instead of click to fix cifuzz.yml 2024-05-10 10:30:47 +07:00
HiFiPhile
f4d4f2da29 Merge remote-tracking branch 'remotes/tinyusb/master' into rx_fb 2024-05-10 00:16:45 +02:00
HiFiPhile
fc7647f9e4 Allow feedback EP size change. 2024-05-10 00:11:04 +02:00
HiFiPhile
36ba42cc0f Little optimization. 2024-05-09 22:57:25 +02:00
HiFiPhile
eea7d7b327 Fix CI. 2024-05-09 22:08:41 +02:00
HiFiPhile
376b43906a Convert to bit-field since it's more reliable. 2024-05-09 21:55:28 +02:00
HiFiPhile
16cd92fbf1 Don't forget to queue SOF event. 2024-05-09 21:47:22 +02:00
HiFiPhile
dd17f6cc80
Merge pull request #2633 from jotonedev/missing-keys
Add missing key codes for keypad
2024-05-09 19:23:18 +02:00
John Toniutti
f09fa22bbc
Fix redefinition 2024-05-09 18:45:20 +02:00
HiFiPhile
ca479d6e4b Disable SOF on configuration change. 2024-05-09 18:44:27 +02:00
HiFiPhile
11b5b2af51 Move sof status into usbd_device_t. 2024-05-09 18:37:51 +02:00
HiFiPhile
c8beaad2b1 Switch to weak default implementation. 2024-05-09 18:07:22 +02:00
HiFiPhile
6c286e3b02 Merge branch 'master' into patch-5 2024-05-09 18:00:52 +02:00
John Toniutti
015b57b6ef
Add missing key codes
Source: https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf from page 57 to page 59
2024-05-09 17:05:14 +02:00
HiFiPhile
63e64f374b
Merge pull request #911 from thierer/vendor_class_zero_length_transfer
Enable empty transfers for tud_vendor_n_write()
2024-05-09 16:56:31 +02:00
HiFiPhile
2b9e53772e Take updated change from cdc_device. 2024-05-09 16:28:25 +02:00
HiFiPhile
36ce6fad8c Merge branch 'master' into vendor_class_zero_length_transfer 2024-05-09 15:51:53 +02:00
Ha Thach
ba6babf570
Rework ci (#2631)
* add name field to usbd_class_driver_t
* ci: use set matrix py script
* add riscv32 and cmake support for ch32v307, fomu,  gd32vf103
* update build_cmake.py to take --family --board --toolchain
* separate hil test to its own workflow
* move esp32 board into separated hil json
* add make build to ci
* remov build_make.py
* build.py support esp32 board
* setup toolchain support esp-idf
* fix missing click
* merge family in matrix build to reduce jobs
* skip cifuzz since it still has issue with get_deps and click
2024-05-09 20:43:46 +07:00
HiFiPhile
1af56a30cf
Merge pull request #2181 from Xelus22/ch32v307_SOF
Add SOF interrupt to CH32V307
2024-05-09 14:48:42 +02:00
HiFiPhile
1cab553f4b Format. 2024-05-09 13:55:18 +02:00
HiFiPhile
fd1cde9b89 Merge branch 'master' into pr/2181 2024-05-09 13:45:44 +02:00
HiFiPhile
8133af4e08 Merge remote-tracking branch 'remotes/tinyusb/master' into rx_fb 2024-05-08 23:18:29 +02:00
HiFiPhile
0e907b49c9 Add callback to to set feedback format correction at runtime. 2024-05-08 23:17:56 +02:00
HiFiPhile
ab539895a5 Reorganize feedback documentation. 2024-05-08 23:08:47 +02:00
HiFiPhile
8dc767fa1d Fix cycle based feedback calculation. 2024-05-08 22:31:30 +02:00
HiFiPhile
73d61fa2b8 Migrate to weak default implementation. 2024-05-08 21:03:49 +02:00
HiFiPhile
70ae07b084
Merge pull request #2252 from rsolorzanomsft/hid-lighting
Add HID Lighting and Illumination functionality
2024-05-08 15:00:08 +02:00
HiFiPhile
d37d25d557
Merge pull request #2532 from acscd/master
Added support for SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL
2024-05-08 14:48:47 +02:00
HiFiPhile
c773c612fd
Merge pull request #2629 from andrewleech/cdc-persistent-tx-buffer
Add option to make CDC TX buffer persistent.
2024-05-08 12:17:45 +02:00
Andrew Leech
d01b2cfc0e Add option to make CDC TX buffer persistent. 2024-05-08 19:41:02 +10:00
HiFiPhile
74e57499ba
Merge pull request #2216 from rgrr/remove-tud_network_link_state_cb
removed obsolete tud_network_link_state_cb()
2024-05-07 13:46:57 +02:00
HiFiPhile
4abdfc10f5
Merge branch 'master' into remove-tud_network_link_state_cb 2024-05-07 12:32:28 +02:00
HiFiPhile
e5b6f93df3
Merge pull request #2227 from rgrr/ncm_device_new2
Rewrite of NCM device driver
2024-05-07 09:08:43 +02:00
HiFiPhile
e5d92c4ea7 Fix CI. 2024-05-07 00:37:57 +02:00
HiFiPhile
0f4ea8e918 Enable NCM + iperf for MCU with bigger RAM. 2024-05-07 00:23:50 +02:00
HiFiPhile
63d5103f42 Increase TCP_WND for better performance. 2024-05-07 00:18:31 +02:00
HiFiPhile
d25ee82d3f Reformat net_lwip_webserver example. 2024-05-07 00:17:09 +02:00
HiFiPhile
91d69fa942 Reformat NCM class. 2024-05-07 00:10:26 +02:00
HiFiPhile
45d450d1f0 Merge remote-tracking branch 'remotes/tinyusb/master' into pr/2227 2024-05-06 22:49:29 +02:00
Ha Thach
104a5daef4
Merge pull request #2618 from HiFiPhile/fifo_const_split
tusb_fifo: skip constant address functions if not used
2024-05-06 18:31:29 +07:00
Ha Thach
4101369c35
Merge pull request #2622 from hathach/ci-update
Ci update
2024-05-06 18:28:46 +07:00
hathach
dfda0b124f
fix typo 2024-05-06 17:31:00 +07:00
hathach
a9f1c62dff
temp fix for mm32 redundant-decls of SystemCoreClock 2024-05-06 17:28:48 +07:00
hathach
497785393d
add cmake for mm32, remove mm32 bluepill since it is custom/reworked board (not available for order) 2024-05-06 17:14:35 +07:00
Hardy Griech
82547372d1 edpt_dma_start() is called during interrupt time as well, dcd_edpt_xfer() needs DI/EI at one point 2024-05-06 08:42:08 +02:00
hathach
d79c71abf5
update flash openocd 2024-05-06 10:52:52 +07:00
HiFiPhile
02ec486610 Fix spurious EP0 completion. 2024-05-05 22:01:09 +02:00
Hardy Griech
cc70958c16 mostly comments 2024-05-05 21:18:57 +02:00
Hardy Griech
ea55537fb2 minor changes due to CR with HiFiPhile 2024-05-05 20:33:01 +02:00
hathach
3791514908
add cmake for samg55 2024-05-04 17:23:16 +07:00
hathach
c020a0190d
add cmake for f1c100s 2024-05-04 12:36:40 +07:00
hathach
666702f478
fix ci 2024-05-04 10:28:47 +07:00
hathach
f1940439e4
fix get_deps.py for samd5x_e5x 2024-05-04 10:07:54 +07:00
hathach
7c7be885b4
clion setting 2024-05-03 23:16:21 +07:00
hathach
58248f3e7f
mm32 temp 2024-05-03 23:15:14 +07:00
hathach
fcfd5a6625
fix ci 2024-05-03 18:12:55 +07:00
hathach
f38fbbfb2b
add cmake for xmc4000 2024-05-03 16:48:55 +07:00
hathach
704412bb48
add cmake for tm4c 2024-05-03 16:15:29 +07:00
hathach
59f8e9dff9
rename to samd5x_e5x 2024-05-03 15:17:07 +07:00
hathach
4b86b49260
merge samd51 and same5x 2024-05-03 15:15:27 +07:00
hathach
1cf68f98b3
- add cmake to samd11
- build_cmake.py always build with -DCMAKE_BUILD_TYPE=MinSizeRel
2024-05-03 12:45:41 +07:00
hathach
43f4317a97
add missing FreeRTOSConfig.h 2024-05-03 12:21:02 +07:00
hathach
6524e26e62
add cmake for stm32wb 2024-05-03 11:39:42 +07:00
hathach
1b97cec995
fix missing linker entry with cmake for broadcom family 2024-05-03 11:19:44 +07:00
hathach
fc843c5827
add cmake for saml2x 2024-05-03 10:59:29 +07:00
hathach
dde13a3d4b
add cmake to msp432e4 2024-05-02 21:28:43 +07:00
hathach
68a4d0c8db
add cmake to lpc51 2024-05-02 20:50:41 +07:00
hathach
e812fce29c
update cmake ci 2024-05-02 18:26:01 +07:00
hathach
2213fe40e5
add cmake for lpc15 2024-05-02 18:24:47 +07:00
hathach
19cb2f1a3c
add cmake to lpc1347 2024-05-02 18:15:55 +07:00
hathach
374a4b4ead
update clang format 2024-05-02 17:56:36 +07:00
hathach
c717e52ab2
add cmake for lpc11 2024-05-02 17:54:44 +07:00
hathach
4b537a4f8c
add cmake for kinetis k32l2 family 2024-05-02 16:58:43 +07:00
hathach
980f5992c8
add cmake for broadcom 64-bit, like 32-bit it compiles but text is only 8 bytes (incorrect) 2024-05-02 16:57:50 +07:00
hathach
ea3f1d39e8
add cmake for pi zero (renamed from pi zero_w), build but the flash size seem wrong (only 24 bytes for text) 2024-05-02 13:29:29 +07:00
HiFiPhile
a435befcde
Merge pull request #2616 from trejan/patch-1
Add missing capability bit for CDC ACM serial break support
2024-04-30 22:25:09 +02:00
Trevor
35e7fddc73
Add missing capability bit for CDC ACM serial break support
The send break capability bit is needed for serial break support with Linux and possibly MacOS hosts. [A recent Linux kernel patch made it check the ACM capability bits before sending a serial break](19e321c3ee).
2024-04-30 16:53:25 +01:00
HiFiPhile
40319ccf9d
Merge pull request #2615 from maflcko/patch-1
Update dnserver.c: Match dnserv_free signature with fwd-decl
2024-04-30 13:42:57 +02:00
maflcko
56dbfe59d9
Update dnserver.c: Match dnserv_free signature with fwd-decl 2024-04-30 11:00:45 +02:00
HiFiPhile
c303b5d81d Guard const addr fifo functions with TUP_MEM_CONST_ADDR. 2024-04-29 22:35:55 +02:00
HiFiPhile
bf1540af4c Merge branch 'master' of https://github.com/hathach/tinyusb into pr/2132 2024-04-29 22:22:59 +02:00
HiFiPhile
327e3ec4bd Stall unsupported class request. 2024-04-28 21:59:54 +02:00
HiFiPhile
a29852320a Merge remote-tracking branch 'upstream/master' into pr/2227 2024-04-28 19:46:00 +02:00
HiFiPhile
1c04d5992a
Merge pull request #2494 from tommie/usbtmcnotif
Add notification support for device class USBTMC
2024-04-28 12:36:41 +02:00
HiFiPhile
ee008620d2
Merge pull request #1709 from kaspernyhus/audio_test_freertos
Add audio_test_freertos & audio_4_channel_mic_freertos
2024-04-28 11:14:08 +02:00
HiFiPhile
ef7be4c2ff Fix CI. 2024-04-28 01:17:32 +02:00
HiFiPhile
bc8c8df316 Build STM32F7 with single-point FPU. 2024-04-28 00:29:19 +02:00
HiFiPhile
a29a3af218 audio_4_channel_mic_freertos : merge changes from audio_4_channel_mic. 2024-04-28 00:28:12 +02:00
HiFiPhile
bb89a5a5bf audio_test_freertos : merge changes from audio_test. 2024-04-28 00:28:12 +02:00
HiFiPhile
7dd26877de Update audio_test & audio_test_freertos examples to work with high-speed. 2024-04-28 00:28:11 +02:00
HiFiPhile
4f41e105b3 Update build system. 2024-04-28 00:28:11 +02:00
Kasper Nyhus Kaae
c917d47e71 audio_test_freertos & audio_4_channel_mic_freertos 2024-04-27 20:29:07 +02:00
HiFiPhile
bd033a2d53 Fix CI. 2024-04-27 17:24:19 +02:00
HiFiPhile
a018b229ba Update .gitignore. 2024-04-27 17:12:23 +02:00
HiFiPhile
fdb431b5c7 Buffer int msg to ensure alignment and placement correctness. 2024-04-27 17:12:00 +02:00
HiFiPhile
98e85a296d bulk_in: copy buffer to ensure alignment correctness. 2024-04-27 17:09:05 +02:00
HiFiPhile
31b559370d
Merge pull request #2253 from Rocky04/patch-7
HID class driver fixes
2024-04-26 20:41:43 +02:00
HiFiPhile
a7762ff82e LPC55 : Use PLL clock for better precision, allows easier UAC testing. 2024-04-26 20:11:09 +02:00
HiFiPhile
0a70a66b07 Fix up TUD_AUDIO_SPEAKER_MONO_FB_DESCRIPTOR. 2024-04-26 20:11:09 +02:00
HiFiPhile
ba27179f17 Fix typo. 2024-04-26 20:11:08 +02:00
HiFiPhile
f69255e735 Fix CI. 2024-04-26 20:11:08 +02:00
HiFiPhile
f2d455226a Add UAC2 speaker with feedback example. 2024-04-26 20:11:08 +02:00
HiFiPhile
02e129a38e Guard ep_fb with usbd_edpt_claim(). 2024-04-26 20:06:20 +02:00
HiFiPhile
187c379331 Add tu_static to global variables. 2024-04-26 20:06:19 +02:00
HiFiPhile
1b66c148cc UAC2: Implement feedback by fifo counting. 2024-04-26 20:06:19 +02:00
HiFiPhile
24339dbcce Code format. 2024-04-26 18:01:02 +02:00
HiFiPhile
268cc19f44 Merge remote-tracking branch 'remotes/tinyusb/master' into pr/2253 2024-04-26 17:57:53 +02:00
HiFiPhile
4af67dd007 Simplify transfer failure cb. 2024-04-26 17:45:14 +02:00
HiFiPhile
ee9ad0f184
Merge pull request #2612 from HiFiPhile/iar_temp
Update IAR template.
2024-04-26 15:59:48 +02:00
HiFiPhile
6c3a60e5f2 Update IAR template. 2024-04-26 14:56:22 +02:00
HiFiPhile
085bd3c9d5
Merge pull request #2283 from shuffle2/hid-device-set-report
hid_device: use separate buffer for SET_REPORT instead of epout
2024-04-26 14:39:15 +02:00
HiFiPhile
1661acf82f Add missing alignment. 2024-04-26 13:42:20 +02:00
HiFiPhile
7fb8d3341c use separate buffer for ctrl transfer. 2024-04-26 13:40:13 +02:00
HiFiPhile
9ef3755f03 Merge branch 'master' of https://github.com/hathach/tinyusb into pr/2283 2024-04-26 13:12:56 +02:00
HiFiPhile
69313ef455
Merge pull request #2609 from tyustli/patch-1
Remove redundant header file includes for the hid class
2024-04-26 00:22:22 +02:00
HiFiPhile
8765568282 Change DMA condition. 2024-04-25 23:26:19 +02:00
Limor "Ladyada" Fried
a0cba9b045
Merge pull request #2611 from hathach/add-esp32-max3421e
Add esp32 max3421e
2024-04-25 17:24:51 -04:00
HiFiPhile
298f7f2d81 Fix DMA FIFO reservation. 2024-04-25 23:23:43 +02:00
HiFiPhile
394dc0686a Check IN ep count limit. 2024-04-25 22:44:48 +02:00
HiFiPhile
cde722385c dwc2: add dma support. 2024-04-25 22:44:48 +02:00
hathach
022de87550
add devkit c3 board 2024-04-26 00:15:04 +07:00
hathach
223ce56625
- add esp32 c3, c6 mcu option
- skip breakpoint for espressif riscv
2024-04-26 00:10:57 +07:00
hathach
03ccc8d8df
revert a change in tusb_mcu 2024-04-25 20:41:44 +07:00
hathach
2e995d7cf4
adding support for esp32 for use with max3421e host 2024-04-25 20:23:40 +07:00
tyustli
1e7091dae9
fix ci error 2024-04-25 19:47:12 +08:00
Ha Thach
fc91e15488
Merge pull request #2607 from HiFiPhile/dwc2_fix
Some misc fixes
2024-04-25 12:31:14 +07:00
HiFiPhile
c2f836279e
Disable EPs correctly to clear incomplete transfer. 2024-04-25 11:51:06 +07:00
HiFiPhile
f32eb07487
stm32u5: fix IAR build. 2024-04-25 11:51:06 +07:00
HiFiPhile
13bde7af40
uac2: return on clear_feature. 2024-04-25 11:51:05 +07:00
HiFiPhile
5f473d51cf
Fix IAR breakpoint test. 2024-04-25 11:51:04 +07:00
Ha Thach
c237d18ef5
Merge pull request #2599 from Rbb666/rtthread
[osal]Add rt-thread script support.
2024-04-25 11:48:59 +07:00
hathach
d664cbfcdd
fix pre-commit 2024-04-25 11:28:18 +07:00
Ha Thach
313d96677f
Merge pull request #2606 from hathach/build-clang
Add  Clang support
2024-04-24 23:13:30 +07:00
hathach
19f1080e38
fix make build due to clang changes 2024-04-24 22:41:22 +07:00
hathach
eab42d90d4
update clang make build for stm32: f0 f1 f2 f3 f4 f7 h7 g0 g4 l0 l4 samd21 samd51 nrf 2024-04-24 22:11:08 +07:00
tyustli
7a3e730ded
Remove redundant header file includes for the hid class 2024-04-24 21:44:03 +08:00
hathach
a7bf0e3e7f
clang make work for samd21 2024-04-24 19:21:26 +07:00
Ha Thach
366f1cf186
Fix bsp mistake 2024-04-24 16:32:56 +07:00
hathach
b67cb26e51
change hil board s3 devkitm (devkitc seems to have usb issue with cp2104) 2024-04-24 16:17:33 +07:00
hathach
eaec0fb139
skip clang rp2040 build 2024-04-24 12:12:39 +07:00
hathach
41f9fd6513
update clion metadata 2024-04-24 11:38:33 +07:00
hathach
36e07093b8
fix samd linker with clang: cannot self-check defined symbol with lld e.g STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x1000 --> STACK_SIZE = 0 2024-04-24 11:26:22 +07:00
hathach
60f39f7b1e
fix l4 linker with clang 2024-04-24 00:33:56 +07:00
hathach
0e06c4cfdf
clang u5, also bump up cmsis u5 version 2024-04-24 00:03:13 +07:00
hathach
6a39c8b3ff
clang l4 2024-04-23 22:45:36 +07:00
hathach
999177fe39
- fix g4 clang linker
- clang work with l0
2024-04-23 22:36:00 +07:00
hathach
d6814a3f3a
clang support for H5 2024-04-23 16:23:27 +07:00
hathach
75d376a439
clang g0, g4 2024-04-23 16:00:28 +07:00
hathach
9e7046cbf1
more stm32 linker fix 2024-04-23 12:57:57 +07:00
hathach
16e099a9f9
integrate msp430 to build cmake 2024-04-23 12:38:55 +07:00
hathach
a42e34701f
fix stm board linker define stack before memory def 2024-04-23 12:32:47 +07:00
hathach
1e882c7c24
clang f7, update cmsis f7 to fix startup bug 2024-04-23 12:22:40 +07:00
hathach
b4d0303a26
clang f4 2024-04-23 12:11:37 +07:00
hathach
0f3d6c61b5
port clang stm32: f1, f2, f3 2024-04-23 12:04:08 +07:00
hathach
f76d38c924
clang work with f0 2024-04-23 11:35:42 +07:00
hathach
a410eb345c
fix ci typo 2024-04-23 11:25:01 +07:00
hathach
81cdf3ce55
bump up gcc to 12.3 2024-04-23 11:17:20 +07:00
hathach
71e0fd11c8
clang skip mcx since it does not work any more with gcc 2024-04-23 11:15:59 +07:00
hathach
3fd82cfe22
clang work with lpc55 2024-04-23 10:57:45 +07:00
hathach
d486a56ded
clang work with lpc54 2024-04-23 10:03:17 +07:00
hathach
31a44c0b7e
fix linker libgcc for nrf 2024-04-22 22:37:37 +07:00
hathach
675daf32e9
skip malloc/free in embedded 2024-04-22 22:33:39 +07:00
hathach
b8f60da8d8
clang work with k64f (nostartfiles) 2024-04-22 22:17:07 +07:00
hathach
8da2970748
clang work with kl25 2024-04-22 22:09:14 +07:00
hathach
c9e467822c
clang work with imxrt tested with metro rt1011 and rt1060 evk. Don't use startfiles for imxrt 2024-04-22 22:00:45 +07:00
hathach
6294e4aa43
update lpcopen 2024-04-22 20:39:30 +07:00
hathach
fd059ee24d
clang compile with lpc40 2024-04-22 20:09:54 +07:00
hathach
06c81d8bee
clang compile with lpc17 2024-04-22 19:52:55 +07:00
hathach
838a58df99
clang work with lpc43 2024-04-22 19:45:27 +07:00
hathach
db30eee0fc
clang tested with mcb1800, add heap to lpc18 linker 2024-04-22 18:31:11 +07:00
hathach
c097c85dcf
fix print lu format warnings with clang 2024-04-22 16:17:22 +07:00
hathach
62331f0207
fix nrfx v3 spim freq when init
fix clang build with nrf
2024-04-22 15:55:50 +07:00
hathach
c8e533e612
fix build with nrfx v3, though max3421e spi does not seem to work well. 2024-04-22 14:54:35 +07:00
hathach
2e383bf901
dcd nrf change atoimc_bool to atomic_flag 2024-04-22 12:12:56 +07:00
hathach
9d1d171b0c
- update nrfx to v3.4.0
- compile nrf with __STARTUP_CLEAR_BSS and link flag -nostartfiles
2024-04-19 23:17:47 +07:00
hathach
83b4cb178b
adding clang for nrf 2024-04-19 23:17:02 +07:00
hathach
d157abe77c
clang samd21 build but has issue as samd51 2024-04-19 23:17:02 +07:00
hathach
4a183d2e3f
try to add clang for rp2040 but pico-sdk does not support that. (got assert.h file not found) 2024-04-19 23:17:01 +07:00
hathach
be0d62ba6c
clang samd51 compile but does not run, rom is correct, but ram is lacking bss. Got stkerr -> hardfault 2024-04-19 23:17:00 +07:00
hathach
824e39ddeb
more clang update 2024-04-19 23:16:59 +07:00
hathach
5ca68ec049
forgot to specify clang 2024-04-19 23:16:59 +07:00
hathach
982713ad47
add clang to ci build 2024-04-19 23:16:58 +07:00
hathach
3442a87d5b
- clang h743 build and run cdc_msc ok
- switch unit test back to gcc, since path to clang conflict on local setup (x86 and arm)
2024-04-19 23:16:57 +07:00
hathach
96f7ca02bf
clang build board test with h743 2024-04-19 23:16:57 +07:00
hathach
9f0e4c2889
run config update 2024-04-19 23:16:56 +07:00
hathach
632a001955
update cmake build 2024-04-19 23:16:55 +07:00
hathach
7545c40003
cmake detect toolchain based on -DCMAKE_C_COMPILER 2024-04-19 23:16:54 +07:00
Ha Thach
0fb73eac7e
Merge pull request #2603 from hathach/nrf-code-format
nrf code format
2024-04-18 22:09:49 +07:00
Rbb666
5ee008c997 [add]Add rtthread script support to better integrate into rtthread projects. 2024-04-18 13:31:31 +08:00
hathach
bf29417e5f
code format 2024-04-16 20:58:02 +07:00
Ha Thach
e54023d765
Merge pull request #2354 from slark-yuxj/master 2024-04-16 12:26:34 +07:00
Ha Thach
bebc00a851
Merge pull request #2263 from rgrr/compile-with-old-nordic-sdk
dcd_nrf5x: make it compile also with old Nordic SDK
2024-04-16 12:08:13 +07:00
hathach
10a86172ec
fix pre-commit 2024-04-16 12:06:26 +07:00
hathach
e03774be88
skip symlink in pre-commit 2024-04-16 12:06:07 +07:00
yuxiaojun
86710c9bb2
fix: memory leak: buf
Signed-off-by: yuxiaojun <yuxiaojun@uniontech.com>
2024-04-16 12:02:14 +07:00
hathach
d82ee79bd0
- in case of mdk conflict to use nrfx v2
- allow to force nrfx version with CFG_TUD_NRF_NRFX_VERSION=1
2024-04-16 11:55:03 +07:00
hathach
37a05e0264
revert nvic changes 2024-04-16 11:23:38 +07:00
Hardy Griech
c535a4d42b
catch all nrfx versions with an old API 2024-04-16 11:18:47 +07:00
Hardy Griech
2567fe3fd8
softdevice nvic calls only if old SDK 2024-04-16 11:18:46 +07:00
Hardy Griech
1b0ec6b1bd
make it compile also with old Nordic SDK 2024-04-16 11:18:45 +07:00
Ha Thach
178c4144ad
Merge pull request #1685 from battlesnake/st_synopsys_sof
Add SOF support for ST Synopsys port
2024-04-16 11:11:29 +07:00
Ha Thach
f3781a45d8
Merge pull request #1662 from Erlkoenig90/check-usbd-queue-overflow
Check for event queue overflow in usbd / dcd_event_handler
2024-04-16 10:58:15 +07:00
hathach
e1c3b5aeab
minor update to sof 2024-04-16 10:57:54 +07:00
Ha Thach
fcb2df8eb9
Merge pull request #1537 from pigrew/endpoint_halt
When clearing an endpoint stall, reset DTOG
2024-04-16 10:40:53 +07:00
hathach
189080b684
add TU_ASSERT() to check for adding new usb event 2024-04-16 10:40:24 +07:00
hathach
5dabef79ee
don't check local endpoint stalled status, just carry the request for host. 2024-04-16 10:27:16 +07:00
NConrad
9588c3fac9
USBD: When SET_FEATURE(ENDPOINT_HALT), the DTOG must be reset. 2024-04-16 10:19:16 +07:00
Ha Thach
50738f2ab4
Merge pull request #2588 from hathach/support-ra2a1
Enhance dcd rusb2, support ra2a1 pipe number scheme
2024-04-16 00:16:18 +07:00
hathach
6328301bb6
revert to use __builtin_ctz() for optimized time 2024-04-15 23:56:55 +07:00
Ha Thach
fb21b6a67d
Merge pull request #2134 from clhenry/non-bus-powered-re-enumeration
Non-bus-powered MSP430 support.
2024-04-15 23:14:10 +07:00
hathach
afb66a955c
update msp430 make build 2024-04-15 22:49:08 +07:00
hathach
9561e38267
install ninja build for msp430 2024-04-15 22:35:52 +07:00
hathach
b2acbd305d
use cmake to build msp430 2024-04-15 12:52:10 +07:00
hathach
bf649988ef
add blocking delay for msp430 with max 25mhz 2024-04-15 12:06:13 +07:00
hathach
abddc850ac
add cmake support for msp430 2024-04-12 11:45:36 +07:00
Ha Thach
d816a9bdf8
Merge pull request #2594 from hathach/more-labler-update
Update labeler.yml
2024-04-12 10:59:44 +07:00
Ha Thach
48b1e73402
Merge pull request #2592 from HiFiPhile/fsdev_close
FSDEV: Implement dcd_edpt_close_all()
2024-04-12 10:59:30 +07:00
Ha Thach
2fef23d066
Update labeler.yml 2024-04-12 10:57:27 +07:00
HiFiPhile
049ceda315 Implement dcd_edpt_close_all() 2024-04-11 22:02:59 +02:00
HiFiPhile
dfef0bc81b Cleanup 2024-04-11 22:01:57 +02:00
Ha Thach
6144da9602
Merge pull request #2574 from HiFiPhile/fsdev
FSDEV fix/cleanup.
2024-04-11 21:11:27 +07:00
Clifroy Henry
5d3b0896e1
Removed trailing whitespace. 2024-04-11 20:57:40 +07:00
Clifroy Henry
a3286932ad
Correctly implementing recommended workarounds for erratas USB4 and USB10. 2024-04-11 20:57:40 +07:00
Clifroy Henry
b8b22b929e
Allow re-enumeration on host power cycle. 2024-04-11 20:57:39 +07:00
Clifroy Henry
5a9b3eab6f
Resolve erroneous data on enumeration. 2024-04-11 20:57:38 +07:00
Clifroy Henry
87905d30ab
Increase bus powe stabilization delay. 2024-04-11 20:57:37 +07:00
Clifroy Henry
0ce2452a08
Add non-bus-powered MSP430 re-enumeration support. 2024-04-11 20:57:37 +07:00
hathach
0f775630c7
rename, invert logic for iso_in_sending. Also limit its usage to ISO endpoint 2024-04-11 20:53:44 +07:00
hathach
535571c3d2
- remove redundant call of pcd_set_ep_rx_cnt()
- minor code format
2024-04-11 19:25:02 +07:00
hathach
b992b6d7a6
apply find_pipe() and forloop for hcd 2024-04-11 12:06:13 +07:00
Ha Thach
c83e28ca85
Merge pull request #2589 from HiFiPhile/dwc_close
dwc2: flush fifo in dcd_edpt_close_all()
2024-04-11 11:56:58 +07:00
Ha Thach
6bc4aae37d
Merge pull request #2591 from hathach/labeler-pull_request_target
use pull_request_target for labeler
2024-04-11 11:05:51 +07:00
hathach
79cbe93fcf
separate flush tx/rx fifo 2024-04-11 11:02:54 +07:00
hathach
3991ff34f1
use pull_request_target for labeler 2024-04-11 10:50:26 +07:00
HiFiPhile
03cfe90f3e flush fifo in dcd_edpt_close_all() 2024-04-10 22:21:53 +02:00
hathach
daf1c7303c
fix mask typo for brdysts when using pipe9 2024-04-10 20:09:11 +07:00
hathach
241e436d19
support ra2a1 pipe numbering, fix ra2a1 ek led/button. Though usb not enumerated yet, probably due to bsp/clock setup 2024-04-10 19:17:23 +07:00
hathach
fb69d80e70
use for loop instead of__builtin_ctz() which is not portable (e.g with ccrx) 2024-04-10 18:26:56 +07:00
Ha Thach
f1944f2b37
Merge pull request #2587 from hathach/revert-pr2245
Revert PR #2245
2024-04-10 17:24:05 +07:00
hathach
a173e6ed13
revert pr2245 2024-04-10 17:02:35 +07:00
Ha Thach
aa076476fc
Merge pull request #2223 from arntsonl/hid_host_get_report
Add tuh_hid_get_report(...) to hid_host.h
2024-04-10 16:06:07 +07:00
Luke A
804a73a454
Adding tuh_hid_get_report(...) to hid_host.h
This allows USB host functionality to call HID_REQ_CONTROL_GET_REPORT on the IN Endpoint, and read the report buffer in the callback.
2024-04-10 15:46:57 +07:00
Ha Thach
b0829ed999
Merge pull request #2586 from hathach/fix-2097 2024-04-10 10:36:27 +07:00
Ha Thach
b15b560539
Merge pull request #2585 from hathach/dwc2-txfifo-empty-level 2024-04-10 10:36:06 +07:00
hathach
1e41b9725a
remove the usage of TU_BIT() and TU_GENMASK() from tusb_types.h 2024-04-10 10:13:36 +07:00
hathach
724ef1af8d
set txfifo empty level to complete and change back fifo tx to normal size 2024-04-10 09:58:43 +07:00
HiFiPhile
3ecabe3ebe Fix stm32h573i_dk button & led. 2024-04-09 23:55:38 +02:00
HiFiPhile
0d4465a098 Optimize audio_4_channel_mic waveform data. 2024-04-09 23:21:01 +02:00
HiFiPhile
5f4d6ae20c Fix STM32L0 IAR build. 2024-04-09 23:09:43 +02:00
HiFiPhile
402b084646 Format doc. 2024-04-09 23:00:29 +02:00
HiFiPhile
146c3c6945 Cleanup. 2024-04-09 22:59:48 +02:00
HiFiPhile
c0824472e8 Enable double buffer only for PMA > 1024b 2024-04-09 22:15:18 +02:00
HiFiPhile
472996e2bf Ignore spurious RX interrupt. 2024-04-09 18:32:03 +02:00
HiFiPhile
973d29acd0 Rework ISO double buffering. 2024-04-09 18:32:03 +02:00
HiFiPhile
41fb2b69f7 Rework macro according to ST driver. 2024-04-09 18:32:03 +02:00
HiFiPhile
bf3e9b8653 Refactor edpt_xfer(), support double buffering in dcd_pma_alloc(). 2024-04-09 18:32:02 +02:00
HiFiPhile
68b973aa9f Reduce uac2_headset max sample rate for better compatibility. 2024-04-09 18:32:02 +02:00
HiFiPhile
00db422745 Cleanup ep/pma free, ISO ep should use alloc/activate. 2024-04-09 18:32:02 +02:00
Ha Thach
9986bd8908
Merge pull request #2584 from hathach/dwc2-interrupts
Dwc2 interrupts (based on #2050)
2024-04-09 23:10:04 +07:00
hathach
2bce68a065
Merge branch 'master' into dwc2-interrupts 2024-04-09 22:04:43 +07:00
Ha Thach
68a08e33d2
Merge pull request #2583 from hathach/labler-permission
add permission to lable issue/pr
2024-04-09 19:56:31 +07:00
hathach
bf240ce9bb
add permission to lable issue/pr 2024-04-09 19:50:10 +07:00
Ha Thach
9506e2c972
Merge pull request #2582 from HiFiPhile/uvc_typo
Fix pointer typo in video_capture_2ch
2024-04-09 19:48:32 +07:00
HiFiPhile
455a2879fb Fix typo. 2024-04-09 12:48:27 +02:00
Ha Thach
9e227182e6
Merge pull request #2580 from hathach/labeler-more-catch
more try/catch for labeler
2024-04-09 17:41:23 +07:00
hathach
ec1a06843c
more try/catch for labeler 2024-04-09 17:37:12 +07:00
Ha Thach
a5b109b699
Merge pull request #1580 from MatiMcFly/master
Fixing Renesas register write protection and some compiler warnings in static code analysis
2024-04-09 17:25:23 +07:00
Ha Thach
1195fa8ee3
Merge pull request #2579 from HiFiPhile/uvc_race
Fix tud_video_n_streaming check
2024-04-09 17:23:31 +07:00
hathach
6c2f71ad19
make veryfi static in ccrx consistent with the rest 2024-04-09 17:12:15 +07:00
hathach
27fc8a21cd
update gr_citrus as well 2024-04-09 17:07:59 +07:00
hathach
2828a56a4f
apply oldPRCR to board_init() 2024-04-09 17:05:25 +07:00
HiFiPhile
b0568e32a5 Fix tud_video_n_streaming check 2024-04-09 11:11:06 +02:00
Matthias Schär
bd67fdf011
Renesas RX controllers: Recover the previous state of the system write protect register in functions that are called within init-code 2024-04-09 12:15:32 +07:00
Matthias Schär
385611c5a9
Revert "Fixed behavior of the PRCR register. Previous write protection will be recovered."
This reverts commit 4d7296109e31690972d8cf09e6138131938cb0ed.
2024-04-09 12:14:27 +07:00
Matthias Schär
5c7876d444
Fixed behavior of the PRCR register. Previous write protection will be recovered. 2024-04-09 12:13:38 +07:00
HiFiPhile
adc7a78fd6 Merge branch 'master' of github.com:HiFiPhile/tinyusb into vendor_fifo 2024-04-08 21:44:14 +02:00
Ha Thach
42decf28f1
Merge pull request #1835 from MasterQ32/otg_bringup
Implements deinit functions for host/device mode switch
2024-04-08 23:48:52 +07:00
hathach
be25a3fc20
revert usbd driver name change to be backward compatible 2024-04-08 22:56:22 +07:00
hathach
4bc6a5feb7
fix unused warning 2024-04-08 22:22:00 +07:00
hathach
366564e952
fix missing if mutex required 2024-04-08 22:13:05 +07:00
hathach
c3c0648456
add class driver deinit 2024-04-08 22:07:56 +07:00
Felix "xq" Queißner
47c12a07f2
Implements tuh_deinit() and tud_deinit() to uninitialize host/device mode. 2024-04-08 19:00:35 +07:00
Ha Thach
d33fe38a62
Merge pull request #1363 from tobozo/master
HID Mouse with absolute positioning
2024-04-08 18:33:40 +07:00
Ha Thach
b90eccccfd
Merge pull request #2575 from HiFiPhile/dwc2_free
dwc2: remove fifo free code.
2024-04-08 18:27:21 +07:00
Ha Thach
872864e397
Merge pull request #2567 from HiFiPhile/iso_alloc
ISO endpoint allocation improvments
2024-04-08 16:24:50 +07:00
Ha Thach
bc10394e66
Merge pull request #2577 from hathach/max3421-configuration
add cpuctl and pinctl to tuh_configure() option for max3421
2024-04-08 14:24:16 +07:00
hathach
cbbfbbb57e
add cpuctl and pinctl to tuh_configure() option for max3421 2024-04-08 13:16:08 +07:00
Ha Thach
af1346c748
Merge pull request #2466 from wavenumber-eng/MCX
TinyUSB stack ported to MCXA and MXCN freedom boards.
2024-04-08 12:30:25 +07:00
hathach
d6d8acad90
add CFG_EXAMPLE_VIDEO_READONLY for mcxa15 2024-04-08 11:15:21 +07:00
hathach
7f7dca7b15
fix configENABLE_FPU=0 for cortex-m33+nodsp 2024-04-08 11:04:15 +07:00
Ha Thach
ffab7bf9dd
Merge pull request #2538 from kkitayam/add_uvc_2ch_example
Add an example of 2ch video capture.
2024-04-08 10:52:29 +07:00
HiFiPhile
e642066562 Move TUP_DCD_EDPT_ISO_ALLOC outside usbd_edpt_close() loop. 2024-04-06 19:02:50 +02:00
HiFiPhile
5fd6241d28 Merge branch 'iso_alloc' of github.com:HiFiPhile/tinyusb into iso_alloc 2024-04-06 19:02:14 +02:00
hathach
dd3db9cc0c
fix ra2a1 fpu with freertos 2024-04-06 00:18:51 +07:00
HiFiPhile
e160366a1e dwc2: remove fifo free code. 2024-04-05 19:12:28 +02:00
hathach
c97c3418c7
minor update bsp 2024-04-05 20:31:55 +07:00
hathach
757a1726e8
rename frdm board 2024-04-05 18:33:58 +07:00
hathach
4b59f80100
more reverted: re-add clock_config.h 2024-04-05 18:09:29 +07:00
hathach
1c5abc835f
Merge branch 'master' into MCX 2024-04-05 17:59:38 +07:00
hathach
5ce4585884
fix pre-commit format 2024-04-05 17:14:51 +07:00
hathach
7fff83086f
more reverted changes 2024-04-05 17:08:22 +07:00
hathach
caf2c5e0b7
reverted un-related file changes 2024-04-05 17:04:33 +07:00
hathach
2f9700dc2b
fix ram overflow with ram41 2024-04-05 16:28:17 +07:00
hathach
5b2441d8a3
support CFG_EXAMPLE_VIDEO_READONLY for stream0 for small mcu 2024-04-05 16:12:31 +07:00
hathach
df1f84adad
change .bss section from ramloc32 to ramloc40 for lpc43xx 2024-04-05 13:12:58 +07:00
hathach
34737f9c60
update uvc 2ch to stream0 use yuy2, stream1 use mpeg
this help reduce sram requirement for example, also provide different format (uncompressed & mpeg)
2024-04-05 00:55:48 +07:00
hathach
34870d3481
update linker for lpc18, move bss to ramloc40 to have more space for .data in ramloc32 2024-04-05 00:52:23 +07:00
Ha Thach
5738757e2c
Merge pull request #2421 from antoniovazquezblanco/debug
Log outbound xfer bytes while in debug
2024-04-04 18:34:26 +07:00
Ha Thach
802ad885ab
minor update 2024-04-04 17:15:38 +07:00
Ha Thach
177b388be0
Merge pull request #2571 from hathach/fix-max3421-rp2040-build
fix build with rp2040 + max3421
2024-04-04 14:35:29 +07:00
hathach
ebe6923500
update build script to allow skip.txt and only.txt both exist 2024-04-04 14:10:48 +07:00
hathach
f603c4a330
skip cdc_msc_hid_freertos example for rp2040 2024-04-04 13:01:16 +07:00
hathach
93fb3b00de
fix build with gcc 11 2024-04-04 12:51:07 +07:00
hathach
7910cc2981
fix build with rp2040 + max3421
- forward MAX3421_HOST=1 from makefile to cmake
- add feather_rp2040_max3421 board to run with ci for rp2040 + max3421
2024-04-04 10:55:14 +07:00
Ha Thach
66cdf6d097
Merge pull request #2514 from camilaodsouza/sdk_3.2_update
Changes required for new SDK 3.2.0
2024-04-03 23:58:18 +07:00
hathach
11722cc533
add note for sdk v2 and v3, also add check if allocreq failed 2024-04-03 23:08:15 +07:00
hathach
594833374c
add new example to cmake include list 2024-04-03 22:24:04 +07:00
Mengsk
e4ceb0a865 Merge branch 'master' of https://github.com/hathach/tinyusb into iso_alloc 2024-04-03 12:00:49 +02:00
Ha Thach
b8d4684683
Merge pull request #2569 from hathach/fix-labler-error
try catch labeler rest api
2024-04-03 13:09:24 +07:00
hathach
252e630433
try catch labeler rest api 2024-04-03 13:05:53 +07:00
HiFiPhile
2e4d4e4a01 Add endpoint ISO allocation to video class. 2024-04-02 20:54:33 +02:00
HiFiPhile
db28437218 Move endpoint alloc define to tusb_mcu.h 2024-04-02 20:54:33 +02:00
HiFiPhile
60acb990b6
Merge pull request #1702 from battlesnake/uac2-interrupt-endpoint
UAC2 supports interrupt-endpoint for providing control-change notifications to the host
2024-04-02 20:19:58 +02:00
Ha Thach
0062e12113
Merge pull request #2568 from hathach/max3421-check-cfg-param 2024-04-03 00:50:53 +07:00
Ha Thach
f8dc3b97be
check cfg_param pointer 2024-04-02 22:47:50 +07:00
Ha Thach
a70109697f
Merge pull request #2566 from hathach/max3421-correct-max-nak
correct max nak
2024-04-02 20:59:53 +07:00
Ha Thach
9fb1fb9044
correct max nak 2024-04-02 20:39:06 +07:00
Ha Thach
29cdd6a9c2
Merge pull request #2565 from hathach/max3421-limit-max-nak 2024-04-02 20:31:15 +07:00
HiFiPhile
7cd947f96c Add endpoint ISO allocation to video class. 2024-04-02 15:29:54 +02:00
Ha Thach
8936096846
max3421 limit max nak 2024-04-02 19:56:39 +07:00
HiFiPhile
d692d5ab3a Move endpoint alloc define to tusb_mcu.h 2024-04-02 14:33:47 +02:00
hathach
18a458679f
Merge branch 'master' into MCX 2024-04-02 18:14:49 +07:00
Ha Thach
574916f530
Merge pull request #2497 from ChrisDeadman/sparkfun-samd21-mini-usb-support
sparkfun_samd21_mini_usb board support
2024-04-02 17:59:52 +07:00
Ha Thach
bc75881a40
Merge pull request #2563 from wjklimek1/master
Support for STM32H503 MCU
2024-04-02 17:24:09 +07:00
Ha Thach
2265bfeab6
Merge pull request #2543 from IngHK/max3421_nak_retry
MAX3421E NAK retry handling next frame
2024-04-02 17:13:54 +07:00
hathach
f2859287df
check for PWR_USBSCR_USB33DEN before enabling USB VDD 2024-04-02 17:11:22 +07:00
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
HiFiPhile
4b993708c9 Minor format 2024-04-01 21:30:36 +02:00
HiFiPhile
6cf27986b6 UAC2: add interrupt volume control to uac2_headset example. 2024-04-01 20:39:48 +02:00
HiFiPhile
7ca988018e UAC2: fix mounted condition. 2024-04-01 20:02:45 +02:00
HiFiPhile
05f9cab191 UAC2: refactor interrupt endpoint support. 2024-04-01 20:02:35 +02:00
Wojciech Klimek
4fcfb30f81 Fixed trailing whitespace in family.c 2024-04-01 15:20:57 +02:00
Wojciech Klimek
057278c0c6 Support for STM32H503 MCU - review changes
Implemented changes suggested in the review:
- restored original name of SystemClock_Config() function
- some GPIO clocks are only enabled if macros are defined
- moved GPIO clocks init back to family.c
2024-04-01 14:51:46 +02:00
HiFiPhile
a1f01fcbe0 Merge remote-tracking branch 'upstream/master' into pr/1702 2024-04-01 12:35:57 +02:00
HiFiPhile
9570836cec Merge branch 'master' of https://github.com/hathach/tinyusb into vendor_fifo 2024-04-01 12:20:20 +02:00
Wojciech Klimek
943a2a6db3 Support for STM32H503 MCU
- added support for STM32H503RB on H503RB-NUCLEO board
- modified H5 family.c file to allow portability between H503 and H565/H573
- redefined USB_DRD_BASE to USB_DRD_FS_BASE if STM32H503xx is used
2024-03-31 23:11:49 +02:00
Ha Thach
82dfe95655
Merge pull request #2560 from hathach/fix-h5-errata-2.15.1
Follow up to h5 errata 2.15.1
2024-04-01 00:03:10 +07:00
hathach
fc54ad43b1
move walkaround to dcd_ep_ctr_rx_handler(), increase cycle_count from 10 to 20 (40 cycle) 2024-03-31 21:54:40 +07:00
hathach
27afa56844
rename dcd_stm32_fsdev_pvt_st.h to simply dcd_stm32_fsdev.h 2024-03-31 18:42:49 +07:00
hathach
ac4e649e56
code format 2024-03-31 18:41:59 +07:00
Ha Thach
fadd9524c1
Merge pull request #2559 from hathach/fix-hid-close-not-clear-data
fix hid close not clear data
2024-03-31 18:29:54 +07:00
hathach
2012a0d369
fix hid close not clear data 2024-03-31 15:48:26 +07:00
IngHK
14ce05fea3 Merge remote-tracking branch 'remotes/hathach/master' into max3421_nak_retry 2024-03-31 10:28:53 +02: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
37cce8746d updated all tusb_config.h 2024-03-31 10:27:15 +02:00
IngHK
8ded6d3d2e added some description to tusb_option.h 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
Ha Thach
32743f112c
Merge pull request #2333 from HiFiPhile/dwc2_alloc
dwc2: add endpoint allocation support.
2024-03-31 15:05:01 +07:00
hathach
85420c61c7
minor clean up 2024-03-31 13:49:41 +07:00
HiFiPhile
8055bc88d8
Code refactor. 2024-03-30 10:36:29 +07:00
HiFiPhile
4116a962a6
Flush FIFO on bus reset. 2024-03-30 10:36:28 +07:00
HiFiPhile
cab1106416
dwc2: add endpoint allocation support. 2024-03-30 10:36:27 +07:00
Ha Thach
9a981237df
Merge pull request #2557 from hathach/fix-rp2-debug3
fix rp2 debug build with level 3
2024-03-29 11:45:10 +07:00
hathach
b9400df4c8
fix rp2 debug build with level 3 2024-03-29 11:23:36 +07:00
Ha Thach
5ff6e0f992
Merge pull request #2546 from tannewt/unplug_on_deinit
Fake unplug devices when a root hub is deinit
2024-03-28 22:23:11 +07:00
hathach
ddb1034a9c
use hub_addr=0, hub_port=0 for removing root hub port 2024-03-28 21:45:52 +07:00
Scott Shawcroft
d50003e33d
Fake unplug devices when a root hub is deinit 2024-03-28 21:41:59 +07:00
Ha Thach
a5a90937b4
Merge pull request #2549 from duckylotl/patch-1
forward declare board_millis for OPT_OS_CUSTOM
2024-03-28 20:58:59 +07:00
Ha Thach
eaab04fefa
Merge pull request #2550 from hathach/usbh-unroll-hub-remove
Usbh unroll hub removal
2024-03-28 20:57:19 +07:00
hathach
3dcb7362aa
fix build when CFG_TUH_HUB == 0 2024-03-28 19:18:20 +07:00
hathach
0da1da942a
enhance hub removal using while loop to unroll recursive instead of event queue. 2024-03-28 16:32:02 +07:00
duckylotl
275e2f318e
forward declare board_millis for OPT_OS_CUSTOM 2024-03-28 10:27:07 +01:00
Ha Thach
35aa9d06e1
Merge pull request #2547 from hathach/labeler-change-token-1
Change labeler token
2024-03-28 12:43:02 +07:00
Ha Thach
62864d5356
Update labeler.yml 2024-03-28 12:12:07 +07:00
Camila
307cce92c4 Improved SDK 3.2.0 compatibility
- Used usbdev_allocreq for compatibility with SDK 3.2.0
- Wrapped previous code in #ifdef for legacy compatibility
2024-03-26 19:48:08 +01:00
Ha Thach
925ad67f97
Merge pull request #2544 from hathach/hil-pi4-usbreset-hub2.0
use usbreset to reset built-in usb 2.0 hub VIA Labs before each test
2024-03-26 17:30:44 +07:00
hathach
7f1e327be3
add sudo usbreset 2024-03-26 17:13:02 +07:00
hathach
ecea890fdc
use usbreset to reset built-in usb 2.0 hub VIA Labs before each test 2024-03-26 16:56:13 +07:00
IngHK
9fdb1c1684 draft MAX3421E NAK retry handling next frame 2024-03-26 08:12:24 +01:00
Ha Thach
0cb7204e60
Merge pull request #2542 from hathach/max3421-hcd-deinit
implement hcd_deinit() for max3421
2024-03-26 11:45:52 +07:00
hathach
64bc0aac55
update doc index.rst to match readme.rst (duplicated) 2024-03-26 10:39:51 +07:00
hathach
fbb20373c1
implement hcd_deinit() for max3421 2024-03-26 10:26:42 +07:00
kkitayam
6a14dd190f Fix compile errors when High Speed 2024-03-25 23:24:24 +09:00
kkitayam
8f04d96c07 Add small RAM MCUs/boards to skip list 2024-03-25 23:15:49 +09:00
Ha Thach
5b0e255f7e
Merge pull request #2530 from hathach/add-tuh-deinit 2024-03-25 19:15:39 +07:00
Ha Thach
0814ca0cc7
Merge pull request #2515 from Lurcy38/ReAlignMaster 2024-03-25 19:14:58 +07:00
Ha Thach
29f016ae15
fix pre-commit 2024-03-25 18:59:05 +07:00
Ha Thach
0610070d07
Update dcd_stm32_fsdev_pvt_st.h 2024-03-25 18:44:51 +07:00
hathach
a7a65e5d6d
add delete API for rtthread 2024-03-25 18:30:03 +07:00
hathach
98b8e960aa
Merge branch 'master' into add-tuh-deinit 2024-03-25 17:46:28 +07:00
Ha Thach
c028cfa7cf
Merge pull request #2540 from hathach/add-auto-label
add new labeler workflow
2024-03-25 14:04:44 +07:00
hathach
a555266174
add new labeler workflow 2024-03-25 13:54:35 +07:00
HiFiPhile
3ec22e24ed
Merge pull request #2472 from cdesjardins/master
Do not enable the Mode mismatch interrupt source, it is not cleared
2024-03-24 15:27:44 +01:00
kkitayam
5a880013c8 Add UVC 2ch example 2024-03-24 22:31:47 +09:00
HiFiPhile
81e4f65ddd
Merge pull request #2533 from kkitayam/fix_error_on_cmd
Fix the error that occurs when executing make on Windows
2024-03-24 11:40:29 +01:00
kkitayam
aba00ed22c Fix the error that occurs when executing make in Windows 2024-03-23 22:35:06 +09:00
acscd
c8805c61f9
Add files via upload 2024-03-22 20:05:52 -05:00
Ha Thach
67cd8349d6
Merge pull request #2526 from hathach/fix-uvc-hardfault
Fix uvc hardfault
2024-03-22 21:23:14 +07:00
hathach
94c27fcdf7
skip rp2040 build for cdc_msc_hid_freertos 2024-03-22 20:19:12 +07:00
hathach
ad5c449f1e
bump up download artifacts to v4 2024-03-22 20:12:25 +07:00
hathach
54e35dd3cf
bump up upload artifact to v4 2024-03-22 18:52:52 +07:00
hathach
baffadca91
remove pca10095 suppport for max3421
also remove pico_bootsel_via_double_reset from rp2040
2024-03-22 17:54:08 +07:00
hathach
e84c9f3e22
implement tuh_init()
change usbh driver init() return type from void to bool
2024-03-22 16:12:57 +07:00
hathach
31f68495cf
update osal API
add osal_semaphore_delete(), osal_mutex_delete(), osal_queue_delete()
2024-03-22 16:10:26 +07:00
hathach
5774ac9886
add tu_edpt_stream_deinit() 2024-03-22 12:53:31 +07:00
hathach
2cf171095e
code format 2024-03-22 12:45:23 +07:00
hathach
74bd264758
adding deinit() stub for usbh/hcd class driver
add TUSB_VERSION_BUILD, also add TUSB_VERSION_NUMBER
2024-03-22 11:42:33 +07:00
hathach
08b09926a4
add note for max3421e is not signal compatible with pca10056/95 2024-03-22 11:12:40 +07:00
Ha Thach
60764de564
Merge pull request #2527 from tannewt/idf5.2.1
Tweaks for ESP-IDF 5.2.1
2024-03-21 10:21:29 +07:00
Scott Shawcroft
61a31db8ec
Tweaks for ESP-IDF 5.2.1 2024-03-20 15:20:24 -07:00
hathach
ff12544c9a
added dedicate buffer for probe commit payload 2024-03-20 22:45:46 +07:00
hathach
5630030a22
improve uvc debug message 2024-03-20 17:55:31 +07:00
hathach
6352081ded
code format 2024-03-20 17:55:31 +07:00
Koji KITAYAMA
a4101c4174
Merge pull request #2520 from lijunru-hub/fix/uvc_support_multiple_interface
fix: uvc multiple interface support
2024-03-19 22:40:13 +09:00
Li Junru
5d1f6934fb fix: uvc multiple interface support
1. fix next interface may have IAD_DESC
2. fix vs_itf can't be open on bulk mode.
2024-03-18 10:20:36 +08:00
Tommie Gannert
9e674fa109 [usbtmc] cast to uintptr_t to get rid of const for usbd_edpt_xfer. 2024-03-15 15:02:13 +01:00
henneboi
f9c85ae47b IAR Warning: Fixed due to an boolean operation between enum (Pa089)
Warning[Pa089]: enumerated type mixed with another enumerated type	...tusb_uac2_audio.c	199
This issue stops the build if we treat warning as error
2024-03-14 09:13:12 +01:00
henneboi
5a854ef2dc dcd_stm32_fsdev.c: Fix a bug seend with stm32h5xxx when the driver is compiled with cubeide O1/O2/O3 2024-03-14 09:13:12 +01:00
HiFiPhile
7c66f9b2a4
Merge pull request #2473 from kaidegit/patch-1
use rt-thread 5+ mq recv api
2024-03-13 16:28:28 +01:00
Ha Thach
15775727e7
Merge pull request #2492 from tlyu/fix-rp2040-ctrl-xfer
work around possible RP2040 erratum
2024-03-13 12:02:08 +07:00
hathach
834e2c9560
usbd only process last setup packet in the event queue 2024-03-13 11:46:23 +07:00
hathach
6dc714b6de
- only abort ep0 if it is active
- rename reset_ep0_pid() to reset_ep0()
- minor update log message
2024-03-13 11:41:58 +07:00
hathach
2f0ad918cc
Merge branch 'master' into fix-rp2040-ctrl-xfer 2024-03-12 16:59:12 +07:00
Ha Thach
6b7ceed25c
Merge pull request #2516 from hathach/minor-code-format
Minor code format
2024-03-12 16:55:00 +07:00
hathach
2a4b27ed33
add led blinky to cdc_dual_ports example 2024-03-11 22:00:21 +07:00
hathach
5653232144
reformat code 2024-03-11 21:59:30 +07:00
Camila
eed3747661 Changes required for SDK 3.2.0:
- Define EP_ALLOCREQ
 - Define EP_FREEREQ
 - Define EP_ALLOCBUFFER
 - Define EP_FREEBUFFER

Those were previously defined in spresense-exported-sdk, but now have been removed.
2024-03-11 13:11:07 +01:00
Deadman
0a2444e100 sparkfun_samd21_mini_usb board support 2024-03-09 03:21:52 +01:00
Ha Thach
a0e5626bc5
Merge pull request #2503 from hathach/tuh-set-config-abort-all-ep
[host] abort all pending transfer when SET_CONFIGURATION is complete
2024-03-04 18:07:35 +07:00
hathach
1d3969acbd
- usbh enumeration: move _parse_configuration_descriptor after SET_CONFIGURATION is successful
- usbh: abort all pending xfer when SET_CONFIGURATION is complete
- use tu_edpt_release in tuh_edpt_abort_xfer instead of usbh_edpt_release
- rename _xfer_complete -> _control_xfer_complete
2024-03-04 17:44:53 +07:00
hathach
ff76eca311
code reformat 2024-03-04 17:38:44 +07:00
hathach
9b6f13716f
correct rp2040 host with max3421 2024-03-04 16:14:53 +07:00
Ha Thach
6a9bca9ed3
Merge pull request #2500 from hathach/add-tuh-hid-abort
Add tuh hid abort
2024-03-04 15:48:44 +07:00
HiFiPhile
5c8b3d97f0 Use FIFO size as condition. 2024-03-03 20:11:20 +01:00
hathach
4f5d80d397
add tuh_hid_receive_abort() API 2024-03-01 17:40:38 +07:00
hathach
4ed02ae5f9
reformat code hid_host.c
- fix ceedling with ruby 3.1
- allow overwrite CMAKE_C_COMPILER/CMAKE_CXX_COMPILER from command line
2024-03-01 17:34:14 +07:00
Taylor Yu
473d400cfd work around possible RP2040 erratum
RP2040 device controller does not seem to clear pending transactions
configured in EP0 buffer controls when the host aborts a control
transfer. This causes assertion failures, including when a buffer
AVAILABLE flag set for a previous transfer causes an unexpected
transaction completion.
2024-02-26 09:25:51 -06:00
Tommie Gannert
5ce7b14711 add notification support for device class USBTMC.
The ep_int_in is already used for responding to USB488
READ_STATUS_BYTE requests, but that EP is defined for all of USBTMC.
This extends the functionality to let callers send notifications and
receive ACKs.
2024-02-26 11:43:45 +01:00
Ha Thach
2720392a15
Merge pull request #2490 from IngHK/compiler_warning
fixed compiler warning src/tusb.c
2024-02-26 11:59:11 +07:00
Jerry Palacios
2a21b6980b MCX family pointing to updated mcux-sdk repository 2024-02-24 17:16:32 -06:00
IngHK
23450d4f6b fixed compiler warning src/tusb.c 2024-02-24 15:51:02 +01:00
Ha Thach
f21b792712
Merge pull request #2489 from hathach/fix-non-crystal-less-ci-fs
fix crytsal-less access on unsupported kinetis mcu
2024-02-24 17:43:53 +07:00
hathach
a52b4647ec only save/restore CLK_RECOVER_IRC_EN/CTRL if FSL_FEATURE_USB_KHCI_IRC48M_MODULE_CLOCK_ENABLED is defined to 1 2024-02-24 17:18:30 +07:00
Ha Thach
21de8245ae
Merge pull request #2168 from emb4fun/nxp_k64
Added support for the NXP K64 series
2024-02-24 01:11:01 +07:00
hathach
65a2e5cdf8
fix build with cpu without USB_CLK_RECOVER using old dcd_khci driver 2024-02-24 00:53:05 +07:00
hathach
354998e96c
update freertosconfig 2024-02-24 00:41:46 +07:00
hathach
3d3bf45102
frdm k64f usb work well, add kinetis_k to ci cmake 2024-02-24 00:36:07 +07:00
hathach
a1bfde83fb
adding frdm k64f, board test run well with led, button and uart 2024-02-23 13:18:52 +07:00
Jerry Palacios
ec91660119 Revert "Merge branch 'hathach:master' into MCX"
This reverts commit 6afd4a57896f9c9e794de3ab6eabc73d18be4bd0, reversing
changes made to 5c14bd13da211ff2679115b0dba96ac80c1a516c.
2024-02-22 16:11:23 -06:00
jerpa77
6afd4a5789
Merge branch 'hathach:master' into MCX 2024-02-22 15:47:45 -06:00
Ha Thach
be5cc44f55
Merge pull request #2487 from hathach/update-cdc_msc_freertos-example
slightly change cdc_msc_freertos example
2024-02-22 20:15:56 +07:00
hathach
13d26d2166
slightly change cdc_msc_freertos example 2024-02-22 19:20:28 +07:00
Ha Thach
a2446068d3
Merge pull request #2420 from zx96/use-cfg-tud-msc-log-level
msc_device: Fix check for including MSC lookup tables
2024-02-22 18:03:51 +07:00
Ha Thach
0f3d28593d
Merge pull request #2484 from eightycc/uninited
video_device: fix uninitialized variable warning
2024-02-21 21:50:42 +07:00
Jerry Palacios
5c14bd13da MCX A and MCX N merged to MCX family 2024-02-20 18:02:42 -06:00
Bob Abeles
3f2df94457 video_device: fix uninitialized warning 2024-02-20 08:16:39 -08:00
Ha Thach
65e60f3123
Merge pull request #2463 from kasjer/kasjer/nrf5x-isoout-corruption-detection
nrf5x: Handle ISOOUT CRC errors
2024-02-20 14:06:08 +07:00
Ha Thach
09589a6363
Merge pull request #2481 from xudongzheng/pca10095-pr
Fix nRF5340 DK USB host shield build
2024-02-20 12:56:42 +07:00
Xudong Zheng
1315bc196c Fix nRF5340 DK USB host shield build
- Fix incorrect UART pins
- Enable MAX3421 host shield
- Use GPIOTE1_IRQn instead of GPIOTE_IRQn
2024-02-19 16:52:09 -05:00
Rocky04
d0373f4749 Opt-out for USB Test-Mode 2024-02-19 17:44:18 +00:00
Ha Thach
d241f32342
Merge pull request #2480 from hathach/fix-k32l2-clock
add clock_config.c/h from mcux to frdmk32l2a4 and frdm_k32l2b
2024-02-19 20:34:44 +07:00
hathach
e361b1a9ba
add clock_config.c/h from mcux to frdmk32l2a4 and frdm_k32l2b 2024-02-19 18:45:03 +07:00
Ha Thach
8469fafb10
Merge pull request #2479 from hathach/fix-ohci-volatile-2318
fix wrong volatile usage in ohci gtd
2024-02-19 18:35:09 +07:00
Ha Thach
e9dc8f3e7d
fix wrong volatile usage in ohci gtd 2024-02-19 18:12:03 +07:00
Ha Thach
382f686f19
Merge pull request #2389 from IngHK/improve_debug_prints
improved hex debug print, improved USBH debug prints, added pid/vid debug print
2024-02-19 17:55:43 +07:00
Ha Thach
fabc20b3fb
Merge pull request #2470 from IngHK/fix_2469
fixed #2469 compiler warning tusb_fifo.c -> missing default: break;
2024-02-19 16:46:32 +07:00
Kai
27c125416a
use rt-thread 5+ mq recv api 2024-02-16 15:16:17 +08:00
Chris Desjardins
5ca9980060 Do not enable the Mode mismatch interrupt source, it is not cleared
If this interrupt ever hits it will result in an infinite interrupt
loop as it is never cleared.
2024-02-15 16:34:31 +01:00
IngHK
79aecf3fb7 fixed #2469 2024-02-14 09:16:18 +01:00
jerpa77
69ad3e2c8d
Merge branch 'hathach:master' into MCX 2024-02-12 11:31:51 -06:00
Jerry Palacios
7b780c068c Button modification 2024-02-12 09:29:10 -06:00
Jerzy Kasenberg
68bb858406 nrf5x: Handle ISOOUT CRC errors
NRF5x USB controller can detect ISO OUT CRC errors.
In such case USBEVENT is signaled with EVENTCAUSE_ISOOUTCRC set.
Even if controller detects corrupted ISO OUT packet it allows
to data transfer from ednpoint to RAM however packet is corrupted
and code could just as well drop packet altogether.

With current implementation incoming ISO OUT packets were put in
FIFO and exact information how much data already in FIFO is correct
was hard to keep track of.
If was observed that on certain configurations HS hub when FS device
was connected occasionally sent invalid (short) packet. In such case
if packet length was reported odd audio stream was not recognizable any
more.

With this change corrupted packets are not passed to upper layers
and are silently dropped.
2024-02-12 16:17:44 +01:00
Jerry Palacios
7e0100408d MCX modified to MCXA and MCXN 2024-02-09 11:15:26 -06:00
Jerry Palacios
b44cae8f18 frdmmcxa153 now working with cmake+ninja 2024-02-09 11:07:51 -06:00
Jerry Palacios
73122cd5f9 mcx family renamed as mcxn
MCXN and MCXA have different ARM Cortex M33 core, can't be on the same family
2024-02-09 09:36:58 -06:00
Jerry Palacios
8dc581247a Merge branch 'frdmmcxn947' into frdmmcxa153 2024-02-09 09:31:08 -06:00
Jerry Palacios
7369d1f36e Update family.c 2024-02-09 08:51:37 -06:00
Jerry Palacios
5b762e189c uart rx disabled 2024-02-08 16:25:41 -06:00
Jerry Palacios
2c766c4daf Update family.c 2024-02-08 12:43:13 -06:00
Jerry Palacios
fa4314e0ce button commented 2024-02-08 11:55:01 -06:00
Jerry Palacios
b9c6b22165 cortex m33+nodsp+nofpu make file created 2024-02-08 11:10:10 -06:00
IngHK
4d4e20b71e missing \r\n after TU_LOG_BUF => moved \r\n to tu_print_buf() 2024-02-08 12:00:44 +01:00
Jerry Palacios
45454c53f1 frdmmcxa153 files added 2024-02-07 18:33:19 -06:00
Jerry Palacios
bab25c2d56 nxp-sdk pointing to Wavenumber repo 2024-02-07 17:26:43 -06:00
Jerry Palacios
31c9176b2b frdmmcxn947 board added 2024-02-07 17:10:47 -06:00
Jerry Palacios
6c4a5292a6 Back to original 2024-02-07 17:03:13 -06:00
Antonio Vázquez Blanco
0531027b57 usbd: log outbound xfer bytes in debug 2024-02-07 13:06:41 +01:00
IngHK
a066002731 Merge remote-tracking branch 'remotes/hathach/master' into improve_debug_prints 2024-02-07 10:11:42 +01:00
IngHK
e784e20b93 changes after review 2024-02-07 10:11:28 +01:00
Ha Thach
b60d0ff1d4
Merge pull request #2442 from IngHK/hidh_mounted_fix
HIDh tuh_hid_mounted() returns true before process set config is completed
2024-02-06 16:34:02 +07:00
Michael Fischer
ea30041168
Merge branch 'hathach:master' into nxp_k64 2024-02-04 10:55:34 +01:00
Ha Thach
f918406a12
Merge pull request #2454 from hathach/fix-esp-build
Fix esp build
2024-02-02 13:46:25 +07:00
hathach
7ab39cda5f
fix rmt legacy driver warning 2024-02-02 13:17:29 +07:00
hathach
d1f77e08ac
build esp32 ci with v5.1 2024-02-02 13:08:42 +07:00
HiFiPhile
297290c16d Allow vendor class to be used without FIFO. 2024-02-01 13:11:56 +01:00
HiFiPhile
c151da6455
Merge pull request #1928 from gschorcht/src/portable/synopsys/dwc2/fix_sof_int_handling
synopsys/dwc2: fix SOF interrupt handling
2024-02-01 11:26:27 +01:00
HiFiPhile
d692d77834
Merge branch 'master' into src/portable/synopsys/dwc2/fix_sof_int_handling 2024-02-01 11:12:20 +01:00
HiFiPhile
f505cc2add
Merge pull request #2443 from mamiral/tud_vendor_mutex
Update vendor_device.c fifo mutex config similar to cdc_device.c.
2024-02-01 11:04:27 +01:00
Ha Thach
7ea2384786
Merge pull request #2445 from IngHK/ch34x_fix2444
fix #2444 and other small things
2024-02-01 13:11:22 +07:00
IngHK
e63a2f5c58 fix #2444 and other small things 2024-01-31 18:00:25 +01:00
mamiral
82776aaca9
Update vendor_device.c fifo mutex config similar to cdc_device.c. 2024-01-31 10:48:15 +01:00
IngHK
f600a8a0fc fix tuh_hid_mounted() similar to #2437 2024-01-30 10:33:55 +01:00
Ha Thach
68cc7089bd
Merge pull request #2438 from IngHK/cdch_mounted_fix
fix of #2437 CDCh tuh_cdc_mounted() returns true before process config is completed
2024-01-30 11:59:12 +07:00
hathach
00ba4e95ac
cdch: de-configure when closing, rename configured to mounted 2024-01-30 10:59:12 +07:00
Ha Thach
7a92038bc4
Merge pull request #2428 from YixingShen/master
update video_capture
2024-01-30 10:00:26 +07:00
YixingShen
073a7a5659 revert the change in the f1 family.c since it break compile with other f1 that does not use UART. 2024-01-30 08:30:37 +08:00
Ha Thach
b4c0530fda
Merge pull request #2435 from hathach/enhance-uvc
Enhance UVC decriptors and example
2024-01-30 00:12:09 +07:00
hathach
55950656cb
add freertos build support for video_capture example 2024-01-29 23:23:06 +07:00
IngHK
82be2477e8 fixed #2437 2024-01-29 12:04:00 +01:00
hathach
d52909ec5c
remove the use of descriptor template for video capture example 2024-01-29 18:02:57 +07:00
hathach
2da8f763d7
update example to work with iso streaming 2024-01-26 23:50:58 +07:00
hathach
0daf8ec51b
update example to work bulk mjpeg 2024-01-26 23:23:38 +07:00
hathach
b5cd673330
rename and add more video descriptors
use struct to define uvc descriptor for video_capture since uvc is
rather too complicated to use macro templates
2024-01-26 22:55:55 +07:00
YixingShen
2f2d2bcf3e Merge branch 'master' of https://github.com/YixingShen/tinyusb 2024-01-26 09:09:44 +08:00
YixingShen
4c9f462423 add "set tx_busy 1" into video_capture's video_tas for "if (tx_busy) return" 2024-01-26 09:09:18 +08:00
沈玴興
b713493436
Merge branch 'hathach:master' into master 2024-01-26 02:49:52 +08:00
YixingShen
19130440cc Revert "Merge branch 'master' of https://github.com/YixingShen/tinyusb"
This reverts commit 611f9d948be47b96520e84773525b9b79d3c7189, reversing
changes made to a7de4ac9b7a2dfb1fa44921fb0f41f249c8cdd5e.
2024-01-26 02:46:53 +08:00
YixingShen
611f9d948b Merge branch 'master' of https://github.com/YixingShen/tinyusb 2024-01-26 02:41:34 +08:00
YixingShen
a7de4ac9b7 Correct VIDEO_CS_VS_INTERFACE_FRAME_MJPEG to VIDEO_CS_ITF_VS_FRAME_MJPEG for #define TUD_VIDEO_DESC_CS_VS_FRM_MJPEG_DISC 2024-01-26 02:37:15 +08:00
Ha Thach
bd3c4fbe1e
Merge pull request #2427 from hathach/setup-python@v5
bump up to actions/setup-python@v5
2024-01-26 01:32:46 +07:00
hathach
14d44171b5
bump up to actions/setup-python@v5 2024-01-25 19:13:11 +07:00
Ha Thach
5aaa1aa63e
Merge pull request #2426 from hathach/cleanup-uvc-example
house keeping uvc example
2024-01-25 18:00:18 +07:00
hathach
0b8b8af83d
minor update to video capture example 2024-01-25 17:25:48 +07:00
hathach
de1266699d
clean up video example for readability 2024-01-24 13:13:49 +07:00
Ha Thach
09ae91700c
Merge pull request #2424 from hathach/retry-hil-s3
Retry hil s3
2024-01-24 13:13:02 +07:00
hathach
9d0df8ebc5
add message when flashing failed 2024-01-24 12:10:17 +07:00
hathach
64f86ef8e7
build workflow with hil-test when test/hil changes 2024-01-24 11:32:28 +07:00
Jerry Palacios
17cd5e0952 Bunny brain board created, but not modified yet
Bunny brain board created, but not modified yet
2024-01-23 17:55:19 -06:00
Jerry Palacios
2fadc06412 BOARD_InitPins pinlist modification
BOARD_InitPins pinlist modification
2024-01-23 17:53:09 -06:00
Jerry Palacios
fca0b44fa1 Update pin_mux.c 2024-01-23 17:10:21 -06:00
Jerry Palacios
b3ce3e25eb Led pin configurations changed from P3_4 to P0_10 2024-01-23 17:09:19 -06:00
Jerry Palacios
e819a28a8b frdm-mcxn947 folder created
frdm-mcxn947 folder created.
Led and button pin modified compared to mcxn947brk board
2024-01-23 16:49:44 -06:00
hathach
82218c8d68
retry flashih a few time due to random failed by s3 2024-01-24 00:43:23 +07:00
HiFiPhile
f92c2c2758
Merge pull request #2422 from kasjer/kasjer/audio_device-fix-unused-param-warning
audio_device: Fix unused variable warning
2024-01-23 15:09:25 +01:00
Jerzy Kasenberg
1c9a839401 audio_device: Fix unused variable warning
In some configurations local variable p_desc_parse_for_params
is declared and never used resulting in warning that can
be escalated to build error (for mynewt)

Now variable is surrounded with same preprocessor condition
as function that uses it audiod_parse_for_AS_params()
2024-01-23 13:51:10 +01:00
Ha Thach
57bbf3ad2b
Merge pull request #2391 from IngHK/cdc_ch34x_support
initial support of CH34x CDC device
2024-01-22 23:08:16 +07:00
Jonathan Zentgraf
af3c6be79f msc_device: Fix check for including MSC lookup tables
The _msc_scsi_cmd_lookup and _msc_scsi_cmd_table variables are needed
when logging is enabled for the MSC device via CFG_TUD_MSC_LOG_LEVEL.
Update the preprocessor check around them to use that definition when
deciding whether to define those variables.

Closes #2419
2024-01-20 20:19:02 -05:00
IngHK
769a237b19 accumulated review changes 2024-01-20 20:34:50 +01:00
hathach
87d509d416
make CFG_TUH_CDC_LINE_CODING_ON_ENUM optional for ch34x 2024-01-20 01:42:31 +07:00
hathach
55cb713264
- add new API tuh_cdc_set_data_format()
- add typedef for cdc enum
2024-01-19 16:56:32 +07:00
hathach
c196a2ed9c
move code around 2024-01-19 16:04:30 +07:00
hathach
98781bb903
- add ch34x_set_data_format()
- add ch34x_set_line_coding()
2024-01-19 15:58:05 +07:00
hathach
23c2d929a1
refactor process_internal_control_complete() 2024-01-19 12:40:37 +07:00
hathach
c568a6793e
- add requested line coding to make update data format easier
- change ch34x_xfer_get_itf_num() to simply 0
2024-01-19 12:14:45 +07:00
hathach
30eb35f17f
- revert the use of serial init for set line coding
- update ch34x_get_lcr and ch34x_get_factor_divisor
2024-01-19 01:06:24 +07:00
IngHK
3968a0fff8 implemented ch34x_set_line_coding() and some code cleanup 2024-01-17 16:04:31 +01:00
hathach
f221c0fb66
more clean up 2024-01-17 14:45:09 +07:00
IngHK
482a8068a5 change code style and code cleanup 2024-01-16 14:51:04 +01:00
hathach
46ac03ba85
change code style 2024-01-16 17:45:16 +07:00
hathach
55da1072b6
merge and cherry pick changes 2024-01-16 17:25:44 +07:00
hathach
07e3d5c691
fix number of endpoint for ch340x, also open notification even not used for now 2024-01-16 14:32:31 +07:00
IngHK
f7ef3c1b1c Merge branch 'cdc_ch34x_support' of https://github.com/IngHK/tinyusb into cdc_ch34x_support 2024-01-16 08:20:23 +01:00
IngHK
4e6408ea49 CDCh host: further work on CH340/CH341 support 2024-01-16 08:07:22 +01:00
IngHK
43e655b896 Merge remote-tracking branch 'remotes/hathach/master' into cdc_ch34x_support 2024-01-16 07:57:06 +01:00
hathach
e2aa671346
move open() ad vid_pid_list into serial driver struct 2024-01-16 12:54:39 +07:00
hathach
57c6f8cfa2
Merge branch 'master' into cdc_ch34x_support
# Conflicts:
#	src/class/cdc/cdc_host.c
2024-01-16 12:00:28 +07:00
Ha Thach
938cae818f
Merge pull request #2417 from hathach/serialhost-change-ftdi-cp210x-pid-list
change serila host FTDI/CP210X pid list to vid/pid list
2024-01-16 01:45:41 +07:00
hathach
aa58cdcfa6
change CFG_TUH_CDC_FTDI/CP210X_PID_LIST to CFG_TUH_CDC_FTDI/CP210X_VID_PID_LIST which contains both vid and pid. 2024-01-16 01:28:29 +07:00
Rocky04
e0ebece2c7
Missed static keyword 2024-01-15 18:23:59 +01:00
Rocky04
783a4f002b
Test mode support only for Hi-Speed devices 2024-01-15 16:45:58 +01:00
Rocky04
78a1d4c482
Merge branch 'master' into test-mode-support 2024-01-15 16:27:22 +01:00
Rocky04
3c4184dc15
Removed whitespace 2024-01-15 16:16:09 +01:00
Rocky04
c3e96e667f Change to control complete cb 2024-01-15 15:10:46 +00:00
Rocky04
1755bba509 Add DWC2 Test Mode SUpport 2024-01-15 12:47:13 +00:00
hathach
1f2901e8b1
fix conflict of BIT() macro 2024-01-15 19:02:02 +07:00
hathach
d192868d62
fix sign-conversion warning 2024-01-15 18:25:15 +07:00
hathach
d92eb38c21
change code style 2024-01-15 16:56:18 +07:00
hathach
a67ee4f01b
Merge branch 'master' into cdc_ch34x_support 2024-01-15 16:17:42 +07:00
Ha Thach
4b3b401ce3
Merge pull request #2401 from Ryzee119/ohci_more_dev
[OHCI] Allow more than 16 devices
2024-01-12 17:48:01 +07:00
Ha Thach
39f397e25c
Merge pull request #2412 from hathach/change-weak-event-hook-style
change tuh_event_hook_cb, tud_event_hook_cb to weak default implementation
2024-01-12 16:22:09 +07:00
hathach
8eca596fa6
style changes 2024-01-12 16:05:35 +07:00
hathach
290f4bea91
- change tuh_event_hook_cb, tud_event_hook_cb to weak default implementation
- change code style
2024-01-12 15:47:08 +07:00
Ha Thach
858077483d
Merge pull request #2239 from XelaRellum/bugfix_stm32_fsdev_keil
Fixes #1018 the weak dcd_edpt0_status_complete for Keil Compiler
2024-01-12 15:26:02 +07:00
Ha Thach
71ce4b8be6
Merge pull request #2402 from Okarss/master
[STM32 FSDEV] Fix ISR race conditions
2024-01-12 10:26:52 +07:00
Okarss
2d3d148912 [STM32 FSDEV] Align names for consistency 2024-01-11 21:02:14 +02:00
Ha Thach
5002ce8798
Merge pull request #2382 from YixingShen/master
fixed device/video_capture/src/images.h,main.c CFG_EXAMPLE_VIDEO_DISA…
2024-01-12 00:58:32 +07:00
hathach
ab7538d93a
fix build with f1 without uart 2024-01-11 23:56:04 +07:00
Ha Thach
7db9119ef3
Merge pull request #2411 from IngHK/cdch_vendor_class
[cdch] replaced vendor specific bInterfaceClass number by define
2024-01-11 22:53:21 +07:00
hathach
e68c6658c9 move gtd extra out of control struct to save sram
also rename gtd_data to gtd_extra
2024-01-11 17:35:05 +07:00
hathach
3349e40276 add cmake support for lpc17 2024-01-11 17:32:21 +07:00
IngHK
c619a86141 bInterfaceClass number replaced by define 2024-01-11 08:53:47 +01:00
Ha Thach
f2f40c0965
Merge pull request #2400 from Ryzee119/hub_fix
[HUB] Fix double status xfer
2024-01-11 12:39:18 +07:00
Ha Thach
b7581f0995
Merge pull request #2404 from Ryzee119/patch-2
[HUB] Prevent status request to invalid ep_num
2024-01-11 12:34:54 +07:00
Ha Thach
b5d5ae9b18
Merge pull request #2408 from leptun/fix_tickless_ulpi_gating
Disable ULPI clock during sleep on stm32f7 when using internal phy
2024-01-11 11:40:44 +07:00
Okarss
545821399b [STM32 FSDEV] Introduce a typedef for bus access width 2024-01-11 00:59:39 +02:00
Alex Voinea
3bf6826451
Disable ULPI clock during sleep on stm32f7 when using internal phy 2024-01-10 10:27:21 +01:00
Ryzee119
e7e19f5627 [OHCI] Allow more than 16 devices 2024-01-10 16:03:43 +10:30
Okarss
0d4b24e56c [STM32 FSDEV] Fix ISR race conditions 2024-01-10 05:43:20 +02:00
Ha Thach
cf306ed913
Merge pull request #2406 from IngHK/move_acm_open
[CDC] host: moved acm_open to other acm prototypes
2024-01-09 18:30:44 +07:00
IngHK
91f65a36bf [CDC] host: moved acm_open to other acm prototypes 2024-01-09 09:53:54 +01:00
Ryzee119
d39d06e6d9 [HUB] Prevent status request to invalid ep_num 2024-01-09 16:36:32 +10:30
Ryzee119
a4aa454a7a [HUB] Fix double status xfer 2024-01-07 08:34:18 +10:30
沈玴興
149b50a2fa
Merge branch 'hathach:master' into master 2023-12-28 00:29:41 +08:00
YixingShen
9a1559a356 add __ARM_ARCH_8_1M_MAIN__ for M55 2023-12-28 00:28:24 +08:00
IngHK
c2bbcc9f60 initial support of CH34x CDC device 2023-12-26 20:14:03 +01:00
Ha Thach
ae364b1460
Merge pull request #2390 from hathach/max3421e-support-rp2040
support max3421e for rp2040
2023-12-26 23:10:32 +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
hathach
a01d6d8b31
tested other ports with featherwing max3421, change cs, intr pin to D10, D9 2023-12-26 21:13:43 +07:00
IngHK
a39be99a58 improved hex debug print, improved USBH debug prints, added pid/vid debug print 2023-12-26 12:24:54 +01:00
YixingShen
1117880411 add high speed into examples\device\video_capture 2023-12-24 00:27:36 +08:00
Ha Thach
804f6718ed
Merge pull request #2385 from kasjer/kasjer/nrf5x-fix-dcd_edpt_open-for-iso
dcd_nrf5x: Fix dcd_edpt_open for iso endpoint
2023-12-21 15:53:11 +07:00
Jerzy Kasenberg
7f84fe9bda dcd_nrf5x: Fix dcd_edpt_open for iso endpoint
When ISO endpoint handling was introduced two lines that
clear stall and data toggle bit were left unchanged and they
were effective for ISO enadpoint as well.
This is incorrect behavior since EPSTALL and DTOGGLE registers
have only 3 bits for address.
Leaving code that clears toggle bit results in endpoint 0 toggle bit
being reset when iso endpoint (8) is opened.

Now code that clears stall and toggle bit is applied to non-iso endpoint only
as it was done before iso handling was introduced.
2023-12-21 08:48:59 +01:00
Ha Thach
b9be733c3c
Merge pull request #2383 from hathach/update-freertos-11.0
update freertos deps to v11.0.0
2023-12-18 21:24:11 +07:00
hathach
1a3f5f7a09
update FreeRTOSConfig.h
- remove configAssert()
- configCHECK_HANDLER_INSTALLATION=0 (to prevent unused-parameter error with configAssert(x)=nil
2023-12-18 20:33:43 +07:00
hathach
c314cb2903
remove usage of linkermap, update checkout to v4 2023-12-18 20:07:17 +07:00
hathach
3c4db26e01
update freertos deps to v11.0.0 2023-12-18 16:50:28 +07:00
Ha Thach
7c181c4e9b
Merge pull request #2373 from Lurcy38/master
Add Support stm32h5 for stm32h573i based on stm32_fsdev G0 implementa…
2023-12-18 11:55:48 +07:00
hathach
c9c00eb26b
added ioc for h563 nucleo, usb working with on-board stlink 2023-12-18 11:42:42 +07:00
YixingShen
aa5accae23 add uart printf log into hw/bsp/stm32f1
fix hw/bsp/stm32f1/stm32f1xx_hal_conf.h's HAL_CORTEX_MODULE_ENABLED
2023-12-18 09:45:06 +08:00
YixingShen
3f4e77738b fixed device/video_capture/src/images.h,main.c CFG_EXAMPLE_VIDEO_DISABLE_MJPG to CFG_EXAMPLE_VIDEO_DISABLE_MJPEG 2023-12-18 00:40:29 +08:00
hathach
a7fe956e35
rename dk board and more update 2023-12-15 18:57:21 +07:00
hathach
8633a2643a
update h5 build make/cmake 2023-12-15 18:08:19 +07:00
hathach
17a0ce655b
Merge branch 'master' into h5 2023-12-15 17:42:25 +07:00
Ha Thach
9474db8b0f
Merge pull request #2376 from HiFiPhile/iar_cmake
IAR CMake native support
2023-12-14 18:48:19 +07:00
Mengsk
6fda6e16f8 Update jlink script path. 2023-12-14 12:19:14 +01:00
Ha Thach
5a0c21a0aa
Merge pull request #2379 from hathach/tweak-hil-pi4
reset pi4 usb bus before checkout/download, so that we could skip delay
2023-12-14 17:08:27 +07:00
hathach
84839fa5f1
reset pi4 usb bus before checkout/download, so that we could skip delay 2023-12-14 16:52:45 +07:00
Mengsk
2396fecee2 Move jlink script. 2023-12-14 09:48:40 +01:00
Mengsk
35615ecb6f Update doc. 2023-12-13 17:41:54 +01:00
Mengsk
3eb7d6ede9 Enhance IAR CMake support. 2023-12-13 17:20:51 +01:00
Ha Thach
ccc59e8763
Merge pull request #2375 from hathach/hil-add-samd51
add samd51 (itsybitsy_m4) to hardware test loop
2023-12-13 20:34:03 +07:00
HiFiPhile
f3d713ac73 Fix CI & typo. 2023-12-13 14:32:23 +01:00
hathach
3da0d78170
minor tweaking 2023-12-13 20:16:47 +07:00
hathach
31c33ca853
tweak usb reset wait time, fix test script with IAR server 2023-12-13 19:18:08 +07:00
hathach
b343ac6d0f
reset usb before running test 2023-12-13 19:05:44 +07:00
hathach
19d7d62e80
try to add samd51 to hil pool using doublereset (rpi gpio) and bossac 2023-12-13 18:54:00 +07:00
henneboi
93c40b6966 Add Support stm32h5 for stm32h573i based on stm32_fsdev G0 implementation Tested on Windows with IAR and gcc toolchain ( via cubeide) Tested only with audio examples, but sould be ok for other examples Cmake pacthed : but not tested Linux build : not tested Added a temporary workaround in make file to support H5 HAL repo ( ARMCC_VERSION=0) 2023-12-12 16:04:21 +01:00
Ha Thach
59ecdb78fe
Merge pull request #2368 from LarssonOliver/master
Add configuration option CFG_TUH_CDC_FTDI_PID_LIST to tusb_option.h
2023-12-12 15:54:35 +07:00
Oliver Larsson
9a7e23379c Add configuration option CFG_TUH_CDC_FTDI_PID_LIST to tusb_option.h 2023-12-12 08:11:16 +01:00
Ha Thach
6bb92555f3
Merge pull request #2347 from IngHK/HostLogsFixes
fixed compile errors due to untreated CFG_TUH_LOG_LEVEL
2023-12-12 13:35:30 +07:00
Ha Thach
b6ad70bad9
Merge pull request #2371 from hathach/hil-add-nrf52840
add nrf52840 to hard in the loop pool
2023-12-12 13:05:08 +07:00
hathach
f986f1f22d
add reset usb bus 2023-12-12 12:23:07 +07:00
hathach
b5448a7987
add feather nrf52840 express to hil pool 2023-12-12 11:59:37 +07:00
Ha Thach
24c5e6ab45
Merge pull request #2369 from hathach/more-s3-hil
More s3 hil
2023-12-11 21:10:55 +07:00
hathach
bd1009e135
tweak openocd flash command 2023-12-11 20:43:59 +07:00
hathach
aa9dce09a1
change baudrate back to 1.5MB 2023-12-11 20:37:09 +07:00
hathach
b67855468d
fix build 2023-12-11 17:56:10 +07:00
hathach
ea885d5c83
reduce s3 baudrate to prevent usb isssue, reset rp2040 usb for board test example 2023-12-11 17:48:27 +07:00
Ha Thach
37158eddcb
Merge pull request #2367 from hathach/add-hil-s3
Add esp32s3 to hardware in the loop test
2023-12-11 16:16:28 +07:00
hathach
f5f087e99c
skip iar build for f4 and h7 to save build time 2023-12-11 15:56:48 +07:00
hathach
aa21d50196
rename hil json debugger to flasher, replace jlink cpu with flasher_args 2023-12-11 15:23:09 +07:00
Ha Thach
4c80f5a192
Merge pull request #2296 from LarssonOliver/master
Allow external definition of TU_CP210X_PID_LIST
2023-12-11 15:13:20 +07:00
hathach
e1142d4527
wrap up s3 hil test 2023-12-11 14:52:21 +07:00
hathach
c829116830
extract artifacts to same folder structure as ci build 2023-12-11 14:43:54 +07:00
hathach
3689c4c604
more test 2023-12-11 14:38:37 +07:00
hathach
721ae45ebb
update hil test to support s3 2023-12-11 14:29:11 +07:00
hathach
0642a6d9e7
more artifacts 2023-12-11 11:56:04 +07:00
hathach
fd55b96ca1
test changing upload artifacts for hil test 2023-12-11 11:45:50 +07:00
HiFiPhile
71f1400aea
Merge pull request #2366 from angmolin/bugfix/gcc+12-strict-overflow-warning
Fix strict-overflow warning when compiling with gcc >= 12
2023-12-10 17:22:43 +01:00
Ángel Molina Núñez
506617d4b3
Add comment to explain why the condition changes 2023-12-10 17:04:46 +01:00
Angel Molina
ac418f4d25 Fix strict-overflow warning when compiling with gcc >= 12 2023-12-09 23:13:53 +01:00
IngHK
efde252ed0 improved CFG_TUSB_DEBUG handling due to compile errors 2023-12-08 16:59:52 +01:00
IngHK
4d88f146e3 Merge remote-tracking branch 'remotes/hathach/master' into HostLogsFixes 2023-12-08 16:44:58 +01:00
Ha Thach
338ff2daba
Merge pull request #2351 from IVOES/master
Add CodeQL Workflow for Code Security Analysis
2023-11-30 11:56:52 +07:00
hathach
66b9bd52d6
minor tweak to codeql.yml 2023-11-30 11:38:54 +07:00
hathach
0504192fb7
update buildscript 2023-11-29 22:30:58 +07:00
Ha Thach
0877a486cb
Merge pull request #2356 from hathach/hil-esp32s3
update esp32 to also be supported by hil test
2023-11-29 18:34:45 +07:00
hathach
c1dbeb55b4
increase intial sleep for port check, otherwise it ccould fail on pi4 2023-11-29 18:11:50 +07:00
hathach
fe4bb40207
fix pre-commit typo 2023-11-29 17:22:33 +07:00
hathach
1c1c2dc3b9
Merge branch 'master' into codeql 2023-11-29 17:21:21 +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
hathach
83840041a8
update esp32 to also be supported by hil test
test run locally well
2023-11-29 17:09:52 +07:00
Ha Thach
9c9ebb342d
Merge pull request #2355 from hathach/update-hil-rp2040
Update hil test for rp2040 on self-hosted PI4
2023-11-29 15:34:05 +07:00
Ha Thach
390c109aed
Merge pull request #2271 from antoniovazquezblanco/stm32h750dk
stm32h750-dk support
2023-11-29 15:04:03 +07:00
Antonio Vázquez Blanco
46b0ddc5e6 stm32h750dk: Fix IAR linker script path 2023-11-29 08:39:33 +01:00
Antonio Vázquez Blanco
f87deba4ac stm32h750dk: More codespell in linker file 2023-11-29 08:25:40 +01:00
Antonio Vázquez Blanco
c12e719808 stm32h750dk: Codespell in linker file 2023-11-29 08:23:11 +01:00
Antonio Vázquez Blanco
6849e210c0 stm32h750dk: Add linker script 2023-11-29 08:18:14 +01:00
hathach
b8d1acd104
improve hil test, correct pi4 uuid 2023-11-29 12:00:52 +07:00
Antonio Vázquez Blanco
c162ac8830 stm32h750bdk: Fix startup and linker script 2023-11-28 21:50:02 +01:00
hathach
b45ad57c50
spare checkout test/hil and correct hil_pi4 uuid 2023-11-28 23:02:26 +07:00
hathach
1a6756c254
fixed pi4 hil test elf location 2023-11-28 19:10:19 +07:00
hathach
0a4d92a71e
update hil for pi4 to use new hil_test.py 2023-11-28 18:28:45 +07:00
Brian
00484d18a5
Update codeql-buildscript.sh
Update script name
2023-11-27 12:14:38 -05:00
Oliver Larsson
c4e04d3db4 Add configuration option CFG_TUH_CDC_CP210X_PID_LIST to tusb_option.h 2023-11-25 08:34:52 +01:00
IngHK
b8881a3a14 fixed compile errors due to untreated CFG_TUH_LOG_LEVEL 2023-11-24 22:34:28 +01:00
IngHK
7e1fe2ff83 made log line end consistent \r\n 2023-11-24 22:02:58 +01:00
Ha Thach
1eb6ce784c
Merge pull request #2343 from hathach/release-0.16.0
Release 0.16.0
2023-11-24 23:38:37 +07:00
hathach
e5588697d5
update changelog for 0.16.0 2023-11-24 23:11:35 +07:00
hathach
d343321c6e
bump up pio-usb 2023-11-24 19:21:20 +07:00
hathach
0e12d36531
update doc, move sponsor to top of the page 2023-11-24 19:11:28 +07:00
hathach
031be18e26
update release version 2023-11-24 19:09:35 +07:00
hathach
426f791e7a
minor doc 2023-11-24 19:09:34 +07:00
Ha Thach
2fc9fbe27d
Merge pull request #2340 from hathach/hid-set-protocol-pr
Hid set protocol pr
2023-11-24 19:05:16 +07:00
Ha Thach
02017a81e9
Merge pull request #2303 from projectgus/feature/isr_event_hook
Add optional hooks for DCD and HCD events
2023-11-24 18:39:29 +07:00
hathach
f469250fa3
minor update 2023-11-24 18:35:00 +07:00
Xudong Zheng
2fed722b00
add tuh_hid_set_default_protocol() to set default USB host HID protocol 2023-11-24 18:27:03 +07:00
hathach
188fbd8ed9
add optional event hook callback tud_event_hook_cb() and tuh_event_hook_cb() 2023-11-24 18:21:24 +07:00
hathach
111b21e767
Merge branch 'master' into feature/isr_event_hook 2023-11-24 17:49:43 +07:00
Ha Thach
f1898fef8c
Merge pull request #2279 from antoniovazquezblanco/bth
Add historical EP compatibility to bth class
2023-11-24 16:28:08 +07:00
hathach
6e5c7f4390
rename to CFG_TUD_BTH_HISTORICAL_COMPATIBLE, move CFG_TUD_BTH_ISO_ALT_COUNT to tusb_option.h and mandatory for BTH driver 2023-11-24 16:08:48 +07:00
hathach
5e54bd37b6
Merge branch 'master' into bth 2023-11-24 15:57:06 +07:00
Ha Thach
f03f60eae2
Merge pull request #2278 from Krasutski/feature/ch32f20x
Add CH32F20x support
2023-11-24 13:21:38 +07:00
hathach
b6059fa942
fix pre-commit end of file 2023-11-24 12:04:03 +07:00
hathach
21022755f8
fix make build 2023-11-24 11:51:48 +07:00
Antonio Vázquez Blanco
60dbfe6f54
stm32h750dk: Initial support 2023-11-24 11:39:30 +07:00
Ha Thach
0601d174b1
Merge branch 'master' into feature/ch32f20x 2023-11-24 11:33:34 +07:00
Ha Thach
d6b8b3515d
Merge pull request #2339 from hathach/move-build-file
Move build file from tools/ to examples/build_system
2023-11-23 20:57:43 +07:00
hathach
26ca48e7a7
move make.mk and rules.mk to build_system/make 2023-11-23 20:20:01 +07:00
hathach
7213b8abb1
move tools/cmake to examples/build_system 2023-11-23 20:06:22 +07:00
hathach
54356a719e
minor-update 2023-11-23 17:53:17 +07:00
hathach
82880eecbd
make nanolib linking explicitly by each family/board 2023-11-23 12:43:13 +07:00
hathach
1a98f5389c
correct gcc version major comparison 2023-11-23 12:07:59 +07:00
hathach
e54a2c4f3c
rename build_family.py to build_make.py 2023-11-23 11:46:39 +07:00
hathach
51312f70fd
move make to examples/build_system
add -Wl,--no-warn-rwx-segment for gcc 12+
2023-11-23 11:44:14 +07:00
Angus Gratton
68894398af Add optional hooks for DCD and HCD events
These are intended to allow bare metal platforms with one-shot scheduling
capabilities to schedule the TinyUSB task handlers whenever they know there is
work for them to do.

Signed-off-by: Angus Gratton <angus@redyak.com.au>
2023-11-23 14:42:51 +11:00
Ha Thach
08f9ed67c9
Merge pull request #2336 from hathach/fix-h7-otg_fs-wfi
Fix h7 running on fullspeed phy has issue with WFI
2023-11-23 10:22:26 +07:00
hathach
01f22a9e25
fix h7 running on fullspeed phy has issue with WFI if not disable ULPI clock 2023-11-22 22:50:10 +07:00
hathach
42e7bd4ce8
update clock setup for H743 eval 2023-11-22 21:39:28 +07:00
Ha Thach
460a8b50ac
Merge pull request #2335 from hathach/update-imxrt-usbphy
Update imxrt usbphy
2023-11-22 17:37:01 +07:00
hathach
025ffa200c
add spec version to dwc2 info 2023-11-22 17:36:52 +07:00
hathach
6a908ccfb6
correctly use xtal for initialize usbphy, rt1170 usb is working 2023-11-22 16:38:24 +07:00
hathach
89dce6882f
minor update board.h 2023-11-22 16:11:39 +07:00
Ha Thach
efcc2b69dc
Merge pull request #2334 from hathach/fix-cond-typo
fix typo in cdc line coding enum
2023-11-22 11:53:18 +07:00
hathach
aedc92f2d3
fix typo in cdc line coding enum 2023-11-22 11:25:55 +07:00
Ha Thach
41e2da79f4
Merge pull request #2331 from hathach/add-featherwing-max3421e
Add featherwing max3421e support
2023-11-21 00:06:30 +07:00
hathach
86f6588c3f
update example to work with featherwing max3421, set max3421 GPIO0 for vbus
tested with feather nrf52840, m0, m4
2023-11-20 22:09:38 +07: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
Ha Thach
cbd3e0bc0b
Merge pull request #2326 from HiFiPhile/dwc2_f429
Add dwc2 info of F429.
2023-11-20 09:56:25 +07:00
HiFiPhile
8af470e06d Fix CI 2023-11-19 16:19:11 +01:00
HiFiPhile
b5b34e73d6 Add dwc2 info of F429. 2023-11-19 16:10:16 +01:00
Ha Thach
da3e511b92
Merge pull request #2320 from hathach/update-imxrt-family
Update imxrt family
2023-11-18 20:11:17 +07:00
hathach
2187ece844
update freertos to fix build with IAR cm0 2023-11-18 15:11:29 +07:00
hathach
fbf64b122d
switch freertos to static allocation only (dynamic = 0), since it is possible now with latest freertos cmake 2023-11-16 22:12:38 +07:00
hathach
83d6263ade
update freertos-kernel which remove compiler warning from freertos_kernel lib 2023-11-16 21:51:49 +07:00
hathach
e666a39dd7
update clion setting 2023-11-16 21:37:30 +07:00
hathach
936551ebd1
update rt1170 evk with led and button, but usb not working yet 2023-11-16 21:35:12 +07:00
hathach
759f70f092
update teensy 4.0 and 4.1 (not tested) 2023-11-16 20:43:02 +07:00
hathach
68f1841e3c
update rt1060 and rt1064 evk 2023-11-16 20:28:41 +07:00
hathach
baa1b4ec20
correct and tested rt1050 evkb 2023-11-16 20:12:08 +07:00
hathach
2ff08aceec
update rt1050 (not tested) 2023-11-16 20:05:27 +07:00
hathach
882da9944d
update rt1024 evk 2023-11-16 18:23:48 +07:00
hathach
794dbf923a
updat rt1020 2023-11-16 17:33:33 +07:00
hathach
f9bdc8ad22
update rt1015 evk 2023-11-16 17:19:15 +07:00
hathach
fe2a759159
update metro m7 airlift and sd 2023-11-16 17:01:43 +07:00
hathach
d13d79acfe
update imxrt1010 with mex 2023-11-16 16:54:43 +07:00
hathach
2e924f727f
add imxrt1170 evkb 2023-11-16 15:38:55 +07:00
hathach
9ffb20429a
add metro m7 1011 sd with trace etm, try to enable but not working yet 2023-11-16 12:32:35 +07:00
Ha Thach
0f187b4d1c
Merge pull request #2317 from hathach/add-ra2a1-ek
add ra2a1 ek
2023-11-15 16:35:13 +07:00
hathach
e0d632a954
add ra2a1 ek
also make some other changes
2023-11-15 16:07:44 +07:00
Ha Thach
a973887399
Merge pull request #2316 from hathach/typo
Typo fix.
2023-11-14 17:57:10 +07:00
HiFiPhile
be325ca8bd
Typo fix. 2023-11-14 11:00:59 +01:00
HiFiPhile
0ab1bffde9
Merge pull request #2315 from kasjer/kasjer/nucleo-g491re
Add BSP for nucleo-g491re
2023-11-13 20:26:49 +01:00
Jerzy Kasenberg
c9f09d6079 Add BSP for nucleo-g491re
This adds bsp for ST nucleo-g491re board.
This is mostly copy of nucleo-f474 only differences being:
- PLL configured to 170MHz (not affecting USB which runs on HSI48)
- Linker script freshly generated from STM32CubeIDE (smaller RAM)

Signed-off-by: Jerzy Kasenberg <jerzy.kasenberg@codecoup.pl>
2023-11-13 17:38:19 +01:00
Ha Thach
a6b29ae57c
Merge pull request #2314 from jfm92/master
Adding extern C to definitions to allow link on C++ project
2023-11-13 17:50:43 +07:00
jfm92
d4be0fd104 Adding extern C to definitions to allow link on C++ project 2023-11-13 10:14:55 +01:00
Antonio Vázquez Blanco
8bac68db84 Add historical EP compatibility to bth class 2023-11-07 17:38:26 +01:00
Ha Thach
f84eafcaa2
Merge pull request #2310 from hathach/fix-usbh-enumeration-removal-race
Fix usbh enumeration removal race
2023-11-03 23:25:03 +07:00
hathach
9377fd6901
fix -Werror=null-dereference warning 2023-11-03 22:34:49 +07:00
hathach
4b9320e40e
fix race condition when dev0 is removed while enumerating 2023-11-03 22:22:13 +07:00
Ha Thach
f3eaf0652d
Merge pull request #2293 from Yveaux/master
Add PlatformIO manifest
2023-11-03 09:08:10 +07:00
Yveaux
2f2ccb33ed
Added end of file per ci recommendation 2023-11-02 17:06:16 +01:00
Ha Thach
3af44089bc
Merge pull request #2308 from hathach/add-u5-uid
add unique id for u5, also allow to build with OPT_OS_CUSTOM
2023-11-02 20:56:27 +07:00
hathach
89475fcf26
add unique id for u5, also allow to build with OPT_OS_CUSTOM 2023-11-02 19:32:25 +07:00
Ha Thach
b28d121a54
Merge pull request #2307 from hathach/minor-upate-max3421
skip tuh_max3421_spi_cs_api() in hcd_init()
2023-11-02 18:44:46 +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
Ha Thach
68faa45c6a
Merge pull request #2302 from HiFiPhile/f4_otg
Add STM32F4 OTG_HS support to BSP
2023-11-02 09:54:34 +07:00
Ha Thach
d73d8ecfbe
Merge pull request #2305 from hathach/remove-legacy-st-synopsys-driver
remove legacy driver st/synopsys
2023-11-01 17:12:00 +07:00
hathach
06c9d9a79a
remove legacy driver st/synopsys 2023-11-01 16:36:28 +07:00
Ha Thach
4ee36092e9
Merge pull request #2304 from hathach/update-doc
Update doc & add Adafruit as sponsor in readme
2023-11-01 16:30:16 +07:00
hathach
7c56c05c9a
more readme 2023-11-01 11:51:34 +07:00
hathach
04c12d302e
add target link to adafruit logo 2023-11-01 11:23:01 +07:00
hathach
0ff327f25f
resize logo, add white background 2023-11-01 11:20:18 +07:00
hathach
484937a042
update readme, add sponsor section 2023-11-01 10:40:20 +07:00
HiFiPhile
de02748504 Update make 2023-10-31 21:29:07 +01:00
HiFiPhile
bf2e54e3d3 Add STM32F4 OTG_FS pin to BSP. 2023-10-31 20:46:55 +01:00
HiFiPhile
86f00f6b49 Fix STM32F7 OTG_HS GPIO alt mapping. 2023-10-31 20:45:06 +01:00
hathach
765ba4b9ac
update doc to add supported mcus 2023-10-31 16:21:45 +07:00
Ha Thach
4c01c5a714
Merge pull request #2300 from hathach/add-u5a5
Add support for stm32u5a5 (highspeed with built-in femtoPHY)
2023-10-31 13:27:54 +07:00
hathach
3e140756dc
update stm32u5xx_hal_driver, fix build with old u575 board 2023-10-31 12:08:45 +07:00
hathach
214a4afa6a
dwc2 flush tx,rx fifo in dcd_init() 2023-10-31 11:53:40 +07:00
hathach
6ab7875aab
uart working on u5a5 2023-10-31 11:39:20 +07:00
hathach
db3ff4b352
usb on u5a5 hs work well with correct VBVALEXTOEN/VBVALOVAL set 2023-10-31 11:26:31 +07:00
hathach
9f0223dccd
minor clean up 2023-10-31 10:58:15 +07:00
hathach
305ef5d48a
minor space format dwc2 driver 2023-10-30 22:22:27 +07:00
hathach
a4c542a7b4
addd dwc2_info.py/md update stm32u5a5 board clock & power configure, able to get passed otg clock reset 2023-10-30 22:21:58 +07:00
Ha Thach
a91b720c2e
Merge pull request #2291 from hathach/minor-update-max3421
minor update for max3421
2023-10-30 11:10:03 +07:00
Brian
490343b4d3 Add CodeQL Workflow for Code Security Analysis
Add CodeQL Workflow for Code Security Analysis

This pull request introduces a CodeQL workflow to enhance the security analysis of our repository. CodeQL is a powerful static analysis tool that helps identify and mitigate security vulnerabilities in our codebase. By integrating this workflow into our GitHub Actions, we can proactively identify and address potential issues before they become security threats.

We added a new CodeQL workflow file (.github/workflows/codeql.yml) that
- Runs on every pull request (functionality to run on every push to main branches is included as a comment for convenience).
- Runs daily.
- Excludes queries with a high false positive rate or low-severity findings.
- Does not display results for git submodules, focusing only on our own codebase.

Testing:
To validate the functionality of this workflow, we have run several test scans on the codebase and reviewed the results. The workflow successfully compiles the project, identifies issues, and provides actionable insights while reducing noise by excluding certain queries and third-party code.

Deployment:
Once this pull request is merged, the CodeQL workflow will be active and automatically run on every push and pull request to the main branch. To view the results of these code scans, please follow these steps:
1. Under the repository name, click on the Security tab.
2. In the left sidebar, click Code scanning alerts.

Additional Information:
- You can further customize the workflow to adapt to your specific needs by modifying the workflow file.
- For more information on CodeQL and how to interpret its results, refer to the GitHub documentation and the CodeQL documentation (https://codeql.github.com/ and https://codeql.github.com/docs/).

Signed-off-by: Brian <bayuan@purdue.edu>
2023-10-29 15:28:27 -04:00
Yveaux
ae7ad53949 Add PlatformIO manifest 2023-10-28 14:47:29 +02: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
PanRe
10558acac6
Merge pull request #2289 from HiFiPhile/uac_interl
Update audio_4_channel_mic example for HS device.
2023-10-25 20:31:00 +02:00
HiFiPhile
2d802e03e9 Update audio_4_channel_mic example for HS device. 2023-10-24 22:14:24 +02:00
Brian
3cc82d656e Add CodeQL Workflow for Code Security Analysis
Add CodeQL Workflow for Code Security Analysis

This pull request introduces a CodeQL workflow to enhance the security analysis of our repository. CodeQL is a powerful static analysis tool that helps identify and mitigate security vulnerabilities in our codebase. By integrating this workflow into our GitHub Actions, we can proactively identify and address potential issues before they become security threats.

We added a new CodeQL workflow file (.github/workflows/codeql.yml) that
- Runs on every pull request (functionality to run on every push to main branches is included as a comment for convenience).
- Runs daily.
- Excludes queries with a high false positive rate or low-severity findings.
- Does not display results for git submodules, focusing only on our own codebase.

Testing:
To validate the functionality of this workflow, we have run several test scans on the codebase and reviewed the results. The workflow successfully compiles the project, identifies issues, and provides actionable insights while reducing noise by excluding certain queries and third-party code.

Deployment:
Once this pull request is merged, the CodeQL workflow will be active and automatically run on every push and pull request to the main branch. To view the results of these code scans, please follow these steps:
1. Under the repository name, click on the Security tab.
2. In the left sidebar, click Code scanning alerts.

Additional Information:
- You can further customize the workflow to adapt to your specific needs by modifying the workflow file.
- For more information on CodeQL and how to interpret its results, refer to the GitHub documentation and the CodeQL documentation (https://codeql.github.com/ and https://codeql.github.com/docs/).

Signed-off-by: Brian <bayuan@purdue.edu>
2023-10-20 01:02:27 -04:00
PanRe
a2390802f8
Merge pull request #2282 from HiFiPhile/uac_interl
UAC IN transfer improvements
2023-10-19 19:49:19 +02:00
Brian
b8ae3d55d4 Add CodeQL Workflow for Code Security Analysis
Add CodeQL Workflow for Code Security Analysis

This pull request introduces a CodeQL workflow to enhance the security analysis of our repository. CodeQL is a powerful static analysis tool that helps identify and mitigate security vulnerabilities in our codebase. By integrating this workflow into our GitHub Actions, we can proactively identify and address potential issues before they become security threats.

We added a new CodeQL workflow file (.github/workflows/codeql.yml) that
- Runs on every pull request (functionality to run on every push to main branches is included as a comment for convenience).
- Runs daily.
- Excludes queries with a high false positive rate or low-severity findings.
- Does not display results for git submodules, focusing only on our own codebase.

Testing:
To validate the functionality of this workflow, we have run several test scans on the codebase and reviewed the results. The workflow successfully compiles the project, identifies issues, and provides actionable insights while reducing noise by excluding certain queries and third-party code.

Deployment:
Once this pull request is merged, the CodeQL workflow will be active and automatically run on every push and pull request to the main branch. To view the results of these code scans, please follow these steps:
1. Under the repository name, click on the Security tab.
2. In the left sidebar, click Code scanning alerts.

Additional Information:
- You can further customize the workflow to adapt to your specific needs by modifying the workflow file.
- For more information on CodeQL and how to interpret its results, refer to the GitHub documentation and the CodeQL documentation (https://codeql.github.com/ and https://codeql.github.com/docs/).

Signed-off-by: Brian <bayuan@purdue.edu>
2023-10-18 16:50:07 -04:00
Mengsk
d3fa3cdf48 Adjsut blackout time. 2023-10-18 17:05:35 +02:00
hathach
27a2c8cba4
adding nulceo stm32u5a5, fix clock configure issue
dwc2 core stuck at reset
2023-10-18 18:43:07 +07:00
hathach
5025e80c9e
adding u5a5 nucleo 2023-10-18 15:27:06 +07:00
Ha Thach
dd588222c7
Merge pull request #2265 from bencowperthwaite/master
STM32U5 HS Support
2023-10-18 15:25:57 +07:00
Shawn Hoffman
f88a5bb03b hid_device: use separate buffer for SET_REPORT instead of epout 2023-10-17 19:26:11 -07:00
HiFiPhile
ade8a19aef Put sw_buf in USB section only if necessary. 2023-10-17 21:21:52 +02:00
HiFiPhile
e9d894fe66 Fix compile. 2023-10-17 21:03:29 +02:00
Ha Thach
0ede159ad0
Merge pull request #2244 from gabChouin/feat-stm32u575_nucleo
Add stm32u575-nucleo support
2023-10-18 00:06:28 +07:00
hathach
a5a77af11e
add board.mk for u575 nucleo 2023-10-17 23:53:09 +07:00
hathach
22aefd6aba
add cmake support for u575 nucleo 2023-10-17 22:48:54 +07:00
Ha Thach
80ee307244
Merge branch 'master' into feat-stm32u575_nucleo 2023-10-17 22:31:33 +07:00
HiFiPhile
d83a210788 Add blackout time. 2023-10-17 15:18:05 +02:00
HiFiPhile
0a1d6cf4d0 Read sample rate directly from control transfer to eliminate callback. 2023-10-17 13:06:55 +02:00
HiFiPhile
656e1e416a Add flow control for IN transfer. 2023-10-17 09:46:01 +02:00
Brian
d6acbd0ea5 Add CodeQL Workflow for Code Security Analysis
Add CodeQL Workflow for Code Security Analysis

This pull request introduces a CodeQL workflow to enhance the security analysis of our repository. CodeQL is a powerful static analysis tool that helps identify and mitigate security vulnerabilities in our codebase. By integrating this workflow into our GitHub Actions, we can proactively identify and address potential issues before they become security threats.

We added a new CodeQL workflow file (.github/workflows/codeql.yml) that
- Runs on every push and pull request to the main branch.
- Excludes queries with a high false positive rate or low-severity findings.
- Does not display results for third-party code, focusing only on our own codebase.

Testing:
To validate the functionality of this workflow, we have run several test scans on the codebase and reviewed the results. The workflow successfully compiles the project, identifies issues, and provides actionable insights while reducing noise by excluding certain queries and third-party code.

Deployment:
Once this pull request is merged, the CodeQL workflow will be active and automatically run on every push and pull request to the main branch. To view the results of these code scans, please follow these steps:
1. Under the repository name, click on the Security tab.
2. In the left sidebar, click Code scanning alerts.

Additional Information:
- You can further customize the workflow to adapt to your specific needs by modifying the workflow file.
- For more information on CodeQL and how to interpret its results, refer to the GitHub documentation and the CodeQL documentation.

Signed-off-by: Brian <bayuan@purdue.edu>
2023-10-11 19:59:23 -04:00
PanRe
118823c254
Merge pull request #2259 from HiFiPhile/uac_interl
Fix UAC encoding, update example.
2023-10-11 19:18:35 +02:00
HiFiPhile
c8430f5f85 Refactor to get rid of CMSIS DSP lib. 2023-10-10 20:00:50 +02:00
HiFiPhile
e2852da668 Update deps. 2023-10-10 18:35:24 +02:00
HiFiPhile
504d29cf7a Update make & cmake file. 2023-10-10 18:25:42 +02:00
HiFiPhile
20699e30dd Enhance plot script. 2023-10-10 18:25:14 +02:00
HiFiPhile
2ba760a1c1 Enhance audio_4_channel_mic example, plot 4 different waves for each channel. 2023-10-10 18:24:47 +02:00
HiFiPhile
8b2cb63da8 Fix naming nBytesPerSample. 2023-10-10 18:22:20 +02:00
HiFiPhile
b5c839f739 Merge branch 'master' of https://github.com/hathach/tinyusb into uac_interl 2023-10-10 15:02:25 +02:00
denis.krasutski
ce627f4318 feat(ch32f20x): add support of ch32f20x 2023-10-06 13:04:54 +03:00
Ha Thach
513ab37ec6
Merge pull request #2276 from hathach/more-esp32-max3421
More max3421
2023-10-05 17:53:13 +07:00
hathach
cfb683f481
tested with nrf52840 and esp32s2 2023-10-05 17:01:41 +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
f36e0b7b92
esp32 comment out uart, increase max3421 spi speed to 26mhz 2023-10-03 16:27:35 +07:00
Ha Thach
b394ae1786
Merge pull request #2270 from hathach/add-max3421-esp32
Add max3421 support for esp32
2023-09-28 16:56:20 +07:00
hathach
8348631bf5
improve esp32 ci, build esp32 with -DDMAX3421_HOST=1 for max3421 testing
revert change in hcd.h
2023-09-28 16:15:31 +07:00
hathach
6b8933cfe8
fix build with new freertos host example 2023-09-28 12:55:59 +07:00
hathach
7dc1a66f91
esp32 cdc host with max3421 work well 2023-09-28 11:12:22 +07:00
hathach
277852afc1
fix esp32 msc example 2023-09-28 10:56:38 +07:00
hathach
10abece264
esp32 hid device work well 2023-09-28 10:06:10 +07:00
hathach
3a10b6a3d5
fix esp32 build 2023-09-27 18:09:19 +07:00
hathach
76c43a5bdc
Merge branch 'master' into add-max3421-esp32 2023-09-27 17:52:18 +07:00
Ha Thach
5b08a65ad2
Merge pull request #2268 from HiFiPhile/iar_tmpl
Update IAR template.
2023-09-27 17:41:18 +07:00
Ha Thach
e4058177af
Merge pull request #2269 from hathach/add-in_isr-to-hcd_int_hanlder
Add in isr to hcd int hanlder
2023-09-27 17:40:50 +07:00
Ha Thach
68c4009bba
Merge branch 'master' into add-in_isr-to-hcd_int_hanlder 2023-09-27 17:01:40 +07:00
Mengsk
42eb4e0da0 Fix CI. 2023-09-27 11:46:52 +02:00
Mengsk
b35621fc63 Update IAR template. 2023-09-27 11:43:23 +02:00
hathach
58c49cea5b
remove sct_neopixel from lpc54 (due to warnings and not used) 2023-09-27 16:31:46 +07:00
hathach
0a4fb6963d
fix build with lpc54 2023-09-27 16:19:39 +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
6dc64eaa28
max3421 communication work with esp32 up to enumeration, seems still have a bit of issue 2023-09-27 12:34:45 +07:00
hathach
2f6592de7f
update max3421 to have hcd_int_handler_ext() 2023-09-27 11:30:18 +07:00
bac
1168e4e163 Added support for USB2 HS peripheral (with integrated HS PHY) on STM32U59x chips 2023-09-26 15:27:17 +01:00
hathach
f6ca86c3dd
tested cdc_msc_hid_freertos with samd51
add -Wno-error=format for espressif
wrap up cdc_msc_hid_freertos
2023-09-26 19:09:36 +07:00
hathach
a7c136c03f
adding host/cdc_msc_hid_freertos example 2023-09-25 16:53:11 +07:00
HiFiPhile
6be7f354c2 Fix cast-align. 2023-09-19 16:35:05 +02:00
Ha Thach
56c6d2feab
Merge pull request #2258 from hathach/cmake-u5
Cmake u5
2023-09-19 21:26:20 +07:00
HiFiPhile
9d0251f7a6 Fix UAC interleaved copy. 2023-09-19 15:42:52 +02:00
hathach
b73262be3a minor indent 2023-09-19 18:38:47 +07:00
hathach
8cdcd0fa9d fix build and add u5 to ci 2023-09-19 18:35:15 +07:00
hathach
71a2e8a36d addding cmake support for u5 2023-09-19 17:59:38 +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
Rocky04
337d03d368 Incorrect comment 2023-09-14 19:16:45 +00:00
Rocky04
c87fba1dc3 Bug 2023-09-14 19:03:16 +00:00
Rocky04
46977a011d Fixign errors 2023-09-14 18:53:55 +00:00
Rocky04
288f24b294 Missing semicolon 2023-09-14 18:50:13 +00:00
Rocky04
997c29ba05 SOF ISR control 2023-09-14 18:46:56 +00:00
Rocky04
81e63ed6d8 Fixing warning 2023-09-13 22:03:44 +00:00
Rocky04
11fba84334 Error handling on transfer 2023-09-13 21:29:04 +00:00
Ryan Solorzano
a3d9eb43f1 Update Lighting Descriptor Template comment 2023-09-12 12:09:39 -07:00
Ryan Solorzano
3e8cf3ec8c Add HID Lighting and Illumination functionality 2023-09-12 11:32:23 -07:00
Ha Thach
46f7cf4da2
Merge pull request #2235 from slark-yuxj/master
fix:Resource leak: fp
2023-09-12 17:43:14 +07:00
Ha Thach
e9ba93315c
Merge pull request #2245 from arduino/fix_msd_extraneus_bytes_on_reading
Fix msd extraneus bytes on reading
2023-09-12 12:53:52 +07:00
Ha Thach
6d922de0cb
Merge pull request #2251 from hathach/add-max3421e-hcd
Add max3421e host driver
2023-09-11 22:22:13 +07:00
hathach
f55052b61f enable max3421 host for feather nrf52840 with makefile 2023-09-11 16:44:06 +07:00
hathach
1eb0cb0c65
update readme to include max3421 support 2023-09-11 15:45:26 +07:00
hathach
ab9585401b
wrap up build cmake & make support for max3421, to enable the Host driver, 'MAX3421_HOST=1' must be added as part of make/cmake command 2023-09-11 11:35:51 +07:00
hathach
e32c1e08bd
both samd21/d51 works perfectly with max3421e 2023-09-09 16:50:16 +07:00
hathach
605ad73ec0
refactor max3421_init() for samd51 to be generic for sercom and eic 2023-09-09 13:04:36 +07:00
hathach
c074488f75
minor rename 2023-09-09 12:20:16 +07:00
maidnl
228acbeac2 wait_pipe_fifo_empty() now returns bool (as expected using TU_ASSERT macro) 2023-09-08 15:48:05 +02:00
hathach
1d68f2a328
metro m4 working with max3421e 2023-09-08 18:39:09 +07:00
hathach
bcc77a60e0
get spi working for metro m4 express 2023-09-08 17:40:00 +07:00
maidnl
7ce4cfa638 renesas: added wait function for IN transaction
This fixes a problem found on MSD class where data read from from disks were sometimes partially overwritten by the status MSD message ("USBS...").
The function introduced wait for the hw fifo pipe to be empty, that prevent that new writing in the fife overwrite data which are not yet be transmitted by hw.
2023-09-08 10:49:05 +02:00
Hardy Griech
f1d3663d24 minor changes to comments and debug output 2023-09-08 07:01:13 +02:00
Hardy Griech
745c154dbc ECM/RNDIS again selected for webserver example 2023-09-08 07:00:08 +02:00
hathach
ed102a7795
Merge branch 'master' into add-max3421e-hcd 2023-09-07 21:42:46 +07:00
Ha Thach
702740a3e2
Merge pull request #2246 from hathach/add-cmake-samd
Add cmake support for samd21 and samd51
2023-09-07 17:55:50 +07:00
hathach
d3c08ecc3a more ci fix 2023-09-07 17:20:07 +07:00
hathach
e8558458c4 fix ci 2023-09-07 17:09:25 +07:00
hathach
2dea4ce6a2 add cmake support for samd21.
update ci cmake
2023-09-07 16:58:40 +07:00
hathach
bb5d43e9c5
add samd51 to cmake 2023-09-07 15:31:43 +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
1b9108ea0d
minor debug clean up 2023-09-06 17:11:35 +07:00
Gabriel Chouinard
c4566c4d2b Enable instruction cache for stm32u5 boards 2023-09-05 21:39:28 -04:00
Gabriel Chouinard
4fb15f6bb7 Add stm32u575-nucleo support 2023-09-05 19:30:38 -04:00
Hardy Griech
51ea467350 removed debug comment 2023-08-31 20:34:12 +02:00
Hardy Griech
92025b00f0 code review: add NCM options in example config 2023-08-31 20:32:42 +02:00
Hardy Griech
1dd9fa3f30 code review: changed to TinyUSB log system 2023-08-31 20:24:56 +02: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
Alexander Mueller
9665843635 Fix the weak dcd_edpt0_status_complete for Keil Compiler
The Keil compiler seems to have different semantics and the defined function was never called.

The same is probably true for the other weak functions. I can change those too.
2023-08-29 18:16:50 +02: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
Ha Thach
9063ede25f
Merge branch 'master' into nxp_k64 2023-08-28 17:46:05 +07:00
hathach
aa0fabd51d
add kinetis_k family and teensy_35
- teensy_35 is not able to blink led with board_test though, probably due to clock config.
2023-08-28 17:44:29 +07:00
hathach
588b758717
rename OPT_MCU_KINETIS_K64 to OPT_MCU_KINETIS_K 2023-08-28 17:34:40 +07:00
yuxiaojun
c350616038 fix:Resource leak: fp
Signed-off-by: yuxiaojun <yuxiaojun1011@outlook.com>
2023-08-28 15:24:14 +08: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
84df3b04db
minor update 2023-08-27 23:54:24 +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
Ha Thach
7bf5923052
Merge pull request #2142 from sjanc/symlinks
Fix documentation symlinks
2023-08-24 00:01:55 +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
hathach
274578ff46
able to send setup packet 2023-08-22 23:17:12 +07:00
hathach
b413439416
able to detect new device and start enumerating 2023-08-22 19:57:59 +07:00
Hardy Griech
2c1addff4f defined(ECLIPSE_GUI) 2023-08-20 18:27:06 +02:00
Hardy Griech
28107326da bug fix recv/xmit_get_next_ready_ntb() 2023-08-20 18:24:08 +02:00
Hardy Griech
e4c18c101c Copyright 2023-08-20 18:24:01 +02:00
Hardy Griech
d5da303f45 moved some declarations 2023-08-20 18:23:53 +02:00
Hardy Griech
fca08c939c files taken from yapicoprobe 2023-08-20 18:23:32 +02:00
hathach
cacc96b25d
adding connection event handling, add nrf gpio interrupt for max2341e interrupt pin 2023-08-18 17:39:10 +07:00
hathach
824e585e2b
ground works for hcd max3421e 2023-08-18 14:07:38 +07:00
hathach
9257a0f562
- update nrf52 bsp for cmake
- add empty tuh_int_handler/tud_int_handler if corresponidng stack not enabled
- add hcd_template.c
2023-08-18 12:48:12 +07:00
Ha Thach
1fdf29075d
Merge pull request #2221 from hathach/ehci-halted-error
EHCI more fixes
2023-08-16 16:01:16 +07:00
hathach
f4845e4e6c
minor comment 2023-08-16 14:43:58 +07:00
hathach
0109ffbdcb fix abort transfer does not release endpoint, also reset state if it is control transfer 2023-08-16 14:31:14 +07:00
hathach
b3c7fe1023
clear qhd halted bit if not caused by STALL protocol, allow for next transfer 2023-08-16 11:12:00 +07:00
Ha Thach
7537985c08
Merge pull request #2222 from rppicomidi/fix-2188
fix issue 2188: support usbh_app_driver_get_cb()
2023-08-15 23:33:19 +07:00
hathach
67a374d932
more rename 2023-08-15 22:57:05 +07:00
hathach
1b33a31536
more minor clean up
- also rename usbh_classdriver.h to usbh_pvt.h to consitent with usbd
2023-08-15 22:54:07 +07:00
rppicomidi
9d94296741 fix issue 2188: support usbh_app_driver_get_cb() 2023-08-14 15:38:48 -07:00
Ha Thach
d713571cd4
Merge pull request #2217 from hathach/add-lpc43s67
Add lpc43s67
2023-08-14 22:28:53 +07:00
Ha Thach
ba40d667e1
Merge pull request #2219 from tswan-quasi/master
min on cdc r/w
2023-08-14 22:25:44 +07:00
hathach
f2f005cbdf
fix build iar with lpc43 2023-08-14 22:01:30 +07:00
hathach
088180e3d8
add iar support for lpc43, add lpcxpresso43s67 to hil farm 2023-08-14 20:58:00 +07:00
tswan-quasi
b5ba12119d UINT16_MAX stdint macro usage 2023-08-14 09:01:30 -04:00
tswan-quasi
bd51afb091 min on cdc r/w 2023-08-14 08:49:52 -04:00
hathach
78e5b2c6a4
add board_get_unique_id() for lpc43 2023-08-14 16:52:16 +07:00
hathach
202b945f88
add lpcxpresso43s67 2023-08-14 16:38:51 +07:00
Hardy Griech
798ff807b3 removed obsolete tud_network_link_state_cb() 2023-08-11 18:04:34 +02:00
Ha Thach
92457ec99f
Merge pull request #2202 from Rocky04/patch-4
Invoke unmounted state on configuration reset
2023-08-09 20:48:26 +07:00
Ha Thach
04f0cd5c80
Merge pull request #2209 from HiFiPhile/hitl
Enhance HITL test
2023-08-09 20:20:46 +07:00
hathach
8e690df1da
rename hitl to hil 2023-08-09 19:03:56 +07:00
hathach
1268d1a093
update hil test and json (remove troublesome lpc54608), run hil test on ci with IAR build 2023-08-09 18:46:23 +07:00
hathach
1abfa9ac75
Merge branch 'hitl' into pr_hitl 2023-08-09 12:48:46 +07:00
hathach
b8b01c1075
update to dcd ip3511 to add work-around for lpc54628 usb hs errata USB.1 and USB.2
msc is mounted, but device couldn't work reliably and got constant reset
due to other errata probably.
2023-08-09 12:47:24 +07:00
Rocky04
427ecbbc53
Bad line break at start 2023-08-08 23:33:47 +02:00
HiFiPhile
992e17fb48 Add simple test for hid_boot_interface. 2023-08-08 22:08:59 +02:00
Rocky04
a98b219922 Remove port from SOF callback 2023-08-08 18:14:00 +00:00
Rocky04
0161955c22 Adding support for a SOF callback 2023-08-08 17:48:45 +00:00
HiFiPhile
bffe321cd2 Update contributor.rst 2023-08-08 18:25:15 +02:00
HiFiPhile
56bed1e581 Flash board_test when done, skip cdc_msc for LPC54. 2023-08-08 17:34:45 +02:00
HiFiPhile
3444c4abe5 Add dummy board_test. 2023-08-08 17:34:07 +02:00
hathach
6d877c3170
added cmake for lpc54, update lpc55 2023-08-08 18:50:24 +07:00
Rocky04
9602c06f8d
Correcting comments 2023-08-07 21:25:50 +02:00
Rocky04
c959e65edd
Fixing wrong callback placement 2023-08-07 21:16:41 +02:00
Rocky04
12ed867b5e
Fixed typo 2023-08-07 20:59:08 +02:00
HiFiPhile
c24f10e4f6 Mount block device in test_cdc_msc. 2023-08-07 20:48:54 +02:00
Ha Thach
51a0889b75
Merge pull request #2211 from hathach/host-usb-reset
Host usb reset
2023-08-07 23:10:47 +07:00
hathach
4938971aad
code format 2023-08-07 20:48:09 +07:00
hathach
18646179d0
fix host msc get maxlun not using aligned section memory 2023-08-07 20:48:08 +07:00
hathach
1f95a417f2
Add tuh_rhport_is_active() and tuh_rhport_reset_bus()
- also improve ehci bus reset
- seperate bus reset delay and contact debouncing delay in enumeration
2023-08-07 20:48:07 +07:00
Rocky04
45af3d6a83 Update examples 2023-08-07 12:04:22 +00:00
Ha Thach
1b92108bc3
Merge pull request #2208 from kkitayam/fix_makefile_for_win
Fix makefile a warning when run on windows command prompt
2023-08-07 16:13:44 +07:00
Ha Thach
accc3fd737
Merge pull request #2151 from kilograham/rp2040_build_fixes
Fix build issues when building for RP2040 from pico-examples/pico-sdk.
2023-08-07 11:14:04 +07:00
HiFiPhile
87150b7770 Add config file as argument. 2023-08-06 22:02:15 +02:00
HiFiPhile
c940a2f362 Fix RTT build. 2023-08-06 21:55:24 +02:00
HiFiPhile
4d1f3f4e9d Add more MCU. 2023-08-06 16:59:25 +02:00
HiFiPhile
b9e614bd39 Fix LPC54 build. 2023-08-06 15:59:25 +02:00
kkitayam
b173c71ffc Change to subst to work on windows command prompt 2023-08-06 22:49:45 +09:00
HiFiPhile
9dd896904c WIP. 2023-08-06 13:41:41 +02:00
HiFiPhile
4f96eebe1b Fix LPC54 build. 2023-08-06 13:41:10 +02:00
Ha Thach
3db945283a
Merge pull request #2185 from abakosh/clean_RA_HCD
Fix typos in HCD rusb file
2023-08-04 21:59:19 +07:00
Ha Thach
c43e7b198d
Merge pull request #2206 from hathach/hw-test-jlink-sn
add usb serial for hw l412 test
2023-08-04 21:56:46 +07:00
hathach
3c746e8bb0
add usb serial for hw l412 test 2023-08-04 21:33:44 +07:00
Aladdin Bakosh
56e52037a8 clean(ra_hcd): fix typos in the hcd library 2023-08-04 12:00:25 +02:00
Ha Thach
363cea7c34
Merge pull request #2121 from ahooper/blackf407VE
Board support for STM32F407VETx
2023-08-04 13:12:38 +07:00
hathach
25bace5e81
add cmake for all board in stm32f4. fix build, also move ci for f4 from makefile to cmake 2023-08-04 12:49:26 +07:00
hathach
81aca17d6e
Merge branch 'master' into blackf407VE 2023-08-04 12:07:39 +07:00
Ha Thach
61f00c0c4d
Merge pull request #2135 from JustAnother1/master
made line ends consistent.
2023-08-04 12:05:07 +07:00
Ha Thach
1b04db2a77
Merge branch 'master' into master 2023-08-04 11:48:04 +07:00
Ha Thach
de4ad2c775
Merge pull request #2204 from hathach/enhance-bsp
Enhance bsp
2023-08-04 11:41:44 +07:00
Ha Thach
bbdc879995
Merge pull request #2133 from greatscottgadgets/cynthion_support
Update support for Cynthion boards
2023-08-04 11:03:25 +07:00
Ha Thach
9a4c76d18d
Merge pull request #2116 from dsugisawa-mixi/master
fix example of bare_api, check empty string
2023-08-04 11:00:09 +07:00
hathach
9697c4df4e
update all examples to use unique ID as serial if avaialble 2023-08-04 10:28:24 +07:00
hathach
67ff3f7845
more clean up 2023-08-04 00:37:01 +07:00
hathach
ef5bd9ee6c
Merge branch 'master' into enhance-bsp 2023-08-04 00:31:12 +07:00
hathach
9360a3bd51
add uid for some stm32 2023-08-04 00:23:10 +07:00
hathach
041f510f90
add board_get_unique_id() for serial number
implemented board_get_unique_id() for rp2040 and L4
2023-08-03 20:42:34 +07:00
Ha Thach
6d03bb9ffc
Merge pull request #2052 from arduino/renesas_ra_hs_rebased
Renesas_RA: add support for board with HS USB port
2023-08-03 20:41:13 +07:00
hathach
1324c2862d
more board_api rename 2023-08-03 17:32:15 +07:00
hathach
a160da1f2b
add lpc43 family 2023-08-03 17:19:47 +07:00
hathach
a5768f52b4
more board_api.h rename 2023-08-03 15:50:52 +07:00
hathach
cf91660cee
rename hw/bsp/board.h to board_api.h 2023-08-03 15:44:05 +07:00
hathach
4493b838d9
rename ch32v307 and tm4c123 to use underscore 2023-08-03 15:35:01 +07:00
hathach
4cb8b513af
ide settings 2023-08-03 15:17:57 +07:00
Ha Thach
d91869a1fa
Merge pull request #2105 from kholia/cdc_uac2_example
Add CDC+UAC2 composite device example for Pico
2023-08-03 15:13:56 +07:00
hathach
d89fc0772b
add makefile, add cdc_uac2 to cmake example list, update descriptor to build with nrf and samg/7x 2023-08-03 14:55:24 +07:00
Ha Thach
e5b171868a
Merge pull request #2091 from DRNadler/master
For FreeRTOS kernel-aware debugging, when queue registry is enabled, …
2023-08-03 14:30:28 +07:00
hathach
6844055dd1
Merge branch 'master' into cdc_uac2_example 2023-08-03 12:15:07 +07:00
hathach
37a7f9f382
configQUEUE_REGISTRY_SIZE=4 for lpc18 2023-08-03 12:07:28 +07:00
hathach
473f37df95
add osal queue name if needed
also mass change configQUEUE_REGISTRY_SIZE = 4
2023-08-03 12:05:21 +07:00
hathach
de8faf8664
Merge branch 'master' into pr2091 2023-08-03 11:09:33 +07:00
hathach
d09604d636
Revert "Name queues for easier FreeRTOS debugging with task- and queue-aware debuggers"
This reverts commit 11fba59319d81fb9502fbf399abb4fe27cf3fa29.
2023-08-03 11:07:23 +07:00
Rocky04
9560d0813f
Set unmounted on configuration reset 2023-08-02 15:25:08 +02:00
hathach
2021c62997
fix pre-commit, also skip lto for rp2040 2023-08-02 17:57:28 +07:00
Ha Thach
5cf94234d2
Merge pull request #2200 from hathach/selective-log
default class driver log level to CFG_TUH/TUD_LOG_LEVEL
2023-08-02 16:26:57 +07:00
hathach
868d52f3a8
move codespell folder to tools 2023-08-02 15:52:06 +07:00
hathach
979bf32266
default class driver log level to CFG_TUH/TUD_LOG_LEVEL allow application to selectively disable usbd/usbh or driver log 2023-08-02 15:34:18 +07:00
Ha Thach
2cf869c1a4
Merge pull request #2197 from HiFiPhile/fix_g0
Fix STM32G0 build.
2023-08-02 10:09:49 +07:00
HiFiPhile
07822979aa Fix STM32G0 build. 2023-08-01 18:41:15 +02:00
Martino Facchin
edee46e794 renesas: host: remove attach_attempt logic 2023-08-01 15:21:31 +02:00
Ha Thach
5e1ed9d580
Merge pull request #2187 from 0xCCF4/master
Fixed typo in binary declaration RP2040 hw bspw family.c
2023-08-01 17:55:40 +07:00
hathach
47ae883ba0
fix build with -flto 2023-08-01 17:26:56 +07:00
hathach
f04e5108b2
Merge branch 'arduino-renesas_ra_hs_rebased' into renesas_ra_hs_rebased 2023-08-01 17:08:03 +07:00
hathach
04f1a34c39
add rusb2_common.c for dynami irq 2023-08-01 17:03:07 +07:00
Martino Facchin
965627e81c rusb2: move dynamic irq function to c file 2023-08-01 11:41:33 +02:00
hathach
40833b585b
enable flto for ra makefile
- remove ra from ci make build since it is already in cmake ci
2023-08-01 15:44:54 +07:00
hathach
789e478d4d
add portenta c33 bsp, add flash by dfu-util 2023-08-01 13:16:37 +07:00
hathach
1cccbaf7ec
fix board name with dash 2023-08-01 11:18:00 +07:00
hathach
3f788a4e5a
enable USBMC for uno r4, add board_init_after_tusb() API
add BOARD_UPPERCASE for board detection
2023-07-31 19:09:40 +07:00
hathach
cb47231518
revert out of scope changes 2023-07-31 17:13:37 +07:00
Ha Thach
ce54984556
Merge pull request #2093 from abakosh/no_osal_delay
osal_none: make it possible to override the task delay function
2023-07-31 17:12:28 +07:00
hathach
0d9973ef87
enable_irq since uno bootloader can disable it. systick triggered, however usb still not work with uno 2023-07-31 16:21:19 +07:00
hathach
feb58ebd54
add uno r4 wih FLASH_IMAGE_START=0x4000, running but interrupt (systick) does not seems to work 2023-07-28 19:01:12 +07:00
0xCCF4
8226b046a9
Fixed typo in rp2040 hw bspw family.c 2023-07-28 11:19:08 +02:00
hathach
e56d5443a8
- revert usb address
- more clean up
2023-07-28 12:42:40 +07:00
hathach
6021803d58
fix ci 2023-07-28 11:33:26 +07:00
hathach
ec093bebad
Merge branch 'master' into renesas_ra_hs_rebased 2023-07-27 16:50:34 +07:00
Ha Thach
db59494b1b
Merge pull request #2179 from hathach/enhance-ehci
Enhance EHCI
2023-07-27 16:15:43 +07:00
hathach
5a29db2787
add check for edpt_xfer() with halted, also reset data toggle when clear stall 2023-07-27 15:52:55 +07:00
Ha Thach
d9cc30291f
Merge pull request #2182 from hathach/correct-hcd_edpt_clear_stall-API
correct hcd_edpt_clear_stall() API signature
2023-07-26 21:42:08 +07:00
hathach
10575c1b38
mising ehci 2023-07-26 20:48:18 +07:00
hathach
c37a957174
correct hcd_edpt_clear_stall() API signature 2023-07-26 19:56:48 +07:00
hathach
6b6dcc6c09
refactored multiple ports for hcd rusb2 2023-07-26 19:52:33 +07:00
hathach
1cb3f0e92a
increase stack size for 6 series to 0x1000, 4 series to 0x800 2023-07-26 18:56:13 +07:00
hathach
fbaa148fe0
updating hcd rusb2
- make osal_task_delay() as weak function in usbh
- implement osal_task_delay() in hcd rusb2 (may moved to other places)
2023-07-26 18:55:41 +07:00
Xelus22
d0bff6fd3e initial add SOF supporpt to CH32V307 USB HS 2023-07-25 23:53:55 +10:00
hathach
4deea87579
improve processing usb complete and error isr.
also merge them together
2023-07-25 15:07:21 +07:00
hathach
dc74e634f9
fix unaligned hub status_change 2023-07-25 12:35:40 +07:00
hathach
ef69da054e
use standard EHCI USB INT instead of chipidea async/period interrupt to be compatible with other EHCI implementation 2023-07-25 12:03:54 +07:00
Ha Thach
9554283b03
Merge pull request #2175 from hathach/hcd-abort-xfer
Add HCD abort xfer API
2023-07-24 22:08:53 +07:00
Ha Thach
fda92fd34a
Merge branch 'master' into hcd-abort-xfer 2023-07-24 21:38:46 +07:00
Ha Thach
0b38941362
Merge pull request #2173 from hathach/imxrt-dcache-align
change dcache clean/invalidate return type to bool
2023-07-24 21:36:15 +07:00
hathach
f295aaf185
add hcd abort xfer for rp2040 pio usb 2023-07-24 20:58:50 +07:00
hathach
fd29fd923a
clean up 2023-07-24 20:53:44 +07:00
Ha Thach
d685ac689b
Merge pull request #2172 from hathach/cmake-4088
update bsp for 4088
2023-07-24 20:49:20 +07:00
hathach
25225ba792
minor clean up 2023-07-24 18:04:42 +07:00
hathach
d254256047
change dcache clean/invalidate return type to bool
add tu_assert() check for aligned 32byte address for imxrt
2023-07-24 17:54:24 +07:00
hathach
14a7379799
fix ohci warnings, and add freertosconfig for lpc4088 2023-07-24 16:54:02 +07:00
hathach
210fc7d038
add etm trace pinmux for 4088 quickstart 2023-07-24 16:19:45 +07:00
hathach
ef49b93532
rename CFG_TUSB_MEM_SECTION to CFG_TUD_MEM_SECTION in device stack
CFG_TUD_MEM_SECTION is default to CFG_TUSB_MEM_SECTION
2023-07-24 15:46:21 +07:00
hathach
a268e0b7a3
add lpc40 to cmake 2023-07-24 15:18:41 +07:00
emb4fun
e2f28bc134
Added support for the NXP K64 series 2023-07-23 10:53:22 +02:00
Ha Thach
8fa0b74d80
Merge pull request #2155 from jferreir/xmc4700_relax
Board support for XMC4700_RELAX
2023-07-21 19:08:51 +07:00
hathach
c122e9df73
implement hcd_edpt_abort_xfer() for EHCI, also move thing around a bit 2023-07-21 19:06:36 +07:00
hathach
14c98dd863
minor ehci rename, move code around 2023-07-21 16:39:30 +07:00
hathach
0da273ea79
add stub hcd_edpt_abort_xfer() for all ports 2023-07-21 12:52:26 +07:00
hathach
1cc7c5d030
add hcd_edpt_abort_xfer() API 2023-07-21 12:43:48 +07:00
jferreir
34ff7af7c7 Fix trailing spaces issue 2023-07-20 18:12:36 +02:00
jferreir
48101cc294
Merge branch 'hathach:master' into xmc4700_relax 2023-07-20 17:12:57 +02:00
jferreir
6ac7f19640 fix compilation issues for XMC4500_RELAX 2023-07-20 17:01:00 +02:00
hathach
954f0e948d prefer application callback over built-in driver 2023-07-20 17:01:00 +02:00
hathach
eae8678d67 improve logging, allow easier to turn off usbd, driver logging
can be useful when focusing on let's say usbh
2023-07-20 17:01:00 +02:00
Ha Thach
17576a6949
Merge pull request #2156 from hathach/usbh-xfer-user-callback
Usbh xfer user callback
2023-07-20 18:30:09 +07:00
hathach
16ad918d96
prefer application callback over built-in driver 2023-07-20 17:37:06 +07:00
hathach
77495cf119
improve logging, allow easier to turn off usbd, driver logging
can be useful when focusing on let's say usbh
2023-07-20 17:12:00 +07:00
jferreir
2772581c28 Add support for XMC4700_RELAX kit 2023-07-20 10:53:59 +02:00
jferreir
59778664c9 Add UART_DEV support 2023-07-20 10:53:29 +02:00
jferreir
b1e345b6bc Add UART_DEV support 2023-07-20 10:52:16 +02:00
Ha Thach
6c7c9f2ef5
Merge pull request #2152 from kilograham/is_pico_pio_usb_supported
add is_compiler_supported_by_pico_pio_usb() for rp2040
2023-07-18 23:54:33 +07:00
graham sanderson
08a1892801 add is_compiler_supported_by_pico_pio_usb()
previosuly users of TinyUSB (e.g. pico-examples) would have to decide this for themselves. This function couples
the check closer with the actual version of Pico-PIO-USB used (since TinyUSB picks)
2023-07-18 11:04:46 -05:00
Ha Thach
e3d4385280
Merge pull request #2150 from kkitayam/flash-jlink-for-windows
Fix flash-jlink target to work on Windows command prompt
2023-07-18 22:33:57 +07:00
graham sanderson
3678a25baa Fix build issues when building for RP2040 from pico-examples/pico-sdk.
* include_guard requires GLOBAL as family.cmake is included in multiple non child places
* the following recently added check is suprfluous (family_configure_host_example for rp2040 should do this already),
  and breaks if pico_pio_usb is not avaialble, so i have removed
   # Add pico-pio-usb for rp2040 since user can choose to run on bit-banging host
   if(FAMILY STREQUAL "rp2040")
      family_add_pico_pio_usb(${PROJECT})
   endif()
* added new familt_example_missing_dependency functino to print missing dependency warning, so
  pico-examples can override it to be less in your face, and also more contextual to pico-examples
2023-07-18 09:03:01 -05:00
kkitayam
efa8b4a9b8 Change a variable to a target so that it works on windows command prompt
echo command of windows command prompt can't handle line breaks in a variable.
2023-07-18 22:55:55 +09:00
Aladdin Bakosh
3fdd2a40b2 osal_none: make it possible to override the task delay function 2023-07-18 14:14:23 +02:00
Ha Thach
973c7d47eb
Merge pull request #2149 from hathach/fix-etm-trace-h7
fix etm trace clock with stm32h743eval board
2023-07-18 16:40:26 +07:00
Ha Thach
2bab947e38
Merge pull request #2146 from tannewt/host_cache_align
Fix host buffer alignment setting
2023-07-18 16:39:48 +07:00
hathach
2cd0b9ec35
fix etm trace clock with stm32h743eval board 2023-07-18 16:22:05 +07:00
hathach
b56c4fe945
Merge branch 'master' into renesas_ra_hs_rebased 2023-07-18 15:13:58 +07:00
Ha Thach
6798e7e059
Merge pull request #2120 from abakosh/RA_STALL
fix(RA_hcd): STALL status can be also 3 not only 2
2023-07-18 15:11:02 +07:00
Ha Thach
c5e23eaa14
Merge pull request #2148 from hathach/imxrt-bsp
Imxrt bsp
2023-07-18 14:47:21 +07:00
hathach
5723d38087
correct jlink dev for rt1010 2023-07-18 13:28:57 +07:00
Aladdin Bakosh
3230d5b1ea debugging can be configured on renesas dcd 2023-07-17 11:54:09 +02:00
Aladdin Bakosh
41b608562a debugging can be configured on renesas hcd 2023-07-17 11:54:09 +02:00
Aladdin Bakosh
1923b1845d fix(RA_hcd): STALL status can be also 3 not only 2 2023-07-17 11:54:09 +02:00
Scott Shawcroft
8b6d0a166b
Fix host buffer alignment setting 2023-07-14 15:30:22 -07:00
hathach
eb298e2b81
add clock_config.c for imxrt generated by mcuxpresso config 2023-07-14 12:45:54 +07:00
Szymon Janc
4b59cb9a20 Fix documentation symlinks
There were typos in symlinks target names resulting in following
warrning on checkout (at least in Mynewt newt tool):
* Warning: stat mynewt/repos/tinyusb/docs/contributing/code_of_conduct.rst: no such file or directory
* Warning: stat mynewt/repos/tinyusb/docs/info/contributors.rst: no such file or directory
2023-07-10 12:12:26 +02:00
hathach
0f53e746ff move check highspeed to rusb_ra 2023-07-07 18:41:16 +07:00
hathach
f7e7ba92ca
enable host example for ra 2023-07-07 16:27:12 +07:00
hathach
88478a9d05
add PORT selection for makefile 2023-07-07 16:24:22 +07:00
hathach
e0f1ba8b0e
fully work with multiple ports without CFG_TUSB_RHPORT0/1 2023-07-07 16:07:11 +07:00
hathach
4c156100fa
use unaligned access read for hw fifo 2023-07-07 12:27:18 +07:00
hathach
4bbacb1008
correct setting trace clock 2023-07-07 11:07:57 +07:00
hathach
c53acb1455
fix build with rx 2023-07-06 20:10:58 +07:00
hathach
1eefc2b3ef
more multiple ports update 2023-07-06 19:35:42 +07:00
hathach
95b77a0e73
add rusb2_module_start(), more update for multiple ports for dcd rusb2 2023-07-06 15:54:07 +07:00
hathach
f308435b64
update ra type to include usbhs registers 2023-07-06 09:34:33 +07:00
hathach
4f4c93594d
minor pipe clean up 2023-07-05 17:51:36 +07:00
hathach
f79529c09c
usb hs work with ra 6m5 ek 2023-07-05 17:13:01 +07:00
hathach
1d6ca3bc9b
fix ra4m3 ek build 2023-07-04 20:04:54 +07:00
hathach
071c30f381
update fsp to version 4.5, correct RA BSP. Fix ETM Trace with 6m5 by lowering PLL to 128Mhz. 2023-07-04 19:27:37 +07:00
Andrew Hooper
cfc146e18f Add FreeRTOSConfig for family stm32f4 2023-07-04 08:08:05 -04:00
Andrew Hooper
34966304dd Restore RTOS argument for stm32f4 2023-07-03 11:21:47 -04:00
hathach
bb0e688b8e
add jlinkscript for detect rtt 2023-07-03 16:35:22 +07:00
hathach
04b1a67898
Merge branch 'master' into renesas_ra_hs_rebased 2023-07-03 13:09:43 +07:00
Ha Thach
f1e006d09b
Merge pull request #2137 from hathach/cmake-ra
enhance RA family
2023-07-03 12:25:29 +07:00
hathach
d5d1b43eb9
board pin data clean up 2023-07-03 12:07:27 +07:00
hathach
4080ab3d03
wrap up ra update 2023-07-03 11:22:19 +07:00
hathach
960d9fa6f1
move files around 2023-07-03 11:03:50 +07:00
hathach
ad7764b5b2
move vector_data.h and ioport_cfg.h to common family 2023-07-03 10:54:37 +07:00
Ha Thach
942eb0f323
Merge pull request #2129 from dauc/patch-1
Fix minor spelling issues
2023-07-02 23:40:37 +07:00
hathach
787229a35e
add etm trace for 6m5 2023-07-02 23:39:43 +07:00
Lars Pötter
2029ca9536 also fixed pico_trac() log messages. 2023-07-02 10:53:08 +02:00
Lars Pötter
0693462eba made line ends consistent. 2023-07-02 09:02:24 +02:00
hathach
ec02ddf986
initial ra6m5 ek, board_test led + sw works 2023-07-01 21:43:52 +07:00
A. Hooper
9554a354d4
Merge branch 'hathach:master' into blackf407VE 2023-07-01 08:03:16 -04:00
Andrew Hooper
7d45a43f57 Correct loader file 2023-07-01 07:59:39 -04:00
hathach
14f1123bbd
remove left-over build_arm 2023-07-01 17:55:36 +07:00
hathach
e7431f54f2
fix undef with fsp 2023-07-01 17:46:21 +07:00
hathach
54dc699ddd
forgot board.mk for ra6m1 2023-07-01 17:43:06 +07:00
hathach
c5d958d104
add ra6m1 board 2023-07-01 17:27:45 +07:00
hathach
50381f7b4c
refactor to match fsp_cfg 2023-07-01 17:09:09 +07:00
hathach
22fb66436d
update linker 2023-07-01 16:40:47 +07:00
hathach
99e75e6a8a
rework ra build 2023-07-01 12:41:12 +07:00
mndza
cba327fc38
tusb_fifo: split constant address functions
Due to a missed optimization in the compiler, code for constant address
handling is being included in all builds. This change splits the code
in different functions to avoid that.
2023-06-30 11:35:14 +02:00
mndza
14d69e46be
Update support for Cynthion boards
- Rename LUNA to Cynthion
- Add support for newer revisions (>=0.6)
- Bootloader (saturn-v) default size is now 2K
2023-06-30 11:30:33 +02:00
hathach
48738df489
move LTO checked to family_support.cmake 2023-06-30 16:05:59 +07:00
hathach
3cb4d73899
clean up ra makefile 2023-06-30 14:52:04 +07:00
Ha Thach
f5d0510064
Update build badge 2023-06-29 22:57:58 +07:00
Ha Thach
6e1eec908a
Merge pull request #2130 from hathach/hcd-frame-pio-usb
add hcd_frame_number() for pio-usb host
2023-06-29 22:46:24 +07:00
hathach
6284f2d722
add hcd_frame_number() for pio-usb host 2023-06-29 18:58:33 +07:00
Dave Nadler
11fba59319 Name queues for easier FreeRTOS debugging with task- and queue-aware debuggers 2023-06-28 17:25:22 -04:00
Dave Nadler
cca4be6c67
Merge branch 'hathach:master' into master 2023-06-28 17:05:19 -04:00
Devin Auclair
98fb10a724
Fix minor spelling 2023-06-28 14:03:18 -04:00
Ha Thach
fe77b6713b
Merge pull request #2085 from georgeboc/msc-ready-bug-fix
Fixes bug in tuh_msc_ready
2023-06-27 17:57:35 +07:00
Ha Thach
5cea4b2420
Merge pull request #2128 from hathach/cmake-freertos
rework cmake with rtos support add RTOS to family_configure_device/host/dual_example()
2023-06-27 16:18:17 +07:00
hathach
e43387abac
rework cmake with rtos support add RTOS to family_configure_device/host/dual_example() 2023-06-27 15:45:38 +07:00
Ha Thach
bc0d6c7e92
Merge pull request #2127 from hathach/rp2040-cmake-cleanup
Rp2040 cmake cleanup
2023-06-26 23:50:38 +07:00
hathach
a61d0f074f
more rp2040 family clean up 2023-06-26 23:08:59 +07:00
hathach
8aa28e63fb
minor clean up with include_guard() 2023-06-26 17:54:31 +07:00
hathach
3cfb838ba7
fix warnings when enable rtt with rp2040 2023-06-26 17:03:45 +07:00
Ha Thach
7454e45796
Merge pull request #2125 from hathach/cmake-detect-family
auto detect FAMILY based on BOARD
2023-06-26 14:08:17 +07:00
hathach
200e58d11e
auto detect FAMILY based on BOARD 2023-06-26 13:38:24 +07:00
Ha Thach
eb53680a06
Merge pull request #2124 from hathach/refactor-make-build
Refactor make build
2023-06-25 13:48:00 +07:00
hathach
06d93e95d1
update hw test l4 2023-06-25 10:15:05 +07:00
hathach
2ecd7c148d
fix ci with lpc55 and kl, move hw test l4 to cmake iar 2023-06-25 09:55:05 +07:00
hathach
15376397b1
run ci with -DCMAKE_BUILD_TYPE=MinSizeRel 2023-06-25 00:05:23 +07:00
hathach
30ccfe0832
more cmake less make 2023-06-24 23:36:52 +07:00
hathach
9b2b4ce647
move some family ci make to cmake 2023-06-24 23:32:24 +07:00
hathach
a64d5607a7
fix l4 freertos build 2023-06-24 23:17:28 +07:00
hathach
b9cefb1440
fix build with L4 2023-06-24 23:10:01 +07:00
hathach
c81d8b43a1
fix ci build 2023-06-24 22:58:15 +07:00
Dave Nadler
bd897d9c14
Merge branch 'hathach:master' into master 2023-06-24 11:53:24 -04:00
hathach
430f16bf76
move all IAR to cmake 2023-06-24 22:36:53 +07:00
hathach
2a96ef2519
add cmake for f0, f1 2023-06-24 21:47:55 +07:00
hathach
946d3fdd4f
fix iar with make 2023-06-24 21:17:40 +07:00
hathach
38a582634e
fix missing replace 2023-06-24 20:32:18 +07:00
hathach
eb4380fa14
more make update 2023-06-24 20:17:48 +07:00
hathach
2216704db8
rename GCC_CFLAGS to CFLAGS_GCC, GCC_SRC_S to SRC_S_GCC etc .. 2023-06-24 19:31:33 +07:00
hathach
7d0ce5605a
allow to skip CPU_CORE 2023-06-24 19:08:37 +07:00
hathach
086c1d4090
more CPU_CORE 2023-06-24 18:54:14 +07:00
hathach
eb7fcf1b74
add CPU_CORE for all family 2023-06-24 18:38:41 +07:00
hathach
b59b65d2ed
rename to kinetis_k32l2, rename OPT_MCU_KINETIS_K32 to OPT_MCU_KINETIS_K32L 2023-06-24 18:26:51 +07:00
hathach
dbf7534cd4
update all stm32 to use new enhance make 2023-06-24 18:09:05 +07:00
hathach
edbf06aaab
separate iar and gcc build for clean make, also add cpu specific make 2023-06-24 17:35:37 +07:00
Andrew Hooper
3a5f43528e Board support for STM32F407VETx 2023-06-23 11:51:58 -04:00
Ha Thach
50e61e0e16
Merge pull request #2101 from eustas/patch-1
Fix typos
2023-06-21 15:51:03 +07:00
Ha Thach
6cf735031f
Merge pull request #2117 from hathach/etm_trace
Etm trace
2023-06-21 00:24:26 +07:00
hathach
77e01448e2
ide settings 2023-06-20 16:41:51 +07:00
hathach
c789cfe518
use system_nrf5x.c built-in support for ETM with ENABLE_ETM 2023-06-20 16:13:10 +07:00
hathach
19c99d3b42
etm trace for nrf52840 2023-06-20 13:19:08 +07:00
hathach
1b658ae109
add etm trace for mcb1800
clean up other ide setting
2023-06-20 13:12:12 +07:00
Angel Molina
3d685fe7f2 Add CDC+UAC2 composite device example for Pico
Signed-off-by: Dhiru Kholia <dhiru.kholia@gmail.com>
2023-06-19 16:00:03 +05:30
hathach
7dc6829519
enable etm trace support for h743 eval 2023-06-19 16:33:47 +07:00
dsugisawa-mixi
5e78f08a24 fix example of bare_api, check empty string 2023-06-17 20:04:46 +09:00
Ha Thach
13bb132044
Merge pull request #2113 from hathach/correct-iar-build
correct cmake iar build
2023-06-16 19:53:01 +07:00
hathach
268ce0287f
correct cmake iar build 2023-06-16 19:39:03 +07:00
Ha Thach
74624381b3
Merge pull request #2112 from hathach/minor-naming-opt-mcu-imxrt
Minor naming opt mcu imxrt
2023-06-16 18:57:26 +07:00
hathach
1419091923
update h7 to cmake, and move iar build to cmake 2023-06-16 16:47:32 +07:00
hathach
e754795d3a
fix build warnings 2023-06-16 15:29:34 +07:00
hathach
a7f330fa94
fix build, update freertos config for cmake 2023-06-16 14:17:25 +07:00
hathach
65d6acdbfa
fix build warnings 2023-06-16 12:02:42 +07:00
hathach
8af8869d3b
renam OPT_MCU_MIMXRT to OPT_MCU_MIMXRT1XXX
fix build util with makefile
2023-06-16 11:26:38 +07:00
hathach
96f7cd09dc
remove legacy transdimension driver 2023-06-16 10:45:59 +07:00
Ha Thach
433ffe2152
Merge pull request #1985 from kkitayam/uvc_bulk
Add the capability for video class to handle a bulk endpoint in the streaming interface.
2023-06-15 16:28:33 +07:00
Ha Thach
81450bc71d
Merge pull request #2110 from hathach/chipidea-fs
Chipidea fs
2023-06-15 14:18:00 +07:00
hathach
1a37777f59
fix ci with win/mac 2023-06-15 13:11:21 +07:00
hathach
d70403f1f4
refactor khci to chipidea fs driver for device (host is not yet) 2023-06-15 13:06:27 +07:00
hathach
bce282186e
update kinetis kl to use mcx-sdk, also add cmake support
note: cdc_msc_freertos built but does not seems to work with kl
2023-06-14 22:36:44 +07:00
Ha Thach
4e61eb6d9e
Merge pull request #2109 from hathach/typec-rename
Typec rename
2023-06-14 16:47:20 +07:00
hathach
31a66eb5bc
mcx neeed helps to locate rtt control block 2023-06-14 15:33:57 +07:00
hathach
8b8b9690ad
update segger rtt to fix cast align 2023-06-14 12:01:21 +07:00
hathach
05969d2a58
rename typec driver 2023-06-14 11:07:58 +07:00
hathach
a88d7c7c74
ide setting 2023-06-13 17:47:53 +07:00
Ha Thach
365c4169a5
Merge pull request #2107 from hathach/fix-usbh-enum-issue
fix usbh issue when device genreate multiple attach/detach/attach when plugging in
2023-06-13 17:32:55 +07:00
hathach
9593ab7acc
fix usbh issue when device genreate multiple attach/detach/attach when plugging in 2023-06-13 16:40:29 +07:00
Ha Thach
bbc76e7777
Merge pull request #2104 from hathach/g4-pd
Initial support for USB PD stack
2023-06-12 23:14:48 +07:00
hathach
41801c2a6b
add typec example to cmake 2023-06-12 17:12:25 +07:00
hathach
d2d486dced
update docs 2023-06-12 17:06:04 +07:00
hathach
7a1179a4e1
tested with 9V request 2023-06-12 17:01:54 +07:00
hathach
6941a5af81
wrap up initial PD support for G4 2023-06-12 16:42:27 +07:00
hathach
c28503060c
ad pd_types.h 2023-06-12 14:57:50 +07:00
hathach
debde4cc97
response with request safe5v, get passed PS_READY 2023-06-12 12:14:55 +07:00
Ha Thach
39a64334aa
Merge pull request #2100 from kilograham/top_broken
movement of TOP in c0ecf8b5 broke RP2040 SDK build
2023-06-10 17:24:23 +07:00
hathach
bb4fb0543b
able to parse SOURCE_CAP message from dfp 2023-06-09 19:38:50 +07:00
hathach
912802456b
move protocol message to stack, disable battery in PWR's CR3
there is still issue with CC1/CC2 pull down resistor and vstate is not
correct.
2023-06-09 18:15:28 +07:00
Eugene Kliuchnikov
0833806980 Fix typos 2023-06-08 15:38:30 +02:00
hathach
8181d470e5
enable DMA for both pd rx, tx 2023-06-08 18:55:54 +07:00
hathach
9c2a8490af
dma rx works well 2023-06-08 13:37:37 +07:00
hathach
fc761953b3
define tuc_int_handler() to empty if TUC not enabled 2023-06-08 09:34:15 +07:00
hathach
7fd0a17bc3
default CFG_TUC_ENABLED to 0 2023-06-08 09:11:29 +07:00
graham sanderson
0493983a8f movement of TOP in c0ecf8b5 broke RP2040 SDK build 2023-06-07 14:46:14 -05:00
Ha Thach
aaec12a3fb
Merge pull request #2077 from abakosh/renesas_packed
fix(RA Host Portable): git rid of the IAR warnings for packed
2023-06-07 19:00:41 +07:00
hathach
9b7dee563e
able to response with good crc 2023-06-07 18:57:48 +07:00
Aladdin Bakosh
8bb012e50b fix(RA): static assert RUSB2 register 2023-06-07 12:01:59 +02:00
hathach
b893f1d541
inital support for usb typec and pd example 2023-06-07 15:10:40 +07:00
hathach
914e82b25d
able to receive first PD message 2023-06-07 09:36:37 +07:00
hathach
e02eee7477
revert board flash latency to 8 2023-06-07 00:14:22 +07:00
hathach
23f7130ae4
update rtt to rev 25842 2023-06-07 00:07:58 +07:00
hathach
b3fda4a354
able to get usbpd irq handler
- handle cc1, cc2 voltage changes
- get order set, rx message end interrupt
- add  segger rtt support for cmake
2023-06-06 23:55:33 +07:00
hathach
a70978e057
clean up 2023-06-05 19:53:40 +07:00
hathach
f6a45a7aab
clean up 2023-06-05 15:41:45 +07:00
Martino Facchin
2b735ee8f5 renesas_ra: fix wrong ifdef
Since CFG_TUSB_RHPORT1_MODE is always defined now for backwards compatibility
2023-06-05 09:48:06 +02:00
Martino Facchin
cdbd3a0b4e Merge remote-tracking branch 'mainline/master' into HEAD
Update fsp to 4.0.0
2023-06-05 09:12:50 +02:00
Martino Facchin
cdae66c837 renesas_rx: fix compilation on latest GCC
__CCRX__ only applyes to version 4 of RX family compiler http://tool-support.renesas.com/autoupdate/support/onlinehelp/csp/V4.01.00/CS+.chm/Compiler-CCRX.chm/Output/ccrx04c0201y.html

__RX__ is one of the macros exported by latest gcc (gcc_8.3.0.202305_rx_elf)
2023-06-05 09:04:55 +02:00
Aladdin Bakosh
268ab5863a fix(RA Host Portable): git rid of the IAR warnings for packed 2023-06-02 14:14:57 +02:00
Ha Thach
c7686f8d5e
Merge pull request #2092 from hathach/stm32g4
Stm32g4
2023-06-02 17:07:28 +07:00
hathach
2016ad72f3
fix iar ci 2023-06-02 16:21:49 +07:00
hathach
11fb837b51
fix ci 2023-06-02 16:15:26 +07:00
hathach
c2bc363f06
build g0 g4 iar cmake 2023-06-02 16:11:00 +07:00
hathach
bb795e6a5e
update cmake to build with IAR for g0 and g4 2023-06-02 15:26:16 +07:00
hathach
fcf7791454
add IAR support for G0 with cmake 2023-06-02 13:27:18 +07:00
hathach
e7090c7514
cmake refactor 2023-06-02 11:42:17 +07:00
hathach
ba3d71b615
fix usb clock for dpow1 2023-06-02 10:19:46 +07:00
Dave Nadler
e8b7f21af6 For FreeRTOS kernel-aware debugging, when queue registry is enabled, label tinyUSB queue 2023-06-01 12:57:44 -04:00
Ha Thach
002cb9289d
Merge pull request #2089 from DRNadler/master
Fix diagnostic format string (missing %u)
2023-06-01 22:56:18 +07:00
hathach
c3bde520cc
add new b_g474e_dpow1 board 2023-06-01 22:16:30 +07:00
Dave Nadler
70a92291fe Fix diagnostic format string (missing %u) 2023-06-01 10:58:03 -04:00
Ha Thach
cbbd858be4
Merge pull request #1942 from HubertD/feature/STM32G0
STM32G0 support
2023-06-01 21:34:39 +07:00
hathach
dc3afdbf3b
add note for B0 clock variant 2023-06-01 20:52:48 +07:00
hathach
c750030f7a
add freertosconfig for g0, add cmake stlink, add g0 to cmake ci 2023-06-01 17:09:00 +07:00
hathach
6280cba6e8
tested with g0b1 nucleo 2023-06-01 16:52:58 +07:00
hathach
6b44d8fb55
add cmake support for g0, exlicitly call HAL_Init() and also HAL_IncTick() in systick irq, fix button active state. 2023-06-01 15:58:02 +07:00
hathach
af59864ab5
Merge branch 'master' into feature/STM32G0 2023-06-01 13:28:28 +07:00
Ha Thach
77714e02ca
Merge pull request #2088 from hathach/minor-cleanup
add lto for cmake
2023-06-01 13:22:09 +07:00
hathach
62b2d05d34
skip set CMAKE_EXECUTABLE_SUFFIX for espressif port 2023-06-01 12:50:32 +07:00
hathach
19a597bcae
add lto for cmake 2023-06-01 12:36:08 +07:00
Ha Thach
ddc029ce54
Merge pull request #2016 from ipopov/master
Even when we get an empty "status change" interrupt from the hub, schedule another interrupt poll
2023-05-29 13:47:23 +07:00
hathach
20ef6c4ef7
slightly clean up 2023-05-29 13:29:11 +07:00
hathach
5c428d35a6
check status_change is not zero first 2023-05-29 13:27:20 +07:00
Ivo Popov
8ad024e51b
Even when we get an empty "status change" interrupt from the hub, schedule another interrupt poll.
During enumeration, when there are multiple devices attached to the
hub as it's plugged into the Pi Pico, enumeration hangs, because we
get a "status change" callback with value zero. With this patch, we
retry several times on "zero" status change callbacks, until
eventually we succeed.

This is the cheapo hub that exhibits this behavior, but I assume it's
not the only one: https://www.amazon.com/gp/product/B083RQMC7S.

While debugging this, I consulted the implementation in the Linux
kernel. There, hub setup explicitly checks each port individually,
before starting to depend on "status change" interrupts:
https://elixir.bootlin.com/linux/latest/source/drivers/usb/core/hub.c#L1133.
We probably should do something like that here, but it's a much bigger
change.
2023-05-29 13:18:16 +07:00
gitlab
acfaa4494f Fixes bug in tuh_msc_ready 2023-05-28 15:40:01 +01:00
Ha Thach
069e1ef84f
Merge pull request #2084 from hathach/more-build2
More build2
2023-05-26 20:23:25 +07:00
hathach
59ad5c59df
fix artifacts location 2023-05-26 18:58:21 +07:00
hathach
4bd02fb04d
more test 2023-05-26 18:54:14 +07:00
hathach
c88e7481be
retry hw test 2023-05-26 17:15:54 +07:00
hathach
7fb74a33a1
forgot to move hw test 2023-05-26 16:44:29 +07:00
hathach
7ac85d08c7
move lpc18 and rp2040 to cmake workflow since rp2040 often failed randomly with make 2023-05-26 16:37:47 +07:00
hathach
05cc342dfa
update deps, rename kinetis_k32 to k32l 2023-05-26 15:45:55 +07:00
hathach
1d857605b7
use get_deps.py 2023-05-26 15:25:55 +07:00
hathach
b262164a35
fix build with net_lwip_webserver example 2023-05-26 15:16:18 +07:00
hathach
c0ecf8b50f
move set TOP to family_support.cmake 2023-05-26 14:56:22 +07:00
Ha Thach
23c8670e79
Merge pull request #2081 from hathach/more-build-system
More build system
2023-05-25 21:54:31 +07:00
hathach
4c9605910f
update cmake with freertos 2023-05-25 21:27:26 +07:00
hathach
5fea010406
add family_support_configure_common() 2023-05-25 17:27:05 +07:00
hathach
26d05d7fc9
fix issue with ftdi host driver with status bytes
add workflow_dispatch to all ci workflow
2023-05-25 16:53:32 +07:00
hathach
625c27ca58
add workflow_dispatch for manual trigger 2023-05-25 16:20:58 +07:00
hathach
7a3d7a7c23
cmsis_5 missing mcx and imxrt 2023-05-25 16:17:41 +07:00
hathach
5a0c2bd638
update get_deps.py to support geting family as argument 2023-05-25 16:11:57 +07:00
Ha Thach
eedafb23f7
Merge pull request #2063 from abakosh/develop
fix(RA Host Portable): implement missing function __builtin_ctz(x)
2023-05-24 20:11:50 +07:00
Aladdin Bakosh
57d2eb603b fix(RA Host Portable): implement missing function __builtin_ctz(x) for IAR 2023-05-24 11:38:40 +02:00
Ha Thach
1ef820ecfe
Enhance chipidea (#2075)
* update chipidea dcd, remove manual ep_count and use DCCPARAMS to get number of endpoint instead
* add dcd dcache for chipidea
* add cmake for lpc18
* add makefile build for mcx
* use fork of mcu sdk
* fix ci build with nrf
* flash rp2040 with openocd
2023-05-23 21:45:00 +07:00
Ha Thach
c998e9c60b
Merge pull request #2069 from hathach/minor-build-system
Minor build system
2023-05-19 18:39:21 +07:00
hathach
9f0bae4c3f
fix freertos build with nrf 2023-05-19 18:04:08 +07:00
hathach
49d8d27770
improve flash target 2023-05-19 16:27:07 +07:00
hathach
270136e84a
adding cpu core .mk for makefile
fix cortex m33 for nrf5340 dk
2023-05-19 16:02:26 +07:00
hathach
e8dd200fed
move cmake folder to tools/ 2023-05-19 14:46:39 +07:00
Ha Thach
6ecd480006
Merge pull request #2061 from hathach/imx-usbhost
iMX.RT EHCI add dcache support and other fixes + refactor
2023-05-19 14:18:07 +07:00
hathach
7211dd18b4
more dcache fix 2023-05-19 13:42:26 +07:00
hathach
5dae5e1292
ehci fix dcache clean when control endpoint failed 2023-05-19 13:32:49 +07:00
hathach
f26a93908e
only clean/invalidate dcache on imxrt if memory is not in DTCM 2023-05-19 10:56:52 +07:00
hathach
f22d8ee3b9
add rt1060 jlink config 2023-05-18 16:46:02 +07:00
hathach
ec4bd39a92
refactor ehci: add attached_buffer for dcache invalidate for IN transfer 2023-05-18 16:41:06 +07:00
hathach
27acaa013b
refactor ehci, since usbh only queue 1 TD per queue head 2023-05-18 15:44:08 +07:00
hathach
49e2aabc81
EHCI more improvement
- more dcache clean/invalidate
- extract init_periodic_list()
- improve isr list handling
2023-05-18 13:45:38 +07:00
hathach
a0aea52a11
more cache, fix an similar issue with OHCI when removing an queue head 2023-05-18 12:39:53 +07:00
hathach
e4f4ad5bc3
use weak local for dcache function to skip if() 2023-05-18 10:21:11 +07:00
hathach
a3e017bfd2
EHCI adding dcahe support, passing enumertaion 2023-05-18 10:04:48 +07:00
Martino Facchin
32f9f452af renesas: provide default for CFG_TUSB_RHPORT1_MODE
Should fix CI failure for Renesas RX family
2023-05-17 12:13:28 +02:00
hathach
eb89df4115
adding hcd_dcache_clean/hcd_dcache_invalidate 2023-05-17 16:14:35 +07:00
hathach
a9aa0e3a1a
fix error on EHCI causes xfer error in non-queued qhd which cause memory fault 2023-05-16 11:10:44 +07:00
hathach
1e998ce3bd
usbd: fix control transfer issue for chipidea hs when previous status and new setup complete in the same isr frame
change usbd edpt busy/stalled/claimed value to 0/1 instead of
(true/false) since they are 1-bit field.
2023-05-16 11:09:23 +07:00
hathach
2c48050993
add various check for disconncted device, also fix #1511 un-roll recursive hub removal with usbh queue 2023-05-16 11:09:22 +07:00
hathach
1c4f22a54c
EHCI: fix xfer failed with disconnected device as stalled
- change CFG_TUH_ENDPOINT_MAX to 16 (max endpoint pair per device) if
not defined
- change QHD_MAX for EHCI, should be user configurable and more
optimized in the future
2023-05-16 11:09:22 +07:00
hathach
206d63e038
correct EHCI reporting failed xfer (instead of stalled) when device is unplugged 2023-05-16 11:09:21 +07:00
Ha Thach
e2d3c0b2d3
Merge pull request #2065 from hathach/cmake-lpc55
add support for nrf5340 application core with pca10059
2023-05-16 11:04:07 +07:00
hathach
116a258858
fix nrf build 2023-05-16 10:14:00 +07:00
hathach
792cf95f2d
revert ci gcc to 11.2, update nrfx to version 2.11 2023-05-15 23:35:29 +07:00
hathach
d7175ad834
update nrf cmake and make to support nrf5340 (pca10095) 2023-05-15 23:34:24 +07:00
Ha Thach
9f5b08dc93
Update build_arm.yml
try bump up gcc to 12
2023-05-15 14:39:49 +07:00
hathach
9fd0fee458
adding nrf 2023-05-15 14:25:42 +07:00
Ha Thach
a57ba87859
revert family.mk 2023-05-13 13:24:00 +07:00
hathach
dbcef41f95
add support for other lpc55 boards 2023-05-13 13:24:00 +07:00
hathach
2c745d1b1e
able to build lpc55 2023-05-13 13:23:59 +07:00
HiFiPhile
f1bef8d8dd
Merge pull request #2057 from abakosh/develop
fix(iar_template.ipcf): add missing portable links, and delete the us…
2023-05-12 13:15:19 +02:00
HiFiPhile
9c1918fe46
Remove deprecated dcd_synopsys 2023-05-12 13:13:42 +02:00
Ha Thach
aaff27d220
Merge pull request #2058 from hathach/cmake-imxrt
Add Cmake for imxrt and Fix EHCI PortSC issue
2023-05-10 16:06:04 +07:00
hathach
eaa159c0a6 more doc build fix 2023-05-10 15:52:33 +07:00
hathach
137d516882 try to fix build doc 2023-05-10 15:32:39 +07:00
hathach
1e91fc97e2 remove imxrt from makebuild 2023-05-10 14:59:23 +07:00
hathach
c4b2fed8bd forgot sudo 2023-05-10 13:51:45 +07:00
hathach
c3770019cb install ninja 2023-05-10 13:50:24 +07:00
hathach
8e3bdd2391 add python script to help building cmake, build all imxrt boards with ci 2023-05-10 13:09:15 +07:00
hathach
4c796b89d8 try to build with cmake on ci 2023-05-10 11:20:26 +07:00
hathach
c0e4c02b9d allow imxrt build with dual exmaples 2023-05-10 11:15:11 +07:00
hathach
bc579c045e skip link option --print-memory-usage for renesas rx since it does not support this option 2023-05-09 21:39:10 +07:00
hathach
77f0726361 fix ehci issue with portsc when enable port power and port reset
fix attached device not regconized if attached before power on
2023-05-09 17:32:14 +07:00
hathach
04c759028a simplify cmake target, remove -bsp 2023-05-09 10:02:44 +07:00
Aladdin Bakosh
4be7546372 fix(iar_template.ipcf): add missing portable links, and delete the usbh_control.c from the list 2023-05-08 15:57:34 +02:00
hathach
fd50be2e62 change imxrt board_uart_read() to non-blocking
simple host seems to work
2023-05-08 19:43:48 +07:00
hathach
4fc4f35a8a fix linking missing ivt symbol for imxrt with cmake
changed device port = 0, host port =1 for imxrt 1060 and 1064
2023-05-08 17:25:47 +07:00
hathach
654f182176 build host examples with imx 2023-05-08 00:24:48 +07:00
hathach
6945c594d5 update all device cmake example for imx 2023-05-07 22:09:08 +07:00
hathach
f15f79df5d cmake work well with imxrt 2023-05-06 15:14:54 +07:00
hathach
cda5ab8b25 more temp work 2023-05-05 19:15:19 +07:00
hathach
97ee40fd7b add clion files 2023-05-05 16:51:50 +07:00
hathach
8a9d2b4b75 wip 2023-05-04 23:29:37 +07:00
Martino Facchin
161c95f1b7 renesas: update fsp to 4.0.0 2023-05-04 14:42:32 +02:00
hathach
629717cd13 fix cmake build 2023-05-04 16:38:06 +07:00
Michiel van Leeuwen
75cf8e21a7 Use double-sized fifo only for IN endpoints 2023-05-04 10:02:42 +02:00
Martino Facchin
6ff62c0fe8 renesas: add fallback for targets not defining CFG_TUSB_RHPORT*_MODE 2023-05-03 11:47:41 +02:00
Martino Facchin
a349869906 renesas_ra: fix existing boards support 2023-05-03 10:06:58 +02:00
Martino Facchin
5f7e7b4b0a renesas_ra: support RA2A1 (FS only) 2023-05-03 10:06:13 +02:00
Martino Facchin
4afed62646 renesas_ra: host: handle retry on attach() 2023-05-03 10:05:29 +02:00
Martino Facchin
be54870c3b renesas_ra: add support for HS port 2023-05-03 10:02:24 +02:00
Ha Thach
5e023fa2ca
Merge pull request #2051 from hathach/improve-serial-host
Improve serial host
2023-04-28 22:59:57 +07:00
hathach
1763eede48
more update to host serial API 2023-04-28 22:14:14 +07:00
hathach
fb5fe3360f
allow call tuh cdc with blocking (callback = NULL)
- tuh_cdc_set_control_line_state()
- tuh_cdc_set_baudrate()
- tuh_cdc_set_line_coding()
2023-04-28 21:50:54 +07:00
hathach
0a43a7b418
improve host serial drivers
- tuh_control_xfer() update xfer result to user_data if complete
callback = NULL (sync/blocking)
- refactor host serial driver for acm/ftdi/cp210x
2023-04-28 19:13:25 +07:00
Michiel van Leeuwen
678edbe203 Check correct interrupt flag
Fixes #1737
2023-04-28 12:55:58 +02:00
Michiel van Leeuwen
5ade917805 dwc2: configure fifo size to be twice the max_size
This is needed in order to always be able to fit a packet in the fifo.
Writing to the fifo is done from an interrupts that fires when the fifo is
half-empty, so the fifo must be twice the packet size.
2023-04-28 11:26:26 +02:00
Ha Thach
2afef458be
Merge pull request #2030 from slc-tl/patch-1
Update porting.rst
2023-04-28 11:36:14 +07:00
hathach
090078542f update osal note 2023-04-28 11:34:12 +07:00
Ha Thach
a41ab41b8b
Merge pull request #2047 from jbtheou/master
cdc: fix line_coding aligment
2023-04-28 11:25:53 +07:00
hathach
190acc1fb0 add aligned(4) for cdc_line_coding_t 2023-04-28 11:12:03 +07:00
Jean-Baptiste Theou
8f47976639 cdc: fix line_coding aligment
While calling tud_cdc_n_get_line_coding, the structure is copied into
the destination.

Dump of assembler code for function tud_cdc_n_get_line_coding:
   0x000193f4 <+0>:	mov.w	r2, #2112	@ 0x840
0x000193f8 <+4>:	ldr	r3, [pc, #20]	@ (0x19410
<tud_cdc_n_get_line_coding+28>)
   0x000193fa <+6>:	mla	r0, r2, r0, r3
=> 0x000193fe <+10>:	ldr.w	r3, [r0, #6]
   0x00019402 <+14>:	str	r3, [r1, #0]

On some platform (tested on LPC55S28), the address needs to be 4-bytes
aligned. Without this, the address is

(gdb) p &_cdcd_itf.line_coding
$3 = (cdc_line_coding_t *) 0x40100006 <_cdcd_itf+6>

which leads to a HardFault. With this fix

(gdb) p &_cdcd_itf.line_coding
$5 = (cdc_line_coding_t *) 0x40100008 <_cdcd_itf+8>

and the function can be called properly

Signed-off-by: Jean-Baptiste Theou <jb@thing.com>
2023-04-27 15:48:15 -10:00
Ha Thach
e3b3229d61
Merge pull request #2046 from hathach/add-usb2uart-host-driver
Add usb2uart serial host driver
2023-04-28 00:06:08 +07:00
hathach
732686cc10 add tuh_cdc_set_baudrate() 2023-04-27 23:22:10 +07:00
hathach
ee58278ed2 add code to calculate divisor from baudrate for ftdi 2023-04-27 23:08:25 +07:00
hathach
8214f0f497 clean up 2023-04-27 17:40:08 +07:00
hathach
c10f52b237 forgot to add cp210x header 2023-04-27 17:39:02 +07:00
hathach
438387be8c more refactor 2023-04-27 17:32:56 +07:00
hathach
86f6fd17ed cp210x seems to work well 2023-04-27 17:09:21 +07:00
hathach
a32ef1cde1 more host serial refactor 2023-04-27 16:32:42 +07:00
hathach
9698a088db refactor acm function 2023-04-27 15:29:44 +07:00
hathach
85d9925d24 refactor ftdi driver 2023-04-27 15:20:04 +07:00
hathach
293a6222f8 rename ftdi_host to ftdi_sio 2023-04-27 11:08:42 +07:00
hathach
cf95b44001 enable CDC FTDI 2023-04-26 22:36:17 +07:00
hathach
45169d833d hacky, but ftdi work with hard code baudrate = 9600 2023-04-26 22:36:17 +07:00
hathach
1a229f3ce2 fix pio vbus typo 2023-04-26 22:36:17 +07:00
Ha Thach
4c7fd1648e
Merge pull request #2043 from hathach/fix-nxp-build
fix build with nxp since mcux-sdk from 2.13.0 remove CMSIS folder
2023-04-26 22:33:28 +07:00
hathach
ad39833ea4 fix build with nxp since mcux-sdk from 2.13.0 remove CMSIS folder 2023-04-26 22:10:13 +07:00
Ha Thach
908e23d109
Merge pull request #2040 from hathach/update-imxrt-deps
bump up imxrt mcux-sdk to 2.13.1
2023-04-24 16:59:05 +07:00
hathach
841a62170e bump up imxrt mcux-sdk to 2.13.1 commit f357a1150f6cf6c6b844f53f2d426bfb3e649850 2023-04-24 16:54:26 +07:00
Ha Thach
964e7ebf21
Merge pull request #2013 from tannewt/imx_1042
Handle iMX RT 1042 usb naming
2023-04-24 16:53:24 +07:00
Ha Thach
8ede566c41
Merge pull request #2039 from hathach/add-cmake-build
Add cmake build
2023-04-24 16:43:40 +07:00
hathach
a4d5d51549 add wip note 2023-04-24 16:24:06 +07:00
hathach
5254202b20 minor update 2023-04-24 11:54:58 +07:00
hathach
9858d45815 build all freertos, not able to build net lwip due to lack of sio_open() 2023-04-21 22:07:58 +07:00
hathach
11e1aff389 update freeRTOS kernel to latest for library cmake
add per family freeRTOSConfig.h also make changes to build with
freertos_kernel cmake
- hard coded configPRIO_BITS based on family
- change configSUPPORT_STATIC_ALLOCATION to 0,
configSUPPORT_DYNAMIC_ALLOCATION to 1
- enable configRECORD_STACK_HIGH_ADDRESS for tracing
- enable INCLUDE_xTaskGetCurrentTaskHandle which is required to compile
stream_buffer (although we don't use it).
2023-04-21 20:55:44 +07:00
hathach
6daa135201 update most examples cmake to build with imxrt 2023-04-21 18:23:40 +07:00
hathach
0afe1b3684 example run well with cmake for imxrt 2023-04-21 18:10:28 +07:00
Ha Thach
0871238cac
Merge pull request #2024 from jfedor2/sie_ctrl_fix
[rp2040] Make writes to SIE_CTRL aware of concurrent access
2023-04-21 12:17:57 +07:00
Jacek Fedorynski
9bf97e3e52 [rp2040] Make writes to SIE_CTRL aware of concurrent access
This commit makes it so that when setting the START_TRANS bit in the
SIE_CTRL register, along with some other bits, we first set all the
other bits, then wait some cycles, and then set the START_TRANS bit.

Doing so protects against a situation where the USB controller is
reading the register at the same time and gets an incorrect value.

This mirrors the procedure already applied to buffer control
registers.
2023-04-20 20:23:31 +02:00
hathach
2ac289685a clean up 2023-04-20 16:55:48 +07:00
hathach
b42d3e431c board test running with cmake 2023-04-20 16:43:00 +07:00
hathach
fab48e5bcc adding cmake build for imxrt1010 2023-04-20 14:09:38 +07:00
Ha Thach
9771c76f25
Merge pull request #2033 from ReimuNotMoe/master
Fix compatibility with the latest Microchip XC16 compiler
2023-04-19 12:53:23 +07:00
Reimu NotMoe
c0674142a8
Merge branch 'hathach:master' into master 2023-04-18 23:20:25 +08:00
Reimu NotMoe
9002dc7067 Use __GNUC__ macro to determine if __has_attribute is supported 2023-04-18 17:27:42 +08:00
Ha Thach
c3a60ed355
Merge pull request #1920 from mikee47/fix/midi-definition
MIDI_CIN_NOTE_ON definition transposed with MIDI_CIN_NOTE_OFF
2023-04-18 10:43:52 +07:00
Mengsk
412b557a08 Cleanup unnecessary code for 16bit access. 2023-04-17 15:34:20 +02:00
Reimu NotMoe
fa8f3731c1 Implement TU_BSWAP{16,32} correctly for Microchip XC16 2023-04-17 21:02:12 +08:00
Reimu NotMoe
d97b6d57de Fix compatibility with the latest Microchip XC16 compiler 2023-04-17 20:20:22 +08:00
slc-tl
8c780a9564
Update porting.rst
Adds more in depth documentation of how tud_task does not need to be polled in implementations that use an RTOS / scheduler.
2023-04-14 17:07:33 -06:00
HiFiPhile
818bda18c2 Fix FIFO transfer and buffer alignment. 2023-04-14 23:37:07 +02:00
HiFiPhile
2f2c8ce9ec Fix GCC build. 2023-04-14 21:00:55 +02:00
HiFiPhile
723e21ad6a
Merge pull request #2025 from dauc/master
Fix spelling configuraiton->configuration
2023-04-14 18:48:03 +02:00
HiFiPhile
71d2ccd78f Fix CI 2023-04-14 17:29:32 +02:00
HiFiPhile
413b0a7da5 Use PLL clock. 2023-04-14 17:12:47 +02:00
HiFiPhile
0ea23904c4 Add stm32g0b1nucleo BSP. 2023-04-14 16:07:04 +02:00
HiFiPhile
152a22f3ee Update lib & template. 2023-04-14 16:05:56 +02:00
Devin Auclair
16ed10a6e4 Fix spelling configuraiton->configuration 2023-04-14 12:48:59 +00:00
HiFiPhile
cbf4b1aec8 Merge branch 'master' of https://github.com/hathach/tinyusb into pr1942 2023-04-14 13:16:52 +02:00
HiFiPhile
28817a7150
Merge pull request #2015 from tyustli/tyustli_uac
fix audio comment error
2023-04-08 16:25:39 +02:00
HiFiPhile
95dec2ac26 Fix case. 2023-04-08 15:39:33 +02:00
tyustli
d4c7c9871e fix audio comment error 2023-04-08 18:14:10 +08:00
Scott Shawcroft
2cda9b60c9
Handle iMX RT 1042 usb naming 2023-04-06 15:45:23 -07:00
Ha Thach
3336fbafe4
Merge pull request #2011 from hathach/add-hid-host-ready
Add hid host send/recieve ready
2023-04-06 12:16:17 +07:00
hathach
6db24e0dba implement tuh_hid_receive_ready() and tuh_hid_send_ready() 2023-04-06 11:16:28 +07:00
hathach
106084289d add define for vendor_flush() to write_flush() for backward compatible 2023-04-06 11:15:57 +07:00
Ha Thach
5f327dd49f
Merge pull request #2006 from hathach/cmake
Cmake
2023-04-06 00:39:39 +07:00
Ha Thach
f7aa716a61
Merge pull request #2000 from jncronin/stm32l5
Add STM32L5 support - no OTG similar to some L4s
2023-04-04 16:30:47 +07:00
Ha Thach
4c5104f6d6
Merge pull request #1989 from epatstarkey/vendor_device_race_condition_fix
Vendor device race condition fix
2023-04-04 12:27:22 +07:00
Ha Thach
8d07f5e733
Merge pull request #1999 from raiden00pl/master
openh743i: initialize USB3300 reset pin
2023-04-04 11:27:19 +07:00
Ha Thach
44fab77c3d
Update bug_report.yml 2023-04-04 11:02:20 +07:00
John Cronin
718bcdb8bc Add STM32L5 support - no OTG similar to some L4s 2023-04-03 13:56:16 +01:00
hathach
4f96a1f3b2 more fix 2023-04-03 18:05:22 +07:00
hathach
5ef260d5fc fix build for esp32 2023-04-03 17:44:05 +07:00
raiden00pl
f2faf72f7f
openh743i: initialize USB3300 reset pin 2023-04-03 12:27:33 +02:00
hathach
1911c613c7 add some .idea configuration 2023-04-03 11:34:00 +07:00
hathach
160e2a8aeb skip .idea 2023-04-03 11:07:48 +07:00
epatstarkey
1372d4e4d5 Remove trailing whitespace 2023-03-31 12:58:51 -05:00
tobozo
805ebb3924 remove trailing space (satisfy pre-commit flow) 2023-03-30 22:01:36 +02:00
tobozo
a77aaf7f9e Added helpers for abs_mouse_report 2023-03-30 21:57:06 +02:00
tobozo
290f18a1fe
Merge branch 'hathach:master' into master 2023-03-30 19:30:24 +00:00
epatstarkey
d7d4e7b527 Update samples 2023-03-30 11:34:39 -05:00
hathach
cf7aad790c more esp32 cmake clean up 2023-03-30 11:37:36 +07:00
hathach
641613c428 update all cmake for esp32 build 2023-03-30 10:41:11 +07:00
hathach
96718b7ca0 merge s2 and s3, update cmake for espressif, add tinyusb_src as component 2023-03-30 00:31:26 +07:00
hathach
99315bcca3 adding more cmake support 2023-03-29 14:36:43 +07:00
epatstarkey
1fb2a2f1bd
Update vendor_device.c 2023-03-28 14:01:33 -05:00
epatstarkey
876f49f6ad
Update vendor_device.c 2023-03-28 14:00:23 -05:00
epatstarkey
faaed198b4
Update vendor_device.h 2023-03-28 13:59:59 -05:00
kkitayam
5ce60c5d20 Add MJPEG descriptor for bulk transfer 2023-03-26 21:22:52 +09:00
kkitayam
993b8d6686 Add state variable 2023-03-26 21:18:00 +09:00
kkitayam
389babf20b Add descriptor for a bulk endpoint as a streaming endpoint 2023-03-25 21:25:13 +09:00
kkitayam
e508831561 Update handle streaming interface 2023-03-25 21:25:13 +09:00
kkitayam
78732d6733 Fix streaming interface handling 2023-03-25 21:25:12 +09:00
kkitayam
97f9321e1d Add handling for bulk EPs 2023-03-25 21:25:12 +09:00
Ha Thach
5add4c97fa
Merge pull request #1979 from hathach/fix-cdc-host-unsupported-line-request
fix cdc host enumeration issue when device does not support line request
2023-03-24 17:58:34 +07:00
hathach
df5f60b6d6 fix shadow warning 2023-03-24 17:36:29 +07:00
hathach
b054229780 fix cdc host enumeration issue when device does not support line request 2023-03-24 17:26:30 +07:00
Ha Thach
59cbfbbdbe
Merge pull request #1971 from MattMills/class_net_net_device_mac_address_shouldnt_be_consts
Update net_device.h to make MAC addresses not const.
2023-03-24 16:48:33 +07:00
Ha Thach
f640163ee9
Merge pull request #1969 from hathach/fix-tmc488-bit-order-1658
Fix tmc488 bit order 1658
2023-03-24 14:41:57 +07:00
Ha Thach
ad7bacbfd8
Merge pull request #1978 from hathach/fix-align-host
separate CFG_TUSB_MEM_SECTION/ALIGN to host and device specific macros
2023-03-24 14:41:01 +07:00
hathach
76dae8d8c1 update host example to use new tuh mem macros 2023-03-24 14:08:57 +07:00
hathach
71fb6469d4 separate CFG_TUSB_MEM_SECTION and CFG_TUSB_MEM_ALIGN to
- CFG_TUD_MEM_SECTION and CFG_TUD_MEM_ALIGN
- CFG_TUH_MEM_SECTION and CFG_TUH_MEM_ALIGN
- fix missing mem section and align for host
2023-03-24 14:05:21 +07:00
Ha Thach
7440782afb
Merge pull request #1975 from hathach/update-doc
update doc and generate deps list
2023-03-23 16:39:19 +07:00
hathach
f80d11301e
update doc and generate deps list 2023-03-23 16:33:35 +07:00
Ha Thach
cd0fdc3264
Merge pull request #1974 from hathach/pico-pio-name
rename and change default pio usb pin to adafruit feather usb host
2023-03-23 14:22:39 +07:00
hathach
4cee79af27
rename and change default pio usb pin to adafruit feather usb host 2023-03-23 13:08:09 +07:00
Matt Mills
033627ee41 Remove const from tud_network_mac_address in example and test files 2023-03-22 07:30:46 -06:00
Matt Mills
4274cab395
Update net_device.h 2023-03-22 07:18:27 -06:00
hathach
096da11e88
more update 2023-03-22 17:01:04 +07:00
hathach
c85f46c4ab
fix bitorder in usbtmc_response_capabilities_488_t 2023-03-22 16:59:57 +07:00
Ha Thach
07976ad26d
Merge pull request #1968 from hathach/refactor-hid-host
Refactor hid host
2023-03-22 10:37:06 +07:00
hathach
f27486e19a add tuh_hid_itf_get_info() and change tuh_cdc_itf_get_info() to use new tuh_itf_info_t 2023-03-22 10:00:42 +07:00
hathach
f8a5cde3c7 add tuh_task_event_ready(), better implement blocking control transfer for rtos 2023-03-22 09:23:44 +07:00
hathach
0921edaf59 use tud_inited() instead of tusb_inited() 2023-03-22 09:23:11 +07:00
hathach
a97f39151e fine tune CFG_TUH_HID value 2023-03-22 08:33:30 +07:00
hathach
d22fc550c7 change meaning of CFG_TUH_HID to total number of HID interfaces supported.
- previously CFG_TUH_HID is max number of interfaces per device which is
rather limited and consume more resources than needed.
- change hid host instance in API to index
2023-03-21 21:04:06 +07:00
hathach
8a0b17598c add osal_task_delay() for control blocking 2023-03-21 18:15:45 +07:00
hathach
d34508a316 add note for blocking tuh_configuration_set(), tuh_interface_set() 2023-03-21 18:13:25 +07:00
hathach
878f2b54fe relax hid host enumeration, allow set protocol to be stalled 2023-03-21 18:12:55 +07:00
Ha Thach
ec9c666107
Merge pull request #1965 from HiFiPhile/align
UAC2: fix feedback EP buffer alignment.
2023-03-21 15:46:00 +07:00
Ha Thach
096b6ec462
Merge pull request #1964 from hathach/add-tuh-set-interface
add tuh_set_interface
2023-03-21 13:58:44 +07:00
Mengsk
42decd94e5 UAC2: fix feedback EP buffer alignment. 2023-03-21 07:58:39 +01:00
hathach
ccf17e3cde add -Wreturn-type 2023-03-21 13:21:59 +07:00
hathach
e44e461ce3 add tuh_set_interface 2023-03-21 12:55:52 +07:00
Ha Thach
cbcf5d8c08
Merge pull request #1963 from hathach/rp2040-more-iar
more compatible with IAR
2023-03-20 11:58:51 +07:00
hathach
4520218786
more compatible with IAR 2023-03-20 11:33:39 +07:00
Ha Thach
d4d6f60885
Merge pull request #1962 from hathach/update-bsp
Update bsp
2023-03-19 19:10:54 +07:00
hathach
f58da31145
clean up 2023-03-19 18:12:03 +07:00
hathach
f75a019732
bsp lpc17 2023-03-19 18:10:26 +07:00
hathach
934baae9b8
bsp lpc51 2023-03-19 17:58:20 +07:00
hathach
1154b7a9e7
add mising lpc13 file 2023-03-19 17:40:44 +07:00
hathach
64c6b715ce
bsp lpc13 2023-03-19 17:27:45 +07:00
hathach
80be1aa13d
bsp lpc11 2023-03-19 17:19:33 +07:00
hathach
1867ba0bc1
fix l4 hw testing ci 2023-03-19 16:43:59 +07:00
hathach
aa11e21358
add mising file 2023-03-19 13:15:05 +07:00
hathach
b46632ba07
bsp for f2 f3 2023-03-19 13:11:41 +07:00
hathach
322f58ea85
add CFLAGS_SKIP to improve sam compile time 2023-03-19 12:47:05 +07:00
hathach
ab0da3c30b
group stm32l0 2023-03-19 12:01:33 +07:00
hathach
3944f1c4da
group same5x 2023-03-19 11:28:06 +07:00
Ha Thach
779149ecce
Merge pull request #1858 from bpaddock/FRDM_K32L24AS
Add support for the NXP FRDM-K32L2A4S eval board.
2023-03-18 22:18:39 +07:00
hathach
ec0f25d095
fix ci with kl25z 2023-03-18 20:30:49 +07:00
hathach
bbe550efa0
add kinetis family to ci 2023-03-18 20:19:37 +07:00
hathach
1fc203b085
more update to kinetis bsp 2023-03-18 19:50:24 +07:00
hathach
2d187777c0
merge kinetis into its own family in bsp 2023-03-18 18:30:51 +07:00
Bob Paddock
b13b95a670 Document that support for the FRDM-K32L2A4S has been added. 2023-03-18 16:50:51 +07:00
Bob Paddock
f9b8a0667a Add support for NXP FRDM_K32L2A4S eval board. 2023-03-18 16:50:50 +07:00
Ha Thach
f1a859d907
Merge pull request #1639 from bavison/portability
Fixes for building with IAR toolchain
2023-03-18 12:13:08 +07:00
hathach
9f54cc1eb7
more clean up 2023-03-18 11:43:47 +07:00
hathach
d919f107c7
minor clean up 2023-03-18 11:22:44 +07:00
hathach
bdfcd50b1b
Merge branch 'master' into portability 2023-03-17 23:53:38 +07:00
Ha Thach
65ee11ff63
Merge pull request #1882 from koendv/pitaya_lite
add board: DshanMCU Pitaya Lite
2023-03-17 20:48:39 +07:00
hathach
b2568eb02b
bump up mm32sdk to fix HSE_VALUE not 8Mhz warnings 2023-03-17 20:22:08 +07:00
hathach
1ed04ad05d
update mm32sdk with idndef for SYSCLK_FREQ_XXMHz and SYSCLK_HSI_XXMHz
add HSE_VALUE define for each board with 8mhz, 12mhz accordingly
2023-03-17 19:46:22 +07:00
hathach
b3ecf82196
whitespace 2023-03-17 19:31:45 +07:00
Koen De Vleeschauwer
899e7cc4f9 add board: DshanMCU Pitaya Lite 2023-03-17 19:31:06 +07:00
Ha Thach
bc57358eb0
Update README.rst 2023-03-17 19:29:25 +07:00
Ha Thach
4d273254b6
Merge pull request #1961 from hathach/remove-all-submodules
Remove all submodules
2023-03-17 19:27:47 +07:00
hathach
6683053f48
finalize 2023-03-17 18:44:30 +07:00
hathach
57d23c7a68
update example description 2023-03-17 18:34:56 +07:00
hathach
25d802532c
fix spelling 2023-03-17 18:34:43 +07:00
hathach
f14b4ba30a
use codespell as pre-commit 2023-03-17 17:27:17 +07:00
hathach
0c174c17ad
fix ci with building fuzz 2023-03-17 17:04:11 +07:00
hathach
a4b17483b9
fix ci build with fomu 2023-03-17 17:01:56 +07:00
hathach
2e5f649fd3
fix run unit test with pre-commit 2023-03-17 16:57:30 +07:00
hathach
3623ba1884
fix trailing space and new line
temporarily disable codespell
2023-03-17 16:12:49 +07:00
hathach
2faad42cb1
update ci
- remove submodules init
- pre-commit: forbid new submodule, run in ci
2023-03-17 15:54:25 +07:00
hathach
323a56e309
bump up freeRTOS deps to version 10.5.1 2023-03-17 15:39:59 +07:00
hathach
6763521ec7
remove all submodules 2023-03-17 15:31:41 +07:00
Ha Thach
16daad8164
Merge pull request #1960 from hathach/fix-host-enumerate-mul-device
Fix host enumerate multiple devices from multiple host controllers
2023-03-17 15:27:56 +07:00
Ha Thach
96d064e923
Merge pull request #1860 from howard0su/pico_freertos
Allow config OS for RP2040
2023-03-17 14:57:13 +07:00
hathach
511f5be8b3
bump up pico-pio-usb dependency 2023-03-17 14:46:34 +07:00
hathach
e1fda007f6
minor refactor to invalid index 2023-03-17 14:46:02 +07:00
hathach
317177c83d
update host example, add pio-pico-usb for rp2040 2023-03-17 14:06:25 +07:00
hathach
f349ae7702
fix enumerate one device at a time 2023-03-17 13:58:01 +07:00
Ha Thach
6b84a29f8c
Merge pull request #1391 from perigoso/renesas-ra
Renesas ra family support
2023-03-17 11:28:54 +07:00
hathach
c12795734c
reduce number of supported RA to only those that is tested 2023-03-17 10:59:08 +07:00
hathach
e7d212f337
more fix 2023-03-16 23:21:15 +07:00
hathach
ffdffc7e06
rename FREERTOS_PORT to FREERTOS_PORTABLE_SRC
also fix trailing spaces
2023-03-16 23:11:11 +07:00
hathach
e0b1de923c
add ra4m1_ek board 2023-03-16 22:43:58 +07:00
Ha Thach
d875e694f8
Merge pull request #1958 from tyustli/tyustli_st
fix HAL_Delay no effect bug on st platform
2023-03-16 12:28:24 +07:00
hathach
2a10d5c20b
rename ra board name 2023-03-16 11:39:53 +07:00
hathach
92aed7e3e0
rename symbols 2023-03-16 11:28:10 +07:00
hathach
bc2127b330
rename file link to rusb2 2023-03-16 11:03:53 +07:00
hathach
1117cf5729
update pre-commit yaml 2023-03-16 10:05:46 +07:00
hathach
cd1726c009 Merge branch 'master' into renesas-ra 2023-03-16 09:51:27 +07:00
tyustli
fabe86362b fix HAL_Delay no effect bug on st platform 2023-03-16 08:28:19 +08:00
Ha Thach
b443851980
Merge pull request #1957 from hathach/fix-old-picosdk
Fix old picosdk
2023-03-15 23:24:44 +07:00
hathach
ffa56a1beb
add pre-commit yaml 2023-03-15 19:30:35 +07:00
hathach
d9a9dc5ac0 fix PICO_SHARED_IRQ_HANDLER_HIGHEST_ORDER_PRIORITY not defined in old pico-sdk 2023-03-15 17:38:14 +07:00
Ha Thach
ea8ecea59a
Merge pull request #1953 from tannewt/fix_cached_imx_reset
Flush the dcd data on reset
2023-03-14 09:08:32 +07:00
Scott Shawcroft
d31aac453e
Flush the dcd data on reset 2023-03-13 15:22:00 -07:00
Ha Thach
7cf67b2845
Merge pull request #1889 from Tails86/master
Implemented tuh_hid_send_report
2023-03-13 17:03:27 +07:00
James Smith
9247131b1f Avoid spamming out endpoint on connect 2023-03-13 16:31:25 +07:00
James Smith
43770802f9 Removed tabs from host hid_controller example 2023-03-13 16:31:25 +07:00
James Smith
296ce528fc Updated host hid_controller example to demo tuh_hid_send_report 2023-03-13 16:31:25 +07:00
James Smith
f6774d5611 Implemented tuh_hid_send_report 2023-03-13 16:31:25 +07:00
Hubert Denkmair
f8a21fff17 dcd_write_packet_memory: use volatile modifier for destination pointer 2023-03-12 15:51:07 +01:00
hathach
0a7c08d16e minor format 2023-03-12 16:01:24 +07:00
Ha Thach
be21413361
Merge pull request #1948 from dhalbert/remove-volatile-cast-include
rp2040: include hardware/sync.h explicitly
2023-03-11 09:35:04 +07:00
hathach
e045995407 minor update get_deps 2023-03-11 08:54:51 +07:00
hathach
4065ca3fca Merge branch 'master' into renesas-ra 2023-03-11 08:40:36 +07:00
Ha Thach
a8d7e08cee
Merge pull request #1950 from hathach/update-get-deps
update get-deps.py
2023-03-11 08:37:58 +07:00
hathach
cae05c6593 update get-deps.py 2023-03-11 08:33:08 +07:00
hathach
7428a16d2d remove ra submodules 2023-03-11 08:23:21 +07:00
hathach
fe77976765 Merge branch 'master' into renesas-ra 2023-03-11 08:15:23 +07:00
Ha Thach
6af18dc906
Merge pull request #1947 from hathach/remove-submodules
Remove submodules and use python script to manage repo dependencies
2023-03-11 08:09:25 +07:00
Ha Thach
b5b2fad5fb
Merge pull request #1946 from kasjer/kasjer/nrf5x-fix-iso-memory-corruption
dcd_nrf5x: ISO OUT handling
2023-03-11 08:06:17 +07:00
Dan Halbert
4857abdc6b rp2040: include hardware/sync.h explicitly 2023-03-10 14:01:51 -05:00
hathach
206a9a21e6 fix ci 2023-03-10 23:54:30 +07:00
hathach
704f3ddeb5 add dependencies repo to git ignore 2023-03-10 23:43:07 +07:00
hathach
7e6a6e75bc remove the rest of mcu submodules 2023-03-10 23:41:27 +07:00
hathach
fb9180b6eb remove most of the submodules 2023-03-10 23:36:53 +07:00
hathach
7c9bd81eca update deps script 2023-03-10 22:56:42 +07:00
hathach
d41320a42e adding python script to manage dependencies instead of submodule 2023-03-10 20:49:11 +07:00
hathach
76f43a7a16
starting to remove submodule cmsis5 and nrfx 2023-03-10 19:23:23 +07:00
Jerzy Kasenberg
f0ddf8d10f dcd_nrf5x: ISO OUT handling
For incoming ISO OUT packets it was possible to start
DMA from endpoint to RAM before transfer was started
resulting in unrelated memory corruption.
This is scenario that causes memory corruption:
- ISO OUT packet is received
- Packet is transferred by DMA to transfer buffer
- xfer->started is cleared and xfer->buffer is updated as
  it is in every case
- Application takes to long to handle it (it happens when debugger
  is connected breakpoint is hit slowing down software).
- Next ISO OUT packet arrives
At this point there was no check if transfer was started and packet
was copied by DMA to location beyond previous data, possibly overwriting
unrelated memory.

This solves the issue by checking that transfer was
started and there is buffer ready for incoming packet.
2023-03-10 08:22:43 +01:00
Ha Thach
990fb6ae5c
Merge pull request #1931 from branalba/master
For STM32H7 BSP boards, initialize RCC_...TypeDef structs as empty
2023-03-09 17:21:58 +07:00
hathach
0f8e530de1
fix incorrect merge of hcd link 2023-03-08 23:01:37 +07:00
hathach
2cf092464b
fix freertos build with iar, format/indent link_type 2023-03-08 22:34:54 +07:00
hathach
05e0205ad0
Merge branch 'master' into renesas-ra 2023-03-08 21:05:06 +07:00
Hubert Denkmair
af577d2b6d add G0 to supported platforms in README.rst :) 2023-03-08 14:25:30 +01:00
Hubert Denkmair
b3ad560e62 fix path to stm32g0xx.h 2023-03-08 14:22:11 +01:00
Hubert Denkmair
8ae4f8f069 add basic STM32G0 support 2023-03-08 12:14:40 +01:00
Hubert Denkmair
410ad4d0f9 add basic STM32G0 support 2023-03-08 12:05:58 +01:00
Ha Thach
be66f5f57f
Merge pull request #1941 from hathach/minor-ci
Minor ci
2023-03-08 13:08:25 +07:00
hathach
0957902c40
more ci merge 2023-03-08 12:28:30 +07:00
hathach
9e0ae5f29d
improve ci 2023-03-08 12:15:39 +07:00
Ha Thach
3387c86108
Merge pull request #1933 from kilograham/rp2040_llvm_tweaks
make rp2040 code compile cleanly with LLVM embedded toochain for ARM.
2023-03-06 15:24:51 +07:00
Ha Thach
66da95a0ee
Merge pull request #1938 from hathach/update-build
Fix build on windows and macos
2023-03-06 15:10:21 +07:00
hathach
ec8c292bbe
clean up 2023-03-06 14:37:40 +07:00
hathach
02478c57e5
more ci fix 2023-03-06 14:31:18 +07:00
hathach
e62d1a03ac
integrate top.mk into make.mk 2023-03-06 13:25:56 +07:00
hathach
b6404d143e
clean up top 2023-03-06 13:03:55 +07:00
hathach
9930863b41
fix iar ci 2023-03-06 12:45:47 +07:00
hathach
5c537c25f0
change gcc to 10.3 due to freeRTOS warning 2023-03-06 11:16:21 +07:00
hathach
956d1c9c4e
update size to fix macos ci 2023-03-06 10:33:04 +07:00
HiFiPhile
a83cef5e4c
Merge pull request #1937 from silvergasp/fix_wrong_size
fix: Fix wrong destsz used with tu_memcpy_s
2023-03-06 04:25:52 +01:00
Nathaniel Brough
95cfa37bf5 fix: Fix wrong destsz used with tu_memcpy_s
Bug: #1935
2023-03-05 18:47:48 -08:00
hathach
0a1a61bb6c
try gcc 12.2 with macos 2023-03-05 15:42:05 +07:00
hathach
9824981ee8
ignore mkdir in windows ci 2023-03-05 15:35:02 +07:00
hathach
8a493485e8
more ci test 2023-03-05 13:39:38 +07:00
hathach
b4ef98cbdc
fix ci build on windows 2023-03-05 10:57:16 +07:00
hathach
a99ee1b1a2
bump up gcc, test macos uname 2023-03-04 20:08:10 +07:00
hathach
363fcc5b68
only build 1 board on windows/macos 2023-03-03 16:24:33 +07:00
hathach
7089535848
clean up f0 warnings 2023-03-03 16:13:12 +07:00
hathach
9a8a9359e4
use make abspath intead of shell realpath 2023-03-03 15:55:34 +07:00
hathach
e92583ffd7
try adding build for windows and macos 2023-03-03 15:37:17 +07:00
graham sanderson
b7fa90e706 rp2040: Fixup lib and example compile for LLVM Embedded Toolchain for ARM 2023-03-02 14:32:22 -06:00
Ha Thach
34798ff85e
Merge pull request #1932 from hathach/add-usbip-fsdev
add TUP_USBIP_FSDEV and TUP_USBIP_FSDEV_STM32
2023-03-01 21:32:31 +07:00
hathach
5d3084a714 add TUP_USBIP_FSDEV and TUP_USBIP_FSDEV_STM32, clean up ifdef with stm32 2023-03-01 11:22:04 +07:00
Brandon Alba
8c8f26f14e In some STM32H7 BSP variants, initialized RCC_PeriphCLKInitStruct instances as empty 2023-02-28 10:31:07 -08:00
Brandon Alba
787afbbcd0 Initialized all RCC init structs for all STM32H7 BSP variants as empty 2023-02-28 10:25:06 -08:00
Ha Thach
3c38c7dc25
Merge pull request #1828 from HiFiPhile/stm32_fsdev
stm32_fsdev & ISO EP buffer allocation improvements
2023-02-28 23:45:02 +07:00
hathach
ffdc100cb9 rename ep_num to ep_idx, minor clean up 2023-02-28 17:11:59 +07:00
Gunar Schorcht
4c510c12b1 synopsys/dwc2: fix SOF interrupt handling
SOF is not a flag of the GOTGINT register but of the GINTSTS register. Therefore the flag must be written in the GINTSTS register instead of the GOTGINT register to clear the interrupt.
2023-02-27 09:54:45 +01:00
Ha Thach
65ac519715
Merge pull request #1852 from silvergasp/mem_s
fix: Replace device calls to memcpy with tu_memcpy_s
2023-02-27 10:22:53 +07:00
hathach
e34aeb5cf6 minor clean up 2023-02-27 09:11:35 +07:00
Ha Thach
73afca14eb
Merge pull request #1491 from Ryzee119/ohci_fixes
OHCI usbh, tweaks and improvements
2023-02-22 22:52:41 +07:00
hathach
eca96c635d
comment out osal_task_delay if using os none 2023-02-22 22:28:22 +07:00
hathach
4caa6063b0
white space 2023-02-22 22:17:45 +07:00
hathach
1466afafeb
move and add optional tusb_app_virt_to_phys/tusb_app_phys_to_virt
also add place holder for tusb_app_dcache_flush() and
tusb_app_dcache_invalidate()
2023-02-22 22:14:50 +07:00
Ha Thach
b66c2d5f0a
Merge pull request #1796 from Sinitax/master
Fix ifdefs for disabled uart stdio in rp2040 family
2023-02-22 17:40:54 +07:00
Ha Thach
8fadaf01d3
Merge pull request #1919 from hathach/use-tu-static-for-fuzz
use tu_static instead of static _fuzz_thread
2023-02-22 17:35:07 +07:00
mikee47
302b9562dc MIDI_CIN_NOTE_ON definition transposed with MIDI_CIN_NOTE_OFF 2023-02-22 09:58:30 +00:00
hathach
498989ee00
use tu_static instead of static _fuzz_thread 2023-02-22 16:23:40 +07:00
hathach
4c846af53e
rename OHCI_RHPORTS to TUP_OHCI_RHPORTS 2023-02-22 16:18:45 +07:00
hathach
c01aee6c1a
revert some changes 2023-02-22 15:14:56 +07:00
hathach
78a014ef18
move check LIB_PICO_STDIO_UART to board.h 2023-02-22 15:13:27 +07:00
Ha Thach
557bf82336
Merge pull request #1867 from silvergasp/thread_local_globals
fix: Change all static variables to thread when fuzzing
2023-02-22 12:54:32 +07:00
hathach
bcf5e5f729
missing some files 2023-02-22 12:10:22 +07:00
hathach
03ec49450d
rename maros from FUZZ to _FUZZ, change TU_STATIC to static _fuzz_thread 2023-02-22 11:47:09 +07:00
wooyay
4e2afdf5e1 ohci: Disable MIE interrupt during IRQ processing, zero HccADoneHead on completion 2023-02-18 10:48:39 +10:30
Ryzee119
75f6583c1c ohci: Use enum instead of magic number 2023-02-18 10:48:39 +10:30
Ryan Wendland
f2a6af05b1 ohci: Add ability to separate physical and virtual memory 2023-02-18 10:48:38 +10:30
Ryan Wendland
f87262185e ohci: Set skip on ed prior to removal 2023-02-18 10:24:21 +10:30
Ryan Wendland
cc9c3feeae ohci: Fix bug in ed removal 2023-02-18 10:24:21 +10:30
Ryzee119
e89e8ba392 ohci: Direct port commands to the correct rhport. 2023-02-18 10:24:21 +10:30
Ryzee119
5d3c0fb922 ohci: Force reset of devices already connected on power up 2023-02-18 10:24:21 +10:30
Ryzee119
c1d0fd1bd7 ohci: Wait POTG time after port power 2023-02-18 10:24:21 +10:30
Ryzee119
2063ee5f15 ohci: Toggle frameinterval bit on update 2023-02-18 10:24:21 +10:30
Ryzee119
d5e6d02817 ohci: Leave SMM or bios mode during init 2023-02-18 10:24:21 +10:30
Ryzee119
c820c87692 ohci: Support configurable number of roothub ports 2023-02-18 10:24:21 +10:30
Ryzee119
d367e8f8a8 ohci: Expand roothub descriptors into unions 2023-02-18 10:24:21 +10:30
PanRe
3342635237
Merge pull request #1825 from HiFiPhile/mic_test
Minor audio_test example fix.
2023-02-16 11:59:44 +01:00
HiFiPhile
9e16e904ed
Merge pull request #1853 from NullMember/master
examples/uac2: Fix mute and volume array lengths
2023-02-16 11:22:52 +01:00
Ha Thach
6b4838cb2f
Merge pull request #1910 from rppicomidi/fix-1909
Fix issue 1909
2023-02-16 17:06:22 +07:00
rppicomidi
fde7577117 Fix issue 1909 2023-02-15 20:02:12 -08:00
Ha Thach
e3be8a0a15
Merge pull request #1906 from hathach/update-pio-pico-usb
update pico-pio-usb to include data pid fix (0.5.1)
2023-02-14 16:51:56 +07:00
hathach
95acf3960d update pico-pio-usb to include data pid fix (0.5.1) 2023-02-14 16:11:33 +07:00
Ha Thach
d87f4da6b1
Merge pull request #1893 from jefftrull/bugfix/bitfields
Adjust reserved bitfields to make SDCC happy
2023-02-13 16:30:01 +07:00
Ha Thach
09e70ebd13
Merge pull request #1885 from kripton/fixDHCPServerDoS
dhserver: Fix a potential DoS vulnerability accidentially introduced by #1712
2023-02-13 15:11:44 +07:00
Ha Thach
ac60a03ea9
Merge pull request #1901 from hathach/add-metro-rt1011
Add metro rt1011
2023-02-13 14:58:42 +07:00
hathach
fbf99b8e53 forget to add metro 1011 linker 2023-02-13 13:33:03 +07:00
hathach
fb5fd22c73
add uf2 linker for metro m7 1011 2023-02-13 12:29:31 +07:00
hathach
49c621d510
fix typo 2023-02-13 12:04:33 +07:00
hathach
3e86f0532a fix release trigger body 2023-02-13 12:03:09 +07:00
hathach
105f108661 add metro m7 1011 board def (not running yet) 2023-02-13 12:03:09 +07:00
Ha Thach
002ca345b8
Merge pull request #1898 from ccrome/fix-imx1011
Turn data cache on
2023-02-13 12:01:39 +07:00
Jeff Trull
7e2c5fcc8a Correct bitfields for cdc_desc_func_telephone_call_state_reporting_capabilities_t 2023-02-12 20:52:17 -08:00
caleb crome
ec26c6163c Turn data cache on
This fixes https://github.com/hathach/tinyusb/issues/1894.  I'm not really
sure if this is the correct way to fix it, and I have not tested on all the
rest of the family members, however, this lets the i.MX1010 work again.

The problem:  the latest SDK update does not enable the data cache by default
This causes an assert in board_init() when attemping to control clock
gating.  I haven't investigated further as to *why* it's a problem, but it
is a problem.
2023-02-12 11:24:21 -08:00
Jeff Trull
f48ae4aad7 Adjust reserved bitfields to make SDCC happy
- keep each field at or under 16b
- For optimal packing, segment fields to 8b boundaries
2023-02-10 15:54:04 -08:00
Ha Thach
86c416d4c0
Merge pull request #1890 from hathach/release-0.15.0
update version to 0.15.0
2023-02-10 17:39:04 +07:00
hathach
f0ab6d824e
increase hw test timeout to 10s since pyocd seems to take longer to flash 2023-02-10 15:41:48 +07:00
hathach
39a37d82ce
change rp2040 hw test to use pyocd for better stability/performance than openocd 2023-02-10 14:56:32 +07:00
hathach
cf162e2c54
fix typo 2023-02-10 13:03:43 +07:00
hathach
7e48da5b44
update version to 0.15.0
add changelog
2023-02-10 12:47:48 +07:00
Graham Sanderson
c0d79457f6
Merge pull request #1887 from hathach/rp2040-build-fixes
RP2040 build fixes
2023-02-06 16:06:36 -06:00
graham sanderson
8d3f0ffb95 * don't force dependency on pico-pio-usb submodule
* suppress compiler warning/errors especially in pico-pio-usb
* disable use of pico-pio-usb on gcc 11.3+ for now as it doesn't compile
2023-02-06 10:07:39 -06:00
Ha Thach
792b552c5c
Merge pull request #1884 from hathach/reapply-uint16-len-tud_hid_report_complete_cb
change length in tud_hid_report_complete_cb() from uint8 to uint16
2023-02-06 09:08:46 +07:00
Jannis Achstetter
830849211d
dhserver: Fix a potential DoS vulnerability accidentially introduced by #1712 2023-02-04 22:37:39 +01:00
hathach
3422e05684
change length in tud_hid_report_complete_cb() from uint8 to uint16 2023-02-04 11:43:23 +07:00
Ha Thach
4c03a9f855
Merge pull request #1880 from hathach/reduce-selfed-host-iar
Bundle mulitple familes for self-hosted iar to reduce build time
2023-02-01 20:10:01 +07:00
hathach
1727702217
add note for iar workflow 2023-02-01 19:30:32 +07:00
hathach
647fd030ff merge multiple matrix with IAR build 2023-02-01 18:45:50 +07:00
hathach
3846da69d3 run workflow if its yml is updated 2023-02-01 16:37:24 +07:00
hathach
6ec0537408 move hw-stm32l412nucleo-test into build-arm to reduce self-host compile time
reduce IAR build to only f0, h7, l4
2023-02-01 15:14:35 +07:00
Ha Thach
d6354a2aa7
Merge pull request #1877 from hathach/fix-host-cdc-without-iad
Fix host cdc without iad
2023-02-01 11:18:04 +07:00
Ha Thach
49628d8c18
Merge pull request #1779 from P33M/rp2040_device_babble_fix
rp2040: avoid device-mode state machine hang
2023-01-31 21:38:27 +07:00
hathach
ddb061f639 fix typos 2023-01-31 19:03:31 +07:00
hathach
9b6d6a983a fix typo issue #1859 2023-01-31 18:42:02 +07:00
hathach
5f4701bb3e added fuzzing status 2023-01-31 18:40:49 +07:00
hathach
95403ed9ac fix host issue when mounting an CDC device without IAD 2023-01-31 18:40:07 +07:00
hathach
6759721e9a move errata to end of c file 2023-01-31 17:38:27 +07:00
hathach
19b6cbc616 add e15 prefix or walkaround related functions, also minor refactor 2023-01-31 17:15:42 +07:00
hathach
0cce42fcc6 minor clean up 2023-01-31 11:38:15 +07:00
Ha Thach
b03a688b24
Merge pull request #1768 from ftdigdm/port-ft90x
Port ft90x
2023-01-30 22:13:14 +07:00
Ha Thach
7166bb3643
Merge pull request #1876 from hathach/support-iar
Support iar build
2023-01-30 22:05:21 +07:00
hathach
25603c7269 iar L4 2023-01-30 20:11:59 +07:00
Gordon McNab
770de31dd9 Merge branch 'port-ft90x' of https://github.com/ftdigdm/tinyusb into port-ft90x 2023-01-30 11:51:51 +00:00
Gordon McNab
06079dcae1
Merge branch 'hathach:master' into port-ft90x 2023-01-30 11:49:05 +00:00
Ha Thach
8681dbb7a2
Merge pull request #1870 from DRNadler/WindowsBuildFix
Windows build fix for some mingw gnu make situations
2023-01-30 17:23:50 +07:00
hathach
39eb1ce70e minor clean up 2023-01-30 17:21:48 +07:00
hathach
63a6fd3689 iar g4 2023-01-30 17:07:06 +07:00
Gordon McNab
c07fb9a71e Merge branch 'port-ft90x' of https://github.com/ftdigdm/tinyusb into port-ft90x 2023-01-30 10:06:55 +00:00
hathach
b464f91a6e iar h7 2023-01-30 17:04:39 +07:00
Gordon McNab
63e6aea5ac Removed unrequired header file from debugging. 2023-01-30 10:04:34 +00:00
hathach
6257123157 Merge branch 'master' into support-iar 2023-01-30 16:44:22 +07:00
hathach
cc18784479 hardcoded configPRIO_BITS for IAR build to pass CI 2023-01-30 16:42:56 +07:00
hathach
6dd40603f9 fix typo 2023-01-30 11:46:52 +07:00
Ha Thach
88f3279c3c
Merge branch 'master' into port-ft90x 2023-01-30 11:40:53 +07:00
Ha Thach
00c007ed68
Merge pull request #1866 from DRNadler/mimxrt1024_evk
Add support for NXP's mimxrt1024_evk evaluation board.
2023-01-30 11:18:10 +07:00
hathach
11384159e1 suppress rt1024 warnings and fix typo 2023-01-30 10:16:57 +07:00
Ha Thach
778b62df81
Merge pull request #1875 from silvergasp/seed_corpus
feat(fuzz): Adds seed corpus for cdc and msc classes
2023-01-30 09:53:28 +07:00
Ha Thach
718e7342b1
Merge pull request #1872 from kasjer/kasjer/nucleoh723
Add support for nucleo-h723zg
2023-01-30 09:50:53 +07:00
Nathaniel Brough
02f1f05697 feat(fuzz): Adds seed corpus for cdc and msc classes 2023-01-29 09:38:05 -08:00
Jerzy Kasenberg
42230df71a Add support for nucleo-h723zg
Mostly copy of stm32h743nucleo.
Linker script generated by STM32CubeIDE.

Since this device has only one HS USB
board.h contains few defines that map on
board HS USB to FS because there is no
ULPI chip mounted on Nucleo board.

For FreeRTOS build:
Set interrupt priority for HS always and for FS if exists.
2023-01-26 12:53:03 +01:00
Jerzy Kasenberg
ba017d0669 boards/stm32h7 update gpio clocks
GPIOE was turned on twice, changed to missing GPIOF.
GPIOI is not present on all boards notably STM32H723
so clock in turned on only if present.
2023-01-26 12:02:07 +01:00
Jonathan Bell
0d2078d295 rp2040: shuffle hw_endpoint members
Ordering by element size prevents alignment holes, and as a consequence the
host mode version of the struct is the same size as device, as pad bytes at
the end are used instead.
2023-01-24 12:05:32 +00:00
Jonathan Bell
73b0047efc rp2040: avoid device-mode state machine hang
Don't mark IN buffers as available during the last 200us of a full-speed
frame. This avoids a situation seen with the USB2.0 hub on a Raspberry
Pi 4 where a late IN token before the next full-speed SOF can cause port
babble and a corrupt ACK packet. The nature of the data corruption has a
chance to cause device lockup.

Use the next SOF to mark delayed buffers as available. This reduces
available Bulk IN bandwidth by approximately 20%, and requires that the
SOF interrupt is enabled while these transfers are ongoing.

Inherit the top-level enable from the corresponding Pico-SDK flag.
Applications that will not use the device in a situation where it could
be plugged into a Pi 4 or Pi 400 (for example, when directly connected
to a commodity hub or other host) can turn off the flag in the SDK.

v2: use a field in hw_endpoint to mark pending.

v3: Partial rewrite following review comments

- Stub functions out if the workaround is not required
- Only force-enable SOF while any vulnerable endpoints are active
- Respect dcd_sof_enable() functionality
- Get rid of all but necessary ifdef hackery
- Fix a bug where the "endpoint lock" was used with an uninitialised pointer.
2023-01-24 11:53:28 +00:00
hathach
df2ebe5d1a add iar --fpu option 2023-01-24 12:57:07 +07:00
Jonathan Bell
c3e47c31cc rp2040: export hw_endpoint_start_next_buffer() and hw_endpoint_lock_update()
The next change to the driver requires the export of these functions. Leave the
lock unimplemented for now.

Also move hw_set and hw_clear aliases into the top-level header file.
2023-01-23 10:55:20 +00:00
Dave Nadler
9b6ef4fcbc When tools/top.mk finds it is running on Windows, it expects SHELL set to cmd.exe.
Some Windows development environments invoke a mingw version of gnu make
with SHELL set to /bin/sh or /bin/bash (either explicitly or by default),
in which case tinyUSB make fails when a $(shell...) command feeds DOS syntax to sh.
We can't just use sh, as many Windows environments won't have unix utilities
like realpath (used by this makefile for sh shell commands).

This fix forces SHELL=cmd.exe on Windows and documents the issue.
Also adds additional documentation to help the next person...

With this fix, tinyUSB can be easily built and debugged in environments like
NXP's MCUxpresso (import as a makefile project).
2023-01-22 12:11:50 -05:00
hathach
0a4e611e37 update stm32f7 to build with iar 2023-01-22 12:11:01 +07:00
hathach
db36075721 update f4 to build with iar 2023-01-22 11:56:50 +07:00
hathach
f4c3f0800d add test_common_func.c 2023-01-21 17:47:40 +07:00
hathach
436cd5b9b8 add icf for f1 mini2 2023-01-21 14:26:46 +07:00
hathach
1bbeb6ad79 update stm32f1 to support iar build 2023-01-21 11:32:37 +07:00
Nathaniel Brough
18c3095346 fix: Change all static variables to thread when fuzzing 2023-01-20 15:45:31 -08:00
Dave Nadler
a6e0b598fa Add support for NXP's mimxrt1024_evk evaluation board.
Tested AOK with device\cdc_msc_freertos example.
2023-01-20 13:15:42 -05:00
Dave Nadler
456a8b208b Add support for NXP's mimxrt1024_evk evaluation board.
Tested AOK with device\cdc_msc_freertos example.
2023-01-20 12:59:45 -05:00
hathach
cb34cb2a93 slightly update rule.mk for IAR 2023-01-20 15:56:32 +07:00
hathach
daec3c24d8 fix warnings with arithmetic on void* pointer 2023-01-20 15:30:45 +07:00
hathach
074289caa3 add helper tu_desc_find/find2/find3 2023-01-20 15:30:24 +07:00
hathach
3fd075b48b fix warning 2023-01-20 15:29:23 +07:00
Ha Thach
ea098aeda1
Merge pull request #1847 from HiFiPhile/dwc2_iar
dwc2: fix iar warnings
2023-01-18 17:41:33 +07:00
hathach
84be70baf5 fix iar build with board_test 2023-01-18 13:17:53 +07:00
hathach
075095554a dont use non-std strncasecmp 2023-01-18 11:47:24 +07:00
hathach
fb7122f07d update iar ci 2023-01-18 10:33:26 +07:00
hathach
ecfd57e6f1 get most examples build with iar 2023-01-18 10:31:00 +07:00
Howard Su
eb7aacb51f Allow config OS for RP2040 2023-01-18 02:30:05 +00:00
hathach
8df2fd1916 update freertos example to build with iar 2023-01-17 23:38:10 +07:00
hathach
c86e628a4c update build script to support iar with CC=iccarm option 2023-01-17 23:37:00 +07:00
hathach
1891802f08 update all f0 board to build with iar 2023-01-17 16:38:02 +07:00
hathach
c414cc650e try running iar build with self-host 2023-01-17 16:30:33 +07:00
hathach
3fee8b402e update makefile to support iar build starting with stm32f070 2023-01-17 16:20:04 +07:00
Nathaniel Brough
2e47210c1a fix: Replace device calls to memcpy with tu_memcpy_s
Introduces a new function tu_memcpy_s, which is effectively
a backport of memcpy_s. The change also refactors calls
to memcpy over to the more secure tu_memcpy_s.
2023-01-13 15:20:32 -08:00
Malik Enes Safak
546dd6038c examples/uac2: Fix mute and volume array lengths 2023-01-13 18:28:10 +03:00
Ha Thach
fa9d19027b
Merge pull request #1405 from gregdavill/ch32v307
Add WCH CH32V307 port
2023-01-12 17:51:56 +07:00
hathach
b1021d53f3 add TUP_RHPORT_HIGHSPEED for ch32v307 2023-01-12 15:38:18 +07:00
hathach
160d64b00a minor clean up. ch32v307 has issue with uart LOG=2 (skipping characters) 2023-01-12 15:34:29 +07:00
hathach
3cf21c66b6 add dcd_remote_wakeup() stub 2023-01-12 15:26:48 +07:00
hathach
f05f81e8b3 add button support 2023-01-12 15:19:26 +07:00
hathach
65f7a8006c rename board to lower case ch32v307v-r1-1v0 2023-01-12 13:31:36 +07:00
hathach
e6a3cfb350 rename link file 2023-01-12 13:12:37 +07:00
hathach
658897cf4e fix redundant-decls warnings with USART_Printf_Init() 2023-01-12 12:30:18 +07:00
hathach
e61d4aefe6 rename driver with dcd_ to be consitent with other ports 2023-01-12 12:08:56 +07:00
hathach
3cc6cece07 add note for openocd with wch, also add wch-riscv.cfg 2023-01-12 10:25:48 +07:00
MasterPhi
9d19ed940e dwc2: fix IAR warnings. 2023-01-11 18:50:38 +01:00
Ha Thach
4ee4c6f594
Merge pull request #1844 from silvergasp/master
feat(ci): Adds oss-fuzz integration on PRs
2023-01-11 09:20:27 +07:00
Nathaniel Brough
abb95fc4b3 feat(ci): Adds oss-fuzz integration on PRs 2023-01-09 13:07:03 -08:00
Ha Thach
8775d55adc
Merge pull request #1843 from HiFiPhile/ip3511
ip3511 : Fix IAR build.
2023-01-09 10:02:59 +07:00
MasterPhi
57de6016f9 ip3511 : Fix IAR build. 2023-01-08 11:23:18 +01:00
hathach
a7e1de1e83
temporarily suppress redundant-decls due to USART_Printf_Init()
fix codespell
2023-01-08 00:02:25 +07:00
Ha Thach
949950e592
Merge branch 'master' into ch32v307 2023-01-07 23:46:46 +07:00
Ha Thach
83cc71feaf
Merge pull request #1820 from Staacks/master
Fix UVC probe and commit on MacOS
2023-01-07 23:30:30 +07:00
Ha Thach
79e5d7aa69
Merge pull request #1789 from hathach/fix-fifo-memory-overflow
Fix fifo memory overflow
2023-01-07 20:42:19 +07:00
hathach
c84de8f06b
minor clean up 2023-01-07 19:40:06 +07:00
hathach
9e551c9f5c
remove _ff_overflowed() due to lack of use 2023-01-07 19:00:04 +07:00
hathach
c29b7643a5
simplify _ff_correct_read_index() 2023-01-07 18:53:00 +07:00
hathach
248025bb6c
reverse idx2ptr() arguments to be consistent 2023-01-07 17:29:43 +07:00
hathach
24bd1c9562
update advance_pointer/backward_pointer to use depth instead of fifo, also rename to advance/backward_index 2023-01-07 17:27:26 +07:00
hathach
507d5b10b0
simplify _tu_fifo_count() and _tu_fifo_remaining(), also rename to _ff_count() and _ff_remaining() 2023-01-07 17:14:17 +07:00
hathach
a804a1ac09
simplify and remove _tu_fifo_empty, _tu_fifo_full. Also correct full condition check 2023-01-07 16:48:07 +07:00
hathach
2d7849282a
use TU_FIFO_INIT to replace TU_FIFO_DEF 2023-01-07 16:33:11 +07:00
hathach
e885ced0fe
using clang with ceedling unit-test with -fsanitize=address 2023-01-07 16:24:05 +07:00
hathach
82457519fa minor clean up 2023-01-07 16:12:35 +07:00
hathach
2a1b81e3c5 minimize tu_fifo size to 16
- remove non_used_index_space
- packed overwritable with item_size
2023-01-06 11:51:17 +07:00
hathach
9c73c1a532 minor clean up 2023-01-06 10:56:19 +07:00
hathach
b42d298b81 Merge branch 'master' into fix-fifo-memory-overflow 2023-01-06 10:52:25 +07:00
Ha Thach
6e23c596cc
Merge pull request #1837 from pete-pjb/master
Fix typo in audio.h. Specifiy _ctrl_xfer struct in CFG_TUSB_MEM_SECTION in usbh.c
2023-01-06 10:24:55 +07:00
Ha Thach
cde16b802b
Merge pull request #1836 from HiFiPhile/Pe381
Fix IAR warning: Warning[Pe381]: extra ";" ignored
2023-01-06 09:10:11 +07:00
Mengsk
8db462bf6e Add fix to dcd_edpt_iso_activate() 2023-01-05 16:54:42 +01:00
Simon Kueppers
d6b612257e Fixed bug where with some devices, the TU_ASSERT inserted with this commit gets triggered for ISOCHRONOUS endpoints. It is necessary for those endpoints to set the NUM_BLOCK and BLSIZE for the receiving buffer in both, USB_COUNTn_TX and USB_COUNTn_RX. Despite the datasheet showing those fields only for the USB_COUNTn_RX register 2023-01-05 16:23:53 +01:00
Mengsk
8c591e2c45 More warning fixes 2023-01-04 12:40:01 +01:00
Ha Thach
18043131d0
Merge pull request #1823 from silvergasp/fix_cluster_fuzz_flags
fix(fuzz): Make sanitizer flags optional
2023-01-04 13:44:33 +07:00
pete-pjb
f5cffeedec Fix typo in audio.h. Specifiy _ctrl_xfer struct in CFG_TUSB_MEM_SECTION
Add NULL check to loop in list_remove_qhd_by_addr() function in ehci.c
2023-01-03 10:33:36 +00:00
Mengsk
82f105e32b Fix IAR warning: Warning[Pe381]: extra ";" ignored 2023-01-02 21:18:10 +01:00
Mengsk
69475cd1bf Remove tu_stm32_sof_cb 2023-01-02 12:06:26 +01:00
Mengsk
7228239eb9 Clean up. 2023-01-02 09:43:48 +01:00
Mengsk
51bb27a131 Optimize descriptor looping. 2022-12-31 13:37:22 +01:00
Mengsk
35fa6b660a Fix CI. 2022-12-30 16:10:54 +01:00
Mengsk
fc32280f42 Fix buffer allocation overflow. 2022-12-30 15:10:00 +01:00
Mengsk
7ff2f43bfd Add multi-rate audio test example for new ISO buffer allocation. 2022-12-30 15:09:50 +01:00
Mengsk
21bdafcfef Add ISO buffer allocation. 2022-12-30 01:08:04 +01:00
Mengsk
07ad64adfe Do not set USB_EP_RX_NAK for ISO EP. 2022-12-29 23:30:24 +01:00
Mengsk
db65759b1e Use weak for dcd_edpt_iso_alloc/dcd_edpt_iso_activate 2022-12-29 23:29:50 +01:00
Mengsk
0bd41d5354 Fix CI. 2022-12-29 21:37:44 +01:00
Mengsk
e4f07206f8 UAC : Enable fifo based transfer on stm32_fsdev 2022-12-29 19:34:12 +01:00
Mengsk
fe8c170c98 Add dcd_edpt_iso_alloc() / dcd_edpt_iso_activate() for ISO EP buffer management. 2022-12-29 19:19:27 +01:00
Mengsk
8a1184e7b3 Minor audio_test example fix.
Fix CFG_TUD_AUDIO_EP_SZ_IN size.
2022-12-29 14:34:37 +01:00
Mengsk
cece59df22 Generally enable ISO xfer. 2022-12-29 12:33:44 +01:00
Mengsk
ef2f17a514 Add hardware endpoint allocator. 2022-12-29 12:33:43 +01:00
Mengsk
b156a8b78c dcd_stm32_fsdev : Implement FIFO transfer correctly. 2022-12-29 12:33:43 +01:00
Mengsk
17990025bb dcd_stm32_fsdev : Fix index out of bound in dcd_write_packet_memory()
If src is odd then src[wNBytes] is accessed.
2022-12-29 12:33:43 +01:00
Simon Kueppers
1d37f5ef9b Added improvements with regards to SOF timing jitter 2022-12-29 12:33:16 +01:00
Simon Kueppers
76413a95d4 Added TU_ATTR_ALWAYS_INLINE to all static inline functions 2022-12-29 12:29:47 +01:00
Simon Kueppers
9ec21248d7 Fixed various small problems and inaccuracies regarding ISOCHRONOUS endpoint 2022-12-29 12:29:47 +01:00
Mengsk
b4b619abd6 SHA-1: 5cb3ed518301e2237ee4e468e97e51ece0ba3838
* Correct handling of SOF interrupt
2022-12-29 12:29:28 +01:00
Mengsk
8327090171 Merge branch 'master' of https://github.com/hathach/tinyusb into stm32_fsdev 2022-12-29 12:14:52 +01:00
Simon Kueppers
d584b07e2c Fixed problem where the transmit byte count was written into the wrong register on ISOCHRONOUS endpoints 2022-12-29 12:13:56 +01:00
Simon Kueppers
510720b396 Renamed pcd_set_ep_rx_cnt because it actually sets the maximum buffer size 2022-12-29 12:13:56 +01:00
Simon Kueppers
9a84390878 Changed comments, added define to fail if ISOCHRONOUS endpoint is not available but requested 2022-12-29 12:13:56 +01:00
Simon Kueppers
ec826732fc Fixed non-aligned allocated memory sizes 2022-12-29 12:13:56 +01:00
Simon Kueppers
abf53f9270 Changed indirection from actual endpoint address to hardware endpoint through lookup table. Allocation of endpoint is now only performed in dcd_edpt_open 2022-12-29 12:13:56 +01:00
Simon Kueppers
8c0388f477 Fixed wrongly enabling RX and TX status simultaneously on ISOCHRONOUS endpoints 2022-12-29 12:13:56 +01:00
Simon Kueppers
d9b2c9934a Implemented an optional callback function that is used instead of tu_edpt_number in the stm32 device driver as a crude tool to control mapping of the endpoint address to actual endpoint register 2022-12-29 12:13:56 +01:00
Simon Kueppers
6d65eaf7a1 Implemented very rudimentary support for isochronous transfer buffer handling 2022-12-29 12:13:55 +01:00
Nathaniel Brough
1dcffc655d fix(fuzz): Make sanitizer flags optional
Currently OSS fuzz expects to have complete control over the
sanitizer flags. As we currently have these set it's causing
problems with the OSS fuzz build. Instead we should use the
provided variables from the OSS fuzz build environment. For
local testing we'll create a set a well defined defaults.
2022-12-28 21:07:29 +00:00
Staacks
95ba158a10 Fix UVC probe and commit on MacOS 2022-12-27 23:02:33 +01:00
Ha Thach
549bee94ad
Merge pull request #1819 from hathach/fix-ncm-warning
fix ncm warning
2022-12-27 19:02:57 +07:00
hathach
d0ca6ca8f7
fix ncm warning 2022-12-27 18:21:56 +07:00
Ha Thach
301b6af6c6
Merge pull request #1801 from tyustli/tyustli_sem_reset
[add] semaphore reset support for rt-thread
2022-12-26 13:09:47 +07:00
Ha Thach
4b5880671c
Merge pull request #1814 from hathach/more-host-cdc
add tuh_cdc_peek()
2022-12-25 00:50:18 +07:00
hathach
48d4a67ec5
add tuh_cdc_peek() 2022-12-24 01:11:13 +07:00
Ha Thach
48f4d8b7f7
Merge pull request #1810 from hathach/fix-cdc-buf
fix incorrect rx buf in cdc
2022-12-22 22:34:20 +07:00
hathach
15a02d04df
fix incorrect rx buf in cdc 2022-12-22 21:35:55 +07:00
Ha Thach
2777df411f
Merge pull request #1809 from hathach/host-cdc
Support Host CDC
2022-12-22 21:29:00 +07:00
hathach
396716cc2c
clean up 2022-12-22 20:26:32 +07:00
hathach
f33883c308
add tuh_cdc_get_local_line_coding() 2022-12-22 19:41:39 +07:00
hathach
14d45b580e
correct host cdc enum 2022-12-22 19:17:09 +07:00
hathach
05c119ce97
cdc host, add set line coding API 2022-12-22 18:28:06 +07:00
hathach
11233e4d3e
minor clean up 2022-12-22 11:43:57 +07:00
hathach
c99af908f1
fix typo 2022-12-22 11:41:27 +07:00
hathach
2d536123c8
finish moving edpt stream to tusb.c 2022-12-22 11:31:37 +07:00
hathach
e3c9d94500
fix stream read count computation 2022-12-22 11:16:39 +07:00
hathach
8323e4b79a
moving edpt_stream API into common tusb.c 2022-12-22 08:52:01 +07:00
hathach
9e8ea44925 add tuh_cdc_write_clear, rename read_flush() to read_clear() 2022-12-21 17:49:50 +07:00
hathach
cd9008e5a9 add tuh_cdc_tx_complete_cb() callback 2022-12-21 13:05:45 +07:00
hathach
84a483f5ea add more host cdc API
tuh_cdc_write_available(), tuh_cdc_read_flush(), tuh_cdc_rx_cb()
callback
2022-12-21 12:47:00 +07:00
hathach
edc559cb4d fix ci 2022-12-21 12:29:51 +07:00
hathach
badb30a6c3 correct cdc host app 2022-12-21 12:25:13 +07:00
hathach
22b62f8712 add tu_edpt_stream_write_zlp_if_needed() 2022-12-21 12:07:12 +07:00
hathach
76021c7359 rename tud_edpt_stream_write_xfer 2022-12-21 11:49:28 +07:00
hathach
b3e63c335a updat cdc host app 2022-12-21 11:47:07 +07:00
hathach
cb2af4c0bc minor debug log 2022-12-21 11:46:58 +07:00
hathach
d1ea3844f7 rename TU_LOG_VAR to TU_LOG_PTR, print out setup of failed control transfer when LOG=1 2022-12-21 11:04:57 +07:00
hathach
37529c41da fix ci 2022-12-21 10:46:47 +07:00
hathach
854e5222ae finalizing cdc host, has a working read/write
TODO: first character seems not to get echoed. set control line state
seems to failed with LOG < 2
2022-12-21 00:26:46 +07:00
Ha Thach
97984b4203
Merge pull request #1803 from jbruneaux31/patch-1
Update osal_freertos.h to fix FreeRTOS wrong task switch
2022-12-20 18:34:04 +07:00
hathach
7004914d8c fix hid host incorrect edpt release if failed to transmit
add CDC_CONTROL_LINE_STATE_DTR/RTS, TUSB_INDEX_INVALID enum
2022-12-20 12:06:59 +07:00
jbruneaux31
a46ad8fcdf
Update osal_freertos.h
Fix FreeRTOS task switch even if not required (unitialized variable usage)
2022-12-19 13:58:54 +01:00
tyustli
e992ff46d2
Update osal_rtthread.h 2022-12-19 17:25:35 +08:00
tyustli
7d76c172db
[add] semaphore reset support for rt-thread
add  semaphore reset support for rt-thread
2022-12-19 17:18:47 +08:00
hathach
fc9321ce26 correct cdc usbh_driver_set_config_complete() 2022-12-16 23:54:21 +07:00
hathach
4811b3463f stub 2022-12-16 17:08:37 +07:00
hathach
bd1f7f86ce add common EPSIZE for bulk/iso in full and highspeed
adding cdc host fifo tx/rx
2022-12-16 17:08:37 +07:00
hathach
f62f973956 minor rename 2022-12-16 17:08:37 +07:00
hathach
f0c51eae44 cdc check for bNumEndpoints before checking for endpoint descriptor 2022-12-16 17:08:37 +07:00
hathach
4f03695084 adding tuh_cdc_mount_cb/tuh_cdc_umount_cb
start adding cdc_app.c to example
2022-12-16 17:08:37 +07:00
Ha Thach
159aa599be
Merge pull request #1799 from hathach/update-osal-mutex
Update osal mutex
2022-12-16 17:05:25 +07:00
hathach
660343d200 update fifo per PanRe review 2022-12-16 16:55:25 +07:00
hathach
1e99480ad2 fix ci with usbh and unit test 2022-12-16 15:19:40 +07:00
hathach
96d2be905b fix build with usbtmc 2022-12-15 18:47:54 +07:00
hathach
88e6da7273 use OSAL_MUTEX_REQUIRED to replace CFG_FIFO_MUTEX/TUSB_OPT_MUTEX
add macro to swallow mutex API in order to simplify code with mutex
2022-12-15 18:03:01 +07:00
Gordon McNab
9f440e5c69 Update SDK for FT9xx to include 3rdparty sources 2022-12-15 10:27:49 +00:00
Ha Thach
ab18b8794f
Merge pull request #1797 from hathach/fix-midi-len
fix midi MS Header wTotalLength computation
2022-12-14 16:24:42 +07:00
hathach
a05adfce86 fix midi MS Header wTotalLength computation 2022-12-14 14:38:40 +07:00
Louis Burda
9e7e8908a3 Fix ifdefs for disabled uart stdio in rp2040 family 2022-12-13 11:00:03 +01:00
hathach
04a5c03ea8 fix int conversion warnings 2022-12-12 11:54:33 +07:00
hathach
ce064de6fd clean up 2022-12-10 00:18:11 +07:00
hathach
82852774a7 add fifo implementation note
- handle/fix double overflowed with write()
- other minor clean upp
2022-12-09 18:20:09 +07:00
hathach
75989673e5 add test_write_double_overflowed for fifo 2022-12-09 15:39:57 +07:00
Ha Thach
f4f85bad54
Merge pull request #1783 from scoudreau/usbtmc-high-speed
usbtmc: correct packet size bug
2022-12-09 09:52:23 +07:00
Ha Thach
ec2902bd3f
Merge pull request #1784 from scoudreau/interrupt-descriptor-polling-interval
Correct interrupt polling interval in descriptor
2022-12-09 09:45:40 +07:00
scoudreau
007ed1f0fe
Added missing typecast to pass build checks 2022-12-08 14:50:34 +01:00
Sebastien COUDREAU
071da47944 Correct interrupt polling interval in descriptor
Use macro argument instead of 0x16 constant value.
At least Linux kernel was complaining about this value:
"config 1 interface 0 altsetting 0 endpoint 0x82 has an invalid bInterval 22, changing to 8"
(warning obtained using usbtmc device config)
2022-12-08 11:44:15 +01:00
Sebastien COUDREAU
15ab35d9b8 usbtmc: correct packet size bug
Code was only reading the first 64 bytes of a 512 bytes packet.
2022-12-08 11:35:32 +01:00
hathach
3e32fa36b8 enhance tu fifo
- rename wr/rd absolute to index, and rel to pointer.
- fix crash with _tu_fifo_remaining()
- change get_relative_pointer() to idx2ptr() and merge with _ff_mod()
2022-12-08 16:39:24 +07:00
hathach
bae7fe5be7 add test fifo overwritable + overflow, that cause buffer overflow 2022-12-08 13:10:24 +07:00
Ha Thach
d4620d99d3
Merge pull request #1716 from silvergasp/master
fuzz: Add support for fuzzing
2022-12-08 12:18:32 +07:00
hathach
c19bffb1d9 clean up 2022-12-08 11:48:53 +07:00
hathach
d0758d0733 correct ci paths filter 2022-12-08 11:47:01 +07:00
hathach
4deec2f4be fix ci 2022-12-08 11:40:43 +07:00
hathach
33ea178cd9 update build fuzzer step 2022-12-08 11:37:13 +07:00
hathach
ffd008dc75 update build fuzzer 2022-12-08 11:36:19 +07:00
hathach
bf8f4f9521 move build Fuzzer into pre-commit 2022-12-08 11:31:39 +07:00
hathach
86a3315bcf update fuzzer ci 2022-12-08 10:42:29 +07:00
hathach
56f846cf74 move fuzz into test/fuzz 2022-12-08 10:39:54 +07:00
hathach
19400c8556 fix typo, add -Wno-error=unreachable-code for fuzz due to latest cdc changes 2022-12-08 10:30:22 +07:00
Nathaniel Brough
6492f4a18d feat(fuzz): Adds net class fuzzer 2022-12-08 10:13:35 +07:00
Nathaniel Brough
9cc93e6d41 .github: Add fuzzer builder 2022-12-08 10:13:35 +07:00
Nathaniel Brough
92b5f2d2e8 fuzz: Add msc fuzz harness 2022-12-08 10:13:35 +07:00
Nathaniel Brough
aedae6201b fuzz: Add support for fuzzing
Adds support for fuzzing with basic cdc fuzzer.
2022-12-08 10:13:35 +07:00
Ha Thach
ab8cfb3d5b
Merge pull request #1781 from hathach/update-unit-test
Update unit test
2022-12-08 10:11:21 +07:00
hathach
a29b3dd690 update .codespell 2022-12-08 10:05:52 +07:00
hathach
34081f6c5c update ci 2022-12-08 10:00:25 +07:00
hathach
be4f4e4f79 move ceedling tests to test/unit-test 2022-12-08 09:59:02 +07:00
hathach
4b50ca2a61 add missing ceedling files 2022-12-08 09:54:15 +07:00
hathach
91d5fa5639 add paths to all workflows 2022-12-08 09:44:26 +07:00
hathach
a3827b87fe test ci paths 2022-12-08 09:30:42 +07:00
hathach
a652212f27 update ceedling to 0.31.1 2022-12-08 09:14:38 +07:00
Ha Thach
d9817ebe17
Merge pull request #1487 from tore-espressif/fix/cdc_autoflush
cdc: Fix autoflush for FIFO < MPS
2022-12-06 14:19:58 +07:00
Tomas Rezucha
603effbb77 cdc: Fix autoflush for FIFO < MPS 2022-12-06 07:49:26 +01:00
Ha Thach
f03c28ec31
Merge pull request #1776 from hathach/hid-fido
Hid fido
2022-12-05 14:32:49 +07:00
hathach
d58120647a rename to match fido sample uf2_hid..h 2022-12-05 13:18:05 +07:00
Ha Thach
71a5906865
Merge pull request #1767 from pete-pjb/master
Allow the use of non-static allocation for FreeRTOS mutexes & queues
2022-12-05 12:45:48 +07:00
hathach
de5a67bf3b clean osal_freertos, update freertos examples to work with configSUPPORT_DYNAMIC_ALLOCATION only
note: for example to build with configSUPPORT_STATIC_ALLOCATION = 0, one
of heap_n.c must be included in makefile/cmake
2022-12-05 12:09:41 +07:00
Ha Thach
279e2d6aeb
Merge pull request #1774 from hathach/add-codespell
Add codespell to ci run
2022-12-04 22:25:54 +07:00
hathach
feed1a83a9 add ignore-words to make it easier to 2022-12-04 21:28:30 +07:00
hathach
b37870c964 test exclude-file.txt, add action concurrency 2022-12-04 21:08:47 +07:00
hathach
b9314bddc5 check exclude file 2022-12-04 20:52:02 +07:00
hathach
e3df3ac5ce add codespell config and ci run 2022-12-04 20:29:24 +07:00
Ha Thach
d6d2499ad6
Merge pull request #1695 from hadess/wip/hadess/fix-typos
Fix typos
2022-12-04 20:26:59 +07:00
hathach
43b255f413 more typos 2022-12-04 19:44:01 +07:00
Bastien Nocera
6a2cf67289 Fix typos 2022-12-04 19:43:23 +07:00
pete-pjb
52261ac02d Back out another of my changes I am still investigating. 2022-12-02 10:13:35 +00:00
pete-pjb
3816869fce Some reverts and changes after discussion. 2022-12-02 10:00:19 +00:00
pete-pjb
c31b95c916 Added CFG_TUSB_MEM_SECTION define to struct _ctrl_xfer in usbh.c 2022-12-01 17:53:35 +00:00
PeterB
ae588d796e Alter tuh_task_ext() function so no need to return when using FreeRTOS 2022-12-01 16:06:15 +00:00
Ha Thach
f24f47d038
Merge pull request #1765 from hathach/rp2040-host-bulk-comment
Rp2040 host bulk comment
2022-12-01 10:10:40 +07:00
Gordon McNab
8cce9385e2 More configurable board options 2022-11-30 16:18:07 +00:00
pete-pjb
25abb10de1 Fix white space issue. 2022-11-30 13:26:59 +00:00
Gordon McNab
d3c4f66d35 Fix script issues with paths including spaces from env variable.
$(FT90X_TOOLCHAIN) or even $(TOP) may have spaces. Quote to fix.
2022-11-30 12:49:15 +00:00
Pete Bone
0ddd5591af
Merge branch 'hathach:master' into master 2022-11-30 13:43:45 +01:00
Gordon McNab
aceab1dcf3
Merge branch 'hathach:master' into port-ft90x 2022-11-30 12:16:52 +00:00
Gordon McNab
1437ad1dfb Add endpoint definitions for more example projects. 2022-11-30 12:15:27 +00:00
hathach
c9c7dfa868
more clean up 2022-11-30 18:59:58 +07:00
hathach
069215c538
white spaces 2022-11-30 18:58:30 +07:00
Gordon McNab
fe63e30a44 Add FT9xx for cdc_dual_ports
Fix handling of interrupt endpoints. i.e. no ZLPs.
Fix the assignation of endpoint types.
Add button support for MM900evx boards.
On board support do not block for UART input.
2022-11-30 11:46:13 +00:00
pete-pjb
d588167a39 Modify FreeRTOS integration to allow non-static allocation. 2022-11-30 11:33:24 +00:00
Ha Thach
2ae6a4d519
Merge pull request #1755 from rppicomidi/fix_1721
Fix RP2040 Issue 1721
2022-11-30 18:00:27 +07:00
Ha Thach
ff26714958
Merge pull request #1756 from benishor/master
Added board description for electro-smith daisy seed
2022-11-30 17:16:19 +07:00
Gordon McNab
7d8d3eca73 Fix transfers issues with FT9xx
Correct USB FIFO use for setup data phases (OUT transfers). We cannot stop traffic on the control endpoint so we set a flag and pull data from host when tinyUSB requests it from the USB FIFO. Extend this for all endpoints although currently not required.
Rename all instances of ft90x which can apply to ft93x as ft9xx.
Add support for the cdc_dual_ports example for ft9xx.
Add LED pin definition for board LED in a simple to access place on the Bridgetek MM900EVx boards.
2022-11-29 18:49:23 +00:00
Gordon McNab
1fce76ad47 Fix issue with the CDC SetLineCoding request
The SetLineCoding would fail as host would send the SETUP OUT phase before tinyUSB had setup a transaction for it. ft9xx port would ignore the transfer since there was no valid transaction setup for it. One SETUP data phase packet is cached now.
2022-11-28 17:41:00 +00:00
Ha Thach
52a9098b31
Merge pull request #1763 from hathach/host-retry-failed-enumeration-request
Retry a few times with transfers in enumeration since device can be unstable when starting up
2022-11-29 00:11:41 +07:00
hathach
be6f6f2c99 increase delay between attempts to 100ms 2022-11-28 23:43:52 +07:00
hathach
b2a3f33046 Retry a few times with transfers in enumeration since device can be unstable when starting up 2022-11-28 23:22:10 +07:00
hathach
5785467016 update pico-pio-usb submodule and its warnings suppress 2022-11-28 23:21:17 +07:00
Gordon McNab
9ccfb384e8 Update to v2.6.0 library 2022-11-24 12:17:55 +00:00
Adrian Scripca
8ef32617ba
Added board description for electro-smith daisy seed 2022-11-24 13:06:25 +02:00
rppicomidi
9825fbe9ac Fix RP2040 Issue 1721 2022-11-23 13:12:31 -08:00
Ha Thach
081e4eecba
Merge pull request #1750 from hathach/rework-host-msc-complete-callback
Rework host msc complete callback
2022-11-23 17:47:52 +07:00
hathach
7298923927 rework tuh_msc_complete_cb_t signature to use new tuh_msc_complete_data_t
add user arg to all scsi command API that support complete callback
2022-11-23 16:01:48 +07:00
hathach
21d552bbdf
allow all host examples to use pico-pio-usb for rp2040 2022-11-23 12:30:10 +07:00
Andrzej Tokarski
b41f5eadb3
Merge branch 'master' into midihost 2022-11-21 21:45:10 +01:00
atoktoto
89eac75085 Explicit type conversion 2022-11-21 13:49:43 +01:00
atoktoto
3ba0311078 Explicit type conversion 2022-11-21 12:36:50 +01:00
Ha Thach
4a2e424103
Merge pull request #1746 from hathach/host-msc-example
Add host msc explorer example
2022-11-21 17:22:52 +07:00
atoktoto
34729b1dc4 Fix usb-hub data transfer problems by AndrewCapon 2022-11-21 10:29:26 +01:00
hathach
a394273ed2
add board_getchar() for non-blocking getchar() 2022-11-21 16:28:54 +07:00
hathach
460bef9dbb
host msc example work well with rp2040 pio-usb 2022-11-21 15:49:38 +07:00
hathach
ba9f88f18c
suppress fatfs cast-qual 2022-11-21 12:33:31 +07:00
hathach
53677d4844
house keeping 2022-11-21 12:28:33 +07:00
hathach
64ecf43663
whitespace 2022-11-21 11:53:15 +07:00
hathach
cab65acc46
add pwd 2022-11-21 11:52:51 +07:00
hathach
51873cd1be
implement rm command 2022-11-21 11:24:58 +07:00
hathach
47bc269b50
fix build with rp2040 and rx65 2022-11-21 11:12:10 +07:00
hathach
2312bfe3c4
implement cp command 2022-11-20 16:40:15 +07:00
Andrzej Tokarski
375e822770
Merge branch 'hathach:master' into midihost 2022-11-19 18:15:00 +01:00
atoktoto
0a844f2a30 Fix usb hubs 2022-11-19 18:08:31 +01:00
hathach
bf69ffb8f7
add mv command 2022-11-19 15:53:55 +07:00
hathach
daeaea9556
add mkdir 2022-11-19 15:37:23 +07:00
hathach
16e1838862
implement cat command 2022-11-19 15:27:07 +07:00
hathach
083ed364ba
add cd command 2022-11-19 13:56:33 +07:00
hathach
bb570e02d6
msc explorer ls work great 2022-11-19 13:44:07 +07:00
hathach
a6001fc8f2
update uart read for lpc18/43 for testing 2022-11-18 21:50:00 +07:00
Ha Thach
95fb11fcff
Merge pull request #1712 from kripton/fixDhserver
dhserver: Support DHCP clients that don't send the MESSAGETYPE as first option
2022-11-18 21:42:39 +07:00
hathach
b00529e287
add msc file explorer example
- add lib/fatfs version 15
- add lib/embedded-cli
2022-11-18 21:39:04 +07:00
Ha Thach
2dc7a62361
Merge pull request #1738 from kaysievers/midi-port-names
MIDI: support port name strings
2022-11-16 16:36:13 +07:00
Ha Thach
67cda9b7f9
Merge pull request #1740 from hathach/add-HiFiPhile-selfhost
Add hifiphile self-hosted
2022-11-16 15:34:05 +07:00
hathach
fc523733c1 more ci warnings 2022-11-16 11:16:40 +07:00
hathach
9b9d841770 fix other ci warnings 2022-11-16 11:11:26 +07:00
hathach
ba0f1a3be5 disable orphan board workflow and minor update to pi4 workflow 2022-11-16 11:01:54 +07:00
hathach
d17eb94e84 only print flash output if failed 2022-11-16 09:36:12 +07:00
hathach
a6d9fda5f9 skip usb msc test 2022-11-16 01:01:03 +07:00
hathach
2f909c284a more flash script 2022-11-15 23:47:24 +07:00
hathach
2fb0cea7e2 more test 2022-11-15 23:37:07 +07:00
hathach
468ec83c1b correct flash.sh creation 2022-11-15 23:07:58 +07:00
hathach
d8badc948f update yml 2022-11-15 18:13:19 +07:00
hathach
931b718289 try running HiFiPhile self-host with stm32l412nucleo 2022-11-15 18:10:41 +07:00
Ha Thach
6c6b7ee2bf
Merge pull request #1727 from HiFiPhile/bsp_412
Add support for STM32L412.
2022-11-15 16:15:09 +07:00
atoktoto
21e003af22 Added explicit conversions 2022-11-13 14:38:33 +01:00
atok
a6d4b64bec Removed unused function prototype 2022-11-13 14:31:12 +01:00
atok
c14e3e2501 Fix unused errors when LOG=0 2022-11-13 14:31:12 +01:00
atok
0763bc5979 Fix printf statement 2022-11-13 14:31:12 +01:00
atok
81de7f3d23 Add Makefile for the midi host example 2022-11-13 14:31:12 +01:00
atok
19563b4414 Simple MIDI rx example 2022-11-13 14:31:12 +01:00
atok
4fbf99621d Get rid of implicit uint conversions 2022-11-13 14:30:53 +01:00
rppicomidi
3325e2613d Make USB MIDI device code allow a device with no Audio Control interface 2022-11-13 14:29:16 +01:00
rppicomidi
70eefcb849 Add hooks to allow cloning an attached USB device descriptor 2022-11-13 14:29:16 +01:00
rppicomidi
2ddd74fada Add MIDI host support to tinyusb 2022-11-13 14:29:16 +01:00
Kay Sievers
abfcdf2cfb MIDI: support port name strings
This allows to set custom descriptive names for virtual MIDI
ports/cables. A MIDI port offers different functionality on
the same physical USB device. The names make it easier to
distinguish one from the other.
2022-11-11 22:48:29 +01:00
Mengsk
da1589f116 Fix FREERTOS USB IRQ priority. 2022-11-08 21:58:51 +01:00
Mengsk
f3f3739073 Fix DCD build. 2022-11-07 13:38:35 +01:00
Mengsk
9d3d8fd5b0 Merge branch 'master' of https://github.com/hathach/tinyusb into bsp_412 2022-11-07 12:47:41 +01:00
Mengsk
1eae139aa9 Add support for STM32L412. 2022-11-07 12:32:36 +01:00
Ha Thach
e434a1dc05
Merge pull request #1718 from hfegran/efm32_freertos_port_fix
Fixed wrong FreeRTOS port for EFM32GG12
2022-11-07 00:05:51 +07:00
Ha Thach
187e57dc81
Merge pull request #1724 from hathach/add-self-host
Add self host
2022-11-07 00:00:44 +07:00
hathach
030b50dce3
final clean up 2022-11-06 23:19:34 +07:00
hathach
a0dc9008a7
remove trigger hardware step 2022-11-06 22:39:09 +07:00
hathach
5d13eb8e7a
move test_hardware into build_arm 2022-11-06 22:33:55 +07:00
hathach
ca4ae61c1c
use gh cli instead of action for workflow dispatch 2022-11-06 22:06:22 +07:00
Ha Thach
a97f6a4945
Merge pull request #1723 from hathach/fix-rp2040-minor
Fix rp2040 minor
2022-11-06 16:02:41 +07:00
hathach
fee90f353f bump up setup python action to v4 2022-11-06 15:17:00 +07:00
hathach
b920155444 minor clean up 2022-11-06 14:56:05 +07:00
hathach
a061bc4173 bump up pico-pio-usb 2022-11-06 14:46:44 +07:00
hathach
44e19aa3c7 rename PIO_USB_PIN_DP to PIO_USB_DP_PIN and change from 2 to 20 & moved to board.h
add support for  PIO_USB_VBUSEN_PIN and its state.
2022-11-06 14:44:56 +07:00
Ha Thach
9e9f331503
Merge pull request #1434 from Skyler84/rp2040-hcd-bulk
Rp2040 hcd bulk
2022-11-05 15:16:36 +07:00
hathach
cb0ca6151b remove CFG_TUSB_DEBUG from tinyusb_common_base 2022-11-04 17:08:02 +07:00
hathach
d2c9b8bcfb fix -wconversion-int and add minor comment 2022-11-04 16:14:35 +07:00
Ha Thach
b554c2ed83
Merge branch 'master' into rp2040-hcd-bulk 2022-11-04 15:42:50 +07:00
Henrik Fegran
38cdeb9e60 Fixed wrong FreeRTOS port for EFM32GG12 2022-11-03 20:23:27 +01:00
Jannis Achstetter
3f3f6eee1c
dhserver: Support DHCP clients that don't send the MESSAGETYPE as first option
Signed-off-by: Jannis Achstetter <kripton@kripserver.net>
2022-11-01 23:42:58 +01:00
Mark K Cowan
dd0350f549
Merge branch 'master' into uac2-interrupt-endpoint 2022-10-26 21:56:32 +03:00
Mark K Cowan
9673d20901 PanRe refactor applied: s{_int_ctr_}{_int_}g; s{_INT_CTR_}{_INT_}g; 2022-10-26 21:43:27 +03:00
Mark K Cowan
15ed45e1a3 clean up descriptor search for interrupt endpoint 2022-10-26 21:40:30 +03:00
Ha Thach
28f49c088b
Merge pull request #1698 from battlesnake/fix-attrs-on-struct-member
do not apply storage attributes to member of struct
2022-10-25 15:23:09 +07:00
Mark K Cowan
025d3477e8 fixed spec reference 2022-10-24 20:41:09 +03:00
Mark K Cowan
815c2cc995 keep alignment spec 2022-10-24 20:36:45 +03:00
Ha Thach
5b1b383d2a
Merge pull request #1676 from tswan-quasi/master
dcd_lpc_ip3511: isochronous support and endpoint accidental write fix
2022-10-24 19:08:58 +07:00
hathach
e3b7ed9ae9 use dummy for all ZLP for ip3511, fix lpc55 build with DEBUG=1 2022-10-24 18:43:21 +07:00
Mark K Cowan
f931983469 UAC2 supports interrupt-endpoint for providing control-change notifications to the host 2022-10-23 13:38:24 +03:00
tswan-quasi
35e1a27c95 unused (void) cast 2022-10-21 15:06:30 -04:00
Ha Thach
bfcdef499a
Merge pull request #1690 from tore-espressif/fix/espressif/iso_transfers
esp: Fix Isochronous transfers
2022-10-22 00:34:38 +07:00
Mark K Cowan
4ec1643bdb do not apply storage attributes to member of struct 2022-10-20 22:46:21 +03:00
tswan-quasi
0b55047081 typo fix 2022-10-20 11:04:49 -04:00
tswan-quasi
fe4278554b dummy buffer only on EP0 OUT ZLPs 2022-10-20 11:02:57 -04:00
Ha Thach
55db123a85
Merge pull request #1696 from kasjer/kasjer/fix-stm32u5-submodules
stm32u5: Fix submodules paths
2022-10-20 16:12:28 +07:00
Jerzy Kasenberg
19208cd88d stm32u5: Fix submodules paths
Local paths were commited to submodule definitions
This just removes prefix for submodules path and name
2022-10-20 11:04:49 +02:00
Ha Thach
39be00975c
Merge pull request #1680 from LynnL4/port-stm32u5xx
Port stm32u5xx
2022-10-19 23:10:30 +07:00
Ha Thach
e79325adec
Merge pull request #1668 from kkitayam/add_support_for_mjpeg
Add support for MJPEG on UVC
2022-10-19 23:10:11 +07:00
Ha Thach
2cd4e27e98
Merge pull request #1523 from maddyaby/dcd_edpt_open
Allow more endpoint packet sizes for SAMD
2022-10-19 22:56:36 +07:00
Ha Thach
08a4988e99
Merge pull request #1691 from hadess/wip/hadess/fix-deps-typo
Fix typo in getting_started guide
2022-10-19 09:10:19 +07:00
Bastien Nocera
8f88ff559e Fix typo in getting_started guide
Fixes: 1234111 ("add get-deps target")
2022-10-18 15:14:45 +02:00
Tomas Rezucha
a49ca795af esp: Fix Isochronous transfers
On ESP32-S2/S3 ISO transfers must be configured for even or odd frame.

Closes https://github.com/hathach/tinyusb/issues/1382
2022-10-18 08:05:13 +02:00
hathach
3f45f37672
minor rename 2022-10-17 23:13:24 +07:00
gaoyichuan
3846d5f38c hid: add configurable report size for fido 2022-10-15 19:22:21 +08:00
gaoyichuan
2a520fb921 hid: add fido hid descriptor templates 2022-10-15 19:07:07 +08:00
Ha Thach
154821acc0
Merge pull request #1646 from battlesnake/feedback-prototype-fix
audio_device: prototype added for function referenced before use
2022-10-14 16:28:26 +07:00
tswan-quasi
2c1ff2673b (void) rhport for unused parameter 2022-10-13 11:48:30 -04:00
LynnL4
4238467b2d Add support for STM32U5 mcu 2022-10-13 17:39:42 +08:00
tswan-quasi
930c68278c double cast of pointer to remove error 2022-10-12 11:16:35 -04:00
kkitayam
53dc9d55b5 Fix pointer type to calculate streaming parameter 2022-10-12 20:41:03 +09:00
kkitayam
2c9b5ddff0 Rename descriptor macros for consistency 2022-10-12 20:07:22 +09:00
tswan-quasi
16f1554a03 lpc55s69 isochronous, dummy address for endpoint buffers to prevent accidental writes 2022-10-11 09:59:28 -04:00
LynnL4
8a89365bb2 Add stm32u5xx offical driver. 2022-10-11 13:50:11 +08:00
Ha Thach
a95fb36f72
Merge pull request #1623 from SudoMaker/master
Initial PIC32MM/MX & PIC24 support
2022-10-10 20:18:01 +07:00
Ha Thach
b75d44c3ae
Merge pull request #1664 from mingpepe/master
Fix typo for log in dcd_rp2040.c
2022-10-10 20:15:32 +07:00
kkitayam
aed8051f50 Add motion jpeg 2022-10-08 21:53:32 +09:00
kkitayam
4be7ffd63f Fix max payload size to clip at 1023 2022-10-07 21:30:03 +09:00
kkitayam
3499aa2b21 Fix pointer 2022-10-06 21:10:27 +09:00
ReimuNotMoe
8096afc6de Microchip PIC24/dsPIC33 device mode support 2022-10-06 03:45:51 +08:00
mingpepe
988eeb50c6
Fix typo for log in dcd_rp2040.c 2022-10-05 21:26:22 +08:00
kkitayam
ee832e4e37 Fix descriptor searching 2022-10-03 21:41:58 +09:00
Mark K Cowan
6c3c2df823 audio_device: prototype added for function referenced before use 2022-09-17 21:27:04 +03:00
Ben Avison
73f22e31c7 [rp2040] Wrap GCC pragmas in #ifdef __GNUC__
IAR generates warning Pe161 'unrecognized #pragma'.
2022-09-13 18:00:51 +01:00
Ben Avison
01edbb8af6 IAR doesn't support __attribute__((fallthrough))
IAR generates warning Pa167 'the "fallthrough" attribute is not supported'.
It doesn't generate warnings when one switch case falls through to another,
so simply make TU_ATTR_FALLTHROUGH expand to an empty string.

Also replace one instance of __attribute__ with the macro.
2022-09-13 18:00:51 +01:00
Ben Avison
62d90c8500 Move variable into its own curly-brace scope
IAR generates warning Pe546 'transfer of control bypasses initialization of
variable "invInvTag"'.
2022-09-13 18:00:51 +01:00
Ben Avison
caff3b5c54 Remove unused static data
This affects struct rspMsg in usbtmc_app.c (unconditionally) and uint8_t
termChar in usbtmc_device.c (when NDEBUG is defined). IAR generates warning
Pe550 'variable was set but never used'.
2022-09-13 18:00:51 +01:00
Ben Avison
6a2d01bae4 Don't assume different enum types can be combined
IAR generates warning Pa089 'enumerated type mixed with another enumerated
type'.
2022-09-13 18:00:51 +01:00
Ben Avison
53f0d5538b Don't assume ints automatically convert to enums
IAR generates warning Pe188 'enumerated type mixed with another type'.
2022-09-13 18:00:50 +01:00
Ben Avison
65ba15c37d Remove unreachable code
IAR generates warning Pe111 'statement is unreachable'. In a couple of
cases, replace return statements with TU_ATTR_FALLTHROUGH; because some
compilers apparently can't figure out that the return statements are
unreachable but do whinge about an imagined fall-through without them!
2022-09-13 18:00:50 +01:00
Ben Avison
16518dcbbb Refactor pointer arithmetic on void*
This is a GCC extension, illegal in ISO C. IAR generates errors Pa152
'these operand types cannot be used here' and Pe852 'expression must be a
pointer to a complete object type'.

Replace with uint8_t*.
2022-09-13 18:00:49 +01:00
kkitayam
1debf62707 Fix compile errors 2022-09-13 21:22:02 +09:00
kkitayam
e80714740c Change images to MJPEG 2022-09-13 21:22:02 +09:00
Ha Thach
111515a29c
Merge pull request #1629 from jmark1m/master
Fix bug #1628 by preventing shared irq slots for filling up
2022-09-13 15:08:12 +07:00
Ha Thach
7ba950c006
Merge pull request #1642 from kasjer/kasjer/nrf5x-fix-out-iso-packet-size-report
nrf5x: Fix reception of large ISO packets
2022-09-13 14:57:01 +07:00
Jerzy Kasenberg
3133cacc6a nrf5x: Fix reception of large ISO packets
ISO packet size is up to 1023 for full speed device.
Upon completion of ISO reception, reported length of incoming packet
was truncated to one byte only.
This results in incorrect data stream for higher bit rates
48 samples * 4 bytes per sample * 2 channels = 384 bytes of data
and 128 was reported.

There is no change in logic extending xact_len to uint16_t fixes the issue.
2022-09-13 08:11:56 +02:00
Ha Thach
6393412380
Merge pull request #1641 from hathach/fix-1634
re-added code in pr 1438 to fix compile with h7 with 1 usb otg
2022-09-13 11:46:32 +07:00
hathach
7a48b1f0d1 re-added code in pr 1438 to fix compile with h7 with 1 usb otg 2022-09-13 11:04:48 +07:00
Ben Avison
6dfc857b91 [rp2040] Explicit cast value of hw_set_alias
Some compilers don't support the GNU extension `typeof` so their definitions
of `hw_set_alias` can't inherit their type from their argument, and the best
we can do is have `hw_set_alias` act the same as `hw_set_alias_untyped`.
This requires an explicit cast when the macro is used instead, otherwise
IAR generates error Pe132 'expression must have pointer-to-struct-or-union
type but it has type "void *"'.

The same goes for `hw_clear_alias`.
2022-09-12 18:46:09 +01:00
Ben Avison
e5355d0335 [rp2040] Remove non-portable return statements
IAR generates error Pe118 'a void function may not return a value'.
2022-09-12 18:46:09 +01:00
Ben Avison
d28ff1175d IAR declares strncasecmp in string.h not strings.h
strings.h is not an ISO header file, so IAR generates fatal error Pe1696
'cannot open source file "strings.h"'. Even though strncasecmp isn't an
ISO C library function, IAR's runtime library defines it, though it
declares it in string.h instead.
2022-09-12 18:46:01 +01:00
jmark1m
0931b52b66 Fix bug #1628 by preventing shared irq slots for filling up 2022-09-07 15:10:44 -05:00
ReimuNotMoe
c5992edc7d Initial PIC32MM/MX & PIC24 support 2022-09-03 05:19:50 +08:00
Ha Thach
b624664f52
Merge pull request #1614 from kasjer/kasjer/fix-nrf5x-with-iso
nrf5x: Fix endpoint internal state when closed
2022-08-26 13:47:36 +07:00
Jerzy Kasenberg
5e3cfe7b57 nrf5x: Fix endpoint internal state when closed
Field started (regardind transfer) was only cleaed when transfer
was finished.
For audio devices set interface is called many times.
When there is no audio (silence) set interface requests zero
lenght bandwithd that in turn calls dcd_edpt_close().

When endpoint is closed due to set interface request transfer
should not longer be started since it will block next start transfer
with assert.

This just sets 'started' to false when endpoint is closed.
2022-08-26 08:10:15 +02:00
Ha Thach
101cbf6e31
Merge pull request #1613 from Lan-Hekary/video-descriptors-fix
Remove Hardcoded interface numbers from video descriptors
2022-08-25 18:44:22 +07:00
Ahmed El-Sharnoby
8a537a0092
Remove Hardcoded interface numbers from video descriptors
Removing the Hardcoded interface numbers from the video descriptors allow the user to add other interfaces before or after the Video Control Interface and Video Streaming Interface
2022-08-23 17:18:32 +02:00
Ha Thach
e3b4d3f406
Merge pull request #1611 from hathach/fix-release-body
try to fix release body in tinyusb_src (not tested)
2022-08-23 14:44:02 +07:00
hathach
660e8f50a7
try to fix release body in tinyusb_src (not tested) 2022-08-23 14:43:09 +07:00
Ha Thach
9e91b02ec7
Merge pull request #1609 from hathach/release-0.14.0-p2
update repository.yml
2022-08-23 13:15:11 +07:00
hathach
3e815c709c
update repository.yml 2022-08-23 12:00:20 +07:00
Ha Thach
05e19b7848
Update feature_request.yml 2022-08-19 23:57:39 +07:00
Ha Thach
f6c1ce5b1c
Merge pull request #1569 from hathach/release-0.14.0
increase version to 0.14.0 for release
2022-08-19 21:13:09 +07:00
hathach
961e83e083
more docs update 2022-08-19 17:14:53 +07:00
Ha Thach
792b2fb956
Merge pull request #1603 from Ryzee119/hub_improv
Host hub clear port and device interrupts
2022-08-17 15:03:48 +07:00
Ryzee119
2b2354d302 Hub: Clear other port feature changes 2022-08-16 18:25:46 +09:30
Ryzee119
3c7b5dcaff Hub: Handle hub device status change interrupt 2022-08-16 18:25:43 +09:30
Ha Thach
585f37a797
Merge pull request #1489 from kasjer/kasjer/fix-nrf5x-dma-access
nrf5x: Fix DMA access
2022-08-15 21:30:39 +07:00
Ryzee119
aafea8ef5d Hub: Rename port status callback to be more generic 2022-08-15 17:43:04 +09:30
Ryzee119
5efef4393c Hub: Expand hub helpers to handle device events 2022-08-15 17:42:56 +09:30
Ha Thach
8a28e7cd75
Merge pull request #1597 from kasjer/kasjer/dfu-coexistence
dfu: Allow DFU coexistence with other interfaces (BTH, RNDIS, future one)
2022-08-10 12:45:22 +07:00
Ha Thach
7ade0d0ce4
Merge pull request #1588 from majbthrd/stm32l052
add 'stm32l052dap52' (STM32L052K8 MCU) board target
2022-08-10 12:41:29 +07:00
Jerzy Kasenberg
c7469ce986 dfu: Allow DFU coexistence with other interfaces
dfu_moded_open() only works correct when its called on DFU interface
descriptor. It means that DFU is the only one interface in configuration
or driver is called after all others interface drivers were tried and
gave up.

If other interface is supported and but driver for DFU is called first
(this is the case for BTH and RNDIS).
Code after while loop (that was not entered) has an TU_ASSERT that will
make set_configuration to fail.

Now TU_VERIFY is called first to make sure open code is called for DFU
only and not other interface descriptors like in other drivers.
2022-08-09 10:42:30 +02:00
Peter Lawrence
d1c61e33a6 add 'stm32l052dap52' (STM32L052K8 MCU) board target
'dap52' is Olimex's name of their STM32L052-based fork of 'dap42'
2022-08-03 12:31:37 -05:00
Ha Thach
251ce98990
Merge pull request #1586 from hathach/fix-TUD_OPT_HIGH_SPEED
fix issue with TUD_OPT_HIGH_SPEED
2022-08-01 15:51:54 +07:00
hathach
a219ba86ea
fix issue with TUD_OPT_HIGH_SPEED 2022-08-01 14:52:29 +07:00
hathach
fe7fca7abb
minor clean up 2022-08-01 14:42:58 +07:00
hathach
4a47db97eb
test hw dfu_runtime 2022-07-29 11:32:17 +07:00
hathach
aa8880c681
clean up 2022-07-28 22:13:39 +07:00
hathach
292dea408f
add dfu test 2022-07-28 21:27:38 +07:00
hathach
cbb7c9f313
fix hw test 2022-07-28 13:31:42 +07:00
hathach
d36ea6ddc1
update issue template 2022-07-28 12:23:01 +07:00
hathach
229a1c1458
update hw test 2022-07-28 11:37:09 +07:00
hathach
e01b437af5
more hw test 2022-07-28 11:10:54 +07:00
hathach
2d5be43747
fix typo 2022-07-27 20:31:57 +07:00
hathach
4411579ae0
ci update 2022-07-27 16:34:22 +07:00
hathach
05ccd6c32b
more hw test update 2022-07-27 15:44:21 +07:00
hathach
1ff0c7a52b
sleep 0.2 for new image take affect 2022-07-27 15:20:56 +07:00
hathach
f5f2433c5a
wait for enumeration before test 2022-07-27 12:08:50 +07:00
hathach
95c0262cd6
update test 2022-07-26 23:14:27 +07:00
hathach
d15a86bc69 test flash and hw test with cdc msc 2022-07-26 16:49:51 +07:00
hathach
0be6db50f8 test self-hosted 2022-07-26 16:31:07 +07:00
hathach
23ea8d1e25 update doc 2022-07-25 22:27:33 +07:00
Ha Thach
fd5bb6e5db
Merge pull request #1514 from maddyaby/audiod_typo
Fix typo in audiod_rx_done_cb in audio_device.c
2022-07-19 17:10:45 +07:00
hathach
b0b155c949
increase version for release
along with minor doc update
2022-07-19 12:28:52 +07:00
Ha Thach
ed2e587ace
Merge pull request #1568 from hathach/revert-hid-callback-len-temporarily
temporarily revert len back to uint8_t in tud_hid_report_complete_cb() 0.14.0 release
2022-07-19 12:16:32 +07:00
Ha Thach
2110e27678
Merge pull request #1531 from pigrew/usbtmc_highspeed
USBTMC: Fixes and support for high-speed USB
2022-07-18 22:20:43 +07:00
hathach
b495d6f8ec
temporarily revert len back to uint8_t in tud_hid_report_complete_cb() for up coming release 2022-07-17 22:56:07 +07:00
Ha Thach
868f2bcda0
Merge pull request #1554 from kilograham/rp2040_warning2
Rework CMake example warnings some more
2022-07-14 21:53:34 +07:00
hathach
7e4c0f64cd
abtract attribute fallthrough 2022-07-14 18:39:47 +07:00
graham sanderson
4bd47bcb99 disable bad gcc 6 warning 2022-07-12 13:29:47 -05:00
graham sanderson
fc1a27b6c9 RP@040: rework CMake for compiler warnings 2022-07-12 12:58:30 -05:00
Ha Thach
1a8c3a863b
Merge pull request #1552 from hathach/fix-old-gcc
Fix warnings when compiling rp2040 with older version of gcc
2022-07-12 11:08:19 +07:00
hathach
4ea27acd1d minor update to webusb serial example 2022-07-12 01:55:33 +07:00
hathach
345558307d fix incorrect null-dereference warnings when compiling with gcc7 2022-07-12 00:50:52 +07:00
hathach
bb5dbd2da8 only enable warnings with approriate gcc version for rp2040 2022-07-11 23:57:34 +07:00
Ha Thach
0bfb9d62de
Merge pull request #1543 from robert-hh/1170_0.13.0
mimxrt: Change the definitions for MIMXRT boards.
2022-07-11 15:53:24 +07:00
hathach
6da1e93edd
fix rt1050 evk build with latest mcu-sdk 2022-07-11 14:21:19 +07:00
hathach
19768936ae
bump up mcux-sdk for rt11xx, add back OPT_MCU_MIMXRT11XX 2022-07-11 14:01:18 +07:00
NConrad
54250d7dd5 USBTMC: explicit type conversions fix 2022-07-09 17:50:17 -04:00
Ha Thach
ecb899408b
Merge pull request #1544 from hathach/ci-parallel-build
Ci parallel build
2022-07-01 20:52:46 +07:00
hathach
53db23142a add get-dependencies.py 2022-07-01 17:23:14 +07:00
hathach
5323472afd update get-deps for ci 2022-07-01 16:37:34 +07:00
hathach
12341118e3 add get-deps target
update ci to get-deps first
2022-07-01 16:24:58 +07:00
robert-hh
ec6f56768a mimxrt: Change OPT_MCU_MIMXRT1xXX to OPT_MCU_MIMXRT.
Which fits both MIMXRT10XX and MIMXRT11XX.
2022-07-01 09:04:36 +02:00
robert-hh
60c1750a9b mimxrt: Add/change definitions for MIMXRT11XX boards.
These are mostly identical to the MIMXRT10XX, with one tiny difference.
2022-06-30 22:21:31 +02:00
Ha Thach
68c2012ed1
Merge pull request #1540 from phryniszak/master
Define CFG_BOARD_UART_BAUDRATE in CMake
2022-07-01 01:07:31 +07:00
Ha Thach
2754c641cb
Merge pull request #1542 from hathach/fix-rp2040-remote-wakeup
rp2040 enable SOF as resumed signal when remote wakeup
2022-06-30 16:27:10 +07:00
hathach
9ec92ff97b
rp2040 enable SOF as resumed signal when remote wakeup 2022-06-30 15:45:04 +07:00
Pawel Hryniszak
023191be23
Let to define CFG_BOARD_UART_BAUDRATE in CMake 2022-06-29 20:28:22 +01:00
hathach
8f9ecace4d
update build_board.py to parallel build 2022-06-29 21:06:02 +07:00
hathach
d5d5a6437c
more parallel ci 2022-06-29 18:23:45 +07:00
hathach
8d07ea7ce5
build_family.py in parallel 2022-06-29 16:39:19 +07:00
Ha Thach
19956f070d
Merge pull request #1539 from hathach/improve-ci
Improve ci
2022-06-29 16:27:17 +07:00
hathach
158b3d761d fix xmc4000 build 2022-06-29 15:27:24 +07:00
hathach
4da1a9359d fix build with fomu/fomu 2022-06-29 15:12:01 +07:00
hathach
5a378703fb fix end symbol for samx7x and same5x 2022-06-29 15:05:09 +07:00
hathach
7949a4ec7c skip freertos example for F1C100S 2022-06-29 14:12:58 +07:00
hathach
a62c2640b5 remove redundant rp2040 boards, all boards supported by pico-sdk already supported 2022-06-29 14:08:01 +07:00
hathach
1e00fe78c7 use action gcc 2022-06-29 14:07:00 +07:00
hathach
8fe9022a6e fix buid_board.py script 2022-06-29 14:06:44 +07:00
Ha Thach
39069cf4be
Merge pull request #1538 from kilograham/another_compiler_wawrning
Fix actual compiler warning on gcc 10.3.1
2022-06-29 13:47:42 +07:00
graham sanderson
b12863d27c Fix actual compiler warning on gcc 10.3.1 2022-06-29 07:28:35 +01:00
Ha Thach
3681ad2941
Merge pull request #1521 from kilograham/rp2040_warning
Re-add some warning suppression for rp2040
2022-06-29 11:39:05 +07:00
Ha Thach
c7fce32dff
Merge pull request #1535 from robert-hh/samd_xfer_lockup
samd: Fix a lock-up situation at high traffic.
2022-06-28 20:36:04 +07:00
hathach
898b52be45 update rp2040 warnings
- remove "-Wno-stringop-overflow -Wno-array-bounds"
- skip -Wconversion for gcc 9 and prior
- suppress_tinyusb_warnings only when building with gcc 9 and below
2022-06-28 16:27:44 +07:00
hathach
83602ea123 Merge branch 'master' into rp2040_warning 2022-06-28 13:34:47 +07:00
graham sanderson
4057c2d8d9 rework suppress_tinyusb_warnings
* gcc 9.2.1 has some spurious -Wconversion warnings
* cmake 3.18 and above require set_target_properties to be added from the target directory (so added it to all examples)
* fixed a few warnings in a couple of examples
2022-06-27 22:43:41 +01:00
robert-hh
bc4da2047b samd: Fix a lock-up situation at high traffic.
This PR fixes a transmit lock-up, which happens, when data is received
and sent at the sime time at moderate to high speeds, like code
which just echoes incoming data.

In my case, an issue was reported here:
https://github.com/micropython/micropython/issues/8521
2022-06-27 20:31:44 +02:00
Ha Thach
3ead682af0
Merge pull request #1534 from hathach/add-more-warnings
Add more warnings
2022-06-27 22:27:24 +07:00
hathach
25580b4fe9 use forloop to avoid -Warray-bounds with host setup packet 2022-06-27 21:05:41 +07:00
hathach
9c56f70111 suppress error with net example 2022-06-27 20:30:47 +07:00
hathach
dd7a17c345 prevent error on specific warnings for net lwip & dual example for rp2040 2022-06-27 17:53:42 +07:00
hathach
a0ef489890 fix all warnings with host rp2040 2022-06-27 17:11:24 +07:00
hathach
6522a8150e fix all device examples warnings 2022-06-27 13:48:47 +07:00
hathach
1a1f633922 Merge branch 'master' into add-more-warnings 2022-06-27 12:50:50 +07:00
Ha Thach
bc0f5502e2
Merge pull request #1533 from hathach/hid-report-len-uint16
Hid report len uint16
2022-06-27 12:47:08 +07:00
hathach
556b5d5044 change report len in hid API from uint8_t to uint16_t
since HS interrupt endpoint can be up to 1024, 8-bit is not enough.
affected APIs are:
- tud_hid_n_report() / tud_hid_report()
- tud_hid_report_complete_cb()
2022-06-27 12:22:36 +07:00
hathach
0b3503cb33 clean up usbd log level 2022-06-27 11:56:48 +07:00
hathach
b9dc9dbd78
fix most warnings with rp2040 -wconversion 2022-06-27 11:50:17 +07:00
NConrad
c675debfb2 USBTMC: Handle busy interrupt in. 2022-06-26 14:34:34 -04:00
NConrad
239b5d5279 USBTMC: Manually stall and unstall EP when clear(ENDPOINT_HALT) is received. 2022-06-24 23:06:32 -04:00
NConrad
3d4d37375b USBTMC: Update test python code to use the new pyvisa namespace, and other misc fixes 2022-06-24 21:24:31 -04:00
hathach
0042eccb3b
fix redundant-decls warnings by usbd/usbh 2022-06-24 22:52:11 +07:00
hathach
1d6918ce41
suppress redundant-decls warnings for freertos examples 2022-06-24 21:53:46 +07:00
hathach
835ab01cab
fix stm32 g4 and wb build issue with freertos, also add them to ci build 2022-06-24 21:52:51 +07:00
hathach
4f6e770eda
add more warning option, also fix -Wconversion with rp2040
-Wuninitialized, -Wunused,  -Wredundant-decls
2022-06-24 19:46:19 +07:00
Ha Thach
4639cac85c
Merge pull request #1526 from ccrome/chc-add-teensy-41
Added The Teensy 4.1 board
2022-06-22 11:22:44 +07:00
NConrad
4a9fe813a8 Update USBTMC descriptors to support high speed, set USB version to 2.0.0 for all cases. 2022-06-21 22:31:09 -04:00
NConrad
e9c29e6a2d Update USBTMC driver to support dynamic packet sizes (based on descriptor). 2022-06-21 21:27:52 -04:00
caleb crome
742b99f689 Added The Teensy 4.1 board
The Teensy 4.1 board has an 8MB W25Q64JV as opposed to the 2MB flash
on the Teensy 4.0.  This largely doensn't matter for TinyUsb, except
when you attempt to access any memory in the flash above the 2MB
boundary, when it fails with a hard fault.
2022-06-21 11:12:39 -07:00
Ha Thach
070382d599
Merge pull request #1509 from liamfraser/rp2040_hcd_improvements
RP2040 HCD Improvements (Hub + Keyboard + Mouse working)
2022-06-21 15:55:02 +07:00
Ha Thach
ae8b8f0c93
Merge pull request #1515 from maddyaby/dcd_edpt_close
Stub out dcd_edpt_close for samd
2022-06-18 12:40:39 +07:00
Ha Thach
b4e62d1cda
Merge pull request #1518 from mingpepe/master
Fix typo for log format
2022-06-18 12:39:16 +07:00
maddyaby
2cc2a90215 Allow more endpoint packet sizes for SAMD
Tested on SAMD51 - we can allow more packet sizes by checking that the set size value is greater than the requested packet size instead of exactly the same.
2022-06-17 16:07:32 -07:00
graham sanderson
2f7f3e604e Re-add some warning suppression for rp2040 2022-06-17 12:54:28 -05:00
Ha Thach
d09d0b3147
Merge pull request #1519 from kilograham/rp2040_shared_handler
rp2040: use shared IRQ handlers, so user can also hook the USB IRQ
2022-06-17 22:17:42 +07:00
graham sanderson
c45118dacf rp2040: use shared IRQ handlers, so user can also hook the USB IRQ 2022-06-17 09:13:40 -05:00
mingpepe
1001d2da40
Fix typo for log format 2022-06-17 16:50:24 +08:00
Ha Thach
e0d7c16788
Merge pull request #1516 from hathach/fix-example-with-highspeed
correct bulk size for highspeed endpoint in dynamic_configuration and usbtmc exmaples
2022-06-17 15:11:55 +07:00
hathach
905a0b2457 correct bulk size for highspeed endpoint in dynamic_configuration and usbtmc exmaples 2022-06-17 14:37:35 +07:00
maddyaby
05fc2fa7a6 Stub out dcd_edpt_close for samd
Not having this prevents the device from finishing the mounting process.

Tested on a SAMD51 and didn't seem to need to actually do anything in the close function.
2022-06-16 16:57:20 -07:00
Maddy
e9089b993f Fix typo in audiod_rx_done_cb in audio_device.c 2022-06-16 16:22:55 -07:00
Ha Thach
80121303eb
Merge pull request #1512 from kilograham/make_ram_code_optional
rp2040: make moving 1K of code into RAM optional - and off by default
2022-06-16 23:30:29 +07:00
graham sanderson
c5ba4af25b rp2040: make moving 1K of code into RAM optional - and off by default 2022-06-16 11:04:48 -05:00
Ha Thach
d7b579a978
Merge pull request #1480 from Ryzee119/multihub_rebase
Host: Add support for multi-level usb hubs
2022-06-16 16:33:48 +07:00
hathach
2036a0b62a update readme 2022-06-16 14:41:10 +07:00
hathach
f4a7b5b80c add note for recursive calls of process_device_unplugged() in case of hub 2022-06-16 14:37:57 +07:00
Liam Fraser
19d054f789 hcd_rp2040 improvements:
- Stall now has priority over other interrupt responses
 - Delete eunused hcd_edpt_busy
 - Assert !ep->active when trying to start a new xfer
 - Assert !ep->active when handling buff_status bits
 - Set ep->xferred_len to 8 once a setup packet is finished so the data
structure is accurate
2022-06-13 16:19:11 +01:00
Ha Thach
eb7d359efc
Merge pull request #1506 from hathach/more-dynamic-rhport
more dynamic controller for host
2022-06-10 15:24:26 +07:00
hathach
040ef0640d more dynamic controller for host 2022-06-10 14:53:03 +07:00
Ha Thach
96fecedabe
Merge pull request #1505 from hathach/revert-sof-rename
revert sof_isr driver rename since it cause issue with existing code
2022-06-10 12:00:42 +07:00
hathach
8451d05c50 revert sof_isr driver rename since it cause issue with existing code
also removed commented tud_sof_isr_set() API
2022-06-10 01:45:48 +07:00
Ha Thach
806806d61b
Merge pull request #1501 from hathach/more-rp2040-ramfunc
make all hcd/dcd function used in isr into ram
2022-06-08 17:29:19 +07:00
hathach
dd035b0eb2 make all hcd/dcd function used in isr into ram with __no_inline_not_in_flash_func() for faster irq handling
result is 1KB of code moved from rom -> ram
2022-06-08 16:08:53 +07:00
Ha Thach
8c4b142b9e
Merge pull request #1498 from hathach/add-tuh_config-port-specific-setup
add tuh_configure() for port/dynamic host behavior config
2022-06-08 15:36:37 +07:00
hathach
8cbc34de11 add tuh_configure() for port/dynamic host behavior config 2022-06-08 01:17:01 +07:00
Ha Thach
896c707cd4
Merge pull request #1496 from hathach/rp2040-sof-fastfunc
add TU_ATTR_FAST_FUNC for audio sof isr call chain
2022-06-07 13:38:26 +07:00
hathach
06392247eb add TU_ATTR_FAST_FUNC for audio sof isr call chain 2022-06-07 11:50:50 +07:00
Ha Thach
a03a03d74e
Merge pull request #1495 from hathach/enhance-tusb-config
Better support multiple controllers configuration
2022-06-07 01:13:08 +07:00
hathach
7c8278303b update all host examples 2022-06-06 23:16:49 +07:00
hathach
9794a2b865 more example update 2022-06-06 22:41:04 +07:00
hathach
f4c80dd218 clean up example to use CFG_TUD_ENABLED + CFG_TUD_MAX_SPEED instead of CFG_TUSB_RHPORT0_MODE 2022-06-06 17:35:17 +07:00
Ha Thach
afd9b1883d
Merge pull request #1481 from cr1901/msp430-misopt-fix
msp430x5xx: Add fix for possible bug in msp430-elf-gcc 9.3.0.
2022-06-06 15:37:45 +07:00
hathach
1b08672945 more ci fix 2022-06-06 13:25:48 +07:00
hathach
7187cd9a85 fix ci, remove use of CFG_TUSB_RHPORT0_MODE in bsp 2022-06-06 12:51:10 +07:00
hathach
f626916a57 update all dwc2 ports to support new dynamic controller support 2022-06-04 23:52:12 +07:00
Ryzee119
7df7590f7f Hub: Remove multi-level hub bypass 2022-06-04 18:58:20 +09:30
hathach
31134f41a1 make dwc2 stm32 rhport support dynamic 2022-06-03 17:24:28 +07:00
hathach
2571211957 remove static port defined for device/host 2022-06-03 11:32:09 +07:00
Jerzy Kasenberg
8b37aa1579 nrf5x: Fix DMA access
There were two problems:
- dma_running flag could be checked in USB interrupt (not set yet) then higher priority
  interrupt could start transfer, check dma_running (not set yet) set it to true start
  DMA; then when USB interrupt continues it starts another DMA that is not allowed
- when DMA is started some registers can't be safely accessed, read can yield invalid
  values (SIZE.EPOUT, SIZE.EPISO)
  current implementation could start DMA for one OUT endpoint then check that another
  endpoint also has data and while DMA was not started right away, SIZE.EPOUT was copied
  already to MAXCNT register. Later on when DMA was started not all data was read from
  endpoint due to incorrect DMA size previously set.

To prevent both cases dma_running is changed in atomic way.
Only code that actually set this value to true starts DMA, code that tried and
had dma_running flag already set simply defers DMA start to USB task.
This eliminates also need to have mutex that was there to limit access to dma_running flag
to one task only.
transfer also now has started flag that is set only after dcd_edpt_xfer() sets up total_len
and actua_len. Previously USB interrupt was disabled when total_len and actual_len were
setup to prevent race condition when data arrived to ednpoint before transfer was setup
was finished.
2022-06-02 17:23:35 +02:00
hathach
8b9cf152a0 rhport argument in usbd_ API() is not used (always use the initialized port)
remove the usage of TUD_OPT_RHPORT in class driver
2022-06-02 16:51:17 +07:00
Rafael Silva
ea81d22f18 add __evenaccess keyword for CCRX compiler compatibility
Signed-off-by: Rafael Silva <rafaelsilva@ajtec.pt>
2022-06-02 09:35:30 +01:00
Rafael Silva
fbc2979428 fix iso int register typo
druing the renaming int and iso endpoint configurations were swapped

Co-authored-by: Koji KITAYAMA <45088311+kkitayam@users.noreply.github.com>
2022-06-02 09:35:30 +01:00
Rafael Silva
79fd23974c fix host preprocessor flag typo
Co-authored-by: Koji KITAYAMA <45088311+kkitayam@users.noreply.github.com>
2022-06-02 09:35:30 +01:00
Rafael Silva
60aae59eeb style code for consistency with existing codebase 2022-06-02 09:35:30 +01:00
Rafael Silva
e0220c6594 fix int handling for host in ek_ra4m3 port 2022-06-02 09:35:30 +01:00
Rafael Silva
c529d0b440 remove duplicate link register bit macros
Signed-off-by: Rafael Silva <rafaelsilva@ajtec.pt>
2022-06-02 09:35:30 +01:00
Rafael Silva
e7027efe7a add contributions to docs
Signed-off-by: Rafael Silva <rafaelsilva@ajtec.pt>
2022-06-02 09:35:30 +01:00
Rafael Silva
4c89776a27 add renesas ek-ra4m3 board port
Signed-off-by: Rafael Silva <rafaelsilva@ajtec.pt>
2022-06-02 09:35:30 +01:00
Rafael Silva
0bf0e0b35f add renesas ra mcu family to supported devices docs
Signed-off-by: Rafael Silva <rafaelsilva@ajtec.pt>
2022-06-02 09:35:30 +01:00
Rafael Silva
a936bafb8c add support for renesas ra family of mcus
Signed-off-by: Rafael Silva <rafaelsilva@ajtec.pt>
2022-06-02 09:35:30 +01:00
Rafael Silva
2a17a7e8f8 rework make freertos port handling
this allows ports to specify a freertos port outside the FreeRTOS-Kernel lib directory, which would otherwise not be possible

Signed-off-by: Rafael Silva <rafaelsilva@ajtec.pt>
2022-06-02 09:35:30 +01:00
Rafael Silva
03777f4a46 generalize renesas LINK core driver
create local register access struct and move mcu specific code
	in preparation of support for other mcu families that use the LINK usb core

Signed-off-by: Rafael Silva <rafaelsilva@ajtec.pt>
2022-06-02 09:35:30 +01:00
Rafael Silva
dcadbf3364 rename renesas driver to link
link was chosen according to the name for the usb core on datasheets, LINK core

Signed-off-by: Rafael Silva <rafaelsilva@ajtec.pt>
2022-06-02 09:35:30 +01:00
Rafael Silva
f2e8a60e6d add .vscode to gitignore
Signed-off-by: Rafael Silva <rafaelsilva@ajtec.pt>
2022-06-02 09:35:30 +01:00
Rafael Silva
0ee74a71e2 add renesas fsp submodule
Signed-off-by: Rafael Silva <rafaelsilva@ajtec.pt>
2022-06-02 09:35:28 +01:00
hathach
99c1585ed2 rename board specific macro for example
- BOARD_DEVICE/HOST_RHPORT_NUM to  BOARD_TUD/H_RHPORT
- BOARD_DEVICE/HOST_RHPORT_SPEED to  BOARD_TUD/H_MAX_SPEED
2022-06-01 23:53:40 +07:00
Ha Thach
b6a8d0dd71
Merge pull request #1485 from tfx2001/patch-1
Fix compile error
2022-06-01 23:26:57 +07:00
tfx2001
54d7790e8b
fix compile error 2022-06-01 21:37:26 +08:00
Ha Thach
d1d6bd2831
Merge pull request #1483 from hathach/clean-rp2040-net-example
remove cmake compile macro for net example (use lwipopts.h instead)
2022-06-01 16:17:46 +07:00
hathach
ea8a9e0249 remove cmake compile macro for net example (use lwipopts.h instead) 2022-06-01 15:10:05 +07:00
Ha Thach
fd8afc7e3b
Merge pull request #1454 from Iktek/bugfix_1453
overwrite grstctl on edpt_disable
2022-06-01 14:36:36 +07:00
hathach
6e7cd220dc grstctl set fifo + flush in one assign 2022-06-01 13:18:24 +07:00
Ha Thach
9352f75220
Merge pull request #1438 from Nikitarc/master
Update dwc2_stm32.h
2022-06-01 12:23:32 +07:00
Ha Thach
fdeac8508b
Merge pull request #1381 from hathach/add-sof-isr
Add SOF IRQ Handler
2022-05-31 22:25:14 +07:00
Ha Thach
ab7c23a787
Merge pull request #1479 from M3gaFr3ak/master
Fix printf long int compiler error
2022-05-31 21:53:29 +07:00
hathach
e384d16d57 clean up tud_audio_set_itf_cb() invocation 2022-05-31 21:52:54 +07:00
Ha Thach
223aaeaecd
Merge pull request #1463 from hathach/sof-isr-update
changes proposal to audio feedback computation
2022-05-31 20:57:07 +07:00
hathach
f2926670cc comment out fifo count method for now 2022-05-31 20:26:37 +07:00
William D. Jones
731ac3d3d6 msp430x5xx: Add fix for possible bug in msp430-elf-gcc 9.3.0. 2022-05-30 14:28:30 -04:00
Ryzee119
b7c8cb3c41 Hub: Unplug downstream devices on non-root hub disconnect 2022-05-29 14:15:57 +09:30
Ryzee119
9e30ec4f16 Hub: Retry port status transfer if failed 2022-05-29 14:15:23 +09:30
Ryzee119
688a3a0cc2 Fix non-trivial designated initializers compile error 2022-05-29 14:15:18 +09:30
Leon Loeser
a87ccee743 Fix printf long int compiler error 2022-05-28 19:48:20 +02:00
Ha Thach
f4efb51fe2
Merge pull request #1477 from cr1901/fix-subm
Remove lib/Pico-PIO-USB, which has moved to hw/mcu/raspberry_pi/Pico-PIO-USB. Fixes #1475.
2022-05-28 00:11:43 +07:00
hathach
dce2ad4ffb
adding feedback fifo count (WIP) 2022-05-27 23:11:25 +07:00
William D. Jones
f76c7526c9 Remove lib/Pico-PIO-USB, which has moved to hw/mcu/raspberry_pi/Pico-PIO-USB. 2022-05-27 11:54:28 -04:00
hathach
15aa593790
wrap feedback and compute to its own struct/union 2022-05-27 12:27:31 +07:00
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
c1ae13b997
Merge pull request #1473 from sknebel/patch-1
fix links in docs
2022-05-25 22:55:33 +07:00
Sven
16c0eb0d2f
fix links in docs
changed markdown formatting to rst formatting
2022-05-24 21:45:35 +02: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
Ha Thach
2683deb0dd
Merge branch 'master' into ch32v307 2022-05-21 13:54:25 +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
e5113a1cfc prototype for feedback method 2022-05-19 16:05:55 +07:00
hathach
5766c9ac4e rename tud_audio_sof_isr() to tud_audio_feedback_interval_isr()
- also add interval_log2 to isr callback
- also rename other variables
2022-05-19 13:44:10 +07:00
Ha Thach
c2bcda86e2
Merge pull request #1412 from hathach/pio-host
PIO USB support
2022-05-16 16:29:20 +07:00
hathach
e0e9426c2a print addres of mouse input 2022-05-16 16:00:15 +07:00
hathach
4586d8f119 add upstream Pico-PIO-USB 2022-05-16 13:44:06 +07:00
hathach
be2a51316c remove pico-usb fork 2022-05-16 13:29:12 +07:00
hathach
20b810d25b
fix ci build 2022-05-13 23:01:06 +07:00
hathach
c5ba1ea8c1
changes proposal to audio feedback computation 2022-05-13 22:54:47 +07:00
hathach
f09df55ab9
clean up example 2022-05-11 15:40:02 +07:00
hathach
8bd923f5f1 sync with pio usb 2022-05-11 00:37:45 +07:00
hathach
8473ca16fb clean up 2022-05-10 22:56:06 +07:00
hathach
35b77a4a81 cmake lib rename 2022-05-10 22:14:00 +07:00
hathach
717a474125 move pio-usb init to family_configure_pio_usb_example() to stay compatible 2022-05-10 21:56:47 +07:00
hathach
993f7b6a2c include dual examples to ci 2022-05-10 13:15:07 +07:00
hathach
e3b57cea05 rename host/hid_to_cdc to dual/host_hid_to_device_cdc 2022-05-10 13:01:28 +07:00
hathach
26ee622222 move pio usb files to src 2022-05-10 12:51:48 +07:00
hathach
79b5ab822e fix incorrect total number of interface 2022-05-06 17:22:52 +07:00
Ha Thach
d23c9b7cd6
Merge pull request #1460 from ccrome/chc-fix-freertos-irq-imx
set irq priority for freertos
2022-05-06 13:04:41 +07:00
caleb crome
f19d913b5d set irq priority for freertos 2022-05-05 22:29:12 -07:00
Pascal Speck
f452ab745e overwrite grstctl on edpt_disable 2022-05-03 09:52:10 +02: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
c289438b75 fix ci build 2022-04-29 23:03:52 +07: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
608577e05c update pio 2022-04-29 18:05:50 +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
fd827a80a9
everything work great 2022-04-27 01:09:30 +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
Ha Thach
6ec5174d8b
Merge pull request #1444 from Firefishy/gh-action-use-replacement-ruby
Gh action use replacement ruby
2022-04-26 01:05:33 +07:00
hathach
26a25279bc
follow pio usb changes 2022-04-26 00:35:16 +07:00
Nikitarc
15c01f20ec Update tusb_option.h
Makes ISO compiler happy
2022-04-25 14:06:15 +02:00
tobozo
9e38b4cc68
Merge branch 'hathach:master' into master 2022-04-25 01:43:46 +02:00
Grant Slater
35d1a71ed7 GH Update to actions/checkout@v3 2022-04-24 16:49:29 +01:00
Grant Slater
3a1c7339cd Replace actions/setup-ruby with replacement ruby/setup-ruby 2022-04-24 16:48:49 +01: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
328039058e
update lib pio 2022-04-21 01:45:03 +07:00
Ha Thach
55a5fd59d7
Merge pull request #1440 from hathach/osal-queue-timeout
Osal queue timeout
2022-04-20 23:32:50 +07:00
hathach
87572871d5
update example for better cdc echo 2022-04-20 18:52:15 +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
Nikitarc
c422b9ef41 Update dwc2_stm32.h
Add missing #endif
2022-04-20 11:29:03 +02:00
hathach
ccafb42c82
disable blank issues, add online docs link 2022-04-20 14:40:55 +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
Nikitarc
52190e7308 Update dwc2_stm32.h
Support STM32H7 with only 1 USB port: H72x / H73x / H7Ax / H7Bx
2022-04-19 21:53:00 +02:00
hathach
a32cb1bb93 clean up pio driver 2022-04-18 17:49:21 +07:00
Skyler Mansfield
35668fc523 hcd_rp2040: Add bulk in/out+interrupt out support.
Added support for allocating hw_endpoints for non-interrupt endpoints.
Allow endpoints to be used in either direction by updating bit checks.
2022-04-17 01:30:03 +01:00
Skyler Mansfield
16c13bc110 tusb_types:
Added descriptive strings for edpt_dir and edpt_type
2022-04-17 01:16:49 +01:00
Reinhard Panhuber
11f0ffd9a8 Generalize feedback value min and max 2022-04-16 14:47:42 +02:00
hathach
b5a9537eea
support pio dcd endpiont stall 2022-04-16 01:19:51 +07:00
hathach
00a0e3f21b
update lib pio 2022-04-15 20:14:47 +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
Reinhard Panhuber
7094ff7125 Introduce 3 fb calc options: NO_SOF_BY_USER, SOF_BY_AUDIO_D, SOF_BY_USER 2022-04-09 16:36:26 +02: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
Rafael Silva
817227a850
Add WCH CH32V307 to readme supported list 2022-04-01 10:05:14 +01: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
Ha Thach
9c8c5c1c53
Merge pull request #1413 from perigoso/perigoso-patch-1
Fix docs
2022-03-30 22:38:30 +07:00
Rafael Silva
95801bf5cc
Update requirements.txt 2022-03-30 14:15:34 +01:00
hathach
e2f0aef93b make use pio_usb_port_reset_start/end 2022-03-30 16:41:55 +07:00
hathach
65b6b79e99
clean up and comment out tud_sof_isr_set 2022-03-29 16:53:45 +07:00
Ha Thach
edd8eb3279
Merge pull request #1409 from hathach/remove-pycache
remove cxd56 __pycache__ folder
2022-03-28 14:47:41 +07:00
hathach
735300b53c
remove cxd56 __pycache-_ folder 2022-03-28 12:47:32 +07:00
Greg Davill
7d395c674c Update supported table 2022-03-23 00:46:44 +10:30
Greg Davill
46fb850e02 Update support table 2022-03-23 00:06:51 +10:30
Greg Davill
cdb8a1a2a1 Clean up driver 2022-03-23 00:00:06 +10:30
Greg Davill
325923b6c6 Update comments about endpoint buffer modes 2022-03-22 23:40:54 +10:30
Greg Davill
a09c1648f5 Fix typo 2022-03-22 23:31:20 +10:30
Greg Davill
d828d203fc Skip freertos for ch32v307 2022-03-22 23:29:09 +10:30
Greg Davill
ac058a4c45 Add ch32v307 to build workflow 2022-03-22 22:32:53 +10:30
Greg Davill
1d254be1a4 Increase stack size to 4096 bytes 2022-03-22 16:03:53 +10:30
Greg Davill
fccbcfc889 Add WCH CH32V307 port
Add WCH mcu submodule
Add CH32V307V-R1-1v0 bsp
2022-03-22 00:30:46 +10:30
Reinhard Panhuber
5cd67baf15 Disable SOF ISR feedback calcuation by default s.t. examples still work 2022-03-20 12:57:53 +01:00
Reinhard Panhuber
8ffdbfebce Streamline call of tud_audio_set_itf_cb() within audiod_set_interface() 2022-03-20 12:08:27 +01:00
Reinhard Panhuber
5aba464270 Add magic checks 2022-03-20 12:04:10 +01:00
Reinhard Panhuber
ff2dc0a547 Streamline feedback calc, find fb interval from descriptors, inc. checks 2022-03-20 11:21:33 +01:00
hathach
45052c625e
Merge branch 'master' into pio-host 2022-03-20 00:51:00 +07:00
Ha Thach
ae531a79f6
Merge pull request #1403 from hathach/host-edpt-xfer
Host edpt xfer
2022-03-20 00:17:39 +07:00
Reinhard Panhuber
fdfde8883f Implement power of two, shift, and float calculation 2022-03-19 13:37:54 +01:00
hathach
a270d8d623
move code around 2022-03-19 15:06:12 +07:00
hathach
821be65b03
rename usbh_edpt_open() to tuh_edpt_open() 2022-03-19 14:59:31 +07:00
hathach
a4b976f095
get bare example working with hid device 2022-03-19 14:57:43 +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
hathach
102b99a0e8
add actual_len supported 2022-03-17 20:48:32 +07:00
hathach
8aedb2ff37
slightly change the signature of tuh_control_xfer 2022-03-17 17:25:53 +07:00
hathach
1ee699d49d
update example 2022-03-17 16:56:56 +07:00
hathach
66942b814b
change return type of callback to void 2022-03-17 16:55:29 +07:00
hathach
deab8c276a
remove const in xfer callback 2022-03-17 16:53:54 +07:00
hathach
6df420f7f3
move result into transfer struct 2022-03-17 16:24:43 +07:00
hathach
68bfd048a5
change tuh_control_xfer_t struct 2022-03-17 12:53:52 +07:00
hathach
98d4ed0584
update hid host to use new control xfer for set config 2022-03-16 18:44:41 +07:00
Reinhard Panhuber
ceac9d64c0 Disable CFG_TUD_AUDIO_ENABLE_FEEDBACK_DETERMINATION_WITHIN_SOF_ISR
By default disable
CFG_TUD_AUDIO_ENABLE_FEEDBACK_DETERMINATION_WITHIN_SOF_ISR such that
current examples still work.
2022-03-16 08:05:31 +01:00
Reinhard Panhuber
9fde8f2d9e Fix DSTS_FNSOF in dwc2.c 2022-03-16 07:53:47 +01:00
Reinhard Panhuber
92ac041869 Add todos and comments 2022-03-16 07:13:38 +01:00
hathach
fd2ea2605e fix -Wnull-dereference warnings 2022-03-16 10:55:18 +07:00
Reinhard Panhuber
90502739c3 Fix cycle count calculation 2022-03-15 20:45:06 +01:00
Reinhard Panhuber
c9b444e771 Implement 16.16 fixed point feedback value calculation 2022-03-15 20:30:31 +01:00
Ha Thach
1915d69cb8
Merge pull request #1397 from hathach/rework-host-control-xfer
Rework host control xfer
2022-03-15 14:47:13 +07:00
Reinhard Panhuber
26339e694f Merge remote-tracking branch 'upstream/add-sof-isr' into add-sof-isr 2022-03-14 20:40:57 +01:00
Reinhard Panhuber
f212899b54 Add SOF callback function for feedback value determination in uac - wip! 2022-03-14 20:40:33 +01:00
Ha Thach
41ffd54fa0
Merge branch 'master' into add-sof-isr 2022-03-14 11:57:01 +07:00
hathach
2929afe2fa add synchronous (blocking) support for usbh control transfer
- add synchronous version of all get descriptor API
- update bare example to use sync API for string descriptor
- change order of index, language_id in tuh_descriptor_get_string() to
match similar API of libusb
- add index to tuh_descriptor_get_hid_report()
2022-03-13 17:45:46 +07:00
Ha Thach
228e185a15
Update bug_report.yml 2022-03-12 16:58:37 +07:00
hathach
56695569e7 minor changes 2022-03-12 14:28:24 +07:00
hathach
ac4483a7c5 misplace fallthrough 2022-03-12 14:26:48 +07:00
hathach
a5a565f7eb rework usbh enumeration process using user arg from control transfer as state 2022-03-12 14:20:57 +07:00
hathach
ec28593ce5 update hid,msc to new usbh control API 2022-03-11 22:13:57 +07:00
hathach
bcdeb386cc rework usbh control xfer
- change API of tuh_control_xfer and its callback
- rename tuh_control_complete_cb_t to tuh_control_xfer_cb_t
- add user argument to control callback
- migrate usbh and hub
2022-03-11 21:57:55 +07:00
Ha Thach
d3c7d7b09e
Merge pull request #1394 from hathach/merge-host-example
merge device_info into bare_api example
2022-03-11 14:02:10 +07:00
hathach
6b5490ced6 merge device_info into bare_api example 2022-03-11 13:12:36 +07:00
Ha Thach
69ef918021
Merge pull request #1393 from hathach/more-host-bare-api
More host enhancement
2022-03-11 10:33:50 +07:00
Ha Thach
ec6a8f00ad
Merge pull request #1392 from tannewt/host_string_example
Add host example that prints out info of connected devices
2022-03-11 10:06:12 +07:00
hathach
a715077b10 remove usbh_control.c 2022-03-11 09:57:35 +07:00
Scott Shawcroft
37960990a5
Print speed. Don't crash if string get fails 2022-03-10 11:01:44 -08:00
hathach
951ece17e1 fix build warning 2022-03-10 23:20:12 +07:00
hathach
66c933fb61 fix enumeration issue when plugging hub with multiple devices attached 2022-03-10 23:16:59 +07:00
hathach
171d021ab5 refactor and integrate usbh control xfer back to usbh.c
fix enumeration with hub when reset port before set address
2022-03-10 22:22:05 +07:00
hathach
b9ca301527 remove obsolete device state 2022-03-10 13:19:15 +07:00
hathach
5e9f522b9a refactor host control xfer 2022-03-10 12:56:15 +07:00
hathach
b05401a5ab merge control stage host and device value 2022-03-10 11:59:51 +07:00
Scott Shawcroft
22f682c378
Add host example that prints out info of connected devices 2022-03-09 15:22:31 -08:00
hathach
97636eff8e more clean up 2022-03-10 00:36:49 +07:00
hathach
0e5e644d27 minor clean up 2022-03-09 17:51:35 +07:00
hathach
d56cde33ef refactor usbd to also use common endpoint claim/release 2022-03-09 17:34:12 +07:00
hathach
110879074f implement tu_edpt_release() 2022-03-09 17:26:55 +07:00
hathach
a5fb20533c adding tusb_private.h to implement common edpt claim 2022-03-09 17:17:36 +07:00
hathach
708f05668d add tusb_debug.h remove tusb_error.h
move debug utils to new header
2022-03-09 16:44:19 +07:00
hathach
2f593e767c update use of mutex for host 2022-03-09 12:26:56 +07:00
hathach
f920e1c171 rename host descriptor function 2022-03-09 11:21:13 +07:00
hathach
db9d97c947 add tuh_descriptor_hid_report_get() 2022-03-09 11:03:29 +07:00
Ha Thach
0d8be7fd3a
Merge pull request #1360 from ccrome/uac2_headset_descriptor_update
in TUD_AUDIO_HEADSET_STEREO_DESCRIPTOR, _nitfs should be 3.
2022-03-09 09:31:05 +07:00
Ha Thach
8bf18430b8
Merge pull request #1389 from hathach/fix-1359
fix issue 1359
2022-03-08 14:24:22 +07:00
hathach
6b2ea2bd1d fix issue 1359 2022-03-08 13:53:33 +07:00
hathach
606f932d92 added dcd_sof_enable() stubs for all other ports 2022-03-07 23:05:05 +07:00
hathach
85dbcf5473 implement dcd_sof_enable() for rp2040 2022-03-07 23:04:47 +07:00
hathach
707a633de3 added dcd_sof_enable(), tud_sof_isr_set()
make number of interface configurable (default to 8)
CFG_TUD_INTERFACE_MAX
2022-03-07 23:03:51 +07:00
hathach
ce60e98f6d remove broadcom/synopssy (repalced by synopsys/dwc2) 2022-03-07 23:00:11 +07:00
Ha Thach
73896a3b71
Merge pull request #1380 from sjanc/mynewt
Add missing releases to Mynewt repository.yml
2022-03-07 22:08:26 +07:00
Szymon Janc
61615203fd Add missing releases to Mynewt repository.yml
This make it possible to setup Mynewt project with latest releases.
2022-03-07 15:33:27 +01:00
Ha Thach
7180883fae
Merge pull request #1379 from Qianhao2579/master
Modify the wrong macro definition code
2022-03-07 16:09:16 +07:00
Ha Thach
1bd31c22e1
Merge pull request #1374 from kasjer/kasjer/stm32wb55
stm32wb55 support
2022-03-07 16:09:06 +07:00
Jerzy Kasenberg
76c8d4d95b Add support for nucleo-wb55rg 2022-03-07 09:35:12 +01:00
Jerzy Kasenberg
a18ac84229 Add support for STM32WB mcu 2022-03-07 09:35:12 +01:00
QianHao
65bf5ddb1b Modify the wrong macro definition code 2022-03-07 08:04:49 +00:00
Ha Thach
4c6bb161e2
Merge pull request #1289 from kasjer/kasjer/vendor-update
vendor: Write improvements
2022-03-06 11:16:35 +07:00
Ha Thach
f2c276d45e
Merge pull request #1372 from tannewt/fix_string_desc
Fix string descriptor fetch
2022-03-06 10:46:52 +07:00
Jerzy Kasenberg
2bef4410f9 Add stm32wb cmsis and hal driver submodules from ST 2022-03-05 17:53:57 +01:00
Scott Shawcroft
f291243121
Fix string descriptor fetch 2022-03-04 11:38:02 -08:00
Rafael Silva
144ce092f0
Merge pull request #1371 from hathach/perigoso-patch-1
documentatio: fix bad supported dev table format
2022-03-04 16:18:26 +00:00
Ha Thach
8e0b8c15ea
Merge pull request #1369 from tannewt/host_string_desc
Add host string descriptor functions
2022-03-04 22:59:16 +07:00
Rafael Silva
4642cb8d0a
documentatio: fix bad supported dev table format 2022-03-04 15:35:32 +00:00
hathach
56c2d4b666 fix naming, and build 2022-03-04 22:31:48 +07:00
hathach
b9a6cd8b61 rename example 2022-03-04 22:25:50 +07:00
hathach
271f905521 add tuh_descriptor_string_manufacturer/produce/serial_get 2022-03-04 22:23:56 +07:00
hathach
15ced09bb2 add tuh_configuration_set() 2022-03-04 21:41:27 +07:00
hathach
2bdf4d811a add tuh_descriptor_configuration_get() 2022-03-04 21:14:59 +07:00
hathach
7480c2e46b correct qhd and qtd count for ehci/ohci 2022-03-04 21:04:52 +07:00
hathach
032e2c2929 add CFG_TUH_INTERFACE_MAX config 2022-03-04 19:28:53 +07:00
hathach
e08a875d52 add tuh_descriptor_get() and tuh_descriptor_device_get() 2022-03-04 19:26:54 +07:00
hathach
3a7d1cfead minor cleanup 2022-03-04 17:26:21 +07:00
hathach
039b235ca4 adding new libusb api example 2022-03-04 17:16:14 +07:00
hathach
96165a1950 rename HCD_MAX_XFER to CFG_TUH_ENDPOINT_MAX
minor clean up
2022-03-04 17:07:04 +07:00
Ha Thach
5453c7e97f
Merge pull request #1370 from hathach/fix-esp-idf
fix build with esp32s2, also use dwc2 for esp example
2022-03-04 15:20:51 +07:00
hathach
c0195fc627 skip pyocd reset after flash 2022-03-04 14:48:29 +07:00
hathach
f72da8ee7d fix build with esp32s2, also use dwc2 for esp example 2022-03-04 14:45:26 +07:00
Scott Shawcroft
eb6b5d1219
Unused ok 2022-03-03 21:57:44 -08:00
Scott Shawcroft
2cd73ca602
Add host string descriptor functions
Plus typo fixes, GCC11 array bounds fix, snprintf for malloc-free
debug and pragmas for alignment checks.
2022-03-03 21:53:12 -08:00
hathach
fa62d5abc9 got interrupt endpoint working 2022-03-03 21:57:29 +07:00
tobozo
9526a0ff73
stick to struct naming convention 2022-03-02 16:56:59 +01:00
tobozo
8c79b8924e
added Absolute Mouse descriptor template 2022-03-02 15:01:18 +01:00
tobozo
34ae21319e
added Absolute Mouse report struct 2022-03-02 15:00:07 +01:00
hathach
d4d7d35afb checkout pio-usb 2022-03-02 13:24:51 +07:00
hathach
635fb9dcdd try to fix ci 2022-03-02 12:33:47 +07:00
hathach
918f3e9cae minor rename 2022-03-02 12:22:20 +07:00
caleb crome
1b338b288c in TUD_AUDIO_HEADSET_STEREO_DESCRIPTOR, _nitfs should be 3.
I believe that there is a mistake in the definition of TUD_AUDIO_HEADSET_STEREO_DESCRIPTOR.  The nitfs in the audio descriptor is always 3 regardless of ITF_NUM_TOTAL.
2022-03-01 17:24:28 -08:00
hathach
d3ed76902e clean up 2022-03-02 00:06:13 +07:00
hathach
df4c614597 update pio usb submodule 2022-03-02 00:04:42 +07:00
hathach
1d29817139 start to add pio usb (host) support
run as proof of concept
2022-03-01 23:55:53 +07:00
Ha Thach
7c627f58d7
Merge pull request #1343 from Daft-Freak/patch-1
Open OUT endpoint for HID host
2022-02-28 20:00:40 +07:00
Ha Thach
8e84529c8d
Merge pull request #1345 from alexandre-perrin/iar-cpp-verify-static
Fix CPP compilation with IAR
2022-02-28 17:02:33 +07:00
Ha Thach
c9b0fbc907
Merge pull request #1354 from hathach/mcu-specific
Mcu specific
2022-02-26 21:30:07 +07:00
Ha Thach
6dd4d50213
Merge pull request #1352 from ETCLabs/fix-ehci-isr-status-clear-error
Updated the clearing of the status register bits to use a straight '=…
2022-02-26 18:05:59 +07:00
Ha Thach
f392054e70
Merge pull request #1353 from ETCLabs/iar-compiler-error-on-src-host-usbh.c
The IAR compilier does not resolve references to fields in the anonym…
2022-02-26 18:05:35 +07:00
hathach
2fe3a925fb add highspeed detect for f723/730/733 2022-02-26 17:34:29 +07:00
hathach
a4ba3f2891 add TUP_USBIP_DWC2 2022-02-26 17:13:06 +07:00
hathach
11c89d43ab more internal rename 2022-02-26 17:06:50 +07:00
hathach
bc63f59af2 mcu specific rename 2022-02-26 15:23:29 +07:00
Ha Thach
244154e087
Merge pull request #1311 from Wini-Buh/CCRX_Ext
Solve problems with CCRX toolchain
2022-02-26 14:34:18 +07:00
Tom Peterson
c06ecbef0c The IAR compilier does not resolve references to fields in the anonymous structs defined within the usbh_dev0_t and usbh_device_t structs as they are defined. The problem seems to relate to the placement of the 'volatile' keyword at the struct level. I fixed the problem by removing the 'volatile' from the struct level, and instead placing it on each of the field declarations within the structs. 2022-02-25 16:49:55 -06:00
Tom Peterson
39fdbc8ffc Updated the clearing of the status register bits to use a straight '=', rather than an '|='. Use of the latter caused an extra, unwanted read of the status register before the write-to-clear operation, which, in some cases, allowed new status bits to assert (relative to the initial read of the status register two statements earlier), and then be cleared blindly and unconditionally during the write-back. This had the potential (and, in my case, observed) effect of dropping the handling of an enabled interrupt. Ultimately, the system would lock up in a busy state, with no hope of clearing the condition. See Issue #1339 for more information. 2022-02-25 12:39:09 -06:00
Ha Thach
5b7a01ba79
Merge pull request #1350 from hathach/enhance-multipl-ports
Enhance rhports management
2022-02-26 01:00:07 +07:00
Ha Thach
13a4582ce2
Merge pull request #1349 from iabdalkader/fix_inquiry_data
Set the standard inquiry response additional length field.
2022-02-26 00:22:55 +07:00
iabdalkader
8eeda60bd0 Set the standard inquiry response additional length field.
* The standard inquiry response additional length field needs to be set to
the length in bytes of the remaining standard inquiry data (i.e. N - 5),
otherwise the kernel driver issues a warning about short inquiry response..
2022-02-25 18:42:23 +02:00
hathach
1482a41524 fix uac2_headset build 2022-02-25 23:16:40 +07:00
hathach
0997589c45 more symbol rename 2022-02-25 23:05:15 +07:00
hathach
89115253da internal symbol rename 2022-02-25 22:45:05 +07:00
hathach
309540473b minor house keeping 2022-02-25 22:26:35 +07:00
hathach
99ad3ae2ca rename and move dcd_attr.h to tusb_mcu_attr.h 2022-02-25 18:35:21 +07:00
hathach
a8af609dfe auto detect max rhport speed based on mcu 2022-02-25 18:35:21 +07:00
hathach
31aa077cb0 rename TUSB_OPT_HOST_ENABLED to CFG_TUH_ENABLED 2022-02-25 18:35:21 +07:00
hathach
d10326cb4e rename TUSB_OPT_DEVICE_ENABLED to CFG_TUD_ENABLED
TUSB_OPT_DEVICE_ENABLED still usable for backward compatible
2022-02-25 18:35:21 +07:00
hathach
4a5a53b3b8 improve rphort management for usbd 2022-02-25 18:35:21 +07:00
Ha Thach
b797d1aa50
Merge pull request #1340 from tannewt/hid_to_cdc
Add concurrent host and device example
2022-02-25 18:21:37 +07:00
hathach
a8d6e82395 enhance dual role examples 2022-02-25 17:36:05 +07:00
Alexandre Perrin
81e33477ea Fix CPP compilation with IAR
IAR defines __STDC_VERSION__ in cpp as well.
Which causes TU_VERIFY_STATIC to be defined as _Static_assert
instead of cpp's static_assert.

This reorders __cplusplus__ to be first, then to fallback to
__STDC_VERSION__ if not CPP.
2022-02-23 18:27:52 +01:00
Charlie Birks
83b638f230
Open OUT endpoint for HID host 2022-02-23 13:03:20 +00:00
Charlie Birks
c0a65ba0f6
Support interrupt OUT in RP2040 HCD 2022-02-23 12:25:01 +00:00
Ha Thach
fa895ed3dc
Merge pull request #1341 from hathach/release-0.13.0
increase version, update doc for release
2022-02-23 13:07:29 +07:00
hathach
566e3abcea increase version, update doc for release 2022-02-23 11:55:57 +07:00
Scott Shawcroft
9ba1ba8fa1
Guard clock setup for USB2 2022-02-22 18:39:02 -08:00
Scott Shawcroft
d749597591
Add dual role (concurrent) example
This reads HID devices over host and then translates that to ASCII
and sends it over CDC device.
2022-02-22 18:13:22 -08:00
Scott Shawcroft
8a6fe8a8f3
Merge pull request #1300 from sharpie7/master
Some platforms require SDKs and use of cmake
2022-02-22 15:03:59 -08:00
Ha Thach
e04f15ff3d
Merge pull request #1280 from kasjer/kasjer/nrf5x-dma-race
nrf5x: Fix DMA access race condition
2022-02-22 21:00:51 +07:00
hathach
e188117823 more esp build fix 2022-02-18 16:30:21 +07:00
Ha Thach
4612332af7
Merge pull request #1331 from hathach/fix-esp-build
fix build with latest esp idf
2022-02-18 16:22:50 +07:00
hathach
52645fcc1b fix build with latest esp idf 2022-02-18 13:07:21 +07:00
Ha Thach
553767cc8a
Merge pull request #1330 from hathach/fix-HID_REPORT_ID_N
fix HID_REPORT_ID_N()
2022-02-17 14:07:59 +07:00
hathach
a53e83665e fix HID_REPORT_ID_N() 2022-02-17 12:12:42 +07:00
Ha Thach
358866cd0f
Merge pull request #1328 from NexusXe/patch-1
Fix link to supported boards in Getting Started page
2022-02-17 11:58:41 +07:00
NexusXe
ada7a23ddc
Fix capitalization 2022-02-16 08:33:06 -06:00
NexusXe
a72d0245fa
Fix link to supported boards
It used to point to `boards.md`, which doesn't exist.
2022-02-16 08:29:20 -06:00
Ha Thach
fcca8bb4ca
Merge pull request #1327 from hathach/msc-request-sense
Add msc request sense callback
2022-02-15 23:17:58 +07:00
hathach
46f4f7ff49 minor rename set sense function 2022-02-15 22:53:23 +07:00
hathach
391edc7afb msc example response PREVENT_ALLOW_MEDIUM_REMOVAL command as unsupported command
LUN1 of msc_disk_dual will be set to not ready to simulate medium not
present (e.g SD card removed)
2022-02-15 22:40:08 +07:00
Ha Thach
de4932d9c5
Merge pull request #1318 from JayToltTech/master
Nit spelling correction
2022-02-15 12:28:26 +07:00
Ha Thach
01684f71fb
Merge pull request #1322 from ZenithalHourlyRate/ZenithalHourlyRate-readme-typo
readme: fix typo
2022-02-15 12:20:29 +07:00
hathach
456c06aa5e add tud_msc_request_sense_cb() as weak callback
set default error sense to NOT READY, Medium not present
2022-02-14 18:17:49 +07:00
Zenithal
678c415bea
readme: fix typo 2022-02-10 22:30:31 +08:00
Jay Beavers
2df57d2be0 Nit spelling correction 2022-02-09 08:19:01 -08:00
Ha Thach
63cb3cdc74
Merge pull request #1304 from kkitayam/add_hcd_for_frdm_kl25z
Add hcd driver for frdm kl25z
2022-02-09 16:14:50 +07:00
Wini-Buh
5414cf275b
Merge branch 'hathach:master' into CCRX_Ext 2022-02-02 21:06:37 +01:00
Ha Thach
d6fb1859a4
Merge pull request #1291 from kasjer/kasjer/da1469x-fix-resume
da1469x: fix resume
2022-02-02 20:20:39 +07:00
Roland
7beb92864e Merge branch 'CCRX_Ext' of https://github.com/Wini-Buh/tinyusb into CCRX_Ext 2022-02-01 23:49:20 +01:00
Roland
e1f0c484c6 Modifications for CCRX toolchain 2022-02-01 23:45:52 +01:00
Ha Thach
c6cde724f6
Merge pull request #1305 from Ryzee119/patch-1
OHCI: Fix array out of bounds issue
2022-02-01 23:00:10 +07:00
Ha Thach
d56bbbb5a7
Merge pull request #1303 from mysterywolf/master
add rt-thread's tinyusb repo address
2022-02-01 22:35:21 +07:00
Ryzee119
453ba529a6
OHCI: Fix array out of bounds issue
If using a USB hub, a request outside the array size can occur

Original line:
ffb257ac17/src/portable/ohci/ohci.h (L162)

It can happen in a few places but one such example is here:
ffb257ac17/src/portable/ohci/ohci.c (L460)

ie. if HUB address is 5, this would be an array index out of bounds on control endpoints as `CFG_TUH_DEVICE_MAX+1` is only 5.

This fix just includes num of hubs in the reserve array size.

Fixing locally fixed this issue.
2022-01-28 14:02:34 +10:30
kkitayam
ce7a8fed36 Add a partial support mark to KL25 2022-01-28 01:18:44 +09:00
kkitayam
03d2e32dc1 Fix handling for pending transfers 2022-01-27 23:38:19 +09:00
kkitayam
d7cbfaaa0a Add hcd into source list 2022-01-27 22:26:51 +09:00
kkitayam
60a0be82da Change hcd_edpt_xfer to send at the next SOF 2022-01-27 22:25:36 +09:00
kkitayam
cc06a3585e Add handling for NAK response 2022-01-27 20:57:41 +09:00
kkitayam
cdab869472 Fix handling control transfer 2022-01-27 20:57:41 +09:00
kkitayam
a4bc6075ce Add HCD functions for KL25Z 2022-01-27 20:57:40 +09:00
Man, Jianting (Meco)
6085999e2b
add rt-thread's tinyusb repo address 2022-01-26 20:08:34 -05:00
Ha Thach
ffb257ac17
Merge pull request #1301 from hathach/fix-mynewt-sunxi
fix mynewt build sunxi
2022-01-26 17:02:52 +07:00
hathach
578a123282 fix mynewt build sunxi 2022-01-26 12:59:53 +07:00
Ha Thach
eea19daac6
Merge pull request #1220 from t123yh/master
Add support for Allwinner F1C100s family
2022-01-26 12:52:46 +07:00
Ha Thach
7de166390e
Merge branch 'master' into master 2022-01-25 22:29:05 +07:00
Iain Sharp
a80f23711e
Some platforms require SDKs and use of cmake 2022-01-24 20:56:13 +00:00
Jerzy Kasenberg
7b078367e8 dcd_da1469x: Re-enable RX after resume
Going to suspend states disable reception on non-0 RX endpoints.

Now when USB resume condition is detected, all RX endpoints
with pending transfers are resumed.
2022-01-20 16:28:09 +01:00
Jerzy Kasenberg
ae4d901d83 dcd_da1469x: Fix over-run/under-run mask
Bit mask enabling/disabling over-run/unde-run was shifted
by one nibble, so interrupt was never enabled.
It did not force any issue as this situation could only
happen on ISO endpoints without DMA.
2022-01-20 10:01:18 +01:00
Jerzy Kasenberg
4ca2215684 vendor: Add tx flush functionality
So far tud_vendor_n_write() always flushed data.
It requires to have whole vendor packed constructed
before in one buffer.

With this change data do get flushed when endpoint size
is filled on write, when there is no enough data to
fill endpoint data is not sent and subsequent calls to
write functions can add more bytes.

Vendor code needs to call tud_vendor_n_flush() when packet is
ready to be sent.
2022-01-19 15:08:12 +01:00
Ha Thach
a592282079
Merge pull request #1288 from hathach/rx-host-example-ci
enable ci build for RX65X host example
2022-01-19 20:46:23 +07:00
Jerzy Kasenberg
d069ea1421 vendor: Add tx callback
Other drivers already have notification about data sent.
It allows batter control in application on vendor
protocol level.
2022-01-19 14:06:00 +01:00
hathach
3b66bbf6d5
enable ci build for RX65X host example
update comment for unit not ready 3a-00 additional sense
2022-01-19 19:12:21 +07:00
Ha Thach
e40547ada1
Merge pull request #1265 from kkitayam/add_hcd_for_renesas_rx
Add HCD driver for Renesas RX
2022-01-19 19:07:21 +07:00
Ha Thach
9e99269875
Merge pull request #1287 from alisitsyn/bugfix/fix_idfgh6508
fix idfgh-6508: return type in tu_fifo_peek_n()
2022-01-19 17:50:33 +07:00
Jerzy Kasenberg
36b6ed8ff9 nrf5x: Fix EP OUT race conditions in OS build
When two tasks entered dcd_edpt_xfer() it was possible that
first disabled interrupt to setup total_len and actual_len
but second task for another endpoint enabled interrupt
between total_len and actual_len resulting in race
condition with interrupt, hence mutex is added on top of interrupt being blocked.
2022-01-19 09:48:04 +01:00
Jerzy Kasenberg
980ffe3b4e nrf5x: Fix DMA access race condition
In multi-thread mode starting DMA in thread mode was
prone to race condition resulting in infinite loop.
It may happen on single core CPU with strict priority based
tasks scheduler where ready high prio task never yields to
ready low prio task (Mynewt).

Sequence that failed (T1 - low priority task, T2 - high priority task)
- T1 called start_dma()
- T1 set _dcd.dma_running (DMA not started yet, context switch happens)
- T2 took CPU and saw that _dcd.dma_running is set, so waits for _dcd.dma_running to be 0
- T1 never gets CPU again, DMA is not started T2 waits forever

OSAL mutex resolves problem of DMA starting from thread-context.
2022-01-19 09:06:43 +01:00
email
af9a3f646c fix idfgh-6508: return type in tu_fifo_peek_n()
https://github.com/espressif/esp-idf/issues/8161
2022-01-19 09:00:43 +01:00
Ha Thach
0b6b4f2441
Merge pull request #1286 from hathach/fix-fifo-mutex-when-full
fix locked mutex when fifo is full
2022-01-19 10:45:33 +07:00
Ha Thach
983abfd6d8
Merge pull request #1279 from kasjer/kasjer/nrf5x-int-race
nrf5x: Fix EP OUT race conditions
2022-01-19 10:33:37 +07:00
hathach
161ba73c8b
fix locked mutex when fifo is full 2022-01-19 10:17:39 +07:00
Ha Thach
84f2ca77f7
Merge pull request #1283 from kasjer/kasjer/olimex-pic32-board-fixes
olimex pic32 board fixes
2022-01-19 09:55:18 +07:00
Ha Thach
92c36f187d
Merge pull request #1274 from kasjer/kasjer/nrf5x-request-clock-in-mynewt
nrf5x: Request HFXO via OS
2022-01-18 20:00:23 +07:00
Jerzy Kasenberg
f4725120a4 nrf5x: Request HFXO via OS
Mynewt (similar to Soft Device) has its own reference counting for
HFXO oscillator.
So far TinyUSB requested HFXO when VBUS was detected and stopped when
VBUS was removed.
But with Mynewt running HFXO can be stopped when other interested parties
don't require HFXO anymore. This results in very difficult to track
USB transmission errors.

This change enables Mynewt specific HFXO management in Soft Device fashion.
2022-01-18 08:12:49 +01:00
Jerzy Kasenberg
45d56915d1 pic32/olimex boards: Fix active state of button
Buttons for olimex_emz64 and olimex_hmz144 should be set
to active low in board configuration.
2022-01-17 18:00:58 +01:00
Jerzy Kasenberg
168c7095e8 pic32mz: Fix remote_wakeup without OS
Remote wakeup requires 10ms of delay when RESUME bit
is toggled.
It was covered for OS build.
For non-OS build simple delay based on board_millis() is
used to wait required amount of time.
Without this remote wakup may not work.
2022-01-17 17:59:51 +01:00
Ha Thach
6972a4f5cf
Merge pull request #1276 from kkitayam/fix_video_capture_frame_interval
Fix video_capture example fails enumeration when 8FPS
2022-01-17 23:57:42 +07:00
Ha Thach
11aa4b9bba
Merge pull request #1284 from kasjer/kasjer/ft9xx-mynewt
ft9xx: Fix Mynewt build
2022-01-17 16:28:07 +07:00
Jerzy Kasenberg
ec01428820 ft9xx: Fix Mynewt build
Includes were moved few lines down to restore build with Mynewt build system.
2022-01-17 09:14:41 +01:00
Ha Thach
58b8bdc2e4
Merge pull request #1277 from liamfraser/fix-cmake-skip
Fix family_support.cmake to use new skip.txt and only.txt files
2022-01-17 14:36:51 +07:00
Ha Thach
61d392fad4
Merge pull request #1238 from ftdigdm/port-ft90x
Port ft90x
2022-01-17 13:18:30 +07:00
Ha Thach
0780fd3d1e
Merge pull request #1269 from mysterywolf/master
[rt-thread] add rt-thread os in readme
2022-01-17 12:37:53 +07:00
Ha Thach
efc29baead
Merge branch 'master' into port-ft90x 2022-01-17 12:36:39 +07:00
hathach
1a7de71e79 correct link in rst 2022-01-17 12:15:54 +07:00
Ha Thach
976405dea3
Merge pull request #1270 from kasjer/kasjer/pic32mz
Driver for Microchip PIC32MZ family
2022-01-16 20:24:14 +07:00
hathach
c722133671 change OPT_MCU_PIC32MZ to value of 1900 2022-01-16 15:38:23 +07:00
Ha Thach
5dab0e8aed
Merge pull request #1282 from hathach/fix-esp-ci
Fix esp ci
2022-01-16 14:20:41 +07:00
hathach
cb57f047e7 update for s3 2022-01-16 13:26:50 +07:00
hathach
e1e4577616 more ci fix 2022-01-16 13:24:36 +07:00
hathach
e635c16de0 fix esp ci build with IDF version 5 2022-01-16 13:12:27 +07:00
Ha Thach
76987fb357
Merge pull request #1235 from vmilea/feature/feedback_format
Support disabling feedback format correction #1234
2022-01-16 12:54:50 +07:00
hathach
45fb60e883 update format correction with actual bus speed 2022-01-16 12:12:57 +07:00
Jerzy Kasenberg
da44fe3fc9 nrf5x: Fix EP OUT race conditions
When dcd_edpt_xfer() starts new transfer two separate problems were observed.
For both problems stream of OUT packets was pouring from host.

First problem was that total_len and actual_len were not atomic.
In case where incoming OUT packets are less (63) than MPS (64), actual_len and total_len
are set 63.
Then transfer complete from USBD is called that will schedule next 64 bytes transfer.
At that point incoming packet would start DMA if there is place in RAM, normally
it does not happen since actual_len == total_len.
If packets arrives and interrupt is raised after total_len is set (64) but actual_len is still 63 from
previous transfer, interrupt code sees that there is place in ram (1 byte) and transfer this 1 byte
to buffer that was already filled with previous packet.
To remedy this USB interrupt is blocked during transfer setup.

Second problem can happen when dcd_edpt_xfer setups xfer->total_len and actual_len correctly
but then context switch happens before xfer->data_received is checked.
If during this time two packets arrive one will be copied to RAM second will stay in endpoint with
data_received set to 1.
Then when xfer_edpt_xfer() checks data_receive flag it starts DMA again overwriting data.
To remedy this, data_received is checked together with check if data was already transferred.
If transfer was complete, there is no need to start DMA yet.
In such case data_received will be handled in same place by next xfer_edpt_xfer() correctly.
2022-01-14 09:46:39 +01:00
Liam Fraser
3db9cf3547 Fix family_support.cmake to use new skip.txt and only.txt files for skipping mcus 2022-01-13 16:39:55 +00:00
kkitayam
c5d825450a Fix dwFrameIntervalStep and dwMaxFrameInterval
dwMaxFrameInterval minus dwMinFrameInterval should be evenly divisible by
dwFrameIntervalStep.
2022-01-13 00:24:56 +09:00
Jerzy Kasenberg
fff4a248be Add BSPs for Microchip PIC32MZ MCUs
Two boards from Olimex are added:
olimex_hmz144  with PIC32MZ2048EFM144
olimex_emz64.c with PIC32MZ2048EFH064

Both can be programmed with Segger JLINK probe using ICSP
interface. (JTAG not tested but could also work but header
is not mounted).
2022-01-07 14:12:42 +01:00
Jerzy Kasenberg
340309561d Add driver for PIC32MZ MCUs
Device-only driver for PIC32MZ MCUs.
2022-01-07 14:12:42 +01:00
Valentin Milea
c2533a45bd Merge branch 'master' into feature/feedback_format 2022-01-07 15:12:07 +02:00
Valentin Milea
a284e438f1 Disable feedback format correction by default #1234 2022-01-07 15:02:52 +02:00
Man, Jianting (Meco)
13015a17a4
Update README.rst 2022-01-06 12:40:08 -05:00
Ha Thach
3b09b82123
Merge pull request #1272 from EmergReanimator/cortex-m33
Enable breakpoints for ARM8M (e.g. cortex-m33)
2022-01-06 18:17:12 +07:00
EmergReanimator
44406a8940 Enable breakpoints for ARM8M (e.g. cortex-m33) 2022-01-06 09:56:45 +01:00
Ha Thach
77b42344ac
Merge pull request #1271 from tannewt/rpi_zero
Add Raspberry Pi Zero W and Zero 2 W
2022-01-06 10:42:25 +07:00
Scott Shawcroft
bed8913107
Skip dfu and usbtmc on pi zero 2022-01-05 16:17:19 -08:00
Scott Shawcroft
47218eeb67
No exceptions on broadcom. Add parens to if 2022-01-05 16:07:17 -08:00
Scott Shawcroft
7b27b8f498
Unify skip and only logic for build scripts
And switch to a single file that can include mcu, family or board.
2022-01-05 15:44:23 -08:00
Scott Shawcroft
4fe0a30ec7
Skip net and freertos examples 2022-01-05 14:33:24 -08:00
Scott Shawcroft
84e2df51be
Split by compiler for testing 2022-01-05 14:11:39 -08:00
Scott Shawcroft
a79ffeb764
Add Raspberry Pi Zero W and Zero 2 W
These are different Broadcom chips. The peripherals are essentially
the same. The main differences are:
* The CPU(s)
* The interrupt controller
* The peripheral base address (but not the peripherals that we use)
2022-01-05 13:47:01 -08:00
Meco Man
5f9e361f5c [rt-thread] add rt-thread os in readme 2022-01-02 02:06:53 -05:00
Jerzy Kasenberg
2f69649bb6 Add register file for Microchip PIC32MZ 2021-12-31 22:53:27 +01:00
Ha Thach
868948f67c
Merge pull request #1264 from kasjer/kasjer/make-files-for-xc32
build system: Changes for xc32 compiler
2021-12-31 19:22:52 +07:00
Ha Thach
c8641ee940
Merge pull request #1263 from kasjer/kasjer/mynewt-eptri
Fix Mynewt build for Microchip PIC32MZ devices.
2021-12-30 22:48:11 +07:00
hathach
c5d2c82cbb
fix unreachable warnings with keil 2021-12-30 20:59:53 +07:00
hathach
adb848f754
update docs 2021-12-29 19:42:34 +07:00
hathach
5f280b3029
add license to dcd file, slightly update readme 2021-12-29 19:25:32 +07:00
hathach
84e2f6e0e1
skip freertos example for f1c100s 2021-12-29 19:12:41 +07:00
hathach
b943a53b10
update allwinner submodule 2021-12-29 19:04:08 +07:00
hathach
2d13ecde1b add allwinnner driver as submodule 2021-12-29 18:59:47 +07:00
hathach
30aba24ddc Merge branch 'master' of https://github.com/t123yh/tinyusb into t123yh-master 2021-12-29 18:27:29 +07:00
kkitayam
2b8b8a3a97 Fix hcd_edpt_clear_stall 2021-12-27 22:55:28 +09:00
kkitayam
745607357b Update Renesas RX status 2021-12-27 21:51:23 +09:00
kkitayam
2c0fcc2fa7 Add statements for control VBUS 2021-12-27 21:36:49 +09:00
kkitayam
a750c9c902 Increase stack size 2021-12-27 21:28:46 +09:00
kkitayam
a76799b085 Add hcd for Renesas RX 2021-12-27 21:19:02 +09:00
Jerzy Kasenberg
7a596b9e55 Fix Mynewt build for Microchip PIC32MZ devices.
definition of DEBUG breaks Microchip pic32 builds for Mynewt.
When MCU is not VALENTYUSB_EPTRI there is no need to have any
preprocessor definitions.
It may not look like a big deal but for xc32 builds, compiler
automatically force-includes some file that have structure with field name
DEBUG that result in build error in dcd_eptri.c when this file
is not really needed.

Moving DEBUG and LOG_USB few lines down should not break eptri builds.
2021-12-27 10:14:38 +01:00
Jerzy Kasenberg
5c5ecea6f1 build system: Changes for xc32 compiler
Three changes are needed to accommodate xc32 compiler build:
- optimized build flag other than -Os
   added CFLAGS_OPTIMIZED that defaults to -Os but can be overridden in boards
- build without -lnosys
   added LIBS_GCC with default libraries that can be changed in boards
- build without LD_FILE specification
   if LD_FILE is empty -Wl,-T options is not added to LDFLAGS
2021-12-27 10:11:56 +01:00
Ha Thach
a6789b5d5a
Merge pull request #1260 from leptun/patch-1
Fix typo
2021-12-23 11:30:15 +07:00
Alex Voinea
103817b8b6
Fix typo
Oops. Made a typo in 6de423606fc9d512efb830b198c76f095a182a1c
2021-12-22 22:56:53 +02:00
Ha Thach
557eb51405
Merge pull request #1258 from leptun/nucleo-f439zi
nucleo-f439zi support
2021-12-22 13:25:16 +07:00
Alex Voinea
6de423606f nucleo-f439zi support 2021-12-21 18:24:05 +01:00
Ha Thach
a4cfd1c69a
Merge pull request #1255 from hathach/add-s3-devkitm
Add s3 devkitm & devkitc
2021-12-21 01:07:54 +07:00
hathach
311248c8b0 add s3 devkitc 2021-12-21 00:10:38 +07:00
hathach
63310d72e1 skip ci for s3 2021-12-21 00:04:50 +07:00
hathach
a442679459 change ci to s3 to espressif_s3_devkitm 2021-12-20 23:55:04 +07:00
hathach
2ab3988d9f add s3 devkitm 2021-12-20 23:54:28 +07:00
Ha Thach
693b6886b1
Merge pull request #1252 from mkj/staticuart
samd21: make uart_init() static
2021-12-20 20:05:08 +07:00
Matt Johnston
9b2e78c915 samd21: make uart_init() static
Avoids a linker conflict if programs are using the same function name.
2021-12-20 15:43:16 +08:00
Ha Thach
cadfcd153e
Merge pull request #1244 from nxf58843/feature-kuiic
Feature kuiic
2021-12-16 17:57:06 +07:00
Greg Steiert
14ea32a117 Merge branch 'feature-kuiic' of https://github.com/nxf58843/tinyusb into feature-kuiic 2021-12-15 14:21:09 -08:00
Greg Steiert
469ecdd28c added KUIIC to supported boards list 2021-12-15 14:18:27 -08:00
Gordon McNab
8d373b0887 Update midi_test endpoints and FT9xx code 2021-12-15 12:23:58 +00:00
nxf58843
51e24dd4f8
Merge branch 'hathach:master' into feature-kuiic 2021-12-13 08:59:17 -08:00
Greg Steiert
04fd8673cd Merge branch 'master' of https://github.com/hathach/tinyusb into feature-kuiic 2021-12-13 08:56:58 -08:00
Ha Thach
dd30f2c648
Merge pull request #1243 from hathach/g4-nucleo
Add G4 support
2021-12-13 23:56:13 +07:00
Greg Steiert
c5416aa6aa Merge branch 'master' of https://github.com/hathach/tinyusb into feature-kuiic 2021-12-13 08:56:01 -08:00
hathach
d097178ab0
correct wiring note 2021-12-13 17:59:43 +07:00
hathach
69bdd703c2
update doc to include g4 2021-12-13 17:53:38 +07:00
Ha Thach
bfb5e32e1f
Merge pull request #1233 from vmilea/rp2040_bugfix/ep_close
Handle the closing of endpoints on RP2040
2021-12-09 23:38:17 +07:00
hathach
51acc3e1b9 update g4 bsp 2021-12-09 12:42:08 +07:00
Greg Steiert
e72a6e90b9 added support for building uf2 file 2021-12-08 15:24:14 -08:00
Greg Steiert
59dcf2062f adding support for KUIIC board 2021-12-08 14:31:44 -08:00
Ha Thach
6bf7fba2a4
Merge pull request #1221 from kasjer/kasjer/fix-nrf5x-vbus-race-condition
nrf5x: Fix race condition during startup
2021-12-09 00:44:44 +07:00
Gordon McNab
21fa7ea468 Correct path for using the ft90x-sdk submodule (BRTSG-FOSS / ft90x-sdk). Default to ft90x-sdk instead of pre-built library. 2021-12-08 13:56:23 +00:00
Gordon McNab
bcbcdf87de Fix spelling mistakes and verify endpoint numbering. 2021-12-08 11:24:39 +00:00
Gordon McNab
79f1f4e171 Revert "Merge in upstream changes"
This reverts commit fa06bd01c97a3a14215ea145764c09aecaa0dd79.
2021-12-08 11:17:05 +00:00
Valentin Milea
ae970ba2e2 Handle xfer events before closing EP 2021-12-08 12:34:00 +02:00
Gordon McNab
fa06bd01c9 Merge in upstream changes
Merge upstream changes and expand example support to hid examples.
2021-12-08 10:05:32 +00:00
Gordon McNab
45869958f6 Add FT9xx to more examples which support High-Speed 2021-12-08 10:03:33 +00:00
Gordon McNab
5039a5e54c Update code to implement changes from upstream master 2021-12-08 09:34:29 +00:00
Gordon McNab
9a7db98593 Merge branch 'master' into port-ft90x 2021-12-08 08:36:43 +00:00
Jerzy Kasenberg
21db2351fd nrf5x: Fix race condition during startup
When NRF5x device is reset by software (after DFU for example),
power event is ready from the beginning.
When power interrupt is triggered before tud_init() finished
USBD_IRQn is enabled before it would be enabled in tud_init().
This in turn may result in BUS RESET event being sent from
USB interrupt to USB task when queue is not initialized yet.
This scenario often happens in Mynewt build where queue creation
takes more time.

To prevent this scenario USBD_IRQn is not enabled in power event
interrupt handler before dcd_init() was called.
2021-12-08 08:27:27 +01:00
Yunhao Tian
527036b1f5 Initialize MMU if we are executing from DDR 2021-12-08 13:39:27 +08:00
hathach
cd76193f3c try updating clock configure for g4 nucleo (not work yet) 2021-12-08 10:37:46 +07:00
Yunhao Tian
43621ab9ed Update README 2021-12-07 22:58:19 +08:00
Yunhao Tian
75f7fb3d9d Add mksunxi tool to make flashable image 2021-12-07 22:53:52 +08:00
Valentin Milea
36e69b86bf Remove buffer reclaim logs 2021-12-07 15:35:30 +02:00
Ha Thach
cde824f17f
Merge pull request #1222 from scoudreau/swo_logger
Remove unused-parameter errors when LOGGER=swo
2021-12-07 19:53:27 +07:00
Ha Thach
c157837878
Merge pull request #1213 from kkitayam/add_hcd_for_msp_exp432e401y
Add a HCD driver for MSP-EXP432E401Y
2021-12-07 19:24:41 +07:00
hathach
a5251cb86b skip host ci for tm4c due to sram overflow 2021-12-07 17:14:20 +07:00
hathach
8e0400d531 change uart baudrate for tm4c123 to 115200 2021-12-07 16:28:24 +07:00
hathach
03835c8183 move hcd_musb.c include to family.mk 2021-12-07 16:27:48 +07:00
Valentin Milea
ef879e8a8a Support disabling feedback format correction #1234 2021-12-06 18:49:58 +02:00
Yunhao Tian
96979a2c4a Fix handling of RXRDY bit 2021-12-06 19:56:27 +08:00
Ha Thach
f8288be03f
Merge pull request #1227 from kkitayam/fix_dcd_musb_buffer_overrun
Fix buffer overrun in dcd_musb driver
2021-12-06 00:43:25 +07:00
Yunhao Tian
1ffc366aa9 Change FIFO size to 4KB (not sure)
The datasheet says 2KB FIFO, but accroding to many
code examples, the F1C100s has at least 4KB of FIFO memory.
This is working with cdc_msc example,
but I'm not sure, this should be checked.
2021-12-05 22:40:05 +08:00
Yunhao Tian
f308603a3a Fix a typo that leads to incorrect RX handling 2021-12-05 22:31:09 +08:00
Yunhao Tian
702698ee29 Add FIFO size check 2021-12-05 18:18:41 +08:00
Yunhao Tian
64b81fd4d3 Close all EPs upon reset 2021-12-05 18:08:01 +08:00
Yunhao Tian
fa0e4d91f9 Save current EP before querying other EPs 2021-12-05 18:07:35 +08:00
Valentin Milea
48e1f6d899 Handle the closing of endpoints on RP2040 2021-12-04 16:04:48 +02:00
Yunhao Tian
28fb51c180 Add TODO to README 2021-12-04 18:08:23 +08:00
Yunhao Tian
68ca62dfd7 Add BSP support for F1C100s 2021-12-04 18:02:07 +08:00
Yunhao Tian
dff54d854d Modify sunxi_musb code 2021-12-04 17:18:39 +08:00
kkitayam
7137a0a92f Fix buffer overrun at pipe_read_packet() 2021-12-04 01:25:34 +09:00
kkitayam
81285273a6 Fix memory overrun at pipe_read_packet() 2021-12-04 01:18:42 +09:00
Ha Thach
6ecd93eb60
Merge branch 'master' into add_hcd_for_msp_exp432e401y 2021-12-03 00:30:09 +07:00
Ha Thach
3e9bb3bee1
Merge pull request #1225 from perigoso/doc-requirements
after commit: eae4132 this dependency is no longer required
2021-12-03 00:27:37 +07:00
Rafael Silva
c52c9cda91 after commit: eae4132 this dependency is no longer required
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2021-12-02 10:24:19 +00:00
Ha Thach
6f0c2cf0d8
Merge pull request #1224 from hathach/chipidea-controller
rename transdimension to chipidea
2021-12-02 14:10:24 +07:00
hathach
94c35de0d2 minor doc update 2021-12-02 13:19:27 +07:00
Ha Thach
821c0a9f38
Merge pull request #1223 from hathach/fix-s3-ci
temporarily skip s3 build on ci
2021-12-02 12:48:31 +07:00
hathach
1d1e75236c temporarily skip s3 build on ci 2021-12-02 12:02:25 +07:00
hathach
369f11fe5c fix ci 2021-12-02 11:50:28 +07:00
hathach
eae4132fbb update supported doc 2021-12-02 11:31:27 +07:00
hathach
207c60d055 more chipidea 2021-12-02 00:03:44 +07:00
hathach
83dc3e25f0 more work to abstract chipidea driver 2021-12-01 23:30:09 +07:00
hathach
61a9e125db more ci abstract 2021-12-01 23:19:17 +07:00
Sebastien COUDREAU
c9d9bfab92 Remove unused-parameter errors when LOGGER=SWO 2021-12-01 17:10:31 +01:00
Yunhao Tian
bb7d1fa3ba Add support for Allwinner F1Cx00s family
Allwinner F1Cx00s family is a series of SoCs
with Mentor MUSB controller and HS phy. It comes
with a slightly different register space layout,
and some quirks, so it's not multiplexed with
the existing musb support library.

This library currently requires to be compiled
with https://github.com/hongxuyao/F1C100s_with_Keil_RTX4_emWin5
2021-12-01 15:35:48 +08:00
hathach
0612433eef add chipidea highspeed controller
add warning to transdimension for the rename
2021-12-01 12:14:44 +07:00
Ha Thach
6af58e3385
Merge pull request #1193 from rppicomidi/implement_usbh_replug_on_pico
Implement usbh replug on pico
2021-11-30 21:53:28 +07:00
kkitayam
9bccc8068b Add register settings to handle a HUB 2021-11-30 23:13:20 +09:00
hathach
3e3fe1e429 improve hcd_device_close() for rp2040 2021-11-30 17:36:52 +07:00
rppicomidi
006522e437 on unplug release device endpoints 2021-11-30 17:17:06 +07:00
rppicomidi
06f99c220e implement hcd device close 2021-11-30 17:17:06 +07:00
Yunhao Tian
a6929cf03e Add support for Keil RTX4 OS abstraction layer 2021-11-30 17:19:11 +08:00
Yunhao Tian
ac20605e3f Ignore certain compiler options on ARMCC
ARMCC also sets __GNU__ macro, but doesn't support
GCC diagnostic pragmas.
2021-11-30 17:19:11 +08:00
Yunhao Tian
dba59217da usbd: supress "statement is unreachable" warning on ARMCC 2021-11-30 17:19:10 +08:00
Ha Thach
9775e76910
Merge pull request #1216 from hathach/update-doc
Update doc
2021-11-30 12:02:05 +07:00
hathach
4678a4142e
remove warnings 2021-11-30 00:35:39 +07:00
hathach
33506675c5
update supported doc 2021-11-30 00:33:55 +07:00
Ha Thach
ae5b1bab14
Merge pull request #1215 from hathach/fix-esp-stack
use 4k stack for example with esp32sx
2021-11-29 16:17:37 +07:00
Ha Thach
aae57cd3fd
Merge pull request #1214 from hathach/fix-gamepad-comment
correct 32 button in gamepad hid descriptor template
2021-11-29 15:40:56 +07:00
hathach
7ad0af64cc
use 4k stack for example with esp32sx 2021-11-29 13:24:10 +07:00
hathach
ab223eb1df
correct 32 button in gamepad hid descriptor template 2021-11-29 13:07:46 +07:00
kkitayam
24614de419 Fix build errors 2021-11-29 00:45:57 +09:00
kkitayam
ae9a39ec1f Add musb driver 2021-11-29 00:42:18 +09:00
kkitayam
b3dddc77eb Add initialization sequence as a HOST 2021-11-29 00:40:23 +09:00
kkitayam
b50cf856b3 Add hcd_musb.c 2021-11-29 00:28:22 +09:00
kkitayam
7413b6b020 Add a compile condition for dcd 2021-11-27 10:26:32 +09:00
Ha Thach
44b131e8cf
Merge pull request #1209 from HiFiPhile/iar_update
Update iar project template.
2021-11-26 18:35:37 +07:00
Ha Thach
79de83183f
Merge pull request #1208 from hathach/fix-nrf-easydma-race
fix nrf easy dma race condition
2021-11-26 13:31:25 +07:00
Mengsk
225e718270 Update iar project template. 2021-11-25 17:27:33 +01:00
hathach
c9e9f4785f more clean up 2021-11-23 09:52:11 +07:00
hathach
0fc11746c0 clean up 2021-11-23 09:46:45 +07:00
hathach
a994540860 fix nrf easy dma race condition 2021-11-23 09:36:28 +07:00
Gordon McNab
edf3f35016 Update ft90x-sdk
Update submodule for FT90X SDK to point to the v2.5.0 release code currently in main.
2021-11-22 12:38:04 +00:00
Gordon McNab
ba76b2e339 Add submodule for ft90x SDK
Add Bridgetek FT90x SDK as submodule.
2021-11-22 10:33:07 +00:00
Ha Thach
ae73873b5c
Merge pull request #1207 from hathach/update-issue-tempate
Update bug_report.yml
2021-11-22 12:18:36 +07:00
Ha Thach
b8d66e4d19
Merge pull request #1206 from hathach/bcm-dwc2-address
Bcm dwc2 address
2021-11-22 12:07:07 +07:00
Ha Thach
e5adc46805
Update bug_report.yml 2021-11-22 11:27:37 +07:00
Ha Thach
64e6170224
Update bug_report.yml 2021-11-22 11:26:23 +07:00
hathach
8a18c22c2f
add BCM_VERSION 2021-11-22 10:59:22 +07:00
hathach
21787ecdd3
update bcm prph 2021-11-22 10:52:53 +07:00
hathach
dac7574c98
use USB_OTG_GLOBAL_BASE instead of hard code value 2021-11-22 10:52:28 +07:00
Ha Thach
5d7e26d620
Merge pull request #1195 from hathach/fix-dwc2-XCVRDLY
set DCFG_XCVRDLY when using external ULPI highspeed phy
2021-11-19 20:49:41 +07:00
hathach
301d6b4133
clean up 2021-11-17 09:48:08 +07:00
hathach
12e96ce571
set DCFG_XCVRDLY when using external ULPI highspeed phy 2021-11-15 12:18:28 +07:00
Ha Thach
6f59a2ce6e
Merge pull request #1183 from kkitayam/add_msp_exp432e401y
Add support for TI MSP-EXP432E401Y
2021-11-08 23:33:45 +07:00
hathach
1c77f9f669
msp432e4 ci typo, skip dfu example for tm4c123 2021-11-08 20:03:47 +07:00
hathach
1e308dd6c0
reduce CFG_TUD_DFU_XFER_BUFSIZE for max compatible 2021-11-08 19:18:52 +07:00
hathach
d415bd4d7b
add missing musb type file 2021-11-08 17:39:37 +07:00
hathach
17ef1503c8
move tm4c132 into bsp family, add it into ci 2021-11-08 17:37:21 +07:00
hathach
f65917f51a
rename to simply OPT_MCU_MSP432E4, add msp432e to ci 2021-11-08 17:29:26 +07:00
hathach
6fea50f735 musb work well with tm4c123 2021-11-08 16:41:29 +07:00
hathach
91646d039c add flash-openocd target. correct ek-tm4c123 button state 2021-11-08 16:41:29 +07:00
hathach
23e6e0ef33 merge pull request 670 for tm4c123gxl bsp 2021-11-08 16:41:29 +07:00
kkitayam
26461d1efe Fix DCD_EVENT_XFER_COMPLETE was signaled, even after EP is closed 2021-11-07 18:25:11 +09:00
kkitayam
dd7eb36830 Remove unnecessary lines 2021-11-06 23:10:11 +09:00
kkitayam
30d3bf8bec Update TI driver 2021-11-06 23:05:27 +09:00
kkitayam
23ef8b2c64 Change the variables for a switch and a LED to symbols defined by the macros 2021-11-06 19:32:15 +09:00
kkitayam
e4520e7aa7 Add statements for FreeRTOS 2021-11-06 00:06:27 +09:00
kkitayam
0b3c8c4a59 Implement dcd_edpt_xfer_fifo for dcd_musb 2021-11-06 00:06:27 +09:00
kkitayam
50ca0dda2c Add dcd_musb.c 2021-11-06 00:06:26 +09:00
kkitayam
f183d0810b Add files for msp432e4 2021-11-06 00:06:26 +09:00
Ha Thach
ab760290a5
Merge pull request #1181 from liamfraser/rp2040-hcd-assert-fix
Fix invalid assert in RP2040 host mode when compiled in debug mode
2021-11-05 21:40:42 +07:00
Ha Thach
a9ce2dbcb4
Merge pull request #1182 from kasjer/kasjer/update-bth-iad
Update bth for IAD support
2021-11-05 20:48:18 +07:00
Jerzy Kasenberg
d20a5b3a09 bth: Add IAD to BT descriptor
Bluetooth's specification defines IAD for primary controller.
While it seems that Windows and Linux can leave without this,
there is no reason TinyUSB should not provide it.
2021-11-05 13:03:31 +01:00
Jerzy Kasenberg
ec8ece2c9d bth: Update driver to interface association changes
Two interfaces that are required by Bluetooth Primary Controller
do not have IAD according to Bluetooth specification.
Those two interfaces were opened separately in process_set_config().

Later interface association was inferred for BTH (along with other
drivers), since then only one call to open() is place for BTH driver
that should prepare both interfaces at once.

To make it work again btd_open() parses two interfaces at once.
2021-11-05 12:33:15 +01:00
Liam Fraser
e692fa9ae4 RP2040 HCD: Move invalid ep->active assert in hw_trans_complete. The check for ep->active should only happen if a setup packet was just sent. Otherwise the transaction is handled in hw_handle_buff_status. 2021-11-05 09:39:31 +00:00
Ha Thach
c04006bc13
Merge pull request #1180 from hathach/add-xmc4500
Add xmc4500
2021-11-05 14:38:23 +07:00
hathach
3fc3e400b0
add xmc4000 to ci build 2021-11-05 13:23:31 +07:00
hathach
422f439bf7
update docs 2021-11-05 13:18:54 +07:00
hathach
d87a897a7b
xmc4500 ported, cdc msc example run fine 2021-11-05 13:13:21 +07:00
hathach
d9cf49cbfd
add xmclib as submodule 2021-11-05 12:00:27 +07:00
Ha Thach
5fcd0e284b
Merge pull request #1178 from kasjer/kasjer/fix-mynwet-build
broadcom/dcd: Fix mynewt build
2021-11-05 11:58:21 +07:00
hathach
a3fc107d94
xmc4500 led blinky, button ok 2021-11-05 11:57:36 +07:00
Ha Thach
19f0fd90d3
Merge pull request #1179 from hathach/perigoso-patch-1
docs: update supported device table
2021-11-05 08:57:45 +07:00
Rafael Silva
ec99bec8cb
docs: update supported device table
remove known issue #750 from silabs EFM32GG table entry
2021-11-04 23:00:05 +00:00
Jerzy Kasenberg
e35bb6341c broadcom/dcd: Fix mynewt build
dcd_synopsys.c included broadcom/interrupts.h before
preprocessor check whether file should be used.

Since mynewt build does not include all folders it resulted in build
error.

Now offending include is moved few lines after preprocessor check.
2021-11-04 21:46:17 +01:00
hathach
310f287f44 couldn't get g4 usb clock and pin setup just yet. Leave it as it is for now 2021-11-04 17:52:55 +07:00
hathach
f90f5ea369 adding g4 family with g474nucleo, able to blink led and button 2021-11-04 16:16:51 +07:00
hathach
8b3708b44f rename l4 board to match other convention 2021-11-04 13:57:03 +07:00
Ha Thach
fc59515bfd
Merge pull request #1163 from hathach/generalize-synopsys-dwc2
Generalize synopsys dwc2
2021-11-04 13:41:25 +07:00
hathach
6cfdf697eb add hint/question with ISB 2021-11-04 12:42:28 +07:00
hathach
4a8ac71711 Add timer1 on pi4 for blinky
this get usb irq triggered even without ISB() in previous commit
2021-11-04 12:31:16 +07:00
hathach
b51d038b65 fix issue with bcm2711 caching issue by ading ISB() after dwc2_dcd_int_enable90
also add hwcfg_list for reference
2021-11-04 12:30:11 +07:00
hathach
0faff5a859 update broadcom peripherals to latest 2021-11-03 13:13:08 +07:00
hathach
e16506cb52 clean up 2021-11-03 12:24:10 +07:00
hathach
28b177484d
skip net example for pi4 due to ssize_t conflict 2021-11-02 22:27:00 +07:00
hathach
0e733ae14b
add pi4 to ci build in build_aarch64 2021-11-02 21:46:23 +07:00
hathach
1046786acf change broadcom submodule path from git to http 2021-11-02 18:17:59 +07:00
hathach
4431ced598 add L4 to ci, update doc 2021-11-02 16:20:39 +07:00
hathach
7e68894726 grouping stm32L4 family in bsp 2021-11-02 16:10:40 +07:00
hathach
b809429873 minor clean up 2021-11-02 14:51:15 +07:00
hathach
aa682d7301 add fix for stm32l4 (version 3.10a) which generate transfer complete when setup recieved and control out data complete 2021-11-02 13:52:30 +07:00
Ha Thach
b4a0f0b273
Merge pull request #1176 from jgressmann/bugfix/samd21-systick
samd21: enable SysTick only if running w/o OS
2021-11-02 10:49:41 +07:00
Jean Gressmann
5fb16a8f2c samd21: enable SysTick only if running w/o OS 2021-11-01 18:01:18 +01:00
Ha Thach
9245b8f89f
Merge pull request #1164 from suda-morris/refactor/update_include_header_esp32xx_dcd
update dcd_esp32sx with correct include list
2021-11-01 15:24:51 +07:00
Ha Thach
fa3ed606b4
Merge pull request #1172 from jgressmann/feat/trinket_m0
Adds support for Adafruit's Trinket M0
2021-10-31 19:10:20 +07:00
Jean Gressmann
ba34f420db Adds support for Adafruit Trinket M0 2021-10-31 12:34:53 +01:00
hathach
4ea8f1441d correct freertos port for efm32gg 2021-10-31 00:19:17 +07:00
hathach
215e0595ab change F207 to use new dwc2 2021-10-31 00:09:40 +07:00
hathach
b85a6898af remove dcd_efm32 2021-10-30 20:45:58 +07:00
hathach
9cd5a87c64 add support for EFM32GG
merge GG12 GG12 to simply OPT_MCU_EFM32GG
2021-10-30 20:42:55 +07:00
Ha Thach
2019c8ad7e
Merge pull request #1171 from mkj/qtpy
Add Adafruit QT Py board
2021-10-30 12:57:51 +07:00
Matt Johnston
19a26729b0 Add Adafruit QT Py board
Straight copy of itsybitsy_m0/ with MCU changed to
ATSAMD21E18

LED and button are disabled.
LED is a neopixel so could be added later.
2021-10-29 18:00:23 +08:00
hathach
660e8b8c88 skip snpsid check for gd32, abstract phyfs turnaround, set max timeout calibration.
still has issue with gd32 with msc (does work with running with rtt as
log).
2021-10-29 16:08:19 +07:00
Matt Johnston
8e95b807f7 samd21: Make LED_PIN and BUTTON_PIN optional
Some boards don't have them, just ignore
2021-10-29 13:49:15 +08:00
hathach
6c67fc4125 correctly init hs phy for bcm 2021-10-29 00:53:30 +07:00
hathach
7def380058 support bcm2711 on pi4, enhance dcd init with utmi and ulpi hs phy 2021-10-28 12:52:18 +07:00
Gordon McNab
6a658007a5 Changes to use ft90x-sdk as submodule or installed SDK from toolchain. 2021-10-27 12:30:51 +01:00
hathach
49aa69a301 update bcm dcd 2021-10-26 23:57:48 +07:00
hathach
07829510e7 Merge branch 'tannewt-rpi' into generalize-synopsys-dwc2 2021-10-26 23:43:35 +07:00
hathach
9f1cd1a753 add synopsys id check, rename GCCFG_* to STM32_GCCFG-* 2021-10-26 23:10:26 +07:00
hathach
bb5dab5c2e add hw config struct 2021-10-26 22:48:01 +07:00
hathach
68fa9d4064
enhance fifo read/write 2021-10-26 13:56:56 +07:00
hathach
5d05f8758f
more clean up 2021-10-26 13:36:43 +07:00
hathach
4ebfd00d67
clean up 2021-10-26 13:33:40 +07:00
hathach
de413183d4
use dwc2->epin 2021-10-26 13:07:00 +07:00
hathach
e7655a7567
update the access epout 2021-10-26 13:02:26 +07:00
hathach
34844c9061
use dwc2->fifo[] 2021-10-26 12:53:29 +07:00
hathach
5e1a031800
complete dwc2 regs struct 2021-10-26 12:22:41 +07:00
hathach
3755814f57
add epin, epout to dwc2 regs 2021-10-26 11:49:59 +07:00
hathach
8df078dc9e
more rename 2021-10-26 11:11:46 +07:00
hathach
7369d2441d
update dwc2_type 2021-10-26 00:55:24 +07:00
Ha Thach
39c7fa1596
Merge pull request #1162 from todbot/master
Properly handle Program Change and Channel Aftertouch messages
2021-10-25 23:49:30 +07:00
hathach
460052c8a0
spacing 2021-10-25 21:20:58 +07:00
suda-morris
7d0d6f85f2 update dcd_esp32sx with correct include list 2021-10-25 21:53:14 +08:00
hathach
dbd31895bc
change usage of TU_CHECK_MCU() to prevent macro conflict 2021-10-25 17:04:03 +07:00
hathach
85e18b9172
house keeping 2021-10-25 15:58:12 +07:00
hathach
4ccf60954d
moving esp32s2 to dwc2, abstract dwc2_set_turnaround() 2021-10-25 15:51:41 +07:00
Tod Kurt
9f014b059a properly handle Program Change and Channel Aftertouch messages 2021-10-25 00:07:59 -07:00
hathach
a0202df920
add TU_ARGS_APPLY(), TU_CHECK_MCU() now could check list of mcus 2021-10-25 13:49:59 +07:00
hathach
61c80840c3
update dwc int enable/disable 2021-10-25 00:40:21 +07:00
hathach
4ab931a361
more clean up 2021-10-25 00:23:18 +07:00
hathach
0e7c103e98
minor rename 2021-10-25 00:11:17 +07:00
hathach
32742571da
switch gd32 and stm32f4 to use new dwc2 driver 2021-10-25 00:06:57 +07:00
hathach
06de6b725c
adding generalized dwc2 driver 2021-10-24 23:24:46 +07:00
Ha Thach
55e0b5882a
Merge pull request #1160 from cr1901/msp-fix
msp430x5xx: Set base of transmit_packet buffer earlier to avoid incre…
2021-10-24 17:28:11 +07:00
Ha Thach
54bcc9f145
Merge pull request #1161 from hathach/rm-ep-size-bitfield
Remove ep descriptor wMaxPacketSize bitfield due to endian issue
2021-10-24 15:37:05 +07:00
hathach
109b7a6661 more wMaxPacketSize 2021-10-24 14:39:02 +07:00
hathach
5af989384b remove ep descriptor wMaxPacketSize bitfield due to endian issue 2021-10-24 13:11:21 +07:00
hathach
6f5b197a98 indent 2021-10-24 08:44:58 +07:00
William D. Jones
07c74c76d0 msp430x5xx: Set base of transmit_packet buffer earlier to avoid incrementing past unsent data. 2021-10-23 14:04:44 -04:00
Ha Thach
ffde3bd33d
Merge pull request #1159 from hathach/fix-warnings
Increase compiler warnings flags
2021-10-24 00:19:19 +07:00
Ha Thach
311c05b401
Merge branch 'master' into fix-warnings 2021-10-23 21:23:56 +07:00
Ha Thach
b541c0f5e0
Merge pull request #1150 from kkitayam/change_input_terminal_type_to_camera
UVC example: change input terminal type to camera from external
2021-10-23 20:48:52 +07:00
Scott Shawcroft
2ef200003d
Update broadcom library 2021-10-22 09:31:24 -07:00
Scott Shawcroft
35b62810c3
Update submodule 2021-10-22 09:00:42 -07:00
Scott Shawcroft
4279ad7d6e
Merge pull request #1 from hathach/tannewt-rpi
pi cm4 enumerated as full speed device
2021-10-22 08:55:10 -07:00
hathach
5e437ee186
pi cm4 enumerated as full speed device 2021-10-22 21:55:15 +07:00
Ha Thach
5079d47ff5
Merge pull request #1153 from majbthrd/ipv4
net_lwip_webserver: allow users to enable LWIP_IP6 if desired
2021-10-20 15:58:18 +07:00
Peter Lawrence
d42b5604ce net_lwip_webserver: allow users to enable LWIP_IP6 if desired 2021-10-19 11:29:51 -05:00
kkitayam
b3b6b4f785 Update _negotiate_streaming_parameters() to handle some requests 2021-10-19 21:49:00 +09:00
Ha Thach
4bfab30c02
Merge pull request #1139 from hathach/release-0.12.0
update changelog and increase version for 0.12.0
2021-10-19 13:27:53 +07:00
hathach
3485c82246 update changelog 2021-10-19 12:35:35 +07:00
kkitayam
4fd0ee4eef Implement GET_DEF and GET_LEN handling on Probe/Commit entities of streaming interface 2021-10-18 21:53:38 +09:00
hathach
6fcf4bee8c suppress null-dereference by usbh and lwip 2021-10-18 11:42:00 +07:00
hathach
a7dd5b616c fix -Wnull-dereference in midi_device 2021-10-18 01:11:27 +07:00
Ha Thach
e927359d9c
Merge pull request #1147 from kasjer/kasjer/msc-examples-serial-number
msc examples: Extend serial number to 12 digits
2021-10-18 00:49:22 +07:00
hathach
826b34a8ac enable -Wnull-dereference 2021-10-18 00:13:40 +07:00
Ha Thach
4cecd4e6e3
Merge pull request #1146 from kasjer/kasjer/da146xx-usb-complience
da146xx usb complience
2021-10-17 23:48:04 +07:00
Ha Thach
38f02f0f3d
Merge pull request #1145 from kilograham/release-0.12.0
Address compiler warnings
2021-10-17 17:47:11 +07:00
hathach
099d3b377f add volatile to EPx_REGS for -Wcast-qual
since gcc does difference between volatile struct and member when
casting pointer
2021-10-17 17:33:14 +07:00
hathach
31cd366935 more -Wcast-qual 2021-10-17 17:32:03 +07:00
hathach
a5f516893b more with -Wcast-qual 2021-10-17 16:36:53 +07:00
kkitayam
7325dd6335 Change input terminal type to camera 2021-10-16 12:06:13 +09:00
hathach
0b249618b0 fix -Wcast-qual 2021-10-15 23:54:31 +07:00
Jerzy Kasenberg
9a688224d0 msc examples: Extend serial number to 12 digits
USB3CV tool complains about too short serial number being used
in MSC device.

This just extends serial number to 12 characters, it makes it
easier to analyze USB3CV logs where this unnecessary warning
made output red.

Offending warning:
Serial Number string for MSC device : iSerialNumber = 0x3
Checking iSerialNumber String Descriptor: index = 0x03.
String Descriptor : "123456". (ENGLISH_US)
Using Language ID 0x409
MSC Serial Number length = 14
Invalid MSC Serial Number length : should be >= 26
*************************
Invalid MSC Serial Number length
*************************
*************************
(MSC: 5.1.2) Serial number must be a string, 12 characters or longer
(if the device supports a BOT interface, bInterfaceProtocol = 0x50),
or exactly 12 characters long (if the device supports a CBI interface,
bInterfaceProtocol = 0x00 or 0x01, and has a serial number).
2021-10-15 14:07:40 +02:00
Jerzy Kasenberg
bf4b133084 dcd_da146xx: Drop unexpected data
USB3CV tool verifies MSC device by sending too short or
too long packets.
In case of too long packets (msc_device requested 31 bytes
but incoming data had 32 bytes) extra byte(s) were left in
FIFO resulting in some data mismatch later on.

Now if more data is received in packet that expected extra
bytes are just dropped.
2021-10-15 12:02:15 +02:00
Jerzy Kasenberg
49aa0b72a8 dcd_da146xx: Fix EPIN stall notification handling
Normal TX handler for IN non-0 endpoints is called during
outgoing transfer or just after it was finished.
It may need to fill TX fifo with same data if TX_DONE is present
but ACK_STAT is not.
It may need to fill more data when called during transfer.
But it may also be called when STALL was sent.
In this case TX_DONE is set ACK_STAT is not, just like for packets
that were sent but no ACK was received.
Code was trying to send something again. There was nothing to send
so empty ZLP was scheduled for stalled endpoint.
This ZLP was later send to host where valid response was required.

This change checks if notification was for STALL endpoint and
does not try to fill TX FIFO in that case.
2021-10-15 12:02:15 +02:00
hathach
7596cb3079 update some sense warning from -Wconversion 2021-10-15 15:54:32 +07:00
graham sanderson
06d9555389 More warning cleanup
- physically suppress warnings in TinyUSB headers using pragmas so they don't break -Werror compilation of external files that include them
 - fix compiler warnings in rp2040 port
 - add cmake method to rp2040 port to allow an external project to suppress warnings in TinyUSB itself
2021-10-14 15:23:26 -05:00
Ha Thach
d94a5aa044
Merge pull request #1144 from kilograham/release-0.12.0
Fix compiler warning
2021-10-15 01:59:06 +07:00
Ha Thach
4d0cf6135a
Merge pull request #1143 from kkitayam/fix_video_format_guid
Fix GUID of video compression formats
2021-10-15 01:55:42 +07:00
graham sanderson
7667299b48 Remove compiler warning 2021-10-14 12:13:39 -05:00
kkitayam
2a795d5fd0 Fix GUID of video compression formats 2021-10-14 23:15:35 +09:00
hathach
5cfe293001 update changelog and increase version for 0.12.0 2021-10-13 17:32:34 +07:00
Ha Thach
9da234cd7c
Merge pull request #1101 from kasjer/kasjer/da146xx-bus-reset-sleep
da146xx bus reset and sleep reworked
2021-10-13 16:33:54 +07:00
Scott Shawcroft
4ab14867da
Trying to get USB init 2021-10-12 16:47:53 -07:00
Ha Thach
b26cc2cc46
Add linkermap for size analysis (#1136)
* add NO_LTO option to make
* add linkermap submodule and linkermap target
* add linkermap to ci build
* linkermap doesn't work with esp32sx map file yet
* add note for linkermap target
2021-10-13 00:57:45 +07:00
Ha Thach
2ba690d31d
Merge pull request #1118 from kkitayam/add_uvc
Add Video class
2021-10-12 22:47:52 +07:00
Ha Thach
379537cb6d
Merge branch 'master' into add_uvc 2021-10-12 22:01:02 +07:00
hathach
557fa3900a update docs 2021-10-12 21:57:34 +07:00
kkitayam
67f1603833 Fix a typo 2021-10-12 23:35:19 +09:00
Koji KITAYAMA
ef04dee52a
Merge pull request #1 from hathach/kkitayam-add_uvc
minor code clean up without functional changes
2021-10-12 23:20:55 +09:00
hathach
4d9e44e09c more rename 2021-10-12 01:12:26 +07:00
hathach
7afcb1e5d5 minor code clean up without functionality changes 2021-10-12 00:56:20 +07:00
hathach
4d170614dc rename some video constants 2021-10-11 23:18:24 +07:00
hathach
b3bfce2cb7 update the descriptor endpoint ISO for nrf5x 2021-10-11 16:07:34 +07:00
Ha Thach
ecec0370ca
Merge pull request #1107 from majbthrd/add_ncm
add NCM driver in a compatible manner : hathach/tinyusb#550
2021-10-11 15:57:46 +07:00
hathach
a6723f556d add ncm.h for magic number
mostly clean up magic number
2021-10-11 12:36:03 +07:00
kkitayam
b6d09ca761 Add compile option to allocate video data into flash in video_capture example 2021-10-09 23:02:18 +09:00
kkitayam
a3a18c9ed3 Change the video image to scrolling color bars. 2021-10-09 19:51:51 +09:00
hathach
a8eea9f6a5
add backward compatible with warnings for CFG_TUD_NET 2021-10-09 11:28:55 +07:00
Gordon McNab
5e6edecaa3 Streamline settings for board. 2021-10-07 17:00:28 +01:00
Gordon McNab
8c40a74f29 Sort out board settings. 2021-10-06 17:13:44 +01:00
Gordon McNab
9966b8a5d6 Change author in header to Bridgetek Pte Ltd. 2021-10-06 16:54:52 +01:00
Gordon McNab
37c5eeb51d Rename directories to indicate that FT930 and FT900 devices are both covered by the same SDK and src/portable code. Board makefile includes __FT900__ macro for FT90x and __FT930__ macro for boards with FT93x. 2021-10-06 16:50:55 +01:00
Ha Thach
9660a5821f
Merge pull request #1123 from Daft-Freak/patch-1
Handle HID devices with OUT endpoint listed first
2021-10-06 16:55:33 +07:00
Gordon McNab
bcecbfdc29 Modify cdc_msc example for Bridgetek FT90x/FT93x
Add in endpoint definitions for the Bridgetek devices in usb_descriptors.c and allow high speed in tusb_config.h.
2021-10-06 09:15:33 +01:00
Scott Shawcroft
98ab8117d6
USB seems to init ok 2021-10-05 18:20:44 -07:00
Gordon McNab
62c613f6d2 Add initial port for FT9xx series from Bridgetek.
Add FT90X and FT93X to the list of devices in tusb_option.h. 1700 for FT90x and 1701 for FT93x.
Set endpoint attributes for FT90x and FT93x in dcd_attr.h.
Add FT90x routines for USB device in src/portable/bridgetek/ft90x/dcd_ft90x.c
The location for hardware header files and libraries is hw/mcu/bridgetek/ft90x/hardware. There are no files in the repository, but files will be linked as a submodule in the future. The required files can be copied from or linked to the location "C:/Program Files(x86)/Bridgetek/FT9xx Toolchain/Toolchain/hardware" once the toolchain is installed.
Makefile for the MM900EV1B board for developing with an FT900 device is present. Use "BOARD=mm900ev1b".
2021-10-05 13:54:47 +01:00
hathach
431650fb7d
Merge branch 'j4cbo-ncm' into majbthrd-add_ncm 2021-10-05 16:32:37 +07:00
hathach
6fd62c8902
update docs 2021-10-05 16:06:54 +07:00
hathach
a867d87072
rename CFG_TUD_NET to CFG_TUD_ECM_RNDIS 2021-10-05 16:00:07 +07:00
hathach
31cfd5a684 Merge branch 'add_ncm' of https://github.com/majbthrd/tinyusb into majbthrd-add_ncm 2021-10-05 11:39:32 +07:00
Charlie Birks
aa97b419b2
Handle HID devices with OUT endpoint listed first
This happens on my PowerA wired Switch pro controller
2021-10-04 11:43:12 +01:00
Ha Thach
d9bda631d4
Merge pull request #1120 from hathach/enhance
house keeping update
2021-10-01 23:31:21 +07:00
hathach
fec2d15989
clean up vendor open 2021-10-01 23:00:09 +07:00
hathach
75ad0c7d31
clean up 2021-10-01 22:53:14 +07:00
hathach
fdd1e4fbf0
more usbd clean up 2021-10-01 21:52:29 +07:00
Scott Shawcroft
0932d502c7
remove bcm files 2021-09-30 14:50:38 -07:00
Ha Thach
c851229eea
Merge pull request #1063 from HiFiPhile/uac_fifo
UAC2: Add xfer_fifo support for dcd_transdimension.
2021-10-01 00:17:51 +07:00
Ha Thach
e7ef322268
Merge pull request #1113 from szymonh/master
Assure msc device block size is not zero
2021-10-01 00:08:32 +07:00
kkitayam
a1788da410 Add video class entry to rp2040 building scripts 2021-09-30 22:14:29 +09:00
hathach
7708997a67
change scsis status to phase error when total_bytes < block_count 2021-09-30 20:14:23 +07:00
hathach
14514d7087 Merge branch 'master' of https://github.com/szymonh/tinyusb into szymonh-master 2021-09-30 20:02:32 +07:00
kkitayam
2800a6a583 Add a file to skip bluepill 2021-09-30 21:46:16 +09:00
kkitayam
98e6a93a78 Add a list file for rp2040 2021-09-30 21:38:27 +09:00
kkitayam
889e4103d9 Add files to skip building for small ROM 2021-09-30 21:27:09 +09:00
kkitayam
9a7795464e Add cast operations to unused parameters 2021-09-30 21:08:57 +09:00
kkitayam
831443a2dc Move frame settings to usb_descriptors.h 2021-09-30 01:13:33 +09:00
kkitayam
4ca466b00b Update comments 2021-09-29 22:59:46 +09:00
kkitayam
9bcab53c2c Implement frame rate settings 2021-09-29 22:53:26 +09:00
kkitayam
dba5e7b17d Implement negotiation process for streaming parameters 2021-09-29 21:23:19 +09:00
kkitayam
0c89292a8d Fix transfer failure when reconnecting 2021-09-29 21:23:19 +09:00
kkitayam
319db9573c Change video frames to project logo 2021-09-29 21:23:18 +09:00
kkitayam
a15c354329 Fix typo 2021-09-29 21:23:18 +09:00
kkitayam
f7bbdea0b8 Refactor application API parameters 2021-09-29 21:23:17 +09:00
kkitayam
0d6496886c Change frame buffer management 2021-09-29 21:23:17 +09:00
kkitayam
d88cc23ca5 Refactor packet handling 2021-09-29 21:23:17 +09:00
kkitayam
a978828c3a Add green plain 2021-09-29 21:23:16 +09:00
kkitayam
cd3f6eac2f Fix streaming payload handling 2021-09-29 21:23:16 +09:00
kkitayam
3cb4bb391d Separate a handling resource into controller and streaming 2021-09-29 21:23:16 +09:00
kkitayam
2b4e02f192 Implement some mandatory requests on streaming interface 2021-09-29 21:23:16 +09:00
kkitayam
4995d9cbd2 Fix handling for set_interface 2021-09-29 21:23:15 +09:00
kkitayam
20572a6ed2 Fix regarding standard video stream request 2021-09-29 21:23:15 +09:00
kkitayam
c52cf9c8a5 fix: endpoint descriptor has incorrectly settings 2021-09-29 21:23:15 +09:00
kkitayam
d026f17457 fix: configuration descriptor has incorrectly sizes
update some descriptors
2021-09-29 21:23:15 +09:00
kkitayam
019c1ab09e add tentative example 2021-09-29 21:23:14 +09:00
kkitayam
033d6b28ff moved ISO attributes from audio to common 2021-09-29 21:23:14 +09:00
kkitayam
e8de411322 cleanup open() 2021-09-29 21:23:14 +09:00
kkitayam
97d5d1e491 add files for video class device 2021-09-29 21:23:14 +09:00
hathach
1d5bdf7d39
add same7x to board list 2021-09-29 16:29:15 +07:00
hathach
0b31c40b9f Merge branch 'master' into enhance 2021-09-29 16:18:17 +07:00
hathach
2f2fb3d8d9
clean up 2021-09-29 16:18:11 +07:00
Ha Thach
5b55b0d259
Merge pull request #1117 from hathach/zhangslice-master
add mm32 bsp (repalce #897)
2021-09-29 15:51:22 +07:00
hathach
b5b03e6c7f
add mm32 to ci build, also re-enable esp32s3 2021-09-29 15:33:44 +07:00
hathach
f3c1b2a60d
clean up 2021-09-29 15:31:03 +07:00
hathach
103309b88b
Merge branch 'master' of github.com:hathach/tinyusb into zhangslice-master
examples/device/hid_composite_freertos/src/FreeRTOSConfig/FreeRTOSConfig.h
2021-09-29 15:27:41 +07:00
hathach
3eeb79be4f
update mm32sdk submodule 2021-09-29 15:20:14 +07:00
hathach
7af57e41b5
add submodule hathach/mm32sdk 2021-09-29 14:58:47 +07:00
hathach
bbb68ffefb
remove official mm32sdk submodule 2021-09-29 14:55:20 +07:00
szymonh
db862ae725 Assure msc device block size is not zero 2021-09-27 21:11:44 +02:00
Ha Thach
32bdf3b79d
Merge pull request #1110 from hansfbaier/master
add support for the QMTech ATMSAME70N19A board
2021-09-27 12:41:07 +07:00
Hans Baier
196a0da813 add support for the QMTech ATMSAME70N19A board 2021-09-27 06:13:07 +07:00
Ha Thach
8f0cfc8d44
Merge pull request #1108 from hathach/minor-changes
make freertos header include in examples more explicit
2021-09-26 13:12:05 +07:00
hathach
fba5ec8134 make freertos header include in examples more explicit 2021-09-26 12:23:08 +07:00
Peter Lawrence
03d7988df3 add NCM driver in a compatible manner : hathach/tinyusb#550 2021-09-25 17:05:58 -05:00
Ha Thach
958cf2cfba
Merge pull request #1102 from kasjer/kasjer/usbd-small-ep0-enumeration-workaround
usbd: Workaround for non standard device descriptor request
2021-09-25 18:37:24 +07:00
Ha Thach
45ae409e3f
Merge pull request #1104 from hathach/fix-esp32-ci
add CFG_TUSB_OS_INC_PATH for os include path
2021-09-25 16:44:22 +07:00
hathach
73872a5df0 add CFG_TUSB_OS_INC_PATH for os include path
useful for freertos/ prefix with esp IDF
2021-09-25 16:16:55 +07:00
Scott Shawcroft
0a6ca65e3f
MMU works 2021-09-24 16:14:01 -07:00
Ha Thach
1c17cb1c45
Merge pull request #1103 from kasjer/kasjer/da146xx-close-cleanup
dcd_da146xx: Remove registers pointer from xfer_ctl_t
2021-09-24 20:55:16 +07:00
Ha Thach
cd865f896b
Merge pull request #1096 from kasjer/kasjer/da146xx-close-all
dcd_da146xx: Implement dcd_edpt_close_all()
2021-09-24 20:53:06 +07:00
Jerzy Kasenberg
c62c1433e7 usbd: Workaround for non standard device descriptor request
Windows and Linux host during enumeration requests device
descriptor with request size set to 64 bytes when device
was in default state (no address).
Those systems do not want 64 bytes though since usb descriptors is
only 18 bytes long so they silently expect that only one packet
will be received possibly 18 bytes for EPS > 16 or 8 or 16 bytes
for smaller EP0.

For devices with CFG_TUD_ENDPOINT0_SIZE size 8 or 16 there was
workaround that reduced request size to CFG_TUD_ENDPOINT0_SIZE
and that was enough to satisfy Windows and Linux hosts.

However USBCV testing application also requests device descriptor
but with size set to 18 bytes. Workaround for Window/Linux
prevented USBVC to tests devices with 8 bytes EP0 size since it
send only 8 bytes while application did wanted 18 bytes.

Solution that satisfies both cases it to check if in default state device
descriptor request wants more bytes than descriptor size (18).
If so host is expecting to receive less bytes then requested
and workaround would be applied since Linux/Windows only try
to read one packet.
If 18 bytes was requested as is the case for USBCV, core returns
descriptor in 2 or 3 packets as application expects.
2021-09-24 14:19:04 +02:00
Jerzy Kasenberg
fbac58e3e4 dcd_da146xx: Implement dcd_edpt_close_all()
Unconditionally disables all endpoints except EP0.
2021-09-24 10:46:16 +02:00
Jerzy Kasenberg
1503955860 dcd_da146xx: Clear transfer data on dcd_edpt_close
Closing endpoint clears data in affected xfer_ctl_t
2021-09-24 09:28:51 +02:00
Jerzy Kasenberg
f172c5ee13 dcd_da146xx: Remove registers pointer from xfer_ctl_t
Note: this commit does not change any logic.

xfer_ctl_t structure keeps all dynamic data connected with transfer.
It used to have pointer to register set that was constant and was there
for convenience only.
Removing register pointer from structure makes cleanup easier as whole
structure can be erased with memset like function.

In many cases functions were using local variable regs and xfer->regs which
were same, that could be confusing so this part is unified.

Few macros were added for easy conversion between epnum, xfer, and regs.
2021-09-24 09:28:51 +02:00
Jerzy Kasenberg
428eedcd04 dcd_da146xx: Update bus handling
So far bus reset was handled (with some holes in it).
Sleep and remote wakeup were not really tested and did not work.

With this change:
- bus reset is reworked
- remote wakeup works
- bus signal sleep is handled
2021-09-23 14:12:50 +02:00
Jerzy Kasenberg
c427712449 dcd_da146xx: Handle only enabled interrupts
Not much of an improvement but handle only interrupts
that were enabled and are expected.
2021-09-23 14:12:50 +02:00
Ha Thach
2eaf99e0aa
Merge pull request #1100 from kasjer/kasjer/da1469b_dk_usb-fix-button-config
da14695_dk_usb: Fix button configuration
2021-09-23 18:45:02 +07:00
Jerzy Kasenberg
417677aae4 da14695_dk_usb: Fix button configuration
Unlike da1469x_dk_pro, K1 pin (6) is connected to VCC when
active.
This adds required pull down and reverses active logic state.
2021-09-23 12:52:32 +02:00
Ha Thach
040300540c
Merge pull request #1099 from kasjer/kasjer/da1469x_dk_pro-fix-pin-pullup
da1469x_dk_pro: Fix button setup
2021-09-23 17:10:57 +07:00
Jerzy Kasenberg
dd2a518881 da1469x_dk_pro: Fix button setup
Button on board has 1k resistor to ground when pressed.
When not pressed pin 6 is floating.

This forces MCU pull-up for this pin for correct behavior.
2021-09-23 12:00:28 +02:00
Ha Thach
4766e7f348
Merge pull request #1093 from szymonh/master
Enforced buffer boundaries for hid devices
2021-09-23 13:31:46 +07:00
Scott Shawcroft
829f92d00f
Trying to setup the mmu 2021-09-22 15:19:02 -07:00
Ha Thach
3e569f8e79
Merge pull request #1094 from kasjer/kasjer/da146xx-vbus-handling
dcd_da146xx: Add VBUS handling
2021-09-18 23:12:40 +07:00
hathach
ea595d3161 update dcd attr for mm32 2021-09-18 16:53:16 +07:00
hathach
3333703d25 Merge branch 'master' into zhangslice-master 2021-09-18 13:35:26 +07:00
Scott Shawcroft
2499c9382d
rpi start. doesn't work 2021-09-17 16:51:34 -07:00
Ha Thach
90465299b4
Merge pull request #1086 from kkitayam/impl_close_all_for_khci
Implement dcd_edpt_close_all() and fix dcd_edpt_clear_stall() for frdm_kl25z
2021-09-17 21:40:40 +07:00
Jerzy Kasenberg
a71ac71d7f da1469x_dk_xxx: Add VBUS handling
Two BSPs with DA146xx MCUs are now adopted to
VBUS handling changed introduced to dcd_da146xx driver.

da14695_dk_usb as bus-powered devices informs driver that
VBUS is present at startup.

da1469x-dk-pro has VBUS change interrupt handler that
informs driver about VBUS changes.
2021-09-17 12:20:57 +02:00
Jerzy Kasenberg
6d8677a78a dcd_da146xx: Add VBUS handling
DA146xx are Bluetooth devices that may be battery
powered and when not connected to USB host there
is no need for USB peripheral to be running.

This change allows to enable USB peripheral when
VBUS is present otherwise USB is down reducing
power consumption.

tud_vsub_changed() function must be called
whenever VBUS change was detected.
For bus-powered devices this function should be called
at startup since VBUS must be present while device
is working.
2021-09-17 12:10:17 +02:00
hathach
b363afc091 minor clean up 2021-09-17 00:46:29 +07:00
hathach
c65cc75c6b use correct resume detection for kl25z 2021-09-17 00:44:39 +07:00
hathach
8dfe0898e7 minor update to dcd khci 2021-09-17 00:43:10 +07:00
kkitayam
fbe1bf375c Fix stall interrupt handling 2021-09-15 21:39:02 +09:00
kkitayam
46bb821753 Add J1-19 pin setting as a button 2021-09-15 21:32:53 +09:00
kkitayam
ecbe8c3376 Change default LED state to off 2021-09-15 21:32:53 +09:00
hathach
93ed3034c0 merge master and minor clean up 2021-09-15 18:35:52 +07:00
hathach
f39656b6d7 Merge branch 'master' of github.com:hathach/tinyusb into kkitayam-impl_close_all_for_khci 2021-09-15 18:29:28 +07:00
Ha Thach
03866ddf9b
Merge pull request #1062 from HiFiPhile/fifo_dcd_transdimension
Improvements for dcd_transdimension
2021-09-15 16:07:06 +07:00
MasterPhi
0ded1c5bac Reset EP flags on close. 2021-09-14 21:08:12 +02:00
hathach
a23944035d correct assoc_itf_count for bth driver 2021-09-15 00:51:01 +07:00
hathach
b474522245 make vendor driver more flexible
- skip additional custom descriptor between interface and endpoints
- can have up to 2 bulk endpoint ( 1 in & 1 out)
2021-09-14 21:30:38 +07:00
hathach
25ea8f9c9e update configuration parser 2021-09-14 21:02:38 +07:00
MasterPhi
3639168066 Fix warning. 2021-09-14 11:58:22 +02:00
hathach
5404d6d8ae usbd pre-compute total interface length without replying on driver open 2021-09-14 12:47:20 +07:00
hathach
103a11d449 add host hid_controller to cmake all list
fix 1067
2021-09-14 12:25:08 +07:00
Ha Thach
6d3fb7eb98
Merge pull request #1087 from HiFiPhile/nuc_wkp
NUC126: fix remote_wakeup
2021-09-14 11:40:55 +07:00
szymonh
2d6407e7a5 Enforced buffer boundaries for hid devices 2021-09-13 22:56:25 +02:00
Ha Thach
43aac7074b
Update supported.rst 2021-09-13 22:16:34 +07:00
Ha Thach
d640d59f99
Merge pull request #1092 from szymonh/master
Add support for Nucleo F412ZG
2021-09-13 22:14:23 +07:00
Ha Thach
1c3215257e
Merge pull request #1091 from hathach/esp32sx-compliance
Esp32sx compliance
2021-09-13 21:26:29 +07:00
szymonh
1a87b605bd Add support for Nucleo F412ZG 2021-09-13 13:21:25 +02:00
hathach
cdc63459eb esp32sx implement dcd_remote_wakeup(), fully compliance to chapter9 test suite 2021-09-13 16:49:38 +07:00
hathach
e64bfb9ff5 implement dcd_edpt_close_all(), pass chapter9 test suite (without remote wakeup) 2021-09-13 16:16:37 +07:00
Ha Thach
7e6f954ffe
Merge pull request #1090 from szymonh/master
Prevent buffer overflow in bth_device.c
2021-09-13 16:01:56 +07:00
szymonh
50e3c0054f Add size check to tud_bt_hci_cmd_cb call in bth_device.c 2021-09-13 10:23:03 +02:00
hathach
43e6555fd0 clean up 2021-09-13 13:09:38 +07:00
hathach
ce5db06ba0 clear PID along with clear stall 2021-09-13 12:05:49 +07:00
hathach
6feda5ae8f Merge branch 'nuc_wkp' of https://github.com/HiFiPhile/tinyusb into HiFiPhile-nuc_wkp 2021-09-13 11:52:16 +07:00
szymonh
d5f2c34eaa Prevent buffer overflow in bth_device.c 2021-09-12 20:24:54 +02:00
hathach
9bed4e2e21 refactor nxp TDI dcd_edpt_xfer_fifo 2021-09-13 00:45:15 +07:00
hathach
038ec341f8 Merge branch 'fifo_dcd_transdimension' of https://github.com/HiFiPhile/tinyusb 2021-09-12 17:39:32 +07:00
Ha Thach
5013788989
Merge pull request #1089 from hathach/imxrt-compliance
Imxrt compliance
2021-09-12 13:37:49 +07:00
hathach
dd60ce784c nxp tdi: implement dcd edpt close all 2021-09-11 21:29:04 +07:00
hathach
1f7ade2b75 nxp tdi: fix error td prevent further transfer 2021-09-11 19:27:37 +07:00
MasterPhi
22571ec98e reset PID to DATA0 on clear_stall. 2021-09-10 16:04:47 +02:00
MasterPhi
8886de0d8a Fix remote_wakeup 2021-09-10 13:05:15 +02:00
MasterPhi
580893b3fe Shorter expr. 2021-09-10 11:17:33 +02:00
kkitayam
2998f67eac Fix dcd_edpt_clear_stall to reset data toggle 2021-09-10 00:18:43 +09:00
kkitayam
d7238d9a86 Remove heap memory area 2021-09-10 00:13:29 +09:00
Mengsk
283783c082 dcd_edpt_xfer_fifo: use qtd_init if restriction not met. 2021-09-09 16:45:18 +02:00
hathach
ad8c0ee818
nxp tdi: enhance qhd using DCD_ATTR_ENDPOINT_MAX 2021-09-09 20:26:03 +07:00
hathach
f948cbe471
nxp tdi implement remote wakeup
enhance bus reset, unplugged, suspend, resume detection
2021-09-09 17:04:04 +07:00
hathach
27800f7e4f
remove connected check for DCD_EVENT_UNPLUGGED since previous bus reset can clear this
implement unplugged detection for trans dimension dcd
2021-09-09 16:01:05 +07:00
hathach
f81368174b
add other speed descriptor callback tud_descriptor_other_speed_configuration_cb()
example implement tud_descriptor_device_qualifier_cb() and
tud_descriptor_other_speed_configuration_cb() on high speed device to
fully compliant to usbcv
2021-09-09 15:17:19 +07:00
kkitayam
780852efb3 Fix stall handling 2021-09-09 00:55:02 +09:00
kkitayam
22b5b47045 Implement dcd_edpt_close_all for NXP khci 2021-09-08 21:52:27 +09:00
Ha Thach
d66d817c38
Merge pull request #1080 from hathach/rx-msc-compliance
Renesas RX reset PID to DATA0 when open endpoint
2021-09-08 18:31:42 +07:00
Ha Thach
5f141a4c13
Merge pull request #1077 from hathach/st-synopsy-compliance
St synopsy compliance
2021-09-08 18:00:44 +07:00
hathach
d077574097 reset PID to DATA0 when open endpoint 2021-09-08 17:56:22 +07:00
Ha Thach
c5e6e87d13
Merge pull request #1076 from kkitayam/impl_close_all_for_rx
Implement dcd_edpt_close_all() for Renesas RX family
2021-09-08 17:53:42 +07:00
hathach
67e80f60e3 fix build with gd32vf103 2021-09-08 13:35:11 +07:00
Ha Thach
f878f892ad
Merge pull request #1071 from HiFiPhile/iar
More IAR support
2021-09-08 13:15:00 +07:00
Ha Thach
4a63326ed9
Merge pull request #1078 from dshadoff/more_ps4_controllers
Add PS4-compatible controllers
2021-09-08 12:25:36 +07:00
David Shadoff
185bb21bdd Add PS4-compatible controllers 2021-09-07 21:13:34 -04:00
hathach
4ac136d81d implement remote wakeup for stm synopsys 2021-09-08 00:57:07 +07:00
hathach
a54a974fa5 make synopsys usbcv compliance
- implement dcd_edpt_close_all()
- reset dtoggle when open endpoint
- correct dev interrupt mask on bus reset
2021-09-07 23:02:57 +07:00
kkitayam
f3da48d46a Implement dcd_edpt_close_all() for Renesas RX family 2021-09-07 23:28:54 +09:00
kkitayam
e06a632b72 Update Renesas RX 2021-09-07 23:28:54 +09:00
Ha Thach
582e5dbac5
Merge pull request #1075 from hathach/fix-cxd56-msc
Fix cxd56 msc
2021-09-07 18:06:40 +07:00
hathach
785cdf67f0 default PYTHON to python3 on linux, and python on windows 2021-09-07 17:43:45 +07:00
MasterPhi
b6cda41daf Add doc for IAR. 2021-09-07 12:32:27 +02:00
MasterPhi
a754205acb Rename iar.ipcf to iar_template.ipcf 2021-09-07 12:32:17 +02:00
MasterPhi
f735ee4f36 Remove ipcf of examples. 2021-09-07 11:25:35 +02:00
hathach
f47e5402fa add msc workaround for cxd56 2021-09-07 13:30:51 +07:00
Ha Thach
78f88cf5c4
Merge pull request #1074 from unlimitedcodeworks/tusb_host_gamepad_add_additional_ps4_compatible_vid_pid_combos
Tusb host gamepad add additional ps4 compatible vid pid combos
2021-09-07 11:39:47 +07:00
Christian Arlt
cc08bb6f99 Added Arc System Works GG Xrd Limited Edition controller VID PID 2021-09-06 19:41:09 +02:00
Christian Arlt
a0646f20ba Added Hori Fighting Commander 4 VID PID 2021-09-06 19:40:14 +02:00
Christian Arlt
c53ce53058 Added Sony DualShock4 CUH-ZCT1E pid 2021-09-06 19:38:31 +02:00
hathach
fa030075c2 Revert "Fix for MSC during stage STATUS"
This reverts commit 2e23f3dd7287186445aeab39108f81c51644ed77.
2021-09-06 19:26:28 +07:00
Ha Thach
cbb6dfd6a5
Merge pull request #1070 from kamtom480/msc_stage_status_fix
Fix for MSC during stage STATUS
2021-09-06 13:08:29 +07:00
MasterPhi
51dddf63fa Add IAR project connections. 2021-09-03 18:26:39 +02:00
Kamil Tomaszewski
2e23f3dd72 Fix for MSC during stage STATUS 2021-09-03 18:13:45 +02:00
Ha Thach
831a45f14b
Merge pull request #1065 from hathach/rp2040-compliance
Rp2040 compliance test
2021-09-01 20:18:01 +07:00
hathach
d4c56c70a8
minor clean up 2021-09-01 20:01:40 +07:00
hathach
d6e9fe38be
rp2040 implement dcd_edpt_close_all()
aslo rename reset_ep0_pid() and clean up. We only need to reset pid when
setup packet received
2021-09-01 19:44:12 +07:00
hathach
1398226bb5
only attempt to clear if stalled, and stall if cleared 2021-09-01 16:54:03 +07:00
hathach
15fa2f447b
add back edpt check before cbw, since bot reset can occurred any time 2021-09-01 16:53:12 +07:00
hathach
fc889ece74
rp2040 correct ep set/clear stall
- stall will remove pending (not complete) transfer. Correct reset data
toggle when clear stall.
- remove buf ctrl debug code
2021-09-01 16:52:27 +07:00
hathach
90dc9bc289
revert previous changes, edpt stall also clear any pending (not complete) transfer 2021-09-01 12:42:45 +07:00
hathach
ab0c3e8dd0
fix rp2040 chapter 9 TD 9.6 test 2021-08-31 17:41:08 +07:00
hathach
d047b28aa2
remove set/clear busy flag in set/clear stall since they are different status
note: dcd should resume to prio-stalled queued transfer when unstall
2021-08-31 17:39:54 +07:00
MasterPhi
e3bf4c069b UAC2: Add ring buffer support for dcd_transdimension.
Add ring buffer ON/OFF switch.
2021-08-31 12:29:22 +02:00
MasterPhi
16b802d50c add dcd_edpt_close and iso xfer. 2021-08-31 12:02:19 +02:00
Ha Thach
e2175f6ed1
Merge pull request #1061 from hathach/samd-compliance
Update SAMD to pass USBCV
2021-08-31 17:00:42 +07:00
MasterPhi
864d8381a7 dcd_transmission xfer_fifo support. 2021-08-31 11:59:51 +02:00
hathach
76345ea3a1
clear stall and reset data toggle when open edpt
required to pass one of msc test.
2021-08-31 16:41:45 +07:00
Ha Thach
1a1bcd816c
Merge pull request #1060 from HiFiPhile/cv_hid
USBCV: fix HID_LOGICAL_MAX overflow.
2021-08-31 16:41:30 +07:00
MasterPhi
8305766afe fix HID_LOGICAL_MAX overflow. 2021-08-31 11:27:43 +02:00
Ha Thach
38f5aee9c3
Merge pull request #1058 from hathach/usbcv-compliant-test
nrf5x USB Compliance Verification Test suite
2021-08-30 17:31:50 +07:00
hathach
36dc25a22d changelog 2021-08-30 15:01:12 +07:00
Ha Thach
e72d48ee29
Update changelog.rst 2021-08-30 13:40:01 +07:00
Ha Thach
8029fb16cd
Merge pull request #1056 from hathach/release-0.11.0
increase version and update changelog
2021-08-30 13:37:50 +07:00
Ha Thach
4874afb272
Merge pull request #1049 from mws-rmain/master
Added support for Microchip Curiosity Nano SAMD21 board (DM320119)
2021-08-30 12:45:02 +07:00
hathach
6fadf530e0 increase version and update changelog 2021-08-30 12:44:38 +07:00
hathach
a05ea0d83b add CFG_EXAMPLE_MSC_READONLY for curiosity
allow family/board to exclude specific example. exclude
net_lwip_webserver from curiosity.
2021-08-29 22:53:16 +07:00
mainr
b169db3fd6 Add PYOCD_OPTION
Added PYOCD_OPTION to pass board-specific options to build
2021-08-29 22:51:46 +07:00
mainr
90af8562b1 Added support for Microchip Curiosity Nano SAMD21 board (DM320119)
Added support for Microchip Curiosity Nano SAMD21 board (DM320119) under hw/bsp/samd21/boards/curiosity_nano
The nEDBG on this board requires dap_protocol be specified as SWD (changed in examples/rules.mk)

NOTE: requires entry (03eb:2175) for VID:PID of nEDBG be added to /etc/udev/rules for pyocd
2021-08-29 22:51:46 +07:00
Ha Thach
bc4145fcb4
Merge pull request #1033 from hathach/merge-waveshare-h7
merge waveshare to h7 family
2021-08-29 22:14:46 +07:00
Ha Thach
4492a7021c
Merge branch 'master' into merge-waveshare-h7 2021-08-29 21:49:10 +07:00
hathach
6159252692 disable systick when running freertos on other stm families 2021-08-29 21:34:10 +07:00
hathach
00e66cf2e0 remove old openh743i, explicitly disable systick when using freertos for H7 2021-08-29 21:26:47 +07:00
Ha Thach
3195929596
Merge pull request #1055 from xcguang/bugfix/bth_stridx_error
fix: bth stridx error
2021-08-29 20:48:42 +07:00
Ha Thach
d1ccb9b86b
Merge pull request #1054 from a-h/master
Minor grammar updates
2021-08-29 16:07:28 +07:00
hathach
fdf1ff545f responding with status per-spec in test case 4 2021-08-29 15:44:27 +07:00
hathach
4e3ed8159e passed all USBCV bot complaince test 2021-08-29 13:34:47 +07:00
hathach
ee18cc42f2 msc handle more test, passed Command Self Test compliant 2021-08-29 12:06:10 +07:00
hathach
ad21b69277 fix nrf clear data toggle sequence when clearing stall 2021-08-29 12:05:34 +07:00
hathach
66c292e2ec fix a couple of nrf dcd issue
- limit out xact dma to prevent usbd overflow in certain situation after
stalled
- drained already acked data when stalling an OUT endpoint
2021-08-29 00:34:21 +07:00
hathach
be98cd56c7 update msc to be more robuse
add more log, pass more complaint test
2021-08-29 00:29:29 +07:00
hathach
54013737d5 fix msc example with out of bound lba (due to compliant test) 2021-08-28 20:26:56 +07:00
hathach
a53839ef44 correct msc example return type of tud_msc_scsi_cb() 2021-08-28 01:23:20 +07:00
hathach
53ea1e1324 fix msc test case 8 and 10 2021-08-27 23:52:59 +07:00
hathach
c6b9f8a530 fix msc case 3 complaint test 2021-08-27 23:33:11 +07:00
hathach
8bad0af849 explicitly clear stall and data toggle for edpoint upon open() 2021-08-27 22:31:08 +07:00
hathach
81c73c235f implement dcd_edpt_close_all() for nrf52840 2021-08-27 22:30:30 +07:00
hathach
e01239ccc9 more msc refactoring 2021-08-27 20:05:56 +07:00
hathach
2667ce6981 fix BOT case 2 test compliant 2021-08-27 17:50:02 +07:00
hathach
893dceb198 refactor msc device 2021-08-27 17:30:02 +07:00
hathach
032770682e minor clean up 2021-08-27 13:18:51 +07:00
hathach
9394de6ae7 update msc driver to pass MSC BOT error recovery compliant test 2021-08-27 12:38:41 +07:00
Xu Chun Guang
2202845507 fix: bth stridx error 2021-08-27 10:58:38 +08:00
Adrian Hesketh
138e77f3b5
Merge branch 'hathach:master' into master 2021-08-26 15:44:50 +01:00
hathach
629da937f8
slightly change the keyboard descriptor template to pass usb compliant test 2021-08-26 17:55:31 +07:00
hathach
ed4602158b
TD 9.12 remote wakeup test
remove TUSB_DESC_CONFIG_ATT_REMOTE_WAKEUP attribute from non-hid
examples
2021-08-26 17:08:22 +07:00
hathach
71e77e47fa
add dcd_edpt_close_all() for clear existing configured state
correctly responded to TD 9.13 Set Configuration Test
2021-08-26 17:07:03 +07:00
hathach
07adc26ce3
fix usbcv TD 9.4 Interface Descriptor test 2021-08-26 13:07:10 +07:00
Ha Thach
8d97f0e81f
Merge pull request #1041 from HiFiPhile/vdc
Fix vendor fifo deadlock, add tud_vendor_n_read_flush
2021-08-25 23:22:15 +07:00
Ha Thach
155c186b17
Merge pull request #1047 from hathach/host-hid-controller
Add host hid controller example
2021-08-25 12:39:51 +07:00
hathach
3debeb637a
test hid controller with rp2040 2021-08-24 21:34:51 +07:00
hathach
3c0c051df1
add tuh_vid_pid_get()
complete Sony PS4 dualshock controller example
2021-08-24 19:10:23 +07:00
hathach
88bb8fac3d
rename host API to be consistent with naming on device stack
- tuh_device_get_speed() to tuh_speed_get()
- tuh_device_configured() to tuh_mounted()
- tuh_device_ready() to tuh_ready()
2021-08-24 12:37:04 +07:00
Ha Thach
9c3fdb8135
Merge pull request #1043 from hathach/more-host-improvement
More host improvement
2021-08-24 12:28:41 +07:00
Ha Thach
fc2ffed5c6
Merge pull request #1044 from nxf58843/feature-k32l2b
Feature k32l2b
2021-08-24 12:20:07 +07:00
hathach
5d152503ee fix dev0 out of bound array due to leftover 2021-08-24 12:16:23 +07:00
Greg Steiert
5bd7788950 cleaned up unused code, only enalbing port clocks as needed 2021-08-23 16:36:58 -07:00
Greg Steiert
86201f77be initial commit of support for K32L2B 2021-08-23 16:17:57 -07:00
hathach
8dc16dd3a7 fix rp2040 build 2021-08-24 01:19:06 +07:00
hathach
353c070d00 exclude dev0 from usbh devices pool 2021-08-24 01:06:05 +07:00
nxf58843
fb16e80e57
Merge pull request #2 from hathach/master
Pulling latest from source
2021-08-23 09:55:04 -07:00
hathach
3309425211 sepearate CFG_TUH_DEVICE_MAX and CFG_TUH_HUB
separate dev0 from _usbh_devices pool to save sram
2021-08-23 19:56:53 +07:00
Adrian Hesketh
49bcbf0f5d
Update README.rst 2021-08-23 11:32:12 +01:00
Adrian Hesketh
a893e6d2a2
Update README.rst 2021-08-23 11:31:11 +01:00
Adrian Hesketh
49278a4a9b
Minor README grammar updates 2021-08-23 11:29:56 +01:00
hathach
75cd593b60 add hcd_devtree_get_info()
remove usbh_hcd.h
2021-08-23 17:00:41 +07:00
hathach
a490a3fe61 add hcd attr, add note for ehci framelist on NXP derivative 2021-08-23 15:40:57 +07:00
hathach
4ca176c291 refactor ehci init api 2021-08-23 12:37:54 +07:00
hathach
6a16f6ccdd rename CFG_TUSB_HOST_DEVICE_MAX to CFG_TUH_DEVICE_MAX 2021-08-23 11:01:40 +07:00
hathach
800f85329e add tuh_hid_receive_report() for applicaiton to explicitly request report 2021-08-23 11:00:21 +07:00
Ha Thach
ea902493db
Merge pull request #1038 from HiFiPhile/nuc
nuc126: fix set_address & disable sof
2021-08-23 10:57:59 +07:00
MasterPhi
4941cde175 Fix vendor fifo deadlock, add tud_vendor_n_read_flush 2021-08-22 13:26:50 +02:00
MasterPhi
69e539fda4 Fix CI. 2021-08-21 12:11:35 +02:00
MasterPhi
e20755442a nuc126: fix set_address & disable sof 2021-08-21 12:04:02 +02:00
Ha Thach
58477b71f2
Merge pull request #1035 from hathach/improve-host-stack
Improve host stack
2021-08-20 22:21:30 +07:00
hathach
beb1a5c678 minor clean up 2021-08-20 19:39:33 +07:00
hathach
22a5b1608c change host driver open return type to bool
the descriptor len used by driver will be calculated by usbh
2021-08-20 19:31:38 +07:00
hathach
97703587d9 improve host configuration parsing
- remove driver class code binding
- fully support IAD
- auto calculate total length for interface descriptor for driver
2021-08-20 19:08:38 +07:00
hathach
62f2efbe8c hid host skip get report descriptor if too large instead of assert 2021-08-20 18:26:56 +07:00
hathach
1cef2b6a42 extra common edpt helper for device and host stack
tu_edpt_validate() and tu_edpt_bind_driver()
2021-08-20 18:01:10 +07:00
Ha Thach
aab133ac69
Merge pull request #1027 from kkitayam/remove_redundant_from_renesas
Remove redundant SOF processing from the Renesas RX family.
2021-08-20 01:07:57 +07:00
kkitayam
ff59e98a6a Add compile switch to enable SOF during suspend only 2021-08-19 23:57:34 +09:00
kkitayam
351581537f Removes redundant SOF processing from the Renesas RX family.
The same logic regarding the resume signal was implemented by usbd.

See also: #1023
2021-08-19 22:51:10 +09:00
Ha Thach
219d186c4d
Merge pull request #1034 from hathach/group-f1
Group f1
2021-08-19 19:44:01 +07:00
hathach
eda5b92e92 whitespace 2021-08-19 19:13:47 +07:00
hathach
4b72ad9b9f add f1 to ci build 2021-08-19 18:54:53 +07:00
hathach
175a6fbc5f rename to stm32f103_bluepill 2021-08-19 18:53:55 +07:00
hathach
ebfd65a9ca add stm32f103 mini v2.0 board 2021-08-19 18:51:51 +07:00
hathach
1992f49343 group stm32f1 board 2021-08-19 18:02:16 +07:00
hathach
a9279ece33 merge waveshare to h7 family 2021-08-19 17:27:53 +07:00
Ha Thach
c4a9a04d67
Merge pull request #1025 from hathach/add-hid-boot-example
add hid_boot_interface example
2021-08-19 11:24:10 +07:00
Ha Thach
3a248951e2
Merge pull request #1024 from HiFiPhile/nuc
Fix nuc126 buffer copy with IAR
2021-08-18 19:14:03 +07:00
Ha Thach
830757d9ce
Merge pull request #1020 from hathach/rp2040-disconnect-suspend
Add Rp2040 suspend & resume support
2021-08-18 16:45:35 +07:00
hathach
3e8276846e correct usb memcpy for nuc120 as well 2021-08-18 16:38:13 +07:00
Ha Thach
0411810bc0
Merge pull request #1026 from hathach/suspend-resume-followup
skipped suspend/resume if not connected
2021-08-17 17:29:13 +07:00
hathach
9b869463dd skipped suspend/resume if not connected 2021-08-17 17:00:53 +07:00
hathach
c050612142 fix ci build 2021-08-17 13:33:15 +07:00
hathach
a6d18c400d fix keyboard report reserved is always 0 2021-08-17 13:29:26 +07:00
hathach
5f6418ccd7 add hid_boot_interface example 2021-08-17 13:21:24 +07:00
Ha Thach
7cbb11a86c
Merge pull request #992 from majbthrd/net_example_pbuf
net_lwip_webserver: utilize pbuf_copy_partial()
2021-08-17 11:56:54 +07:00
Mengsk
7aff4b178e use USBD_MemCopy. 2021-08-17 00:53:12 +02:00
Peter Lawrence
5a8ea0e0e2 net_lwip_webserver: further simplify pbuf_copy_partial() usage 2021-08-16 17:04:57 -05:00
Ha Thach
02277133ae
Merge pull request #1023 from hathach/nrf-suspend-resume
nRF52 Implement suspend, resume, remote wakeup
2021-08-16 20:40:56 +07:00
hathach
26d347be17 add note for renesas rx remote wakeup 2021-08-16 20:24:07 +07:00
hathach
ab2eec77d4 complete suspend, resume, remote wakeup for nrf52 2021-08-16 20:22:14 +07:00
Ha Thach
2bb63406e9
Merge pull request #959 from KarlK90/gd32vf103-support-tiny-usb
[PORT] Add GD32VF103 support and Sipeed Longan Nano Board support
2021-08-15 18:50:00 +07:00
hathach
c4a6a5ccb7 skip freertos example for gd32vf103 2021-08-15 17:56:04 +07:00
hathach
73f8fae036 change toolchain to riscv-none-embed-gcc-xpack for ci 2021-08-15 17:28:14 +07:00
hathach
37d9f940ee add gd32vf103 to riscv ci 2021-08-15 17:21:31 +07:00
hathach
09e4348adc move gd32vf103 to its own family 2021-08-15 17:19:25 +07:00
Ha Thach
48f17efa77
Merge pull request #1021 from tringis/fix-synopsys-change-addr
Fix dcd_set_address bug when called more than once
2021-08-14 01:59:38 +07:00
hathach
6af1950c8d
synopsys clear DAD on bus_reset 2021-08-14 01:51:13 +07:00
Tobias Ringström
0ec794376b Fix dcd_set_address bug when called more than once with different
addresses (e.g. after plugging the device into a different port).
2021-08-13 14:11:14 +02:00
Ha Thach
89e4586653
Merge pull request #1019 from kasjer/kasjer/da1469x-fix-no-vbus-startup
da1469x: Fix no VBUS startup
2021-08-13 17:02:21 +07:00
Ha Thach
ea1dfc1fd5
Merge pull request #956 from kkitayam/fix_audio_format_for_renesas_rx
add settings for Renesas RX family
2021-08-13 14:36:45 +07:00
hathach
d52b981c3a
revert ready() check in claim (do it later in separated PR) 2021-08-12 17:07:39 +07:00
hathach
17ef9f4843
add ready check for edpt claim 2021-08-12 15:54:04 +07:00
hathach
4ad47d9e26
bus_reset will reset all endpoints
allow for dynamic configuration as well as state-less enumeration
2021-08-12 15:40:26 +07:00
Jerzy Kasenberg
cde607338d da1469x: Fix no VBUS startup
For self powered device if device started without VBUS present
it would not be correctly attached to USB bus even if tusb_vbus_changed()
was later called.

This modifies dcd_init() so it starts USB state machine without checking
if VBUS is present or not, like all others drivers do.
tusb_vbus_changed() function is also removed its content was moved to dcd_init.
2021-08-12 09:12:25 +02:00
hathach
4f2999bc04
white space 2021-08-12 00:31:26 +07:00
hathach
88d4cb402d
simplify hw_endpoint_init() 2021-08-12 00:11:04 +07:00
hathach
a2baf9427d
more dcd clean up 2021-08-11 20:36:23 +07:00
hathach
979af6c2a8
clean up endpoint set/clear stall 2021-08-11 20:29:39 +07:00
hathach
f3a6e564ee
rp2040 enable suspend and resume interrupt 2021-08-11 20:06:57 +07:00
Ha Thach
63f7dfeb8e
Merge pull request #1013 from kasjer/kasjer/da1469x-fix-register-file-dependency
dcd_da1469x: Use mcu.h instead of MCU specific header
2021-08-11 19:38:46 +07:00
Jerzy Kasenberg
2c7bb540b4 dcd_da1469x: Use mcu.h instead of MCU specific header
dcd_da1469x can work with broader range of MCUs that
share same USB core.
Specific header file that was used DA1469xAB.h now it is changed
to mcu/mcu.h which includes actual MCU specific register file.
2021-08-10 20:26:51 +02:00
Ha Thach
a5b464c5ca
Merge pull request #1012 from hathach/fix-newline-keycode-usage
correct newline usage keycode (ENTER 0x28)
2021-08-10 17:09:09 +07:00
hathach
2ea0ef4543
correct newline usage keycode (ENTER 0x28) 2021-08-10 16:40:43 +07:00
Ha Thach
70b26b561a
Merge pull request #1011 from hathach/correct-hid-inout-example
Correct hid inout example
2021-08-10 16:06:50 +07:00
hathach
40afc8c5de
update node script to always shift dummy reportID like python
allow specify all product id with 0xFFFF in boards.js
2021-08-10 15:40:25 +07:00
Stefan Kerkmann
1b6540a61c Update systick reload value
The systick timer is driven by the AHB bus divided by 4, set the correct
reload value to generate a timer irq every ms.
2021-08-09 21:37:06 +02:00
hathach
312fd5f839 fix hid_test.py for hid inout to correctly preceeded with dummy reportID
add note for install hidapi on windows
2021-08-09 22:57:11 +07:00
Ha Thach
d2257db87f
Merge pull request #1004 from ctag-fh-kiel/master
STM32L151 portable driver adaptations
2021-08-09 16:07:42 +07:00
Robert Manzke
ea72d64992 STM32L151 portable driver adaptations 2021-08-08 08:30:52 +02:00
Stefan Kerkmann
27f147f421 Minor style changes 2021-08-07 14:08:18 +02:00
Stefan Kerkmann
8b78067cc1 Use linear buffer for GD32VF103
As the peripheral is the same as on the STM32F1 and STM32F4 lines we do the same.
2021-08-07 12:06:54 +02:00
Stefan Kerkmann
4cebde65ec Remove unnecessary define guard
The GD32VF103 family only has USB-OTG peripherals.
2021-08-07 12:00:13 +02:00
Stefan Kerkmann
0399996ee5 Code style changes 2021-08-07 11:33:36 +02:00
Stefan Kerkmann
66d566f8c0 Use functions provided by the nuclei-sdk hal 2021-08-07 11:33:36 +02:00
Stefan Kerkmann
60d03110f7 Correctly initialize and handle the system tick
Forgot to reload the systick timer in the irq handler
2021-08-07 11:33:36 +02:00
Stefan Kerkmann
1d2a57a9e1 Remove unsuitable clock configurations from init code
Only 48MHz, 72MHz, 96MHz and 120 MHz system clocks derived from an
external crystal are suitable for the usb peripheral, as the internal
oscillator is not stable enough. Also the usb-prescaler only supports
division by 1 (48MHZ), 1.5(72MHz), 2(96MHz) and 2.5(120Mhz).
120Mhz is also out of spec and not added here.
2021-08-07 11:33:36 +02:00
Stefan Kerkmann
733a362436 Use nuclei-sdk functions for init code
Instead of using the HAL functions we can just use the defines from the
board support for the longan nano that comes with the nuclei-sdk. Also
we move some includes and defines to the header file.
2021-08-07 11:32:06 +02:00
Stefan Kerkmann
6e287a7c5e Cleanup include paths and use linker files from nuclei-sdk 2021-08-07 09:51:56 +02:00
Stefan Kerkmann
b473923f42 Remove redundant linker files
We use the linker files provided by nuclei-sdk instead
2021-08-07 09:51:16 +02:00
Stefan Kerkmann
7682829820 Add correct endpoint count for GD32VF103
This controller family only supports USB FS with four endpoints
2021-08-07 09:01:01 +02:00
Stefan Kerkmann
c6d495d643 Remove dependencies to external libraries for the dcd driver
The core of tinyusb must be as independent as possible, we previously
relied on nuclei-sdk or the GD32VF103 firmware library for the synopsys
driver to work with the GD32VF103. Fortunatly we needed very few parts
from them so we implement them here.
2021-08-07 08:55:25 +02:00
Ha Thach
88f5c04fe0
Merge pull request #985 from HiFiPhile/same70
SAMx7x improvements
2021-08-06 11:32:57 +07:00
Ha Thach
b8055aeccf
Merge pull request #1000 from hathach/more-doc
More doc
2021-08-06 01:06:22 +07:00
hathach
6be2d46b53
update link to docs.tinyusb.org 2021-08-05 18:32:44 +07:00
hathach
188bc0e991
change webusb-serial landing page
- to example.tinyusb.org/webusb-serial/
- remove landing page from doc
2021-08-05 18:00:41 +07:00
MasterPhi
a698dda67e Minor fix. 2021-08-05 09:56:24 +02:00
hathach
b5d218e684
add html extra for webusb example 2021-08-05 14:06:08 +07:00
hathach
2b521e0c10
rename to .readthedocs.yaml
exclude all submodules for docs
2021-08-05 12:29:32 +07:00
Rafael Silva
82d73d3350
Merge pull request #997 from hathach/perigoso-readme-patch
readme: fix link to online documentation
2021-08-04 16:31:57 +01:00
Rafael Silva
546d869ffb
readme: fix link to online documentation 2021-08-04 16:25:01 +01:00
Ha Thach
623a775f78
Merge pull request #983 from perigoso/docs
Docs
2021-08-04 22:20:22 +07:00
Stefan Kerkmann
3eb54d878a Add stm32 license header 2021-08-03 20:21:06 +02:00
Stefan Kerkmann
ab1979e2d3 Revert "Disable -Werror for now"
This reverts commit 5e0c2e122300e7a6289b3bd08044f9cf1dbdef05.
2021-08-03 20:01:10 +02:00
Stefan Kerkmann
e5bd6bdeff Update nuclei-sdk with __riscv_flen fix 2021-08-03 20:01:10 +02:00
Stefan Kerkmann
790d90bf26 Set FreeRTOS to RISC-V (doesn't compile) 2021-08-03 20:01:10 +02:00
Stefan Kerkmann
23e3b1680b Use JTAG for jlink flashing 2021-08-03 20:01:10 +02:00
Stefan Kerkmann
3db2089aa9 Minor clean ups 2021-08-03 20:00:39 +02:00
Stefan Kerkmann
771bbe8af7 Use https github as submodule 2021-08-03 20:00:39 +02:00
Stefan Kerkmann
ddb83787a0 Disable -Werror for now
Without having __riscv_flen defined we get multiple warinings. But
defining it causes the startup code to contain floating point instructions.
This results in a exception right after booting.

See startup_gd32vf103.S lines 289-294 should open a PR at nuclei sdk
2021-08-03 20:00:39 +02:00
Stefan Kerkmann
19b971cb24 Add board support for gd32vf103 longan nano 2021-08-03 20:00:39 +02:00
Stefan Kerkmann
2657560b63 Add hacky GD32VF103 support 2021-08-03 20:00:35 +02:00
hathach
6805c9d734 add back info to readme, use stack.svg 2021-08-03 18:25:02 +01:00
Peter Lawrence
b682ce916a net_lwip_webserver: utilize pbuf_copy_partial() 2021-08-02 20:52:45 -05:00
HiFiPhile
bece3bca08
Add @HiFiPhile in CONTRIBUTORS.rst 2021-08-02 20:20:23 +02:00
Ha Thach
af8e5a90f4
Merge pull request #991 from hathach/fix-midi-available
correct midi available with already stream read
2021-08-02 19:25:24 +07:00
hathach
794bbd7177 fix warning 2021-08-02 18:58:27 +07:00
hathach
98e4ba6a12 correct midi available with already stream read 2021-08-02 18:55:12 +07:00
Ha Thach
8a48e994b6
Merge pull request #874 from kkitayam/add_xfer_fifo_for_rx63
Add dcd_edpt_xfer_fifo() for RX63N
2021-08-02 17:12:20 +07:00
kkitayam
45e55a8ea0 fix: D0FIFOSEL setting was incorrectly when big-endian is selected.
In pipe_xfer_in(), the endianness setting of D0FIFOSEL was lacking due to refactoring.
And add type cast operation to avoid warnings by CCRX.
2021-07-31 12:20:19 +09:00
MasterPhi
383290a634 Move register define to separate header. 2021-07-30 21:15:58 +02:00
perigoso
1a27dad7bb docs/supported: add Waveshare OpenH743I-C to board support list
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:48:08 +01:00
perigoso
0e6e137f5d readme: add local links to documentation
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:30 +01:00
perigoso
a6ae310f5f readme: convert md readme to rst
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:30 +01:00
perigoso
83d72cc1d5 docs/contributors: add credit for docs
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:30 +01:00
perigoso
0da08031ea readme: added docs status badge
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:30 +01:00
perigoso
f900a3ba7f docs: remove doxygen files
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:30 +01:00
perigoso
37e2342086 readme: remove redundant info, and point to new docs
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:30 +01:00
perigoso
358d781162 docs: update main index
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:30 +01:00
perigoso
37c56d677a docs: add local copy of stackup image, with added backround
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:30 +01:00
perigoso
8e791c118c docs: add info section index
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:30 +01:00
perigoso
21e3fca4be docs: add list of projects that use Tusb
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:30 +01:00
perigoso
42f551ec54 docs: add supported devices list
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:30 +01:00
perigoso
ff3c01ecc2 docs: move contributors to info section
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:30 +01:00
perigoso
a183e5a72b docs: add structure doc
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:30 +01:00
perigoso
e2d05bff93 docs: add contributing section index
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:30 +01:00
perigoso
f4f1e1f06f docs: port porting doc to rst
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:30 +01:00
perigoso
62049089ba docs: add reference section index
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:30 +01:00
perigoso
106924be9a docs: port getting started doc to rst
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:30 +01:00
perigoso
9d3e1aaafc docs: port concurrency doc to rst
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:30 +01:00
perigoso
1bbac1c818 changelog: move from root to docs subdirectory
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:30 +01:00
perigoso
4fde6a81d9 docs: symbolic link to changelog file for use in documentation
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:30 +01:00
perigoso
883040e88e changelog: create changelog file and import from release
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:30 +01:00
perigoso
d9518eb337 docs: symbolic link to code of conduct file for use in documentation
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:30 +01:00
perigoso
a8c9d999c7 code_of_conduct: refactor file from markdown to restructuredtext
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:30 +01:00
perigoso
c4c0c987e8 docs: symbolic link contributors file for use in documentation
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:30 +01:00
perigoso
f424765514 contributors: refactor contributors file from markdown to restructuredtext
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:30 +01:00
perigoso
27a9a7d7f1 readme: use new svg logo
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:30 +01:00
perigoso
51c2240efa docs: add readthedocs config
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:29 +01:00
perigoso
665c9c996a docs: add new svg logo
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:29 +01:00
perigoso
bf99adc3c9 docs: setup sphinx docs
Signed-off-by: perigoso <perigoso@riseup.net>
2021-07-30 12:46:15 +01:00
MasterPhi
c4cd36980d Add cache clean/invalidate. 2021-07-30 12:07:23 +02:00
MasterPhi
8b5625bf4e Move clock enable to BSP. 2021-07-30 12:07:23 +02:00
kkitayam
ff20e4d6bc add the entry for RX72N 2021-07-29 20:45:51 +09:00
kkitayam
3c3563288d add RX65N 2021-07-29 20:24:12 +09:00
kkitayam
6b9f8e454e add a condition regarding OPT_MCU_RX63N 2021-07-29 20:24:12 +09:00
kkitayam
e7c9cf4aea Change the accessing method of TU_FIFO from read/write_n_const_addr_full_words to get_write/read_info and advance_write/read_pointer pairs. 2021-07-29 20:24:11 +09:00
kkitayam
3f49380b37 added support for dcd_edpt_xfer_fifo 2021-07-29 20:22:33 +09:00
kkitayam
1c2e353193 Refactor and clean up 2021-07-29 20:22:33 +09:00
Ha Thach
c552677a52
Merge pull request #980 from BennyEvans/master
Waveshare OpenH743I-C BSP
2021-07-29 17:12:42 +07:00
Ha Thach
fa00377d93
Merge pull request #859 from Wini-Buh/CCRX_Port
Adaptations for Renesas CCRX toolchain and Rx72N controller performed
2021-07-29 16:13:13 +07:00
Ha Thach
aca24ed481
Merge pull request #982 from HiFiPhile/dfu_warning
Fix IAR warning
2021-07-29 13:50:13 +07:00
MasterPhi
0ba4315ae5 Fix IAR warning 2021-07-27 18:08:52 +02:00
Ben Evans
0953be9d7f Small tidy up for waveshare openh743i BSP. 2021-07-27 12:07:19 +10:00
Ben Evans
d058645f97 Updated docs to add Wavehsare OpenH743I-C to STM32 boards list. 2021-07-27 12:02:13 +10:00
Ben Evans
f01074681a Added BSP for waveshare openh743i. 2021-07-27 11:58:20 +10:00
Ha Thach
b6b5a33806
Merge pull request #976 from hathach/readme
Quick Readme update
2021-07-23 18:15:36 +07:00
HiFiPhile
ef63037f1a
Update README.md
Use SAME7x
2021-07-23 11:21:51 +02:00
HiFiPhile
a9726aad0c
Quick Readme update 2021-07-22 20:39:55 +02:00
hathach
15112fdbba clean up compiler 2021-07-22 22:10:48 +07:00
hathach
8cd23489d5 update endian 2021-07-22 17:49:39 +07:00
hathach
c4da1abb1e rename bit filed order
clean up packed/bit order begin end
2021-07-22 17:30:08 +07:00
hathach
4e50ceba48 rename packed begin/end 2021-07-22 17:07:39 +07:00
hathach
b35ad6edcb clean up max packet size endian 2021-07-22 17:04:55 +07:00
hathach
fa0936bf58 Merge branch 'CCRX_Port' of https://github.com/Wini-Buh/tinyusb into Wini-Buh-CCRX_Port 2021-07-22 16:48:18 +07:00
Ha Thach
1c2bc47c07
Merge pull request #950 from HiFiPhile/dfu
DFU improvements
2021-07-22 11:17:01 +07:00
hathach
9542fcdbcd rename CFG_TUD_DFU_TRANSFER_BUFSIZE to CFG_TUD_DFU_XFER_BUFSIZE 2021-07-22 01:00:06 +07:00
Ha Thach
e971a4332d
Merge pull request #975 from hathach/max-endpoint
Add DCD Attribute for Max endpoint
2021-07-22 00:49:45 +07:00
hathach
aff7b100ca update dcd attr for samx7x 2021-07-22 00:28:37 +07:00
hathach
8ee1141a70 correct check 2021-07-22 00:12:01 +07:00
hathach
a9f3532252 more ci 2021-07-22 00:12:01 +07:00
hathach
37cac414f8 fix ci 2021-07-22 00:12:01 +07:00
hathach
a226dbaa4d add dcd_attr for DCD_ATTR_ENDPOINT_MAX
could be useful with more dcd specific attribute
2021-07-22 00:12:01 +07:00
Ha Thach
c737aa6fbb
Merge pull request #693 from HiFiPhile/dcd_same70
SAMx7x (E70, S70, V70, V71) DCD Support
2021-07-22 00:07:33 +07:00
MasterPhi
b192dc0738 Update EPNUM in usb_descriptors.c 2021-07-21 14:18:47 +02:00
MasterPhi
8c6cd5396c Fix non-DMA IN irq. 2021-07-21 10:50:07 +02:00
MasterPhi
5492d9148c Re-enable SETUP irq on EP0 stall. 2021-07-21 10:29:47 +02:00
MasterPhi
9c26c0c01e Remove redundant TX irq. 2021-07-21 09:42:26 +02:00
MasterPhi
eec927ea95 Fix EP0 issue (again) 2021-07-21 00:28:51 +02:00
Martin Thierer
f607a99127 Send a ZLP if nothing to transfer and last transfer was EPSIZE 2021-07-20 18:55:00 +02:00
MasterPhi
fa9a327a71 Workaround of EP0 issue, clean up. 2021-07-20 13:24:39 +02:00
MasterPhi
895c913aa9 Merge branch 'dcd_same70' of https://github.com/HiFiPhile/tinyusb into dcd_same70 2021-07-19 22:04:34 +02:00
MasterPhi
75f61328ea Remove clock init. 2021-07-19 22:03:47 +02:00
Ha Thach
ecd217d163
Merge pull request #969 from BennyEvans/master
Fix for dcd_synopsys driver integer overflow in HS mode (issue #968).
2021-07-19 16:22:53 +07:00
Ben Evans
cee980c598 Fix for dcd_synopsys driver integer overflow in HS mode (issue #968). 2021-07-19 17:45:12 +10:00
hathach
05f59fb8ed clean up warning 2021-07-19 12:08:01 +07:00
MasterPhi
8cae17bfc8 Fixing NAKed OUT xfer 2021-07-19 01:07:33 +02:00
MasterPhi
d0dd3c77ff Use USBHS_Handler 2021-07-18 22:03:45 +02:00
MasterPhi
f52e1889c7 Fix merge error. 2021-07-17 20:44:44 +02:00
MasterPhi
bae0d3b7bb Fix build error. 2021-07-17 14:42:23 +02:00
MasterPhi
7e3e41952f Fix ISO support. 2021-07-17 13:48:21 +02:00
HiFiPhile
b194aa240b
Merge branch 'master' into dcd_same70 2021-07-17 12:10:35 +02:00
MasterPhi
475742984f Change OPT_MCU_SAMX7X value. 2021-07-17 12:09:20 +02:00
Ha Thach
21bfd11683
Merge pull request #967 from perigoso/used-in-project
Add openinput to the 'Uses' section (aka projects that use Tusb)
2021-07-17 13:35:34 +07:00
Rafael Silva
392e16af4d readme: add openinput to the 'Uses' section
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2021-07-16 23:03:17 +01:00
hathach
4e817ae6d4 revert unrelated midi exmample 2021-07-16 21:11:43 +07:00
hathach
84bd863cf5 revert debug midi changes 2021-07-15 21:13:44 +07:00
hathach
6acaa94b32 fix warnings 2021-07-15 21:09:05 +07:00
hathach
406832158d skip lto for samd11 build 2021-07-15 21:08:10 +07:00
hathach
3960beece0 rename CFG_TUD_DFU_MODE to simply CFG_TUD_DFU 2021-07-15 20:52:58 +07:00
hathach
daca9e520b wrap up DFU update 2021-07-15 20:47:50 +07:00
hathach
b4fde90b55 update clear status and get state 2021-07-14 17:03:20 +07:00
hathach
6a68fc6997 update dfu abort 2021-07-14 16:51:28 +07:00
hathach
95ded08e3b simplify upload request 2021-07-14 16:42:12 +07:00
hathach
5b965a3888 more rename and update 2021-07-14 15:52:38 +07:00
hathach
27676f738d rename tud_dfu_reboot_cb() to tud_dfu_detach_cb() 2021-07-14 15:31:20 +07:00
hathach
57d9f696a2 clean up 2021-07-14 15:24:09 +07:00
hathach
ac8d0abecf rename dfu API
- tud_dfu_dnload_complete() -> tud_dfu_download_complete()
- tud_dfu_req_dnload_data_cb() -> tud_dfu_download_cb()
- tud_dfu_req_upload_data_cb() -> tud_dfu_upload_cb()
2021-07-14 15:04:38 +07:00
Ha Thach
184f1b723f
Merge pull request #965 from hathach/fix-midi-data
Fix midi data
2021-07-13 21:43:04 +07:00
hathach
ebd98e1a18 fix midi stream write return value (off by 1) 2021-07-13 21:09:23 +07:00
hathach
137dff620b add option to silent a driver log 2021-07-13 20:41:28 +07:00
hathach
86d511f244 rename tud_dfu_set_timeout_cb() to tud_dfu_get_status_cb()
also add state as argument
2021-07-12 21:08:13 +07:00
hathach
8c48a4a288 clean up 2021-07-12 20:23:19 +07:00
hathach
389d340678 clean up 2021-07-12 20:17:44 +07:00
hathach
680b000bd1 simplify TUD_DFU_DESCRIPTOR with alternate count
remove CFG_TUD_DFU_ALT_COUNT since there is only one DFU functional
descriptor
2021-07-12 20:15:59 +07:00
hathach
2916cd4575 rename TUD_DFU_MODE_DESCRIPTOR to TUD_DFU_DESCRIPTOR 2021-07-12 18:51:57 +07:00
hathach
134ed995c8 add alt to tud_dfu_abort_cb() 2021-07-12 18:50:19 +07:00
hathach
a0691a4fd4 update dfu_moded_open 2021-07-12 18:48:33 +07:00
hathach
10a7e0502a Merge branch 'dfu' of https://github.com/HiFiPhile/tinyusb into HiFiPhile-dfu 2021-07-12 17:50:11 +07:00
kkitayam
2e0d7e87d0 add settings for Renesas RX family 2021-07-08 21:57:28 +09:00
Mengsk
2147a31f25 Fix wrong blocknum and length 2021-07-08 01:10:02 +02:00
Mengsk
5b4b5ca533 Add bwPollTimeout set callback, postpone download callback after GETSTATUS 2021-07-08 00:25:12 +02:00
HiFiPhile
7e883e0f41 Refactor with one DFU functionnal descriptor 2021-07-07 19:01:00 +02:00
Mengsk
941b02c6a9 Reactor to one functional descriptor. 2021-07-07 18:02:04 +02:00
Mengsk
71c0043261 TU_ASSERT return 0. 2021-07-07 12:18:25 +02:00
Mengsk
3949fb9e8c Add DFU_DETACH support 2021-07-07 12:12:52 +02:00
Mengsk
88478594bc Update comment 2021-07-07 12:06:41 +02:00
Mengsk
bc49ee7f2f Better alt settings support 2021-07-07 11:55:36 +02:00
MasterPhi
cf4220a9fb Update 2021-07-06 18:04:24 +02:00
Ha Thach
ecb100a62f
Merge pull request #938 from HiFiPhile/uac_example
Bug fix and Enhancements of UAC2
2021-07-06 22:57:48 +07:00
MasterPhi
72f916423e Fix copy byte count 2021-07-06 10:56:13 +02:00
MasterPhi
82d355aefe - Remove alt_setting alignment 2021-07-06 00:25:00 +02:00
MasterPhi
05a1b854ff ENCODE -> DECODE 2021-07-05 21:00:37 +02:00
Mengsk
c2b9ac9dd4 Fix ATTR_MANIFESTATION_TOLERANT logic. 2021-07-05 17:57:23 +02:00
Mengsk
c2d8ed3fd1 Add alt settings support in DFU class. 2021-07-05 17:56:21 +02:00
Ha Thach
4468b14580
Merge pull request #949 from kkitayam/add_suspend_and_resume_for_rx_family
Add SUSPEND/RESUME handling for Renesas RX family.
2021-07-05 20:46:11 +07:00
kkitayam
1ff3b76451 remove unnecessary blocking operation.
add comments why resume event is sent manually.
2021-07-05 21:27:08 +09:00
Ha Thach
2ae19ce40d
Merge pull request #913 from xmos-jmccarthy/master
Add dfu function memory access protection
2021-07-05 12:51:07 +07:00
hathach
dfe410ea8b fix ci build, address review comment 2021-07-05 12:38:15 +07:00
hathach
227dd2d40a Merge branch 'master' of https://github.com/xmos-jmccarthy/tinyusb into xmos-jmccarthy-master 2021-07-05 12:33:11 +07:00
MasterPhi
b68c65faee Skip MCU 2021-07-04 20:47:51 +02:00
MasterPhi
03f9028e9e Merge branch 'uac_example' of https://github.com/HiFiPhile/tinyusb into uac_example 2021-07-04 19:56:35 +02:00
MasterPhi
e2617dc91a Skip MCU 2021-07-04 19:56:13 +02:00
Ha Thach
0a230d57ee
Merge pull request #931 from hathach/more-hid-host
More hid host update
2021-07-05 00:23:56 +07:00
MasterPhi
98d921c4b3 Better handling tud_audio_set_itf_cb with FB. 2021-07-04 15:46:13 +02:00
MasterPhi
1c8b685457 Move audio_control_request_t to audio.h 2021-07-04 15:46:12 +02:00
MasterPhi
61fd0e2c1c Delay tud_audio_set_itf_cb call with feedback EP. 2021-07-04 15:46:12 +02:00
MasterPhi
090859bf42 Fix speed detection 2021-07-04 15:46:12 +02:00
MasterPhi
449936c0f1 more uac fixes, 2021-07-04 15:46:12 +02:00
MasterPhi
8a42cb3661 Prevent overflow noise 2021-07-04 15:46:12 +02:00
MasterPhi
3cc2227810 Partially revert "skip uac2_headset for mcu that does not have enough sram"
This reverts commit 6e1f812e3542f6d9047a3b8148f2f073ba38b91f.
2021-07-04 15:46:12 +02:00
MasterPhi
5f67e5c1e9 Clear FIFO only if enabled...
Add buffer align
2021-07-04 15:46:11 +02:00
hathach
8d1a88cab6 skip uac2_headset for mcu that does not have enough sram 2021-07-04 15:46:11 +02:00
MasterPhi
5b7795be4b Add 24bit loopback in example. 2021-07-04 15:46:11 +02:00
MasterPhi
204f3152cb audio_device : clear fifo on intf change. 2021-07-04 15:46:11 +02:00
MasterPhi
a1639b0279 Refactor descriptor, add alt settings support. 2021-07-04 15:46:11 +02:00
MasterPhi
325742acb4 Fix typo 2021-07-04 15:46:11 +02:00
MasterPhi
6e9da70c18 Fix audiod_get_AS_interface_index in audio class.
Enhance uac2_headset example with multiple sample rates.
Add macro to calculate EP size.
2021-07-04 15:46:10 +02:00
MasterPhi
fa2320d837 Better handling tud_audio_set_itf_cb with FB. 2021-07-04 15:13:19 +02:00
MasterPhi
e4ae81abd8 Move audio_control_request_t to audio.h 2021-07-04 00:19:33 +02:00
kkitayam
3019c6eb40 Add SUSPEND/RESUME handling for Renesas RX family. 2021-07-03 23:35:58 +09:00
MasterPhi
12747b61d5 Delay tud_audio_set_itf_cb call with feedback EP. 2021-07-03 10:54:20 +02:00
MasterPhi
fdbbe5df3f Fix speed detection 2021-07-02 23:44:46 +02:00
MasterPhi
01fe67be2d more uac fixes, 2021-07-02 21:51:54 +02:00
Ha Thach
681a61d479
Merge pull request #941 from kkitayam/fix_rtt_for_rx_family
Add support for RTT logging by NEWLIB on Renesas RX family.
2021-07-02 14:43:49 +07:00
hathach
8de33ca557 Merge branch 'master' into kkitayam-fix_rtt_for_rx_family 2021-07-02 14:10:31 +07:00
Ha Thach
896388d796
Merge pull request #942 from hathach/hid-set-report
Better Support Hid Get/Set report
2021-07-02 13:02:29 +07:00
kkitayam
ea9ec1fb43 extend stack areas to enable logging
add dummy functions to avoid warnings when logging is enable
remove codes regarding OPTLIB
2021-07-02 11:37:23 +09:00
MasterPhi
eb02b406d8 Prevent overflow noise 2021-07-01 21:41:19 +02:00
hathach
2b3d547b7b clean up 2021-07-01 23:05:21 +07:00
hathach
6de023d54b update hid_composite freertos with capslock as well 2021-07-01 22:54:57 +07:00
hathach
ca98996e1f better support for hid device set/get protocol
add caplock detection for hid_composite
2021-07-01 22:46:39 +07:00
MasterPhi
8571508b3f Partially revert "skip uac2_headset for mcu that does not have enough sram"
This reverts commit 6e1f812e3542f6d9047a3b8148f2f073ba38b91f.
2021-07-01 12:59:26 +02:00
MasterPhi
0e7abfcf17 Clear FIFO only if enabled...
Add buffer align
2021-07-01 12:02:57 +02:00
MasterPhi
6c9a976604 Merge branch 'uac_example' of https://github.com/HiFiPhile/tinyusb into uac_example 2021-07-01 11:39:27 +02:00
MasterPhi
e0a7752fc3 Add 24bit loopback in example. 2021-07-01 11:39:15 +02:00
MasterPhi
ee6cf744eb audio_device : clear fifo on intf change. 2021-07-01 11:38:06 +02:00
hathach
6e1f812e35 skip uac2_headset for mcu that does not have enough sram 2021-07-01 14:09:17 +07:00
MasterPhi
f7519d805e Refactor descriptor, add alt settings support. 2021-07-01 00:35:27 +02:00
MasterPhi
9b93145a79 Fix typo 2021-07-01 00:35:26 +02:00
MasterPhi
4ec96c02a6 Fix audiod_get_AS_interface_index in audio class.
Enhance uac2_headset example with multiple sample rates.
Add macro to calculate EP size.
2021-07-01 00:35:26 +02:00
Ha Thach
9b3ec69b27
Merge pull request #940 from HiFiPhile/fifo_fix
Fix fifo overflow correction.
2021-07-01 02:25:23 +07:00
MasterPhi
74b51d43e1 Add test CI. 2021-06-30 20:30:03 +02:00
MasterPhi
7321972380 Force unsigned compare on advance_pointer. 2021-06-30 20:26:27 +02:00
Mengsk
2b2549b573 Fix fifo overflow correction. 2021-06-30 17:00:56 +02:00
Wini-Buh
4c0cce4b1d Make toolchain dependency more consistent 2021-06-29 21:45:18 +02:00
Ha Thach
3b539fdd8d
Merge pull request #905 from HiFiPhile/uac_fix
UAC fixes
2021-06-29 22:34:57 +07:00
Ha Thach
dc25a5fb97
Merge pull request #934 from hathach/poison-obsolete-callback
add tud_vendor_control_request_cb() to poisoned list
2021-06-29 18:00:09 +07:00
hathach
3eec011a7c add tud_vendor_control_request_cb() to poisoned list 2021-06-29 17:28:35 +07:00
Ha Thach
f1af90d8eb
Merge pull request #933 from hathach/update-rx65n-bsp
rename rx65n cloud kit to target
2021-06-29 16:52:16 +07:00
hathach
b2fa7358cf fix typo 2021-06-29 16:38:38 +07:00
hathach
2d423514ee rename rx65n cloud kit to target
adding note for adding jlink support for rx65n_target board
2021-06-29 16:33:32 +07:00
MasterPhi
5877f20d4b Fix IAR compile error on pointer type.
Clean up warnings.

Signed-off-by: MasterPhi <admin@hifiphile.com>
2021-06-29 10:57:26 +02:00
Wini-Buh
36ba9608bd Merge from current master. Fixed a compilation error with the GNUC toolchain 2021-06-29 00:43:41 +02:00
Wini-Buh
cb0f1d98db Merge remote-tracking branch 'origin/master' into CCRX_Port
# Conflicts:
#	src/portable/renesas/usba/dcd_usba.c
#	src/tusb_option.h
2021-06-29 00:19:30 +02:00
hathach
36d2214e39 fix warnings 2021-06-29 00:14:01 +07:00
hathach
c172caa288 clean up 2021-06-29 00:03:34 +07:00
hathach
efc12ae7d4 fix SET_PROTOCOl, update hid host behavior for default boot interface 2021-06-28 23:57:57 +07:00
hathach
268dcc8d20 fix issue with weird msc device with 3 endpoints 2021-06-28 17:39:57 +07:00
hathach
58d3e8c08b update func comment 2021-06-28 17:39:57 +07:00
hathach
c99b70c08c force boot protocol for keyboard/mouse 2021-06-28 17:39:57 +07:00
hathach
5811122cfd change usbh open driver to have max_len and return driver len 2021-06-28 17:39:57 +07:00
Ha Thach
6e939de9d6
Merge pull request #891 from hathach/host-rp2040-double-buffer
RP2040 double buffer
2021-06-28 17:39:09 +07:00
Ha Thach
e3cca973ec
Merge pull request #928 from hathach/house-keeping
House keeping
2021-06-28 17:02:02 +07:00
hathach
3a2317b7dc bug form update 2021-06-28 16:40:30 +07:00
hathach
e6d6299706 more bug form template 2021-06-28 16:39:31 +07:00
hathach
3465cbd839 more bug form update 2021-06-28 16:37:13 +07:00
hathach
ddcd657e40 more fixing 2021-06-28 16:33:21 +07:00
hathach
903e699273 fixing bug form 2021-06-28 16:30:38 +07:00
hathach
b6f226dbaa comment out esp32s3 ci due to USB0 not defined in IDF linker 2021-06-28 16:25:28 +07:00
hathach
35eaa4a4e3 Use bug report form 2021-06-28 16:25:22 +07:00
hathach
01987ef86c merge saml21 + saml22 = saml2x 2021-06-28 14:37:41 +07:00
hathach
7e449b710e rename bsp saml22 to saml2x 2021-06-28 14:06:13 +07:00
Ha Thach
b2feae15e4
Merge pull request #927 from hathach/add-rx65n-board
Add rx65n board
2021-06-28 13:53:42 +07:00
hathach
07e6a0e870 reduce esp32s2 board to ci 2021-06-28 13:13:00 +07:00
hathach
856dc0bab9 update doc and clean up 2021-06-28 12:59:53 +07:00
hathach
e3b1110cce rename rx63n to simply rx 2021-06-28 12:51:11 +07:00
hathach
8c4641fc05 refactor rx6x bsp 2021-06-28 12:49:30 +07:00
hathach
17137bbfff fix rx65n with freertos build 2021-06-28 12:35:12 +07:00
hathach
ec9bfe0333 update renesas rx submodule 2021-06-28 12:27:20 +07:00
Ha Thach
807231d184
Merge pull request #922 from kkitayam/add-rx65n-board
Update some settings for rx65n board
2021-06-28 01:12:25 +07:00
kkitayam
239ecadeca add options for e2l 2021-06-27 23:39:50 +09:00
Ha Thach
d5c9de03a2
Merge pull request #923 from DuMaM/patch-1
GCC 11 build fix for nrf5x
2021-06-27 11:30:12 +07:00
DuMaM
b5ce269675
GCC 11 build fix
During Adafruit Bootloader compilation, I spotted bellow error which do not allow me build project.

``` c
    inlined from 'hfclk_running' at lib/tinyusb/src/portable/nordic/nrf5x/dcd_nrf5x.c:785:13:
lib/tinyusb/src/portable/nordic/nrf5x/dcd_nrf5x.c:792:31: error: 'is_running' may be used uninitialized [-Werror=maybe-uninitialized]
  792 |     return (is_running ? true : false);
      |            ~~~~~~~~~~~~~~~~~~~^~~~~~~~
```
2021-06-26 17:03:46 +02:00
kkitayam
393a9120ac add the entry for RX65N 2021-06-26 23:09:18 +09:00
kkitayam
511b2d47d1 add handling for software configurable interrupts. 2021-06-26 22:42:27 +09:00
kkitayam
60fedaa050 fix baudrate setting 2021-06-26 21:13:35 +09:00
MasterPhi
64f53c304c Merge branch 'local' of https://github.com/HiFiPhile/tinyusb into dcd_same70 2021-06-24 21:35:06 +02:00
Mengsk
b9e9773d04 fix warning 2021-06-24 12:58:18 +02:00
Mengsk
9d6fd78b63 Add fifo helper function to CDC class for DMA transfer. 2021-06-24 11:34:29 +02:00
Jeremiah McCarthy
f5f087b2f8 Add dfu function memory access protection
Adds TU_VERIFY to dfu internal buffer access from host.

Adds TU_ASSERT to dfu internal buffer access by application.
2021-06-23 10:58:18 -04:00
Wini-Buh
970da35fb3 Merge branch 'CCRX_Port' of https://github.com/Wini-Buh/tinyusb into CCRX_Port 2021-06-23 00:07:56 +02:00
Wini-Buh
51c6444e1d final clean up 2021-06-22 23:49:24 +02:00
Wini-Buh
c5f6b57755 Merge remote-tracking branch 'upstream/master' into CCRX_Port 2021-06-22 23:21:01 +02:00
Wini-Buh
8911638075
Merge branch 'hathach:master' into CCRX_Port 2021-06-22 23:17:23 +02:00
kkitayam
dccb3b1a46 change stdio channel to SCI5 from SCI0.
change ports settings for LED and button.
add PLL setting for 240MHz based on HOCO into HardwareSetup().
2021-06-22 00:20:08 +09:00
Ha Thach
5a4fc1151a
Merge pull request #907 from salkinium/fix/tuh_config_typo
Fix typo in TUH configuration define
2021-06-21 12:23:52 +07:00
Niklas Hauser
264dc35b95 Fix typo in TUH configuration define 2021-06-21 05:32:43 +02:00
Ha Thach
e45b6dbc1c
Merge pull request #906 from hathach/fix-midi
fix issue when calling midi API when not enumerated yet
2021-06-21 00:14:58 +07:00
hathach
9323a9d094 fix issue when calling midi API when not enumerated yet 2021-06-21 00:00:46 +07:00
MasterPhi
8433f638e6 Add bracket to switch case, fix warning. 2021-06-20 15:39:47 +02:00
hathach
fbda7d5837 adding rx65n 2021-06-20 15:04:39 +07:00
Ha Thach
81fa9966de
Merge pull request #895 from ElectronicCats/master
add support SAML21
2021-06-20 01:01:00 +07:00
hathach
7dce27c732 fix build with saml21, update microchip driver submodule 2021-06-19 16:21:14 +07:00
Ha Thach
03643d551d
Merge pull request #899 from Product-Creation-Studio/ned-pcs/fix-initializer
Changed order of struct initializer to avoid compiler error
2021-06-19 14:32:42 +07:00
Ned Konz
76336a67a0 Changed order of struct initializer to avoid compiler error 2021-06-18 14:50:55 -07:00
Ha Thach
df0cda2d7a
Merge pull request #898 from hathach/fix-nrf-control-bulk-race-condition
fix nrf52 race condition with TASKS_EP0RCVOUT
2021-06-19 02:23:09 +07:00
hathach
6b621baeb3 fix race condition with control since TASKS_EP0RCVOUT also require EasyDMA 2021-06-19 01:58:27 +07:00
sabas1080
1b33504e14 add saml21 to CI 2021-06-18 11:11:26 -05:00
hathach
82618d2d5f fix build with mm32 board 2021-06-18 17:18:11 +07:00
hathach
5006b1065a remove duplicate mm32 dcd 2021-06-18 12:49:41 +07:00
zhangslice
0ae83458d5 dsp updata
Signed-off-by: zhangslice <1304224508@qq.com>
2021-06-18 12:46:27 +07:00
hathach
85f8047ac4 remove the keil zip 2021-06-18 12:46:27 +07:00
zhangslice
7b27607f1a mit license
Signed-off-by: zhangslice <1304224508@qq.com>
2021-06-18 12:46:27 +07:00
hathach
b8ac5f1287 add mindmotion mm32sdk as submodule
remove the local copy of mm32
2021-06-18 12:46:27 +07:00
zhangslice
373b977cc3 add keil projrct
Signed-off-by: zhangslice <1304224508@qq.com>
2021-06-18 12:46:27 +07:00
zhangslice
3ba72b53d8 Add MM32 SDK and USB driver
Signed-off-by: zhangslice <1304224508@qq.com>
2021-06-18 12:46:27 +07:00
hathach
832d22d7ad force single buffered for device mode, out endpoint 2021-06-17 01:55:35 +07:00
MasterPhi
30fff56aa4 Revert "Use byte copy.", add barrier after buffer write.
Signed-off-by: MasterPhi <admin@hifiphile.com>
2021-06-16 00:18:38 +02:00
MasterPhi
67a6560ec9 Default use dual bank for FS, use dcd irq switch. 2021-06-15 21:52:14 +02:00
MasterPhi
6cc702e9ec Prevent buffer overflow.
Signed-off-by: MasterPhi <admin@hifiphile.com>
2021-06-15 21:16:51 +02:00
MasterPhi
54dc694be4 Use byte copy. 2021-06-15 19:11:53 +02:00
MasterPhi
ca8e8041ef Fix resume, always init FS clock.
Signed-off-by: MasterPhi <admin@hifiphile.com>
2021-06-15 17:53:09 +02:00
sabas1080
7bed7d70f0 add support SAML21 2021-06-15 00:01:28 -05:00
hathach
5c567129ea fix calculating xferred bytes with double buffer with short packet on buffer0 2021-06-13 18:30:26 +07:00
hathach
f38c460433 fix ep tx with double buffered 2021-06-13 17:19:14 +07:00
hathach
bd039c8d37 fix build with log for device 2021-06-13 16:16:25 +07:00
hathach
1af64f9729 remove sent_setup from hw endpoint 2021-06-13 15:31:00 +07:00
hathach
289ccf3c93 remove dev_ep_map 2021-06-13 13:19:20 +07:00
Ha Thach
2b5bad7362
Merge pull request #889 from kilograham/master
Make examples standalone buildable via CMake
2021-06-12 23:16:57 +07:00
hathach
e4da606164 set TOP to build with esp32sx 2021-06-12 23:02:41 +07:00
MasterPhi
85fc423569 Rename SAM7X to SAMX7X
Signed-off-by: MasterPhi <admin@hifiphile.com>
2021-06-12 12:36:59 +02:00
MasterPhi
f039607afc Fix indent.
Signed-off-by: MasterPhi <admin@hifiphile.com>
2021-06-12 11:19:08 +02:00
hathach
a4ad064e63 increase example CFG_TUH_HID from 2 to 4 2021-06-12 14:20:09 +07:00
Rafael Silva
0066e2b344 examples: freertos: add skip for same70
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2021-06-12 00:18:26 +01:00
Rafael Silva
776a770947 dcd: sam7x: rename family dcd to include the whole family
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2021-06-12 00:09:24 +01:00
Wini-Buh
60d8ecbfe6 clean up 2021-06-11 22:36:17 +02:00
Wini-Buh
1c23462b43 weak atrribute work around removed from CCRX_Port 2021-06-11 22:25:36 +02:00
Rafael Silva
2196991df3 dcd: same70: trim trailling spaces
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2021-06-11 21:03:36 +01:00
Rafael Silva
28875c431b bsp: same70_xplained: replace template vars from make
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2021-06-11 21:02:23 +01:00
Rafael Silva
71aae2743c bsp: same70_xplained: fix unused variable warning
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2021-06-11 21:01:12 +01:00
Rafael Silva
bcd3e31bd6 dcd: same70: fix unused variable warning
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2021-06-11 20:59:48 +01:00
Rafael Silva
9a03ab9dfa dcd: same70: change cmsis deprecated macros
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2021-06-11 20:52:22 +01:00
hathach
910e11a8ab fix ci build 2021-06-11 19:04:16 +07:00
hathach
dfe5a727c6 log clean up 2021-06-11 18:54:09 +07:00
hathach
b39faa15ef map pico_info to log2, pico_trace to log3 2021-06-11 18:44:08 +07:00
hathach
a6d22f5a68 replace pico_warn by log level 1 2021-06-11 18:40:01 +07:00
hathach
66c8a13f13 remove unused variable in hw endpoint
last_buf, buf_sel, transfer_size
2021-06-11 18:26:41 +07:00
hathach
93cb2ff4cf more refactor double buffered rp2040 2021-06-11 18:16:13 +07:00
hathach
1d48320d8a rename hw endpoint
- total_len to remaining_len
- len to xferred_len
2021-06-11 17:58:29 +07:00
hathach
5d6e381ef6 refactor rp2040 usb
- make _hw_endpoint_xfer_sync and _hw_endpoint_start_next_buffer private
- drop prefix _ from _hw_endpoint_xfer_continue and
_hw_endpoint_reset_transfer
2021-06-11 17:34:51 +07:00
MasterPhi
c291deccfa Add fifo & DMA linked list mode support. 2021-06-11 12:17:11 +02:00
HiFiPhile
24de9d39af Format. 2021-06-11 12:17:11 +02:00
HiFiPhile
1dafcd1132 - Add Full Speed switch
- Add DMA support
- Add Dual bank support

Signed-off-by: HiFiPhile <admin@hifiphile.com>
2021-06-11 12:17:11 +02:00
HiFiPhile
4f4a33b378 Seems like fixed ep0 issues, code format.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2021-06-11 12:17:11 +02:00
HiFiPhile
e7bee80948 Add OPT_MCU_SAME70 option value. 2021-06-11 12:17:11 +02:00
HiFiPhile
f8aa4b3ff3 Add sketchy SAME70 DCD driver. 2021-06-11 12:17:10 +02:00
hathach
572d986a02 improve usbh 2021-06-11 17:14:22 +07:00
hathach
a1a03c92f6 double buffered work with host 2021-06-11 17:05:49 +07:00
hathach
43656dc0a7 more clean up 2021-06-10 23:29:02 +07:00
graham sanderson
fd7b18a4f6 Make examples standalone buildable via CMake 2021-06-10 10:11:20 -05:00
hathach
cf0a475a2e clean up 2021-06-10 22:00:59 +07:00
Ha Thach
b34724215b
Merge pull request #887 from hathach/host-update
Host API clean up
2021-06-10 17:42:43 +07:00
hathach
c9d66dcd5f remove BOARD from output name 2021-06-10 17:24:36 +07:00
hathach
c7f51cde40 implement usbh_edpt_busy (WIP), remove hcd_edpt_busy 2021-06-10 17:19:21 +07:00
hathach
7e6cba7359 remove hcd_edpt_stalled() 2021-06-10 16:55:12 +07:00
hathach
13cb016042 add usbh_classdriver.h 2021-06-10 16:48:20 +07:00
Ha Thach
3c4ab6bd8a
Merge pull request #883 from hathach/fix-rp2040-host-transferred-bytes
fix computing transferred bytes with E4
2021-06-10 11:35:51 +07:00
Ha Thach
14fc0987ac
Update bug_report.md 2021-06-10 11:03:58 +07:00
Ha Thach
c98a95c276
Merge pull request #882 from mmosca/master
Add support for 32 button gamepads
2021-06-09 18:05:14 +07:00
hathach
cffa666bd1 use alias for button naming 2021-06-09 17:45:14 +07:00
Marcelo Bezerra
a8abbcc34d Change buttons to start from 0 2021-06-09 12:14:04 +02:00
Marcelo Bezerra
9e4ecfde69 Merge branch 'master' of github.com:mmosca/tinyusb 2021-06-09 10:01:17 +02:00
hathach
d81a37d1be fix enum overflow with msp430 2021-06-09 12:10:44 +07:00
hathach
dca9bc97d6 miss a helper 2021-06-09 10:45:37 +07:00
hathach
2c0947ebb6 update gamepad helper 2021-06-09 10:33:57 +07:00
Marcelo Bezerra
e393fb32a0 re-adding ifdef removed accidentally 2021-06-09 10:33:57 +07:00
Marcelo Bezerra
d3b6e28387 indent fix 2021-06-09 10:33:57 +07:00
Marcelo Bezerra
de71e72e31 Fix comment in hid.h 2021-06-09 10:33:57 +07:00
Marcelo Bezerra
e12195705c Pull request changes
Remove configuration options and just bump number of buttons to 32
Fix button numbereing and comments in
2021-06-09 10:33:57 +07:00
Marcelo Bezerra
f37c8ed749 Add CFG_TUD_MAX_BUTTONS to the example 2021-06-09 10:33:57 +07:00
Marcelo Bezerra
ce634f226e remove excess empty lines 2021-06-09 10:33:57 +07:00
Marcelo Bezerra
3842c806a6 clean up 2021-06-09 10:33:57 +07:00
Marcelo Bezerra
d5f8da44d1 Add optional support for 32 gamepad buttons 2021-06-09 10:33:57 +07:00
Marcelo Bezerra
95481d4c7f re-adding ifdef removed accidentally 2021-06-08 09:39:53 +02:00
Marcelo Bezerra
b18769fe8e indent fix 2021-06-08 09:31:40 +02:00
Marcelo Bezerra
05b39aac5f Fix comment in hid.h 2021-06-08 09:26:17 +02:00
Marcelo Bezerra
05d30b0c37 Pull request changes
Remove configuration options and just bump number of buttons to 32
Fix button numbereing and comments in
2021-06-08 09:24:50 +02:00
hathach
501de2a5e8 fix computing transferred bytes with E4 2021-06-08 10:29:22 +07:00
Marcelo Bezerra
89a53457d4 Add CFG_TUD_MAX_BUTTONS to the example 2021-06-07 21:29:24 +02:00
Marcelo Bezerra
8915e6be92 remove excess empty lines 2021-06-07 20:44:53 +02:00
Marcelo Bezerra
10fca2371c clean up 2021-06-07 20:16:05 +02:00
Marcelo Bezerra
fee323e42b Add optional support for 32 gamepad buttons 2021-06-07 19:04:21 +02:00
Ha Thach
1b8473902f
Merge pull request #881 from hathach/mindmotion-followup
follow up to pr869
2021-06-07 19:18:37 +07:00
hathach
c2b85c8d6d add OPT_MCU_MM32F327X
move dcd_mm32f into mindmotion folder
2021-06-07 18:51:44 +07:00
zhangslice
26b9fc38ed
Add MM32 SDK and USB driver (#869)
* Add MM32 SDK and USB driver
* add mindmotion mm32sdk as submodule
remove the local copy of mm32
* mit  license
Signed-off-by: zhangslice <1304224508@qq.com>
Co-authored-by: hathach <thach@tinyusb.org>
2021-06-07 17:32:46 +07:00
Wini-Buh
5a554508ca Merge remote-tracking branch 'upstream/master' into CCRX_Port 2021-06-03 22:17:30 +02:00
Ha Thach
ce30109b5b
Merge pull request #873 from kilograham/fix_log_warning
Add __unused to variables that are only used if TU_LOG does something
2021-06-03 22:53:49 +07:00
graham sanderson
c81bc38d42 Add __unused to variables that are only used if TU_LOG does something 2021-06-03 10:10:44 -05:00
Wini-Buh
e26cf6b26c Missing RX device dependency corrected 2021-06-02 21:33:32 +02:00
Ha Thach
d49938d0f5
change ci to pico-sdk develop 2021-06-03 01:16:27 +07:00
hathach
a50fd963f5 increase version for release, update changelog 2021-06-03 01:13:22 +07:00
Ha Thach
8ea0dfba68
Merge pull request #865 from kilograham/pico-0.10.0
Pico 0.10.0
2021-06-03 01:02:54 +07:00
graham sanderson
fea5cbaf74 fixed net_lwip_webserver cmake build 2021-06-02 12:37:12 -05:00
graham sanderson
de436e1f76 undo search replace error 2021-06-02 11:30:42 -05:00
graham sanderson
1fb211f390 minor comment change to force rebuild 2021-06-02 09:52:49 -05:00
graham sanderson
bef33d108a move core definition of source file includes from SDK into family.cmake
only build webserver example if lwip submodule initialized
2021-06-02 09:33:23 -05:00
Ha Thach
ff1a1122ed
Merge pull request #868 from hathach/host-hcd
Clean up Host HCD API
2021-06-02 00:39:53 +07:00
hathach
54107100bb fix missing TU_LOG symbol 2021-06-02 00:26:50 +07:00
hathach
6e2cf2a3ee clean up log 2021-06-02 00:10:35 +07:00
Ha Thach
a6b5e207b2
Merge pull request #862 from hathach/host-rp2040
Fix host rp2040 with low speed device
2021-06-01 23:59:03 +07:00
graham sanderson
109d02531e remove TINYUSB_FAMILT_PROJECT_NAME_INCLUDES_BOARD setting 2021-06-01 11:21:19 -05:00
graham sanderson
ebf6461c42 damn submodules! 2021-06-01 10:58:44 -05:00
graham sanderson
6e29bf6e54 rename family.cmake to family_common.cmake 2021-06-01 09:09:25 -05:00
graham sanderson
8782d0b8df fix rp2040 examples build from local tinyusb tree 2021-06-01 09:04:08 -05:00
Ha Thach
abf83c6985
add note for custom class driver 2021-06-01 13:36:19 +07:00
graham sanderson
f5572e24b2 restore unintentionally modified submodules 2021-05-31 11:49:15 -05:00
graham sanderson
9b17acd168 actually fix pico-sdk checkout to checkout the right branch 2021-05-31 11:23:14 -05:00
graham sanderson
90d7483d92 guard stdio_uart_init_full with LIB_PICO_STDUI_UART as the function doesn't exist otherwise 2021-05-31 11:18:26 -05:00
graham sanderson
db138a530c Switch checks to use tinyusb-0.10.0 branch of pico-sdk due to circular dependency 2021-05-31 11:10:55 -05:00
graham sanderson
13951b43c2 set PICO_TINYUSB_PATH for when building from within tinyusb without pico-sdk/tinyusb submodule 2021-05-31 10:58:14 -05:00
graham sanderson
5d161b79bb Fix up build_family style builds:
- added back pre-existing board directories which now just select PICO_BOARD
 - added boards/pico_sdk which just uses the pre-existing PICO_BOARD setting
 - fixed rp2040/family.cmake to include the magic string "CFG_TUSB_MCU=OPT_MCU_RP2040" expected by build_family.py
2021-05-31 10:06:12 -05:00
hathach
bc0a0386e9
clean up 2021-05-31 18:41:08 +07:00
hathach
31077f48d2
correct ohci endpoint address in xfer complete 2021-05-31 18:16:07 +07:00
hathach
4e98ce9147
use hcd_frame_number() instead of uframe 2021-05-31 18:15:47 +07:00
hathach
da8000d42d
clean up ohci, remove obsolete api 2021-05-31 16:34:16 +07:00
hathach
04797bc5a5
clean up 2021-05-31 16:05:55 +07:00
hathach
4b2f32b778
update hub 2021-05-31 15:47:37 +07:00
hathach
65e5872d81
add hub_port_set_feature() 2021-05-31 15:19:07 +07:00
hathach
3fb80e76ce remove obsolete hcd_pipe_queue_xfer()/hcd_pipe_xfer() 2021-05-31 12:08:37 +07:00
hathach
5cf930d78a fix cast-align warning in msc host 2021-05-31 11:11:00 +07:00
graham sanderson
95f2478146 Rework rp2040 examples and CMake build:
- Examples should be CMake buildable from their own subdirectory; such a build will error out based on
	  matching .skip.MCU_xxx or a mismatched .only.MCU_
	- It should be possible to build from a higher level and use .skip.MCU_ and .only.MCU_ to filter which
          examples get built
	- The intention is for the CMakeLists.txts in the examples to be non family specific and without MCU based IFs. I have
          started this work, but am not really sure the state of the esp32 stuff; in any case the plan is to have
          everything encapsulated in the FAMILY/family.cmake
	- pico_examples now just includes examples/device/CMakeLists.txt and examples/host/CMakeLists.txt directly, as they
	  also build correctly when included from there.
Note that .skip.MCU_ for esp32 in the directories it wasn't previously avaiable has not been added, as the .skip is common to the regular Makefile builds also. It isn't clear whether these examples should build for esp32, but if not .skip should be added.
2021-05-30 20:13:47 -05:00
graham sanderson
edbccb5e19 don't override CFG_TUSB_OS in cdc_dual_ports example 2021-05-30 18:38:01 -05:00
hathach
c2a0c1507b add more comment 2021-05-30 23:44:29 +07:00
hathach
54c9150574 add errata number 2021-05-30 23:41:59 +07:00
hathach
6498ee1996 fix incorrect data toggle when max packet size < 64
fix host buf_sel panic with "already available"
2021-05-30 23:35:54 +07:00
hathach
eb8ca14bf8 add level 3 log for info, add generic TU_LOG() 2021-05-30 22:19:46 +07:00
graham sanderson
3973ec4b5e rp2040: fix debug compilation error 2021-05-30 08:16:15 -05:00
Ha Thach
4f97915d48
Update bug_report.md 2021-05-30 13:50:14 +07:00
Wini-Buh
b4f092ec74 Adaptations for Renesas CCRX toolchain and Rx72N controller performed 2021-05-29 21:23:39 +02:00
hathach
164778a716 update limit each transfer not less than 64 2021-05-28 17:42:13 +07:00
hathach
e9c22e4a5c increase version for release 2021-05-28 17:24:35 +07:00
Ha Thach
81d238bd46
Merge pull request #854 from hathach/more-housekeeping
More housekeeping
2021-05-27 19:44:10 +07:00
hathach
7c66c5121b
update doc 2021-05-27 19:31:55 +07:00
hathach
9ad6fadf6a
more include clean up 2021-05-27 18:34:07 +07:00
hathach
f384d6f67e
more with clean up 2021-05-27 18:11:12 +07:00
hathach
b36b211c26
clean up tusb_fifo.h include 2021-05-27 17:58:42 +07:00
hathach
9736e54734
include clean up 2021-05-27 17:40:39 +07:00
hathach
c7cecf28c8
clean up 2021-05-27 00:16:45 +07:00
hathach
814edec89f clean up 2021-05-26 20:34:06 +07:00
hathach
faa31152b4 rename usbd_edpt_iso_xfer to usbd_edpt_xfer_fifo 2021-05-26 20:34:06 +07:00
Ha Thach
4e2684f23a
Merge pull request #825 from ogatatsu/hid_desc
fix hid report descriptor
2021-05-26 20:33:45 +07:00
Ha Thach
ac47a3360e
Update README.md 2021-05-26 20:21:15 +07:00
Ha Thach
85186ab136
Merge pull request #754 from xmos-jmccarthy/master
Add DFU Class per Version 1.1 Spec
2021-05-26 20:17:01 +07:00
hathach
f9c542aa52
fix dfu example build 2021-05-26 18:16:56 +07:00
hathach
dbef50f8ff Merge branch 'master' into xmos-jmccarthy-master 2021-05-26 17:32:49 +07:00
Ha Thach
220f441048
Merge pull request #850 from hathach/fix-warnings
fix warnings
2021-05-26 17:26:50 +07:00
hathach
f8e9c6ddbb
separate ci workflow, remove artifact & release upload 2021-05-26 17:12:26 +07:00
hathach
9fa9b67895
test separate ci workflow for msp430 2021-05-26 16:53:35 +07:00
hathach
689d74a595
fix board test example build with nrf 2021-05-26 16:41:17 +07:00
Ha Thach
e411ce1937
Merge pull request #849 from noodlefighter/fix-uac2_headset
fix uac2_headset example
2021-05-26 13:21:17 +07:00
noodlefighter
aca2320075 fix uac2_headset example
tud_audio_rx_done_cb() is departed, replace with
tud_audio_rx_done_pre_read_cb()
2021-05-26 11:45:45 +08:00
hathach
954056da0c
fix warnings cast function type for nrf, fix pico osal warning
add TODO for overflow in tusb_fifo.c
2021-05-25 21:02:40 +07:00
Jeremiah McCarthy
ce59d69520 Merge remote-tracking branch 'official/master' 2021-05-25 09:27:35 -04:00
Ha Thach
ca8724ee08
Merge pull request #846 from hathach/house-keeping
House keeping
2021-05-24 12:07:33 +07:00
hathach
4f03332118 clean up 2021-05-23 20:14:01 +07:00
hathach
3654d96e07 only invoke tuh_msc_umount_cb() if needed 2021-05-23 14:11:12 +07:00
hathach
8cffe4897e change hid device internal boot_mode to protocol_mode 2021-05-23 13:56:32 +07:00
Ha Thach
056cd6b229
Merge pull request #845 from hathach/hid-host-get-protocol-when-enum
get protocol when enum with hid boot interface
2021-05-22 23:42:10 +07:00
hathach
a1dab1611b get protocol when enum with hid boot interface 2021-05-22 23:30:41 +07:00
Ha Thach
56577d9fca
Merge pull request #834 from hathach/host-hid
Rework Host hid
2021-05-22 22:56:17 +07:00
hathach
f13a3c04f7 fix missing report in tuh_hid_set_report() 2021-05-22 22:43:55 +07:00
hathach
a2c4a48dd6 add tuh_hid_report_sent_cb() 2021-05-22 22:03:21 +07:00
hathach
b8e019da32 rename tuh_hid_get_report_cb to tuh_hid_report_received_cb() 2021-05-22 21:51:30 +07:00
hathach
df65c35b31 implement hid host set report with control transfer
rename mount, umount callback
2021-05-22 21:48:42 +07:00
hathach
63c57ed1a4 clean p 2021-05-22 20:55:42 +07:00
hathach
ad845db6a5 improve hid parser 2021-05-22 20:54:59 +07:00
hathach
350dfb2ea3 more hid api rename 2021-05-22 18:17:32 +07:00
hathach
89dad1ad41 update app 2021-05-22 16:48:07 +07:00
hathach
99add05aa7 simplify hid api
add hid set_protocol() and set_protocol_complete_cb()
2021-05-22 16:27:28 +07:00
Ha Thach
cdb063f007
Merge pull request #841 from noodlefighter/fix-uac2_headset
fix uac2_headset example
2021-05-21 00:52:01 +07:00
noodlefighter
0b1257266b fix uac2_headset example: type of bRequest should be uint8_t, not enumerate 2021-05-20 17:45:15 +08:00
Ha Thach
7bb84890f5
Merge pull request #840 from hathach/enable-ci-esp32s3
enable ci for esp32s3 boards
2021-05-19 11:22:34 +07:00
hathach
327336e921
fix build for rp2040 2021-05-19 11:16:26 +07:00
hathach
7d0fb6f87a
enable ci for esp32s3 boards 2021-05-19 11:05:44 +07:00
hathach
2df5a5367f update hid host get/set protocol to match device 2021-05-18 13:12:33 +07:00
hathach
40cd3a7e20 Merge branch 'master' into host-hid 2021-05-18 13:08:30 +07:00
hathach
ffdcf9a0d0 move report_info to application
update API accordingly, update hid parser for usage, and usage_page.
2021-05-18 12:58:24 +07:00
hathach
da6a7fb2bb update hid report descriptor macro 2021-05-18 12:58:24 +07:00
hathach
5b2d117bcd fix compile 2021-05-18 12:58:24 +07:00
hathach
93661042d9 more API update
- remove tuh_n_hid_n_get_report()
- usbh auto queue get report and invoke callback when received data
2021-05-18 12:58:24 +07:00
hathach
dfa8b41b96 adding hid parser 2021-05-18 12:58:24 +07:00
hathach
9ddc3bfd6d more host hid API
adding hid parser
2021-05-18 12:58:24 +07:00
hathach
641f55f1f1 remove CFG_TUH_HID_KEYBOARD and CFG_TUH_HID_MOUSE 2021-05-18 12:58:24 +07:00
hathach
cc1b83412a continue with hid host rework 2021-05-18 12:58:24 +07:00
hathach
9324fd8f2e more hid host API rework 2021-05-18 12:58:24 +07:00
hathach
7305fec4db change hid device report len from uint8 to uint16 2021-05-18 12:58:24 +07:00
hathach
db8ea7ea1c clean up 2021-05-18 12:58:24 +07:00
hathach
791efecfdf add tuh_device_ready() 2021-05-18 12:58:24 +07:00
hathach
b7a8b278c8 rename tuh_device_is_configured() to tuh_device_configured()
- remove tuh_device_get_state()
- more hid mouse clean up
2021-05-18 12:58:24 +07:00
hathach
69defb5edc rename and moving 2021-05-18 12:58:24 +07:00
hathach
a5cd81a226 correct hid host mount/unmount callback
rename HOST_CLASS_HID to CFG_TUH_HID
2021-05-18 12:58:24 +07:00
hathach
be165a6713 reworking host hid API 2021-05-18 12:58:24 +07:00
hathach
510beef9f8 make tuh_msc_mount_cb() tuh_msc_unmount_cb() as weak callback 2021-05-18 12:58:24 +07:00
hathach
e0dbb489ae rename CFG_TUSB_HOST_ENUM_BUFFER_SIZE to CFG_TUH_ENUMERATION_BUFSZIE
add usbh_get_enum_buf
2021-05-18 12:58:24 +07:00
hathach
e83bdcdfdc reworking hid host 2021-05-18 12:58:24 +07:00
hathach
4023d05e93 minor clean up 2021-05-18 12:58:24 +07:00
hathach
13613eafb7 correct ehci control endpoint address report on xfer complete
improve host log
2021-05-18 12:58:24 +07:00
hathach
3a7f8b3ac3 separte tusb_init/inited() to tud/tuh init/inited
add rhport to tud_init()
2021-05-18 12:58:24 +07:00
hathach
2666e1efec add tuh_inited() and tud_inited() 2021-05-18 12:58:24 +07:00
hathach
68fa17e17c more API rename 2021-05-18 12:58:24 +07:00
hathach
f1148ca5ac reworking hid host 2021-05-18 12:58:24 +07:00
hathach
98f5082191 rename var to be consistent 2021-05-18 12:58:24 +07:00
hathach
1dd2cd43dd add hcd_ehci.h as interface for ehci port 2021-05-18 12:58:24 +07:00
Ha Thach
4f84185b43
Merge pull request #837 from hathach/fix-835-hid-cleanup
Fix 835 hid cleanup
2021-05-18 12:57:59 +07:00
hathach
a26752a93e fix build error 2021-05-18 12:45:59 +07:00
hathach
7e9e682e09 update to use HID spec protocol value for get/set_protocol() 2021-05-18 12:38:11 +07:00
hathach
e163f85ee0 clean up, rename some HID device symbol/API
- add tud_hid_n_interface_protocol()
- rename tud_hid_n_boot_mode() to  tud_hid_n_get_protocol()
- rename tud_hid_boot_mode_cb() to tud_hid_set_protocol_cb()
- add HID_PROTOCOL_BOOT/REPORT to avoid magic number 0,1
- rename HID_PROTOCOL_NONE/KEYBOARD/MOUSE to HID_ITF_PROTOCOL_ to avoid
confusion
2021-05-18 12:32:20 +07:00
Ha Thach
2d15e11830
Merge pull request #827 from kasjer/kasjer/fix-audio-rx_done_cb 2021-05-12 00:14:31 +07:00
Ha Thach
c5e95a8f8d
Merge pull request #829 from kasjer/kasjer/fix-build-for-nrf5340
Allow build for NRF5340 MCU
2021-05-11 20:02:48 +07:00
hathach
9233269a2c only apply errata walkaround for nrf52 2021-05-11 18:38:23 +07:00
Jerzy Kasenberg
e2f795067a Allow build for NRF5340 MCU
Errata code referred to NRF_USBD_BASE.
This definition is not present in NRF5340 but both NRF52 and NRF53
do have NRF_USBD which maps to NRF_USBD_BASE for NRF52 and
to NRF_USBD_S_BASE for NRF5340.
This just make build possible for NRF5340.
2021-05-11 12:37:08 +02:00
Ha Thach
59affc90aa
Merge pull request #828 from corvus-ossifragus/fix-ep-struct-trace-statements
Fix ep struct trace statements
2021-05-10 22:21:15 +07:00
corvus-ossifragus
23e564249c Update .gitignore 2021-05-10 10:15:36 -04:00
corvus-ossifragus
72f5202086 Update trace statements that referenced deprecated structure elements. 2021-05-10 10:09:09 -04:00
Jerzy Kasenberg
74ca1894de audio_device: Fix build error
ep_in_as_intf_num was incorrectly used to access out interface
which is defined for 'in' interface.
Code related to 'out' endpoint should use ep_out_as_intf_num instead.
2021-05-10 15:58:04 +02:00
Ha Thach
2a343ba916
Merge pull request #826 from hathach/minor-cleanup
minor clean up
2021-05-10 19:29:45 +07:00
Ha Thach
1e8a129149
Merge pull request #824 from corvus-ossifragus/fix-keyboard-hid-report-buffer
Update main.c
2021-05-10 19:21:33 +07:00
hathach
13de8f5d98 minor clean up 2021-05-10 19:15:46 +07:00
ogatatsu
5d69b2ac4d fix hid report descriptor 2021-05-10 17:19:44 +09:00
corvus-ossifragus
0621df8d26 Update main.c
Fix code where HID keyboard was being stuffed into the HID mouse buffer.
2021-05-09 19:11:29 -04:00
Ha Thach
505ee0c8ea
Merge pull request #821 from corvus-ossifragus/debug_build_errors
Update hcd_rp2040.c
2021-05-08 17:47:49 +07:00
Ha Thach
4cd6ec2530
Merge pull request #820 from corvus-ossifragus/update-host-example
Update main.c
2021-05-08 17:46:51 +07:00
corvus-ossifragus
13b510ad8e Update hcd_rp2040.c
Remove reference to the deprecated "num" and "in" members  of struct hw_endpoint which still exist in an assert statement and break DEBUG builds.
2021-05-07 16:49:48 -04:00
corvus-ossifragus
5316c4e84a Update main.c
Added new RTOS names to the name string array in print_greeting() in the host example program. The program seemed to hang when a new RTOS was indexed in CFG_TUSB_OS.
2021-05-07 16:35:22 -04:00
Jeremiah McCarthy
05892a5a1e Merge branch 'master' of github.com:xmos-jmccarthy/tinyusb 2021-05-06 12:18:55 -04:00
Jeremiah McCarthy
b51e0eb860 Fix typo 2021-05-05 18:00:32 -04:00
Jeremiah McCarthy
dab1ed6b32 Add example to be tested
Update API description.
2021-05-05 17:42:38 -04:00
Ha Thach
ee00918b7c
Merge pull request #803 from pigrew/usbtmc_default_rm
USBTMC: remove reference to visa DLL (which only was for windows, and…
2021-05-05 10:52:02 +07:00
Ha Thach
42a1d2f3b9
Merge pull request #804 from hathach/audio_make_dma_ready
Implement functions to allow for DMA usage in audio driver.
2021-05-02 15:29:38 +07:00
hathach
1e1bcda003 update changelog for peek api 2021-05-02 15:05:47 +07:00
hathach
18c35bb89e some text fomarting, update unit test to test get buffer info for fifo 2021-05-02 15:01:28 +07:00
Reinhard Panhuber
5add664874 Remove n from tu_fifo_get_write_info() and fix bug in vendor class 2021-04-30 17:37:14 +02:00
Reinhard Panhuber
6acfa14fec Fix bug in cdc_peek 2021-04-30 17:23:34 +02:00
Reinhard Panhuber
54f332fae0 Fix cdc peeks() 2021-04-30 15:42:27 +02:00
Reinhard Panhuber
5f88def9c9 Comment cleanup 2021-04-30 15:14:27 +02:00
Reinhard Panhuber
14e2c004cd Remove variable n in tu_fifo_get_read_info() 2021-04-30 15:08:14 +02:00
Reinhard Panhuber
de933c45bc Remove all remainings with peek_at 2021-04-30 14:56:14 +02:00
Reinhard Panhuber
5f268608d7 Remove offset feature from fifo.c 2021-04-30 13:39:55 +02:00
Reinhard Panhuber
8f72c97f7b Change read infos to pointer type 2021-04-30 12:59:12 +02:00
Jeremiah McCarthy
f830800d00 Fix typo and clean up reset 2021-04-29 16:04:18 -04:00
Ha Thach
30b7988efa
Merge pull request #811 from hathach/update-lpc54
Update lpc54
2021-04-29 00:44:54 +07:00
hathach
e70fb7fd41 fix mkl25z ci 2021-04-29 00:33:03 +07:00
hathach
cf64b2214b fix build with mkl25z 2021-04-29 00:22:28 +07:00
hathach
d70af332c0 fixed build with lpc51 2021-04-28 23:44:04 +07:00
hathach
f7779c70d6 add lpc54 to ci 2021-04-28 23:27:12 +07:00
hathach
fdda9f75db add lpc54628 but usb clock;phy doesn't seem to be right 2021-04-28 23:25:07 +07:00
hathach
8a9f412788 fix lpc54 button 2021-04-28 22:34:56 +07:00
hathach
71a1f57ccd generalize lpc54 family 2021-04-28 21:34:26 +07:00
hathach
9a6552c4b3 fix build with lpc54 2021-04-28 20:02:17 +07:00
hathach
fcedb2eecb fix lpc55 build 2021-04-28 19:53:31 +07:00
hathach
810057bdb2 fix build with imxrt 2021-04-28 19:30:23 +07:00
hathach
af0db342df update lpc mcu sdk path 2021-04-28 18:30:19 +07:00
hathach
aaa8c9928c add official nxp mcux-sdk submodule 2021-04-28 18:26:04 +07:00
hathach
e115e08728 add nxp_lpcopen as submodule 2021-04-28 18:11:49 +07:00
hathach
62c5fa1056 remove submodule hw/mcu/nxp 2021-04-28 18:07:26 +07:00
hathach
3da76ae449 making new family lpc54 2021-04-28 16:13:43 +07:00
Ha Thach
33f713f5ef
Merge pull request #810 from hathach/fix-lpc15
Fix lpc15
2021-04-28 15:36:30 +07:00
hathach
c1c4b2f6bf complete lpc15 family 2021-04-28 15:16:36 +07:00
hathach
bbc6d4f9e8 create new lpc15 family 2021-04-28 15:10:31 +07:00
hathach
cd535537f6 update doc 2021-04-28 15:02:11 +07:00
hathach
6882a7af3b lpc1549 work well now 2021-04-28 14:53:46 +07:00
hathach
c9177246d2 temporarily fix include recusrive loop 2021-04-28 12:31:24 +07:00
hathach
b5339caa17 clean up lpc55 boards 2021-04-26 21:40:58 +07:00
hathach
f4475ea85b change lpc55s28 default port to 1 2021-04-26 21:26:13 +07:00
Ha Thach
684fba3152
Merge pull request #808 from hathach/lpc55-port1-hs
Lpc55 port1 hs
2021-04-26 21:04:57 +07:00
hathach
1be9f3bcfa update board doc 2021-04-26 20:49:15 +07:00
Ha Thach
7abafbb1bd
Merge pull request #807 from UweBonnes/lpc55-port1-hs
mcu-link: Board support for MCU-LINK with LPC55S69JBD64
2021-04-26 20:28:47 +07:00
hathach
ba90a8cb79 use correct NBYTES_MAX for full and high speed 2021-04-26 20:22:40 +07:00
hathach
c26875e70d add TUP_MCU_STRICT_ALIGN macro that manually pick bytes for lpc55 port1 that is m4 but cannot unaligned acces on usb ram 2021-04-26 17:42:49 +07:00
hathach
a8e109cb3d clean up 2021-04-26 17:14:20 +07:00
Uwe Bonnes
fd7337fe04 mcu_link: Board support for MCU_LINK with LPC55S69JBD64 2021-04-26 10:26:46 +02:00
hathach
8ebdf2b097 ip3511 correct buffer offset, nbytes layout for highspeed port1
able to get passed enumeration and up to READ10
2021-04-26 14:43:58 +07:00
hathach
f14daf2081 fix unaligned access with port1 hs 2021-04-24 15:04:58 +07:00
hathach
b15d126d59 lpc55 improve multiple controller support
port1 highspeed requires USB_RAM
2021-04-24 13:36:05 +07:00
hathach
7089df2088 lpc55 correct bus_reset with highspeed on support controller
correct hsphy init for family
2021-04-24 12:19:13 +07:00
hathach
8bed369c7f lpc55 better multiport support 2021-04-24 11:30:14 +07:00
hathach
8642c2045c update dcd ip3511 for better multiple rhport support 2021-04-24 10:44:14 +07:00
Reinhard Panhuber
7072f0155e Change tu_fifo_get_linear_write/read_info() to return a struct
Compilers always complain that variables set by function via pointer
might be uninitialized so to avoid that return values are now delivered
via struct.
2021-04-23 11:48:54 +02:00
Reinhard Panhuber
a98d0217a0 Init len_wrap = 0 to fix compiler complains. 2021-04-23 10:47:22 +02:00
Reinhard Panhuber
4dd1f1f3b5 Fix include path in audio_device.h 2021-04-23 10:32:22 +02:00
Reinhard Panhuber
03f974c9b9 Implement functions to allow for DMA usage in audio driver.
- Add tud_audio_n_get_ep_out_ff(), tud_audio_n_get_ep_in_ff(),
tud_audio_n_get_rx_support_ff(), and tud_audio_n_get_tx_support_ff()
- Change get_linear_read/write_info() to return linear and wrapped part
at once
- Adjusted affected code in audio_device.c and tested with
audio_4_channel.
2021-04-23 10:27:48 +02:00
Nathan Conrad
7998f11258 USBTMC: remove reference to visa DLL (which only was for windows, and auto-select instead. 2021-04-22 21:47:51 -04:00
Jeremiah McCarthy
b8e5885c2b Removes polltimeout behaviour and restructures
Moves dfu_req_dnload_reply to ACK stage of a DNREQUEST.

Removes unneeded variables due to other simplifications.
2021-04-22 17:45:33 -04:00
Jeremiah McCarthy
8c80ddeb54 Fix statte check on DATA stage 2021-04-22 17:00:57 -04:00
Jeremiah McCarthy
cc440ade81 Remove custom status description table 2021-04-22 16:47:05 -04:00
Jeremiah McCarthy
45e401e69d Remove unused alt_setting 2021-04-22 16:42:54 -04:00
Jeremiah McCarthy
e54d9d10af Add const 2021-04-22 16:39:43 -04:00
Jeremiah McCarthy
289af581bb Remove uunused code 2021-04-22 16:06:06 -04:00
Jeremiah McCarthy
18e9d253e9 Remove usb reset callback 2021-04-22 16:04:09 -04:00
Jeremiah McCarthy
0936a76dc9 Remove nonstd behaviour 2021-04-22 15:59:49 -04:00
Jeremiah McCarthy
88dea7a0a8 Move debug from .h to .c 2021-04-22 15:02:50 -04:00
Jeremiah McCarthy
01661b3f28 Replace dfu_mode with dfu 2021-04-22 14:56:52 -04:00
hathach
5c5d4b189f add lpc55 uart write 2021-04-22 19:24:19 +07:00
Ha Thach
d8fd4352a3
Merge pull request #798 from hathach/uac2_fix_cs_as_int_alt_set_0
Uac2 fix cs as int alt set 0
2021-04-22 10:56:13 +07:00
Reinhard Panhuber
29bcc83d0f Remove unnecessary volatile and short audio function index to func_id 2021-04-21 17:01:38 +02:00
Reinhard Panhuber
705753f448 Merge remote-tracking branch 'upstream/master' into uac2_fix_cs_as_int_alt_set_0 2021-04-20 20:15:54 +02:00
Reinhard Panhuber
c7c11b181c Clean up old depracted and misleading variable names 2021-04-20 20:15:02 +02:00
Reinhard Panhuber
fef0d54559 Refactor static function for better performance 2021-04-20 19:56:40 +02:00
Reinhard Panhuber
4408ffce88 Fix pointer alt_setting to be cleared when driver gets initialized 2021-04-20 18:44:56 +02:00
Ha Thach
c5f440a6aa
Merge pull request #794 from hathach/fix-ci-rp2040
Fix ci rp2040
2021-04-19 15:17:05 +07:00
hathach
a2be6c1472 correct boot stage2 for itsybitsy and qt rp2040 2021-04-19 14:03:29 +07:00
hathach
59f0fa1e5e cmake cleanup 2021-04-19 13:30:04 +07:00
Ha Thach
27c4a7db8d
Update bug_report.md 2021-04-19 13:18:19 +07:00
Ha Thach
01801c881b
Merge pull request #783 from alisitsyn/esp-based_on_334e95f
WIP: Add new Espressif target esp32s3 for tinyUSB
2021-04-19 13:01:50 +07:00
Ha Thach
f2874f2431
Merge pull request #790 from hathach/group-f0
Group f0 boards
2021-04-18 17:00:12 +07:00
hathach
faae19f560 update ci build 2021-04-18 15:44:50 +07:00
hathach
0517377dcb add stm32f072eval to group 2021-04-18 15:44:34 +07:00
hathach
4c8750badb add f070 nucleo to group 2021-04-18 14:26:07 +07:00
hathach
a5b406da51 create stm32f0 group 2021-04-18 13:24:34 +07:00
Ha Thach
d35c92eccd
Merge pull request #789 from kapacuk/freertos
When used with FreeRTOS, lower the interrupt priority for OTG_FS_IRQn
2021-04-18 13:09:05 +07:00
Dima Barsky
9fceed39fc When used with FreeRTOS, lower the interrupt priority for OTG_FS_IRQn 2021-04-17 23:43:03 +01:00
hathach
803b755554 update per review 2021-04-18 01:50:16 +07:00
hathach
38cc459c93 Merge branch 'master' into alisitsyn-esp-based_on_334e95f 2021-04-18 01:30:19 +07:00
Ha Thach
4ba64719bd
Merge pull request #788 from kapacuk/blackpill
Change LED_STATE_ON to 0 for stm32f401 and stm32f411 blackpill boards
2021-04-18 00:11:14 +07:00
Dima Barsky
70c89da7ba Change LED_STATE_ON to 0 for f401 and f411 blackpill boards 2021-04-16 15:51:19 +01:00
Alex Lisitsyn
91e574075d espressif: temporarily remove the espressif_addax_1 board from test 2021-04-16 15:49:21 +02:00
Alex Lisitsyn
f5e02e72ed espressif: group boards using target name as a family
`hw\bsp` separate one family folder to esp32s2, esp32s3
add board specific board.cmake file to override board specific options(features)
fix examples and test scripts to use new family approach
2021-04-16 15:41:42 +02:00
Dima Barsky
9f925bc900
Added support for Black Magic Probe (#787)
* Added flash-bmp and debug-bmp targets; added .gdb_history to .gitignore
* Added the BMP variable, defaults to /dev/ttyBmpGdb
The name of the BMP device is different on different systems. On Linux (after installing the recommended udev rules) it'll be /dev/ttyBmpGdb, but the user should be able to override it.
* Update rules.mk
2021-04-16 20:23:27 +07:00
Alex Lisitsyn
2f0cb8b5f1 tinyusb: add support of esp32s3 target
add support of new esp32s3 target and the board
update the roles.mk wrapper to allow dfu flashing of espressif chip
update examples to allow compilation for esp32s3_addax_1 board
once the code is tested the PR to original tinyusb repo will be submitted
2021-04-16 13:38:00 +02:00
Ha Thach
c611199632
Merge pull request #593 from hathach/edpt_ISO_xfer
Edpt iso xfer
2021-04-16 01:59:47 +07:00
Reinhard Panhuber
c7e4a86166 Fix bug in audio_4_channel_mic.c 2021-04-15 19:40:57 +02:00
Ha Thach
93dffba0ac
Merge pull request #786 from kapacuk/seeeduino-fixes
Changed LED_PIN to 17 on Seeeduino Xiao
2021-04-16 00:03:28 +07:00
hathach
9ecb91e1bd fix build with LOG=2 2021-04-15 23:47:28 +07:00
Dima Barsky
53eb74698b Merge branch 'seeeduino-fixes' of github.com:kapacuk/tinyusb into seeeduino-fixes 2021-04-15 16:14:48 +01:00
Dima Barsky
62a0d5b42d Changed LED_PIN to 17, LED_STATE_ON to 0 2021-04-15 16:12:19 +01:00
Reinhard Panhuber
fa0d71f2cf Try to resolve include hassle in uac2_headset 2021-04-15 17:04:25 +02:00
hathach
2e65d1543f update cmakelist for audio_4_channel 2021-04-15 12:14:01 +07:00
hathach
b687a4fc20 Merge branch 'master' into edpt_ISO_xfer 2021-04-15 12:12:52 +07:00
hathach
3c84776e0a minor clean up 2021-04-15 12:09:12 +07:00
hathach
ad11481dd1 update plot script to work on macos and linux
also add note for installing pip module
2021-04-15 12:08:50 +07:00
Reinhard Panhuber
8d9f60ca5e Improve user feedback in case of wrong configuration of audio driver 2021-04-14 21:52:54 +02:00
Dima Barsky
662cdcfb91
Changed LED_PIN to 17 2021-04-14 18:07:28 +01:00
Jeremiah McCarthy
7b45b38fe4 Remove DFU mode and rt 2021-04-12 11:17:01 -04:00
Ha Thach
8411f5b5c9
Merge pull request #782 from hathach/remove-submodule-pico-sdk
Remove submodule pico sdk
2021-04-11 14:05:13 +07:00
hathach
7c10b25dc1 try to correct ci 2021-04-11 13:45:55 +07:00
hathach
c8bb0020ea update rp2040 to use pico-sdk externally
also try to update ci
2021-04-11 13:37:07 +07:00
hathach
bebc910447 remove pico-sdk as submodule 2021-04-11 13:19:51 +07:00
Ha Thach
cb1eee8b2d
Merge pull request #776 from joeycastillo/master
Add support for SAM L22 family
2021-04-11 12:39:54 +07:00
Joey Castillo
861fff00ff Add SAML22 boards to build.yml 2021-04-10 17:03:21 -04:00
Joey Castillo
13e474997c Update boards.md with SAM L22 boards 2021-04-10 17:02:59 -04:00
Joey Castillo
7c8b4991f1 Add support for SAM L22 family 2021-04-09 17:33:14 -04:00
Reinhard Panhuber
2134c1a875 Fix defines in audio_device.c 2021-04-08 21:48:36 +02:00
Reinhard Panhuber
97d1609c72 Ensure half word alignment in audio 4 channel example 2021-04-08 20:15:08 +02:00
Reinhard Panhuber
4bebb9ca49 Remove depracted defines in audio_device.c 2021-04-08 20:11:51 +02:00
Reinhard Panhuber
930eca0748 Add 4 channel microphone audio example using software encoding 2021-04-08 19:56:26 +02:00
Jeremiah McCarthy
ae851bba31 Resolve gcc warnings for no parameter functions 2021-04-07 17:15:26 -04:00
Jeremiah McCarthy
2e2dc7bdc5 Revise per initial comments
Returns the RT driver to the function state of previous iteration, which
did not support the will_detach.  Behavior should be fine without this
feature.  This removes much of the added bloat to track state, and
handle requests in the APP_DETACH state which is no longer required.

Removes the optional bloat added to the RT driver, such as responding to
GETSTATE requests.

Fixes the DFU Mode to extract the attr bits from the functional
descriptor when opened.

Fixes some incorrect bitwise if checks.

Also, updates some naming of functions to be consistent with the rest of
the library.
2021-04-07 17:05:04 -04:00
Reinhard Panhuber
8eacdffebd Optimize encode/decode - refactor unnecessary repetitive division 2021-04-07 20:07:28 +02:00
hathach
d9a0cc9e9f
more cleanup 2021-04-07 16:50:45 +07:00
hathach
893919a848 remove tu_fifo_backward_write/read_pointer API
since it is illegal from fifo perspective
2021-04-07 13:27:28 +07:00
hathach
2468f9e26d more _ff_pull/push clean up 2021-04-07 13:15:25 +07:00
hathach
9042e973d3 clean up _ff_push_n 2021-04-07 12:52:57 +07:00
hathach
d6737fb5fe use tu_unaligned_write32() for _ff_push_const_addr 2021-04-07 12:34:00 +07:00
hathach
d0fa4d5189 rename 2021-04-07 12:24:24 +07:00
hathach
8ac156622d fix cast-align warning 2021-04-07 00:38:12 +07:00
hathach
a3c06aa7bc more clean up for _ff_pull_const_addr_in_full_words() 2021-04-06 23:39:39 +07:00
hathach
d82ee2f8c0 refactor _ff_pull_n() with const addr 2021-04-06 23:12:04 +07:00
hathach
58bab86d79 minor clean up 2021-04-06 21:09:23 +07:00
hathach
c5db2282ad Merge branch 'master' of github.com:hathach/tinyusb into edpt_ISO_xfer 2021-04-06 19:35:01 +07:00
Ha Thach
1d20c84798
add tu_unaligned_read32/write32 (#772)
* add tu_unaligned_read32/write32
* added tu_unaligned_read16/write16
* add TU_ATTR_ALWAYS_INLINE, add to most of simple inline function
2021-04-06 19:32:01 +07:00
hathach
8b79040c38 code format 2021-04-06 15:34:50 +07:00
Jeremiah McCarthy
c39b7b8177 Add DFU runtime and mode "class"
With the runtime and mode portions in separate classes, a single
application should only be building with one or the other enabled.  In
some applications both might be desired at build time.

The CFG_TUD_DFU_RUNTIME_AND_MODE option creates a DFU class, which asks
the application which mode to initialize to.  This allows a runtime
change between RT and DFU mode, by just reinitializing tusb.
2021-04-05 17:52:33 -04:00
Jeremiah McCarthy
bc2cb99780 Remove unreachable callback 2021-04-05 17:06:27 -04:00
Jeremiah McCarthy
fdc91f8d2c Fix bug during initialization of DFU Mode 2021-04-05 16:48:09 -04:00
Jeremiah McCarthy
c5b8ef1529 Separate DFU RT and Mode. Untested 2021-04-05 16:32:58 -04:00
hathach
68687ed0f4 fix build 2021-04-06 01:16:51 +07:00
hathach
7ab8da949e audio driver only use USE_LINEAR_BUFFER = 0 for stm32 synopsys driver 2021-04-06 01:07:32 +07:00
hathach
3acf0c2d73 revert dcd_edpt_xfer_fifo() implementation for esp32s2 2021-04-06 01:00:00 +07:00
hathach
69ad092fce revert dcd_edpt_xfer_fifo() implementation for nuc120 121 2021-04-06 00:13:12 +07:00
hathach
49b2d8f26c revert dcd_edpt_xfer_fifo() implementation for msp430 2021-04-06 00:07:17 +07:00
Jeremiah McCarthy
164d3e82e3 Fix incorrect DNLOAD request len passed to app
Fixes bug where the app callback was getting the length of the status
request transfer rather than the length of the data stage payload.

TODO: Right now this returns the expected length, when it really should
be returning the transfer length.
2021-04-05 11:13:42 -04:00
hathach
8d2dfe872c revert dcd_edpt_xfer_fifo() implementation for stm32_fsdev 2021-04-05 19:19:49 +07:00
hathach
bebe2f0bbf revert dcd_edpt_xfer_fifo() implementation for nuc505 2021-04-04 22:50:26 +07:00
hathach
586a46c7d3 revert dcd_edpt_xfer_fifo() implementation for samg
samg fifo is accessed byte by byte (although the register is 32 bit).
2021-04-04 21:33:19 +07:00
Reinhard Panhuber
1ac9e7e3a7 Fix wrong read mutexes in audio_device.c 2021-04-03 18:22:19 +02:00
Reinhard Panhuber
e0cb415954 Fix uac2_headset include hassle be declaring value by hand 2021-04-03 18:07:18 +02:00
Reinhard Panhuber
b3e548d2d6 Fix uac2_headset 2021-04-03 17:57:23 +02:00
Reinhard Panhuber
f6ba58e370 Fix wrong pointer type in audio_device.c 2021-04-03 17:50:30 +02:00
Reinhard Panhuber
6f2f5320f2 Fix uac2_headset example 2021-04-03 16:58:05 +02:00
Reinhard Panhuber
4af5189492 Fix potential bug in support FIFO sizes 2021-04-03 16:53:29 +02:00
Reinhard Panhuber
9559796337 Fix typo in uac2_headset 2021-04-03 16:29:44 +02:00
Reinhard Panhuber
c57369ee83 Fix old defines in uac2_headset 2021-04-03 16:22:35 +02:00
Reinhard Panhuber
475badd087 Add missing #defines in uac2_headset example 2021-04-03 16:10:46 +02:00
Reinhard Panhuber
5eb893011c Fix #define error in uac2_headset 2021-04-03 15:59:42 +02:00
Reinhard Panhuber
fc65f39ff2 Fix error in #defines in uac2_headset 2021-04-03 15:58:41 +02:00
Reinhard Panhuber
fcb97bd4e9 Fix #define in audio_test 2021-04-03 15:48:09 +02:00
Reinhard Panhuber
ec6b240de2 Fix #define error in audio_device.h 2021-04-03 15:44:44 +02:00
Reinhard Panhuber
6236effb14 Fix #define error in audio_device.h 2021-04-03 15:29:39 +02:00
Reinhard Panhuber
8b90c08b35 Fix #define errors in audio_device.h 2021-04-03 15:24:38 +02:00
Reinhard Panhuber
40b2ffcb52 Delete old settings 2021-04-03 10:09:40 +02:00
Reinhard Panhuber
a1efd41649 Merge remote-tracking branch 'upstream/master' into edpt_ISO_xfer 2021-04-03 09:50:08 +02:00
Reinhard Panhuber
9b2ddd9cc6 Generalize audio driver for 3 audio functions plus a lot more.
- Audio format and parameters are parsed from descriptors thus user no
longer needs to give them explicitely

- Tested for 4 channel software type I PCM encoding with 16 bit with 1
channel per FIFO and 2 channels per FIFO (this is I2S specific)
2021-04-03 09:49:27 +02:00
Ha Thach
ab4d30fd6b
update readme and contributors for renesas rx63n and silabs efm32gg12 port (#767)
* update readme and contributors for renesas rx63n and silabs efm32gg12 port

also add some doc for changelog

* typo

* update more boards

* more typo

* typo 3
2021-04-02 16:32:48 +07:00
Ha Thach
eb92986b88
Merge pull request #766 from hathach/enhance-midi
Enhance midi
2021-04-02 15:47:40 +07:00
hathach
7582528067 revert make optimize flag 2021-04-02 15:21:44 +07:00
hathach
48bb96f507 correct midi stream read behavior to read until user buffer is full or no more data from usb fifo 2021-04-02 15:08:36 +07:00
hathach
350eb11277 refactor midi read buffer to stream 2021-04-02 14:52:44 +07:00
hathach
da59c4ad44 rename midi write()/read() to stream_write() stream_read()
also add deprecated for warning and rename hint
2021-04-02 14:43:38 +07:00
hathach
99b78e62f2 removed tud_midi_write24() 2021-04-02 14:34:13 +07:00
hathach
08fe16840f refactor midi write into stream 2021-04-02 14:26:55 +07:00
hathach
6b04efd443 refactor midi stream read 2021-04-02 13:55:51 +07:00
hathach
080b14b292 fix midi tx fifo overflow cause data corruption
rename
2021-04-02 13:26:55 +07:00
Ha Thach
e4f5a5d7b3
Merge pull request #749 from perigoso/bsp-sltb009a
Add sltb009a BSP
2021-04-01 11:23:52 +07:00
Rafael Silva
735e0dff20 skip freertos example for efm32gg12
Signed-off-by: Rafael Silva <silvagracarafael@gmail.com>
2021-03-31 23:45:33 +01:00
Rafael Silva
65a04f02b6 add sltb009a bsp
Signed-off-by: Rafael Silva <silvagracarafael@gmail.com>
2021-03-31 23:45:33 +01:00
Ha Thach
2f5dda90b7
Merge pull request #757 from kkitayam/add_support_for_gr_citrus
Add support for GR-CITRUS
2021-03-31 22:01:43 +07:00
hathach
1d8a79ef4f remove NVIC_SystemReset() in freertos examples 2021-03-31 20:50:08 +07:00
kkitayam
ff2978d95f added comments for JLink connection work. 2021-03-31 22:15:03 +09:00
kkitayam
25057022e3 add a submodule of Renesas RX family to hw/mcu/renesas/rx 2021-03-31 21:53:15 +09:00
kkitayam
74c8887c8e removed a submodule for Renesas 2021-03-31 21:50:53 +09:00
hathach
949ff791e0 code format 2021-03-31 00:34:09 +07:00
hathach
b05084e406 remove tud_midi_read_flush() 2021-03-30 23:56:55 +07:00
hathach
c5aa661c89 rename tud_midi_receive/send to tud_midi_packet_read/write 2021-03-30 23:54:17 +07:00
Ha Thach
c5dfc54e54
Merge pull request #762 from hathach/add-more-hid-key
add hid keys from 0x6B to 0xA4
2021-03-30 21:38:24 +07:00
hathach
89a911ee43 correct hid key enter = 0x28, return = 0x9E 2021-03-30 21:26:35 +07:00
hathach
d135825e9c add hid keys from 0x6B to 0xA4 2021-03-30 21:12:56 +07:00
Ha Thach
e106e22bdd
Merge pull request #760 from hathach/fix-755-same-name-c-s-file
add suffix _s to object of assembly file
2021-03-30 10:20:55 +07:00
hathach
2e4657d111 change suffix to _asm to be more explicit 2021-03-30 01:09:17 +07:00
hathach
94d29d8578 add build-renesas for rx63n 2021-03-30 00:06:06 +07:00
hathach
5a0c594c71 move rx63n into its own family 2021-03-29 23:54:44 +07:00
hathach
ae98a12cff Merge branch 'add_support_for_gr_citrus' of https://github.com/kkitayam/tinyusb into kkitayam-add_support_for_gr_citrus 2021-03-29 22:53:23 +07:00
hathach
ef73a9864f add suffix _s to object of assembly file 2021-03-29 22:51:11 +07:00
Ha Thach
05d6d7d8d1
Merge pull request #759 from sjanc/mynewt
Add releases to Mynewt repository.yml
2021-03-29 18:47:46 +07:00
Szymon Janc
d8efef9461 Add releases to Mynewt repository.yml
This makes it possible to setup Mynewt project which checkouts
specified version of tinyusb.
2021-03-29 11:07:31 +02:00
kkitayam
30687daf9b added a submodule dependency 2021-03-28 16:45:53 +09:00
kkitayam
4a597c9698 cleanup 2021-03-28 12:42:28 +09:00
kkitayam
0e0f9a8da3 added a submodule for RX63N 2021-03-28 00:46:08 +09:00
kkitayam
0b76a2da88 added a setting for RX63X 2021-03-28 00:34:29 +09:00
kkitayam
5f4e6dafc5 added short-enums into CFLAGS 2021-03-28 00:10:53 +09:00
kkitayam
4c832a9195 Set newlib as the default library 2021-03-27 22:21:47 +09:00
kkitayam
86dab3f7e9 added configurations for RX63X 2021-03-27 20:22:32 +09:00
kkitayam
eab214e07c added settings for LWIP and FreeRTOS 2021-03-27 19:12:34 +09:00
kkitayam
a1f1941c3f fixed a OUT transfer did not completed multiple of the max packet size 2021-03-27 16:03:04 +09:00
kkitayam
e48b2c681e fixed definitions for stack areas 2021-03-27 16:00:56 +09:00
kkitayam
e010ea30e5 using BRDY interruption for handling IN transfers. 2021-03-27 14:42:19 +09:00
Jeremiah McCarthy
fb7b47cf07 Minor cleanup 2021-03-26 17:32:03 -04:00
Jeremiah McCarthy
1138f8cc70 Add DFU Class per Version 1.1 Spec 2021-03-26 15:30:43 -04:00
kkitayam
f8cf88f918 update for gr_citurs 2021-03-26 19:32:39 +09:00
kkitayam
13735eb21d added dcd for Renesas USBa 2021-03-26 19:30:53 +09:00
kkitayam
18be454011 added board files 2021-03-26 19:30:53 +09:00
Ha Thach
aa1a5a11c7
Merge pull request #703 from perigoso/efm32gg
EFM32 Family Support
2021-03-25 23:21:34 +07:00
Reinhard Panhuber
994dddc231 Fix shadowing parameter in fifo.c 2021-03-25 14:38:55 +01:00
Reinhard Panhuber
bfddfbadc7 Implement unaligned word copy. 2021-03-25 14:28:59 +01:00
Reinhard Panhuber
1e4e87de51 Rework to copy wrapped word bytes by byte in copy_to_cont_dst etc. 2021-03-25 13:53:26 +01:00
Rafael Silva
2807644e7e add efm32 driver
Signed-off-by: Rafael Silva <silvagracarafael@gmail.com>
2021-03-23 20:45:56 +00:00
Rafael Silva
fb661a99bd added efm32gg12 family cmsis
Signed-off-by: Rafael Silva <silvagracarafael@gmail.com>
2021-03-23 19:00:50 +00:00
Rafael Silva
143582870c add efm32gg12 family
Signed-off-by: Rafael Silva <silvagracarafael@gmail.com>
2021-03-23 18:59:21 +00:00
Reinhard Panhuber
a60bd0c8ac Fix bug in writing to constant src/dst address.
Copying has to be conduct in full words (at least for STM32). Renamed
copy function to tu_fifo_write_n_const_addr_full_words()
2021-03-23 19:33:04 +01:00
Ha Thach
59d0d255d8
Merge pull request #717 from jgressmann/feat/same54xplainedpro-free-pll1
SAM E54 XPlained Pro: free PLL1 for application
2021-03-23 20:39:20 +07:00
Ha Thach
60f3ea5e81
Merge pull request #747 from hathach/cleanup-examples
remove ses project since it is all broken and occupies space
2021-03-23 15:58:56 +07:00
hathach
567c6d437a remove ses project since it is all broken and occupies space 2021-03-23 15:19:53 +07:00
Jean Gressmann
8e6f298aa1 Merge upstream TinyUSB master 2021-03-21 09:53:57 +01:00
Jean Gressmann
1f9b7b0c48 SAM54 Xplained Pro: update board setup documentation 2021-03-21 09:48:49 +01:00
Jean Gressmann
1a5a113655 SAM54 Xplained Pro: reduce board setup code for maintenance
The board now runs off the internal oscillator at 48 MHz.
This is sufficient to run the TinyUSB examples.

A better performing clock setup is keep in the file as init_clock_xtal()
as an example.
2021-03-21 09:43:29 +01:00
Jean Gressmann
a2006ce214 SAM 54 Xplained Pro: remove board specific define 2021-03-21 09:38:02 +01:00
Ha Thach
42681edaf3
Merge pull request #736 from Product-Creation-Studio/ned-pcs/add-stm32f072-eval
Add stm32f072-eval board
2021-03-20 16:45:05 +07:00
Ned Konz
5e74a7b548 Fixed case in linker script name 2021-03-19 12:27:44 -07:00
Ned Konz
2f6f931553 Removed asserts 2021-03-19 12:12:09 -07:00
Ned Konz
aa54135087 Initial commit; copied from stmf072-disco and modified for -EVAL board 2021-03-19 10:57:58 -07:00
Ha Thach
7cdeed54e0
Update bug_report.md 2021-03-19 11:17:38 +07:00
Ha Thach
a22206b77a
Update bug_report.md 2021-03-19 11:15:58 +07:00
Ha Thach
7503b9f18c
Merge pull request #733 from hathach/fix-nrf-dcd-bulk-out-race
fix race condition that could cause drop packet of Bulk OUT transfer
2021-03-19 10:00:30 +07:00
Ha Thach
6cf110b5d0
Update README.md 2021-03-19 00:32:29 +07:00
Ha Thach
c86e4c8bd3
Update boards.md 2021-03-18 20:56:26 +07:00
Ha Thach
a380bbf4bf
Merge pull request #734 from hathach/feather-rp2040-correct-bootstage2
use boot2_generic_03h for adafruit feather rp2040
2021-03-18 20:10:35 +07:00
hathach
249852d25c use boot2_generic_03h for adafruit feather rp2040
- also use boot2_generic_03h for now for itsy bitsy and qt rp2040
- change default flash target for rp2040 to flash-pyocd
2021-03-18 19:53:39 +07:00
Ha Thach
e182bb2a5b
Merge pull request #729 from hathach/cleanup-make
Cleanup make
2021-03-18 17:38:51 +07:00
hathach
253430a765 add example specific DEPS_SUBMODULES 2021-03-18 16:28:44 +07:00
hathach
2882390c82 clean up some examples 2021-03-18 15:23:08 +07:00
hathach
64f41dea62 fix race condition that could cause drop packet of Bulk OUT transfer
NRF_USBD->SIZE.EPOUT[epnum] only need to write once to enable
Bulk/Interrupt transfer. We only need to do it in dcd_edpt_open() and
dcd_edpt_clear_stall()
2021-03-18 15:07:07 +07:00
Ha Thach
881321e763
Merge pull request #724 from xmos-jmccarthy/master
USB TMC Updates
2021-03-18 11:17:43 +07:00
Jeremiah McCarthy
161b8587bd Revert "Add Linux support to tmc example"
This reverts commit dc2f00cca157dc2279f917f59f9607fcd17b3fdb.
2021-03-17 14:24:14 -04:00
hathach
b221cedf80 spaces 2021-03-17 21:36:52 +07:00
hathach
e7e03db9f8 update issue template 2021-03-17 20:27:32 +07:00
Jeremiah McCarthy
ec08dcf61a Implement requested changes for PR724 2021-03-17 09:25:01 -04:00
hathach
2307fc3023 move esp32s2 and rp2040 target rule to its family.mk 2021-03-17 20:13:22 +07:00
hathach
ed8f117dd1 explicitly add dcd source file without vendor/family 2021-03-17 16:52:07 +07:00
Jeremiah McCarthy
dc2f00cca1 Add Linux support to tmc example
Replaces visa include with pyvisa, as visa use with PyVISA is being
deprecated.
2021-03-16 17:04:40 -04:00
Michael Bruno
62d4652f86
Update usbtmc_device.c
Fix buffer alignment in TMC device class
2021-03-16 10:48:42 -04:00
Ha Thach
8775e89a4f
Merge pull request #722 from hathach/fix-build-lpc177x8x
fix build with OPT_MCU_LPC177X_8X
2021-03-16 16:33:52 +07:00
hathach
82e24306e2 fix build with OPT_MCU_LPC177X_8X 2021-03-16 15:49:09 +07:00
Reinhard Panhuber
cd491e296e Intermediate commit 2021-03-14 18:55:16 +01:00
Jean Gressmann
01ec0d49ca SAM E54 XPlained Pro: use proper defines SPI->USART for board init 2021-03-13 14:51:16 +01:00
Jean Gressmann
bcf9c8cb27 SAM E54 XPlained Pro: free up DPLL1 for application 2021-03-13 14:50:55 +01:00
Reinhard Panhuber
d566444d58 Add new line at end of python script 2021-03-13 11:41:46 +01:00
Reinhard Panhuber
de3c03af76 Add python script to plot audio sample data. 2021-03-13 11:37:38 +01:00
hathach
db6242f076 move AUDIO_SAMPLE_RATE to example main.c 2021-03-13 00:23:13 +07:00
hathach
4ee1216aaf fix fifo unlock typo, also clean up a bit 2021-03-13 00:22:04 +07:00
Ha Thach
3a27a9405f
Release 0.9.0 (#716)
* update change log for release
* move changelog into docs/
* more changelog
* increase macro version
2021-03-12 15:10:47 +07:00
Ha Thach
d9f0475701
Merge pull request #713 from HiFiPhile/cdc_read
Call One time tu_fifo_write_n on cdcd_xfer_cb
2021-03-12 13:10:56 +07:00
hathach
31373fd55c use !tu_fifo_empty() instead of tu_fifo_count() 2021-03-12 12:55:18 +07:00
hathach
4310941daa Merge branch 'cdc_read' of https://github.com/HiFiPhile/tinyusb into HiFiPhile-cdc_read 2021-03-12 12:49:44 +07:00
HiFiPhile
5caad485f1 Add fifo empty check.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2021-03-11 20:36:46 +01:00
Reinhard Panhuber
b6db2ac99d Merge remote-tracking branch 'upstream/master' into edpt_ISO_xfer 2021-03-10 19:34:22 +01:00
Reinhard Panhuber
8cb3bd3cd3 Merge remote-tracking branch 'upstream/edpt_ISO_xfer' into edpt_ISO_xfer 2021-03-10 19:33:11 +01:00
Reinhard Panhuber
d5a5a1cab6 Implement audio PCM type I enc./decoding acc. to 2.3.1.5 Audio Streams
Extending capabilities of support FIFOs
Removing copy from to FIFO
Adjusting audio examples
Remove peek/read into other FIFO
2021-03-10 19:32:13 +01:00
hathach
a397353916 fix ci build with rp2040 2021-03-10 17:58:39 +07:00
hathach
e864bda627 fix build with freertos 2021-03-10 17:21:59 +07:00
hathach
794083b647 Merge branch 'master' into edpt_ISO_xfer 2021-03-10 17:10:49 +07:00
HiFiPhile
7fc99a9e11 Call One time tu_fifo_write_n on cdcd_xfer_cb
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2021-03-10 10:19:45 +01:00
Ha Thach
1cdd1b0209
Update pico sdk 1.1.0 (#712)
* update pico-sdk to 1.1.0
also correct fetch_submodule_if_empty behavior
2021-03-10 13:26:14 +07:00
Ha Thach
f9817da397
Merge pull request #711 from hathach/usbd-handle-set-interface
Usbd handle set interface
2021-03-10 12:10:52 +07:00
Ha Thach
ccb599f84b
Merge pull request #710 from hathach/update-doc
update doc for BOARD name, add note for udev on Linux
2021-03-10 11:37:07 +07:00
hathach
eeea19c0ab usbd ack SET_INTERFACE if it is not implemented by class driver. 2021-03-10 11:33:03 +07:00
hathach
38ebb8502d clean up 2021-03-10 11:31:50 +07:00
hathach
4a73b6a219 update doc for BOARD name, add note for udev on Linux 2021-03-10 11:23:44 +07:00
Ha Thach
2adb7e7193
Merge pull request #708 from hathach/add-back-cmsis5
Add back cmsis5 as submodule
2021-03-05 23:01:10 +07:00
hathach
7afe1d9e16 clean up
some how lpc55 ci cannot build without pre-checkout lib/sct_neopixel
2021-03-05 22:49:29 +07:00
hathach
ca6abea97d nrf add lib/CMSIS_5 to DEPS_SUBMODULES 2021-03-05 22:30:03 +07:00
hathach
7d877e286a update DEPS_SUBMODULES to optimize ci 2021-03-05 22:24:03 +07:00
hathach
a64535f57d add back lib/CMSIS_5 submodule 2021-03-05 22:08:42 +07:00
hathach
af81089225 remove local cmsis_5 2021-03-05 22:04:04 +07:00
Reinhard Panhuber
de1f36f2b0 Adapt mutexes in fifo.c 2021-03-04 19:52:48 +01:00
Reinhard Panhuber
2e28861cf8 Remove TODOs done. 2021-03-04 18:20:22 +01:00
Ha Thach
b0ba105bd9
Merge pull request #702 from hathach/more-ci
More ci
2021-03-05 00:06:45 +07:00
hathach
590d8d4d5c rename FAMILY_SUBMODULES to DEPS_SUBMODULES 2021-03-04 22:53:02 +07:00
hathach
b846ded487 merge no-family example build
specify FAMILY_SUBMODULES for all boards
2021-03-04 22:50:45 +07:00
Ha Thach
1b6bf796e1
Merge pull request #701 from hathach/ci-cache-toolchain
cache all toolchains to speed up ci
2021-03-04 22:04:25 +07:00
Ha Thach
5285548c75
Merge pull request #700 from hathach/fix-rp2040-bus-reset
fix enum walkaround forever check for SE0 when pull up is disabled
2021-03-04 21:01:39 +07:00
hathach
ce4da82ce9 cache all toolchains to speed up ci 2021-03-04 20:22:16 +07:00
Reinhard Panhuber
7e56f46957 Extend FIFO mutex to use separate write and read mutexes.
Adjust all USB drivers using FIFO and mutexes.
2021-03-04 13:52:14 +01:00
hathach
33a29c9e4c add midi comment 2021-03-04 19:30:08 +07:00
hathach
8cabbb28df fix enum walkaround forever check for SE0 when pull up is disabled 2021-03-04 18:36:18 +07:00
hathach
4c31a29ff0 update doc, skip board_test in esp32s2 ci 2021-03-04 12:35:43 +07:00
hathach
a655a4169e add note for MIDI (audio v1.0) endpoint decriptor use 9 bytes instead of 7 2021-03-04 01:18:49 +07:00
Ha Thach
68db108b35
Merge pull request #688 from duddie/master
Fix Endpoint descriptor size for MIDI Device
2021-03-04 01:10:37 +07:00
Ha Thach
2d9896bf40
Merge pull request #695 from hathach/more-family-board
More family board
2021-03-03 20:59:07 +07:00
Ha Thach
515122669e
Create config.yml 2021-03-03 20:38:10 +07:00
Ha Thach
04e595dbda
Delete porting.md 2021-03-03 20:34:32 +07:00
hathach
16f501a14e clean up 2021-03-03 20:25:44 +07:00
hathach
5d226ee733 add h745disco to family group 2021-03-03 20:22:55 +07:00
hathach
5799c471f1 group h743eval and h743nucleo into stm32h7
tested and work well
2021-03-03 20:07:17 +07:00
hathach
e1966f8d91 mcb1800 and lpc18s37 work well with both device and host demo 2021-03-03 17:29:30 +07:00
hathach
0dc1a3d3af add lpc18 family 2021-03-03 16:03:21 +07:00
Ha Thach
7b162ec93f
Merge pull request #692 from hathach/improve-rp2040
Improve rp2040
2021-03-03 15:12:28 +07:00
Reinhard Panhuber
848e403e37 Fix unused parameter in _ff_push_copy_fct() and _ff_pull_copy_fct 2021-03-03 08:18:57 +01:00
Reinhard Panhuber
a1b07ae14c Change copy modes for new read/write functions in tusb_fifo.c 2021-03-02 21:52:42 +01:00
Reinhard Panhuber
3cdb82c21c Change for copy modes in dcd_synopsis.c 2021-03-02 21:42:24 +01:00
Reinhard Panhuber
bd2bab7aff Remove set_copy_modes(), implement:
tu_fifo_read_n_const_addr(), tu_fifo_write_n_const_addr()
2021-03-02 21:41:51 +01:00
Reinhard Panhuber
7b8a08d2e1 Rename dcd_edpt_iso_xfer() to dcd_edpt_xfer_fifo() 2021-03-02 20:00:39 +01:00
Reinhard Panhuber
c8b6d9b990 Revert implementation of dcd_edpt_iso_xfer() 2021-03-02 19:28:35 +01:00
hathach
a298045f6c clean up 2021-03-02 23:30:21 +07:00
Reinhard Panhuber
fc35b3f72d Switch back OPT_MCU_DA1469X to use linear buffers 2021-03-02 17:24:58 +01:00
hathach
9d5e369170 rp2040 add disconnection detection
- also use dcd_event_bus_reset()
- Add TODO for suspend, resume later on (need to test with/without vbus
detection).
2021-03-02 23:24:36 +07:00
hathach
d91979cfef rp2040 able to get log with rtt
add note for segger rtt block search range
2021-03-02 23:18:44 +07:00
hathach
ce942baad2 update pico-sdk to more recent commit
- move target_link_libraries() to family.cmake
- enable pico_bootsel_via_double_reset
2021-03-02 22:57:33 +07:00
Ha Thach
d56fad5f38
Merge pull request #691 from hathach/fix-rp2040-host-build
fix rp2040 host build
2021-03-02 15:13:47 +07:00
hathach
1676a836d1 fix rp2040 host build 2021-03-02 14:54:12 +07:00
Ha Thach
559ff80643
Merge pull request #684 from hathach/rp2040-host-example
add rp2040 to host example build
2021-03-02 13:03:52 +07:00
Ha Thach
a3a9a5efb9
Merge pull request #690 from hathach/submodule-on-the-fly
Submodule on the fly
2021-03-02 12:44:28 +07:00
hathach
b066fdc2c6 move fomu to its own family, update ci with build risv 2021-03-02 12:24:12 +07:00
hathach
71313d934d update ci for msp430 family 2021-03-02 11:50:57 +07:00
hathach
a2366fce53 move msp430 into family 2021-03-02 11:08:44 +07:00
hathach
42ff88bdaf add lib/CMSIS_5 v5.7 locally 2021-03-02 11:02:16 +07:00
hathach
7afaae7ffc remove submodule lib/CMSIS_5 2021-03-02 10:18:44 +07:00
hathach
c34b6b2324 remove lib/CMSIS_4 submodule, move nrf to lib/CMSIS_5 2021-03-02 01:18:34 +07:00
hathach
83ce2dfcb7 fix freeRTOS config symbol warning with latest kernel 2021-03-01 22:30:39 +07:00
hathach
7ff14a652b add submodule lib/FreeRTOS-Kernel 2021-03-01 22:13:21 +07:00
hathach
e8cbccf81d remove submodule lib/FreeRTOS 2021-03-01 21:59:53 +07:00
hathach
76b4b3f827 fix ci build for same board 2021-03-01 21:54:57 +07:00
hathach
168993d04d re-enable all build 2021-03-01 21:45:48 +07:00
hathach
908a3d128f fix ci build for rp2040 2021-03-01 21:34:45 +07:00
hathach
26d9897551 update microchip_driver 2021-03-01 21:24:11 +07:00
hathach
9bc921b342 update family submodule
temporarily disable other orphaned and esp32s2 build
2021-03-01 20:48:30 +07:00
hathach
c222f6f111 try to fetch needed mcu submodule while running make 2021-03-01 20:25:55 +07:00
Reinhard Panhuber
8ec99694d2 audio_decive clean up and bootstrapping of linear (formerly evade) buff. 2021-03-01 09:09:15 +01:00
Ha Thach
0374e08550
Merge pull request #689 from hathach/update-lpc55
move lpc55 into its family
2021-03-01 13:15:06 +07:00
hathach
31aa77a85b add lpc55 to ci 2021-03-01 12:35:17 +07:00
hathach
e9059b5d84 added lpcxpresso 55s28 2021-03-01 12:31:31 +07:00
hathach
2e42858537 move lpc55 into its own family 2021-03-01 00:39:48 +07:00
Duddie
72c1066ed1 Fix Endpoint descriptor for MIDI Device
Endpoint descriptor should be 9 bytes in length (not 7) and have two extra bytes at the end: bRefresh and bSynchAddress

According to MIDI USB specification 1.0 (6.2.1 Standard MS Bulk Data Endpoint Descriptor)
2021-02-28 22:18:35 +08:00
Ha Thach
c61464ebaa
Merge pull request #687 from jgressmann/bugfix/same54xplainedpro-led-inverted
SAM 54 Xplained Pro: fix inverted logic for board led
2021-02-28 15:29:49 +07:00
Jean Gressmann
7d9cddccd2 SAM E54 Xplained Pro: applies reviewer feedback 2021-02-28 08:14:17 +01:00
Jean Gressmann
d2575009a1 SAM 54 Xplained Pro: fix inverted logic for board led 2021-02-28 06:19:25 +01:00
Ha Thach
14083ad2df
Update getting_started.md 2021-02-27 16:59:50 +07:00
Ha Thach
5a753c1ab0
Merge pull request #675 from majbthrd/rp2040epaddr
rp2040: use TU endpoint conventions and remove redundant variables
2021-02-27 00:38:53 +07:00
Peter Lawrence
eb44b6f7db rp2040: improve _hw_endpoint_init() 2021-02-26 11:07:34 -06:00
hathach
fa8c7bc334
fix indent 2021-02-26 14:08:57 +07:00
hathach
f6b48c07fc
add rp2040 to host example build 2021-02-26 14:05:08 +07:00
Ha Thach
c6eeee1b79
Merge pull request #683 from amitv87/handle_break_req
Handle CDC_REQUEST_SEND_BREAK
2021-02-26 12:54:50 +07:00
boggyb
55a46a5c3b
Update cdc_device.h
Minor api callback change as requested
2021-02-26 11:00:34 +05:30
Ha Thach
0c05a02e67
Merge pull request #682 from hathach/rp2040_fix_hcd_init
Update RP2040 hcd_init to have rhport argument.
2021-02-26 11:52:48 +07:00
amit verma
07a04255da initial break request handling 2021-02-25 23:13:21 +05:30
Ha Thach
1ce6f76d6e
Merge pull request #676 from majbthrd/rp2040device
rp2040: don't compile in host code when in device mode
2021-02-26 00:29:55 +07:00
Liam Fraser
e6e7c73f6e Update RP2040 hcd_init to have rhport argument. 2021-02-25 15:48:19 +00:00
majbthrd
efea18a888
Merge branch 'master' into rp2040epaddr 2021-02-25 09:15:42 -06:00
majbthrd
0632ecf556
Merge branch 'master' into rp2040device 2021-02-25 08:57:09 -06:00
Peter Lawrence
999ef227d0 rp2040: requested code mode in rp2040_usb.h 2021-02-25 08:45:47 -06:00
Ha Thach
50a0bddd8b
Merge pull request #672 from majbthrd/rp2040trim
rp2040: correctly size variables to reduce RAM usage
2021-02-25 21:17:59 +07:00
Peter Lawrence
762f262be7 rp2040: requested change from TU_MIN to tu_min16 2021-02-25 07:58:54 -06:00
Reinhard Panhuber
cc948288bd Revert tusb_fifo.h include form to original. 2021-02-25 11:18:37 +01:00
Reinhard Panhuber
5ebe53f02d Merge remote-tracking branch 'upstream/master' into edpt_ISO_xfer 2021-02-24 20:54:35 +01:00
kamtom480
280297bdb7
Merge pull request #680 from kamtom480/fix_setup
spresense: fix setup processed flag
2021-02-24 18:25:46 +01:00
Kamil Tomaszewski
448dcdc4cf spresense: fix setup processed flag 2021-02-24 17:39:16 +01:00
Ha Thach
63a9e68af2
Merge pull request #678 from hathach/hid-callback-multiple-instance
add itf argument to hid API to support multiple instances
2021-02-24 15:23:18 +07:00
hathach
2934712e43 fix ci 2021-02-24 15:02:28 +07:00
hathach
a070626729 add itf argument to hid API to support multiple instances
following API signature is changed:
- tud_hid_descriptor_report_cb()
- tud_hid_get_report_cb()
- tud_hid_set_report_cb()
- tud_hid_boot_mode_cb()
- tud_hid_set_idle_cb()
2021-02-24 14:27:20 +07:00
Ha Thach
37a73fd43d
change logo url 2021-02-24 12:42:10 +07:00
hathach
1dbbfdfe45 clean up 2021-02-24 12:34:23 +07:00
Reinhard Panhuber
a7f07a1a63 Fix pointer type 2021-02-23 21:53:17 +01:00
Reinhard Panhuber
697c9476b7 Fix pointer type 2021-02-23 21:42:38 +01:00
Reinhard Panhuber
cb33840a9b Fix pointer type 2021-02-23 21:15:27 +01:00
Peter Lawrence
e00178a1af rp2040: don't compile in host code when in device mode 2021-02-23 14:04:56 -06:00
Reinhard Panhuber
00248de15a Fix shadowing declartion in dcd_da146xx.c 2021-02-23 20:23:26 +01:00
Reinhard Panhuber
387bf1478e Fix missing , in tusb_fifo.h 2021-02-23 19:52:31 +01:00
Reinhard Panhuber
c76e04f835 Add dcd_edpt_iso_xfer() to dcd_template.c 2021-02-23 19:50:54 +01:00
Reinhard Panhuber
e223d46033 Merge remote-tracking branch 'upstream/master' into edpt_ISO_xfer
Conflicts:
	src/common/tusb_fifo.h
	src/osal/osal_none.h
2021-02-23 19:47:57 +01:00
Reinhard Panhuber
313dd1439d Implement dcd_edpt_iso_xfer() for dcd_da146xx.c BUT WITHOUT DMA SUPPORT 2021-02-23 19:41:21 +01:00
Peter Lawrence
c5422a5c48 rp2040: use TU endpoint conventions and remove redundant variables 2021-02-23 12:06:41 -06:00
hathach
ac30211853 remove obsolete host example 2021-02-24 00:27:56 +07:00
Ha Thach
656673fb58
Merge pull request #674 from hathach/host-msc
Enhance Host MSC
2021-02-24 00:19:38 +07:00
hathach
451650fa32 move ehci and ohci to portable folder 2021-02-23 23:09:48 +07:00
Peter Lawrence
5a8ae31316 rp2040: leverage existing macro for capping endpoints in pico-sdk 2021-02-23 10:08:38 -06:00
hathach
afab5bf497 enable host example ci build for imxrt 2021-02-23 19:50:39 +07:00
hathach
0de6a05d73 fix ohci hcd_init() signature change 2021-02-23 19:45:53 +07:00
hathach
5108d76136 host msc: call read_capacity as part of enumeration
- add tuh_msc_get_block_count(), tuh_msc_get_block_size()
- rename tuh_msc_mounted_cb/tuh_msc_unmounted_cb to
tuh_msc_mount_cb/tuh_msc_unmount_cb to match device stack naming
- change tuh_msc_is_busy() to tuh_msc_ready()
- add CFG_TUH_MSC_MAXLUN (default to 4) to hold lun capacities
- add host msc configured to for state check.
2021-02-23 19:41:11 +07:00
hathach
386a386345 clean up host msc 2021-02-23 12:20:30 +07:00
Ha Thach
cea31c346d
Merge pull request #575 from nwlab/yaa/msc_read
Added MSC read10 and write10 function
2021-02-23 11:51:48 +07:00
hathach
ade4bf74ea update function comment 2021-02-23 11:38:15 +07:00
hathach
f2ed2ae09a rename tuh_msc_scsi_inquiry() to tuh_msc_inquiry() 2021-02-23 11:14:19 +07:00
hathach
ebc6253bd4 rt1011 msc host work 2021-02-23 10:20:11 +07:00
Peter Lawrence
592d047936 rp2040: correctly size variables to reduce RAM usage 2021-02-22 20:53:16 -06:00
hathach
de95585258 nxp tdi: hcd_init() reset and set host mode 2021-02-23 01:27:52 +07:00
hathach
c5b8980398 separate hcd_init from ehci 2021-02-22 22:40:51 +07:00
hathach
1e07fc024c add rhport to hcd_init() 2021-02-22 22:32:56 +07:00
hathach
8a2e4c79fd make hcd tdi more generic 2021-02-22 18:02:52 +07:00
Ha Thach
99d3a32ba2
Merge pull request #671 from kamtom480/bus_reset_speed
Pass the correct speed on Spresense
2021-02-22 17:46:05 +07:00
Kamil Tomaszewski
b591a66b3d Pass the correct speed on Spresense 2021-02-22 11:24:16 +01:00
hathach
00b4b74e82 rename hcd_lpc18_43 to hcd_transdimension 2021-02-22 17:15:06 +07:00
Ha Thach
d3195414dc
Merge pull request #657 from ndinsmore/RP2040_enable_isochronous_buffer_size
RP2040:Enable full size isochronous buffers
2021-02-22 12:47:48 +07:00
hathach
43ca626774 merge iso and cbi transaction size to max ep size 2021-02-22 12:27:02 +07:00
hathach
44916bcacf Merge branch 'RP2040_enable_isochronous_buffer_size' of https://github.com/ndinsmore/tinyusb into ndinsmore-RP2040_enable_isochronous_buffer_size 2021-02-22 12:21:52 +07:00
Ha Thach
30085592d4
Merge pull request #665 from jgressmann/same54xplainedpro
Adds support for Microchip SAM E54 Xplained Pro
2021-02-22 11:30:23 +07:00
Jean Gressmann
16c8f75637 Adds support for Microchip SAM E54 Xplained Pro 2021-02-20 16:00:27 +01:00
ndinsmore
cb5b9eb2f6
Remove stray. commented out line 2021-02-19 08:33:06 -05:00
Ha Thach
1bba2c0fc3
Update CONTRIBUTORS.md 2021-02-19 17:19:33 +07:00
Ha Thach
9067926a70
Merge pull request #661 from hathach/improve-fifo
improve tu fifo
2021-02-19 12:24:05 +07:00
hathach
2a04ee68b8 add TU_FIFO_INIT() to help with tu_fifo declaration
tu_fifo_clear() also reset max_pointer_idx and non_used_index_space
2021-02-19 11:57:56 +07:00
Ha Thach
be9f86ca9e
Merge pull request #660 from hathach/fix-typo-midi-write24
Fix typo midi write24
2021-02-19 11:22:21 +07:00
Ha Thach
044d29c927
Merge pull request #654 from xmos-jmccarthy/master
Add alternate bitfield padding option
2021-02-19 11:03:53 +07:00
hathach
8f3f21045b make midi example less ambigous for cable and channel 2021-02-19 10:57:20 +07:00
hathach
aa85099171 fix tud_midi_write24 typo
rename jack_id to cable_num in function argument
2021-02-19 10:51:47 +07:00
hathach
c245305f72 update adafruit rp2040 board define 2021-02-19 10:50:50 +07:00
Reinhard Panhuber
fff6283bf7 Update .non_used_index_space = UINT16_MAX - (2*_depth-1) in osal_none.h 2021-02-18 21:22:11 +01:00
Reinhard Panhuber
8904874f76 Exclude #include "osal/osal.h" for OPT_OS_NONE 2021-02-18 20:52:57 +01:00
Reinhard Panhuber
31bf73517e Add #include "osal/osal.h" in tu_fifo.h 2021-02-18 20:16:57 +01:00
Jeremiah McCarthy
21f1cd4ec7 Implement requested PR changes
Removes CFG_TUSB_ALT_BIT_PACKING_ALIGNMENT, and makes the manual padding
behavior standard.  Replaced unused variable name with TU_RESERVED.
2021-02-18 13:26:03 -05:00
Reinhard Panhuber
c098da9803 Implement left and right justifications for 24 to 32 bit PCM encoding 2021-02-18 19:25:08 +01:00
Ha Thach
f60380cdc8
Merge pull request #658 from lurch/patch-1
rp2040/family.c: allow LED_PIN to be undefined
2021-02-19 00:36:04 +07:00
ndinsmore
ac87a4547d
Change to using tu_min32
This was a github edit, not tested
2021-02-18 08:25:04 -05:00
Andrew Scheller
2145ab7664
rp2040/family.c: allow LED_PIN to be undefined 2021-02-18 11:53:18 +00:00
Reinhard Panhuber
681cfd0bf2 Correct for wrong pointer type in audio_device.c 2021-02-18 11:12:16 +01:00
Nicholas R Dinsmore
27f4b6f5a4 Included size check for ISO buffers 2021-02-17 18:22:24 -05:00
Reinhard Panhuber
6cb9a6ebb1 Add (void *) for pointer cast. 2021-02-17 23:04:19 +01:00
Reinhard Panhuber
d8481ac7e4 Fix wrong pointer call in dcd_samg.c 2021-02-17 22:52:59 +01:00
Reinhard Panhuber
666e0fad35 Fix wrong tu_fifo_read_n() call in dcd_stm32_fsdev.c 2021-02-17 22:50:49 +01:00
Reinhard Panhuber
402005c9e0 Fix missing pointer operator in dcd_nuc505.c 2021-02-17 22:49:10 +01:00
Reinhard Panhuber
94bf4f54da Fix missing FIFO definitions 2021-02-17 22:29:51 +01:00
Reinhard Panhuber
53a796a92e Fix wrong pointer type. 2021-02-17 22:29:40 +01:00
Reinhard Panhuber
ae20d11124 Merge remote-tracking branch 'upstream/master' into edpt_ISO_xfer
Conflicts:
	src/common/tusb_fifo.h
2021-02-17 22:08:21 +01:00
Reinhard Panhuber
eee47493a3 Fix bug in evasion buffer list 2021-02-17 21:59:32 +01:00
Reinhard Panhuber
e407ce463d Add SAMD MCUs to buffer evasion list 2021-02-17 21:47:01 +01:00
Reinhard Panhuber
189b357b54 Implement an evasion linear buffer for MCUs not capable for EP FIFO
Also MCUs using DMAs are within this list, however, these can use an EP
FIFO. There is just no time for implementation
2021-02-17 21:42:44 +01:00
Reinhard Panhuber
2d7b61972c Implement dcd_edpt_iso_xfer() for dcd_stm32_fsdev
Implemented a special copy strategy to copy directly from the FIFO. This
function, however, is untested and should be regarded as unreliable
until somebody was able to test it
2021-02-17 20:46:31 +01:00
Reinhard Panhuber
c87357c025 Improve tu_fifo capabilites
Added tu_fifo_get_linear_write_info(), tu_fifo_backward_write_pointer(),
and tu_fifo_backward_read_pointer()
2021-02-17 20:44:26 +01:00
Nicholas R Dinsmore
79b360f0a6 Enable iso buffers per rp2040 spec 2021-02-17 13:22:34 -05:00
Ha Thach
1b849fc70a
Merge pull request #655 from ndinsmore/fifo_fix
Fix to fifo pointer overflow mathmatics
2021-02-17 14:07:29 +07:00
Nicholas R Dinsmore
b7ec66e33a This fixes the overflow mathmatic in the fifo 2021-02-16 23:08:08 -05:00
Jeremiah McCarthy
f8fbc0930b Add alternate bitfield padding option
Adds configuration option CFG_TUSB_ALT_BIT_PACKING_ALIGNMENT, which
substitutes bitfield variable " : 0" padding syntax with an unused
variable of size equal to the remaining number of bits.

This change resolves aligned access issues for some platforms.

Default behavior is original if the option is not explicitly enabled.
2021-02-16 10:43:52 -05:00
Reinhard Panhuber
a5d7b6266d Implement dcd_edpt_iso_xfer() for msp430 2021-02-14 14:05:15 +01:00
Reinhard Panhuber
893f997dcb Change FIFO use indication to ff == NULL to avoid future errors.
This way people don't need to pay attention for the buffer pointer
2021-02-14 09:25:34 +01:00
Reinhard Panhuber
b634b5958b Implement dcd_edpt_iso_xfer() for INTERRUPT driven dcd_nuc505 2021-02-13 21:00:55 +01:00
Reinhard Panhuber
0c3dc8f99b Implement dcd_edpt_iso_xfer() for dcd_nuc121.c 2021-02-13 17:44:59 +01:00
Reinhard Panhuber
126e46e38a Fix not increment xfer->buffer if xfer->buffer == NULL in dcd_samg.c 2021-02-13 17:37:13 +01:00
Reinhard Panhuber
e681678402 Implement dcd_edpt_iso_xfer() for dcd_nuc120.c 2021-02-13 17:06:27 +01:00
Reinhard Panhuber
7ab389db21 Implement dcd_edpt_iso_xfer() for dcd_samg.c. NOTE: ISO EP not supported 2021-02-13 16:36:32 +01:00
Reinhard Panhuber
59d6ed9ea4 Implement dcd_edpt_iso_xfer() for dcd_esp32s2.c 2021-02-13 12:13:10 +01:00
Reinhard Panhuber
9e2a1d2e6a Fix CFG_TUD_AUDIO_EP_IN/OUT_SW_BUFFER_SIZE to be defined anyway 2021-02-12 18:31:54 +01:00
Reinhard Panhuber
3df61d6755 Fix a ; in #define definition 2021-02-12 18:25:01 +01:00
Reinhard Panhuber
cdf600048f Merge remote-tracking branch 'upstream/master' into edpt_ISO_xfer 2021-02-12 18:05:20 +01:00
Reinhard Panhuber
185414721f Formating 2021-02-12 18:04:45 +01:00
Reinhard Panhuber
a9fd0a454a Complete redesign of audio driver. 2021-02-12 16:28:41 +01:00
ndinsmore
09868434cd
Fixes RP2040 buffer reallocation overrun problem (#642)
Fix running out of memory on a device that repeatedly closes and opens an endpoint. This is a workaround at the moment. A better solution would be to implement reclaiming usb buffer memory when closing an endpoint (i.e. implement dcd_edpt_close).
2021-02-12 08:16:46 +00:00
Ha Thach
04ab6b4082
Merge pull request #648 from hathach/rename-dfu-rt-to-runtime
Rename dfu rt to runtime
2021-02-11 15:29:55 +07:00
Ha Thach
d4281291e5
Merge pull request #647 from hathach/correct-fs-bulk-epsize
more epsize checking per type
2021-02-11 12:36:19 +07:00
hathach
d2f3e70b64 rename examples folder dfu_rt to dfu_runtime 2021-02-11 12:08:09 +07:00
hathach
e12c25ec2c rename dfu_rt to dfu_runtime for easy reading
also rename tud_dfu_rt_reboot_to_dfu to tud_dfu_runtime_reboot_to_dfu_cb
2021-02-11 12:05:22 +07:00
Ha Thach
89fcaf1efd
Merge pull request #646 from hathach/detect-clear-set-ep-status-from-class
remove the requirement of std SET/CLEAR_FEATURE must not return zlp status
2021-02-11 11:54:47 +07:00
hathach
9812cfc6c6 clean up 2021-02-11 11:48:34 +07:00
hathach
919bb9ce38 more epsize checking per type 2021-02-11 11:45:24 +07:00
Ha Thach
dc64d6ad55
Merge pull request #645 from ipopov/webserial-fix
Fix unintended control transfers in webserial example.
2021-02-11 11:25:55 +07:00
hathach
49bc97b0ca remove the requirement of std SET/CLEAR_FEATURE must not return zlp status 2021-02-11 11:22:02 +07:00
Ivo Popov
5178e2af55 Address review comments:
- every switch must have a default
- revert formatting of unchanged lines
2021-02-10 22:14:29 -05:00
Ha Thach
ba11bb2b80
Merge pull request #644 from ipopov/master
Set -DCMAKE_BUILD_TYPE=Debug when building in debug for rp2040.
2021-02-10 21:52:28 +07:00
Ivo Popov
ce7fb36337 Fix unintended control transfers in webserial example. 2021-02-10 01:05:37 -05:00
Ivo Popov
c8499c89db Set -DCMAKE_BUILD_TYPE=Debug when building in debug for rp2040.
This ensures that the Pico SDK, too, is built in debug mode and with
nice debugging symbols.
2021-02-10 00:48:58 -05:00
Ha Thach
a96ee8f1d8
Merge pull request #641 from lurch/fix_capitalisation
Fix capitalisation of Raspberry Pi
2021-02-09 17:23:00 +07:00
Ha Thach
5d20b8f19b
Merge pull request #640 from hathach/add-hid-complete-callback 2021-02-09 17:05:12 +07:00
Andrew Scheller
43acffd41e Fix capitalisation of Raspberry Pi 2021-02-09 09:55:26 +00:00
hathach
9c3a44b6a3 update hid_composite_freertos example 2021-02-09 16:06:38 +07:00
hathach
d2b8e591f6 tud_hid_report_complete_cb() API
update hid composite to make use of tud_hid_report_complete_cb() for
sending reports when possible.
2021-02-09 15:57:29 +07:00
Ha Thach
ecd16cf24b
Merge pull request #637 from tfx2001/master
add basic support for rt-thread
2021-02-08 20:10:07 +07:00
tfx2001
1b678eccf5 add basic support for rt-thread 2021-02-08 20:46:49 +08:00
Ha Thach
ac4555b361
Merge pull request #638 from hathach/add-gamepad
Enhance HID Gamepad with DPad/Hat
2021-02-08 19:40:18 +07:00
hathach
72bcc0685c add tud_hid_n_gamepad_report() helper for gamepad report
- Add gamepad to hid_composite example. Though it needs a bit of extra
work but it will come later as separated PR.
2021-02-08 19:08:16 +07:00
hathach
b2019e4d71 enhance gampepad report with dpad/hat support
add hid_gamepad_report_t along with GAMEPAD_BUTTON_ and GAMEPAD_HAT_
enum
2021-02-08 16:10:13 +07:00
hathach
bc80d686f5 clean up 2021-02-08 16:05:28 +07:00
Ha Thach
f49d47a0aa
Mirror sources only to hathach/tinyusb_src repo (#636)
Mirror sources only to hathach/tinyusb_src repo
2021-02-07 15:55:45 +07:00
Ha Thach
be1bd74b4b
Merge pull request #618 from homeodor/master
A CDC-like blocking behaviour for MIDI, incl. SysEx
2021-02-06 12:30:28 +07:00
Alexander Golovanov
9f7143af29 CDC-like blocking behaviour for MIDI
Also added a dummy readout for MIDI into examples
2021-02-06 00:01:46 +03:00
Ha Thach
7b62c71dd5
Merge pull request #634 from hathach/release-0.8.0
Release 0.8.0
2021-02-05 23:00:02 +07:00
hathach
465ea7a66e increase TUSB_VERSION_ to 0.8.0 2021-02-05 22:37:22 +07:00
hathach
56b319d2d5 correct release asset 2021-02-05 21:53:33 +07:00
hathach
449bcc239f upload example as release assets 2021-02-05 21:24:46 +07:00
hathach
bb2f93d427 prepare for release 2021-02-05 20:41:41 +07:00
hathach
42dad78dbc add samd11 to ci 2021-02-04 14:17:51 +07:00
Ha Thach
232c1e5915
Merge pull request #627 from ktemkin/luna_d11
Add support for SAMD11 variants of LUNA.
2021-02-04 14:14:09 +07:00
Katherine Temkin
2997e78da3 bsp: rename SAMD21 LUNA variant to luna_d21
We now have SAMD21 and SAMD11 variants of LUNA; so we'll rename the
existing LUNA BSP to be more specific / reflect its version.
2021-02-03 13:35:07 -07:00
Katherine Temkin
6f02e5f1f8 add BSP for SAMD11 variant of Great Scott Gadgets' LUNA boards (SAMD11) 2021-02-03 13:33:40 -07:00
Ha Thach
148a5a9181
Merge pull request #626 from hathach/add-adafruit-samd51-boards
Add adafruit samd51 boards
2021-02-03 17:06:00 +07:00
Ha Thach
064dcb833d
Merge pull request #625 from hathach/update-picosdk-1.0.1
update pico-sdk to 1.0.1
2021-02-03 14:51:29 +07:00
hathach
a8bdfadfd0 Merge branch 'update-picosdk-1.0.1' into add-adafruit-samd51-boards 2021-02-03 13:37:20 +07:00
hathach
a5403bdbe5 fix ci toolchain installation path 2021-02-03 13:29:59 +07:00
hathach
083621c8db update boards doc 2021-02-03 13:25:29 +07:00
hathach
b739c5a837 added pyportal 2021-02-03 13:19:34 +07:00
hathach
d24c702b63 add pybadge
also correct other samd51 tx,rx pin (not used yet)
2021-02-03 13:12:02 +07:00
hathach
4153d9e1b6 update pico-sdk to 1.0.1 2021-02-03 12:39:30 +07:00
Ha Thach
fb53eb9a91
Merge pull request #624 from aslampr07/patch-1 2021-02-02 21:37:25 +07:00
Mohammed Aslam
ae827721ed
Typo fixed 2021-02-02 19:53:07 +05:30
Ha Thach
9aa9c7e968
Merge pull request #623 from hathach/add-adafruit-esp32s2-boards
add adafruit esp32s2 boards
2021-02-01 16:15:19 +07:00
hathach
098cf76be7 add adafruit boards to ci build 2021-02-01 15:23:21 +07:00
hathach
b30b35bf08 update board list 2021-02-01 15:21:29 +07:00
Ha Thach
f4e2f88e89
Merge pull request #622 from hathach/add-consume-control-to-hid-composite-example
add consumer control to hid_composite examples
2021-02-01 15:17:00 +07:00
hathach
8d973a36ed add adafruit esp32s2 boards
- metro esp32s2
- feather esp32s2
- magtag 29" gray
2021-02-01 15:16:38 +07:00
hathach
3d95835f22 add consumer control to hid_composite examples
both no OS and freeRTOS
2021-02-01 14:47:39 +07:00
Ha Thach
26caddae23
Merge pull request #621 from hathach/rp2040-logger-enumfix
Rp2040 logger and enum fix
2021-02-01 14:25:58 +07:00
hathach
0799a91073 Merge branch 'master' into rp2040-logger-enumfix 2021-02-01 13:41:20 +07:00
hathach
8e954a4391 added enumerate walkaround for RP2040-E5
- PICO_RP2040_USB_DEVICE_ENUMERATION_FIX=1
- target linke pico_fix_rp2040_usb_device_enumeration
2021-02-01 13:37:37 +07:00
Ha Thach
78f50518a4
Merge pull request #610 from hathach/rp2040-followup2
Rp2040 followup2
2021-02-01 12:44:53 +07:00
Ha Thach
a044578a33
Merge pull request #601 from majbthrd/start_pi2tu
start the assimilation of Pi Pico into TU
2021-02-01 12:43:59 +07:00
Reinhard Panhuber
84406f1654 Rework audio driver 2021-01-31 19:08:23 +01:00
Ha Thach
666a851a07
Merge pull request #612 from prplz/master
Fix midi sysex sending bug
2021-01-30 13:56:23 +07:00
Alexander Golovanov
2a34be2eb0
A CDC-like blocking behaviour 2021-01-30 04:11:08 +03:00
Ha Thach
21df228634
Merge pull request #615 from charkster/usbtmc_fix_558
fix #558
2021-01-29 12:16:36 +07:00
Ha Thach
88fad0b42a
Merge pull request #617 from hathach/fix-unittest-ci
specify ruby version for unit test
2021-01-29 12:12:54 +07:00
hathach
5734cf4bdd fix #614 typo 2021-01-29 11:36:45 +07:00
hathach
f3477f87ac specify ruby version for unit test 2021-01-29 11:30:15 +07:00
hathach
ba69da1d8f add support for LOG=2
LOGGER=rtt is not tested since jlink doesn't support rp2040 just yet
2021-01-29 11:24:05 +07:00
charkster
effd82fd9c fix #558 third attempt 2021-01-28 18:34:58 -07:00
charkster
4f988b792c fix #558 2021-01-28 18:15:49 -07:00
charkster
cb8ceba3dd fix #558 2021-01-28 13:12:54 -07:00
Michael Himing
c4f7ea09f1 Fix midi sysex sending bug 2021-01-28 20:31:11 +11:00
hathach
4fef2ddb4c rp2040 move uart id to board specific 2021-01-27 16:37:31 +07:00
hathach
1abf9eeb80 clean up rp2040 assigned_address, remove panic from remote_wakeup 2021-01-27 13:18:03 +07:00
hathach
c3c4f65fea wrap rp2040_usb around opt mcu 2021-01-27 13:04:38 +07:00
Ha Thach
40870f9037
Merge pull request #606 from hathach/upload-binary-artifacts
Upload binary artifacts
2021-01-26 23:11:52 +07:00
hathach
f1867b3d2c more rename 2021-01-26 22:34:29 +07:00
hathach
ae43551a55 rename artifact to have tinyusb- prefix 2021-01-26 22:26:35 +07:00
hathach
c2d8aa0584 limit artifact to only uf2 for now
due to the large size of combined binaries of all boards + all examples
2021-01-26 22:04:20 +07:00
hathach
0a673de78a test ci 2021-01-26 21:46:11 +07:00
hathach
032f55feb6 try upload build binaries artifacts 2021-01-26 21:23:51 +07:00
hathach
e230d683ca add copy-artifact target, and add uf2 for all family board 2021-01-26 21:19:14 +07:00
hathach
4a0f5cbd63 change output filename to BOARD-Directory 2021-01-26 12:46:24 +07:00
hathach
0e585570a3 rename build output 2021-01-25 23:40:52 +07:00
Ha Thach
045674745a
Merge pull request #604 from kamtom480/spresense-sdk-2.0.2
Update Spresense SDK and fix dcd issues
2021-01-25 22:55:46 +07:00
Ha Thach
d489e9d422
Merge pull request #605 from hathach/add-adafruit-rp2040
add adafruit feather, itsy bitsy and qt rp2040
2021-01-25 22:33:22 +07:00
hathach
aabf02fe29 add adafruit feather, itsy bitsy and qt rp2040
not tested, purely based on schematic
2021-01-25 17:23:33 +07:00
Ha Thach
c43ac7f1d7
Merge pull request #603 from hathach/pico-followup
Pico followup for (ci) building examples
2021-01-25 17:18:24 +07:00
Kamil Tomaszewski
5f999fa6a0 Fix dcd issues on cxd56
Pass the next setup package when USB stack is ready to receive it.
When the transfer is 0 on EP0 send complete to the USB stack
Pass the data received after the setup package to the USB stack.
2021-01-25 11:13:56 +01:00
Kamil Tomaszewski
40e0e7e35f Define Spresense EP numbers for cdc_msc example 2021-01-25 11:13:56 +01:00
Kamil Tomaszewski
36064e3d7d Update Spresense SDK to 2.0.2 2021-01-25 10:54:39 +01:00
hathach
6e027b1c4b revert ci cache toolchain, use xpack for armgcc and risv
since there is only 30s in difference
2021-01-25 16:42:00 +07:00
hathach
314c82b2ec more with toolchain cache 2021-01-25 16:11:18 +07:00
hathach
2a3bb78679 change riscv toolchain to xpack 2021-01-25 15:55:58 +07:00
hathach
8820aa8715 fix ci 2021-01-25 15:42:06 +07:00
hathach
066d268007 try to cache all toolchains to speed up ci 2021-01-25 15:38:29 +07:00
hathach
8bec3be68c try fixing msp430 cache 2021-01-25 13:46:23 +07:00
hathach
83614418b5 get all device example build with rp2040 (except freeRTOS) 2021-01-25 13:28:23 +07:00
hathach
ec458292fe fix host build 2021-01-25 13:25:47 +07:00
hathach
0fe0757657 correct msp430 cache 2021-01-25 12:53:24 +07:00
hathach
c2b0083f0a change msp430 caching, use url for cache key 2021-01-25 12:49:04 +07:00
hathach
ed280e3ec1 correct ci scripts 2021-01-25 12:21:50 +07:00
Peter Lawrence
edc2224118 rp2040: start to adopt TU coding conventions 2021-01-23 20:21:58 -06:00
Peter Lawrence
587d1b334b rp2040_hcd: check pointer before using 2021-01-23 20:19:10 -06:00
hathach
bcf16c04bd enable ci for rp2040 2021-01-24 01:28:56 +07:00
hathach
87daf28421 rp2040 skip freertos example 2021-01-24 01:26:38 +07:00
hathach
4101df7a75 rp2040 hid_composite compiled and tested 2021-01-24 00:54:58 +07:00
hathach
599b428e13 rp2040 dfu_rt dynamic_configuration compiled
not tested, but should be OK
2021-01-24 00:52:46 +07:00
hathach
26522d0ec5 rp2040 dual cdc compiled and tested 2021-01-24 00:47:49 +07:00
hathach
959a94b98d rp2040 audio_test compile 2021-01-24 00:44:17 +07:00
hathach
ffad6eaf80 cmake esp32s2 and rp2040 getting along 2021-01-24 00:22:23 +07:00
Ha Thach
469ca2f155
Merge pull request #600 from hathach/refactor-bsp
Refactor bsp
2021-01-23 23:28:35 +07:00
hathach
e6ce18b019 text clean up 2021-01-23 18:46:06 +07:00
hathach
e217c82895 more ci clean up 2021-01-23 18:32:56 +07:00
hathach
cdd1c45306 improve ci for esp32s2 2021-01-23 18:09:57 +07:00
hathach
575b43e67d seperate ci build for family and orphaned boards 2021-01-23 17:32:24 +07:00
hathach
8e52272b28 ci checkout sub-submodule 2021-01-23 15:21:24 +07:00
hathach
d619444cb4 change lwip to github mirror 2021-01-23 14:55:12 +07:00
hathach
8af7ae867d action checkout submodule=true 2021-01-23 14:34:06 +07:00
hathach
a15f02dcc1 try fetchRecurseSubmodules = false 2021-01-23 14:26:59 +07:00
hathach
b0b78c0efb try to fix cross included submodules with pico-sdk 2021-01-23 01:15:20 +07:00
hathach
fd56ae777e doc update 2021-01-23 01:12:56 +07:00
hathach
50e0b81713 add pico-sdk as submodule 2021-01-23 01:05:09 +07:00
hathach
c58c8c4229 rp2040 cdc_msc work well 2021-01-23 00:59:50 +07:00
hathach
a780a8762b rp2040 better support multiple boards 2021-01-23 00:32:14 +07:00
hathach
b8847de802 get board_test running with pico on both led and button 2021-01-23 00:12:10 +07:00
hathach
b6e9c42b02 update cmake build to work with esp32s2 and rp2040 2021-01-22 14:58:32 +07:00
hathach
67a9cdc35b fix compiler warning 2021-01-22 11:33:25 +07:00
Ha Thach
edd91d28f5
Merge pull request #599 from hathach/group-boards-into-family
Group boards into family
2021-01-22 11:29:42 +07:00
hathach
0cf2b02791 Merge branch 'master' into group-boards-into-family 2021-01-22 11:17:10 +07:00
hathach
4cd8a95ef7 more ci 2021-01-22 10:43:52 +07:00
hathach
2b3008f9a8 fix esp32s2 ci build 2021-01-22 09:41:41 +07:00
Ha Thach
388abe9d9c
Merge pull request #598 from hathach/pico
RP2040 support
2021-01-21 17:14:02 +07:00
hathach
755d4180c9 revert submodules changes 2021-01-21 16:57:10 +07:00
Ha Thach
1e134cbb31
Merge branch 'master' into pico 2021-01-21 16:35:13 +07:00
Reinhard Panhuber
f1551d7a5f Add __restrict keyword and memore alignment to src/dst pointer of
_tu_fifo_read_from_const_src_ptr()
 _tu_fifo_write_to_const_dst_ptr()
2021-01-20 20:14:23 +01:00
graham sanderson
e0aa405d19 RP2040 support 2021-01-19 19:52:07 -06:00
Reinhard Panhuber
93ec6f3735 Adjust #include "dcd.h" to "device/dcd.h", the same for usbd.h in usbd.c 2021-01-19 17:10:08 +01:00
Reinhard Panhuber
56edc2b261 Change names from edpt_ISO_xfer to edpt_iso_xfer 2021-01-19 10:50:19 +01:00
Reinhard Panhuber
99e6bc3720 Explicitly add cast to uint32_t before shifting uint8 to left 2021-01-18 17:54:08 +01:00
Reinhard Panhuber
595a88b34c Correct include path to #include "common/tusb_fifo.h" 2021-01-18 17:38:32 +01:00
Reinhard Panhuber
15152b62ce Merge remote-tracking branch 'upstream/master' into edpt_ISO_xfer 2021-01-18 17:16:25 +01:00
Reinhard Panhuber
dff588d772 Implement dcd_edpt_ISO_xfer() and adapt transmission scheme 2021-01-18 17:15:23 +01:00
Reinhard Panhuber
2284db1fb5 Add usbd_edpt_ISO_xfer() 2021-01-18 17:14:17 +01:00
Reinhard Panhuber
51c80630f5 Clean up 2021-01-18 17:13:06 +01:00
Reinhard Panhuber
8450bc3225 Add FIFO copy modes: tu_fifo_copy_mode_t
Allows to copy from/to constant pointers required for STM32 hardware
FIFO copies.
2021-01-18 17:12:39 +01:00
Reinhard Panhuber
84c383061f Add tusb_fifo.h header file to dcd.h 2021-01-18 17:08:59 +01:00
Reinhard Panhuber
3a3ada0c57 Implement the usage of usbd_edpt_ISO_xfer() 2021-01-18 17:07:15 +01:00
Reinhard Panhuber
bdbcb8df39 Add tu_fifo_read_n_into_other_fifo() to copy into from FIFO into another
Fix overflow in tu_fifo_write_n()
2021-01-17 11:55:33 +01:00
Ha Thach
7aaccd94d2
Merge pull request #590 from kkitayam/support_for_cmd
Add support for Windows10 Command Prompt as a shell on GNU make.
2021-01-14 11:37:34 +07:00
kkitayam
d7cfd8b91d replaced variable name to CMDEXE from UNAME.
removed the rule that .d files are converted to .P files.
2021-01-14 01:19:43 +09:00
hathach
ffe0fc7537 update build_all.py to support both single board and family group 2021-01-13 17:34:22 +07:00
hathach
4f41501fc7 move luna into samd21 group 2021-01-13 16:59:55 +07:00
hathach
4b2714acb2 clean up 2021-01-13 16:50:28 +07:00
hathach
75c58e08e5 add f746nucleo to group f7 2021-01-13 16:41:00 +07:00
hathach
6eba383009 add f746disco into f7 group 2021-01-13 16:34:42 +07:00
hathach
39d2c219b5 add stlinkv3mini to f7 group 2021-01-13 15:52:54 +07:00
hathach
fecad9bab4 add stm32f769disco into f7 family 2021-01-13 14:17:15 +07:00
hathach
e252fade2c add f767nucleo to stm32f7 group 2021-01-13 13:46:21 +07:00
hathach
55566bb188 adding stm32f7 family 2021-01-13 13:20:09 +07:00
hathach
8c5c46454f also build boards without family 2021-01-13 12:56:48 +07:00
kkitayam
fc69dd70cf Changed some source file paths for SRC_C to relative paths.
Added statements to validate GCCVERSION on Windows Command Prompt.
2021-01-12 01:02:17 +09:00
kkitayam
8fa083d79e added support for cmd.exe as a shell on make. 2021-01-11 15:56:16 +09:00
Ha Thach
05728e2b18
Merge pull request #589 from gsteiert/feature-dbl-m33
moved neopixel to its own files with additional features
2021-01-11 11:46:51 +07:00
Greg Steiert
f4300afb1c moving sct neopixel driver to shared library 2021-01-10 18:31:40 +00:00
Greg Steiert
5ca7c285f5 moved neopixel to its own files with additional features 2021-01-10 05:17:49 +00:00
Reinhard Panhuber
485d8fa77e Merge remote-tracking branch 'upstream/master' into edpt_ISO_xfer 2021-01-09 12:10:08 +01:00
Ha Thach
cfcffe94ce
Merge pull request #588 from hathach/use-dcd_event_bus_reset
use dcd_event_bus_reset() with speed to replace bus_signal
2021-01-08 23:09:18 +07:00
hathach
d33b22d127 fix ci 2021-01-08 22:48:52 +07:00
hathach
6e6e6265e4 use dcd_event_bus_reset() with speed to replace bus_signal 2021-01-08 22:34:36 +07:00
Ha Thach
fb896be201
Merge pull request #587 from hathach/followup-pr581
minor clean up following pr581
2021-01-08 21:17:38 +07:00
hathach
cca27fc383 another rename 2021-01-08 16:54:50 +07:00
hathach
201ea7ca6d remove inline for update_grxfsiz 2021-01-08 16:38:41 +07:00
hathach
9998e8a665 more minor work 2021-01-08 16:34:36 +07:00
hathach
86c34a9a33 minor clean up following pr581 2021-01-08 16:25:30 +07:00
Ha Thach
1f00a182c4
Merge pull request #581 from hathach/dcd_synopsis_mem_allocation
Dcd synopsis mem allocation
2021-01-08 12:45:46 +07:00
Ha Thach
5442508f82
Merge pull request #586 from hathach/walkround-samd21-setup-overflow
walkround for samd21 setup_packet overflow
2021-01-08 11:57:25 +07:00
hathach
3e1d85eed2 comment clean up 2021-01-08 11:43:26 +07:00
hathach
cc5dfd03cd update comment and correct the size to 8+2 2021-01-08 11:21:26 +07:00
hathach
60620dca42 walkround for samd21 setup_packet overflow
increase setup packet size from 8 to 12, since USB DMA controller is
suspected to overflow the buffer with 2 extra bytes
2021-01-08 01:21:03 +07:00
Ha Thach
9f0b401f80
Merge pull request #585 from hathach/increase-hid-default-epbuf
change default CFG_TUD_HID_EP_BUFSIZE from 16 to 64
2021-01-07 12:25:16 +07:00
hathach
29f84b1602 change default CFG_TUD_HID_EP_BUFSIZE from 16 to 64 2021-01-07 11:58:05 +07:00
Ha Thach
29f42903f3
Merge pull request #582 from gsteiert/feature-dbl-m33
Feature dbl m33
2021-01-07 10:19:51 +07:00
Greg Steiert
9c3bdd621b added Double M33 Express to boards.md 2021-01-07 02:25:04 +00:00
Reinhard Panhuber
f2b4567a2b Correct function declaration 2021-01-04 17:15:42 +01:00
Reinhard Panhuber
2fa500af18 Minor corrections for PR
- externerlize code into functions
- correct comments
2021-01-04 17:00:23 +01:00
Reinhard Panhuber
37bb14678a Remove too verbose comment 2021-01-04 12:06:16 +01:00
Reinhard Panhuber
09d8ead4b8 Start changes - not yet finished 2021-01-04 12:02:08 +01:00
Greg Steiert
0f11858b0e working neopixel minor refactor 2021-01-03 23:26:54 +00:00
Greg Steiert
33f0d4b314 working neopixel 2021-01-03 23:01:18 +00:00
Jacob Potter
3158b323d8 Adapt to new control xfer callback 2021-01-03 15:16:54 -07:00
Jacob Potter
57058e33fc Merge branch 'master' into ncm 2021-01-03 15:12:02 -07:00
Greg Steiert
f44c588dd7 8 state implementation, still not working 2021-01-03 18:53:55 +00:00
Greg Steiert
7f98d11454 24 state implementation, only upsdates first LED 2021-01-03 18:31:45 +00:00
Greg Steiert
06642910f4 neopixel driver one byte at a time non-func 2021-01-03 18:11:13 +00:00
Reinhard Panhuber
13b499f910 Clean up 2021-01-03 17:59:50 +01:00
Reinhard Panhuber
56c47188d8 Rework USB FIFO allocation scheme and allow RX FIFO size reduction 2021-01-03 16:11:56 +01:00
Greg Steiert
56acdf67ba adding double_m33_express board 2021-01-02 22:53:15 +00:00
Ha Thach
e79a7b9152
Merge pull request #577 from hathach/followup-kl25z-pr569
Follow up kl25z pr569
2020-12-25 23:37:59 +07:00
hathach
fc18cd4cbb skip overflow sram examples for kl25 2020-12-25 23:20:45 +07:00
hathach
3951a940fd update readme, contributor and doc for new port KL25
update nxp_driver
2020-12-25 23:10:57 +07:00
Ha Thach
1491bc9162
Merge pull request #569 from kkitayam/add_support_for_frdm_kl25z
add support for frdm_kl25z
2020-12-25 23:03:23 +07:00
Ha Thach
08f8f488a0
Merge pull request #571 from HiFiPhile/iar_fifo
Fix IAR error on memcpy and warnings.
2020-12-24 12:03:57 +07:00
HiFIPhile
baa5417f3e Fix IAR error on memcpy and warnings.
Signed-off-by: MasterPhi <admin@hifiphile.com>
2020-12-23 16:54:55 +01:00
kkitayam
2737166d2b fixed wrong direction to enable EP in dcd_edpt_open.
fixed incorrect handling of STALL other than EP0
convert tabs to spaces
removed unused symbols
2020-12-23 20:32:29 +09:00
Yakovenko Andrey
bdee6397eb Added MSC read10 and write10 function 2020-12-23 12:52:51 +02:00
Ha Thach
b580a0b7f3
Merge pull request #573 from HiFiPhile/scsi_mode_sense6_t
IAR build error fixes
2020-12-22 17:17:36 +07:00
Ha Thach
597b84f684
Merge pull request #572 from HiFiPhile/more_iar
IAR fix more warnings
2020-12-22 16:30:25 +07:00
HiFiPhile
c8dc7f807f Fix more warnings.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2020-12-22 10:13:10 +01:00
HiFiPhile
b3c0d417ef Fix error if "Required Prototype" is selected.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2020-12-20 23:10:34 +01:00
HiFiPhile
13e6afd589 Fix scsi_mode_sense6_t padding, which cause IAR compiler internal error.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2020-12-20 22:56:39 +01:00
kkitayam
2bbfc56bd8 added support for frdm_kl25z 2020-12-18 00:07:50 +09:00
Ha Thach
cc8329f3e4
Delete question.md 2020-12-09 14:59:33 +07:00
hathach
e9e3000ff9 clean up 2020-11-30 09:41:01 +07:00
hathach
0dd78aa916 group all stm32f4 boards 2020-11-29 22:48:21 +07:00
hathach
daf9d06c0e move teensy 4.0 to imxrt 2020-11-29 20:44:35 +07:00
hathach
2dec21f81b complete grouping imxrt boards 2020-11-29 20:41:30 +07:00
hathach
89205438c2 move xiao to samd21 group 2020-11-29 17:09:53 +07:00
hathach
a6c7467fd3 grouping samd51 boards 2020-11-28 12:10:29 +07:00
hathach
a3fff24fbc group more nrf board 2020-11-28 11:54:53 +07:00
hathach
50977eef0e grouping more samd21 boards 2020-11-28 11:45:24 +07:00
hathach
fac9151c73 grouping samd21 2020-11-28 11:11:55 +07:00
hathach
630692d81b move all nrf boards into its family group 2020-11-28 10:48:44 +07:00
hathach
f0ffe7b984 group more nrf52840 boards 2020-11-28 01:06:10 +07:00
hathach
658194ccc4 group more nrf boards 2020-11-28 00:45:44 +07:00
hathach
4130c50b01 grouping nrf boards 2020-11-28 00:16:28 +07:00
hathach
b572983cc8 group esp32s2 board into its group 2020-11-27 22:31:47 +07:00
Ha Thach
9f0f29cd40
Merge pull request #563 from hathach/add-esp32s2-suspend-wakeup
add bus suspend & resume support for esp32s2
2020-11-27 16:52:17 +07:00
hathach
8b34f2fca8 fix ci 2020-11-27 16:07:13 +07:00
hathach
94527951a0 add bus suspend & resume support for esp32s2 2020-11-27 15:54:55 +07:00
Ha Thach
4a2baf400e
Merge pull request #562 from hathach/correctly-invoke-scsi-callback
msc only invoke scsi complete callback after status transaction is complete
2020-11-25 00:24:03 +07:00
hathach
f5e13d5898 msc only invoke scsi complete callback after status transaction is complete 2020-11-24 23:42:30 +07:00
Ha Thach
218b80e63a
Merge pull request #561 from hathach/add-tud-connected
add tud_connected()
2020-11-24 22:05:36 +07:00
hathach
148eea1417 add tud_connected()
which return true as long as we receive the very first SETUP packet from
host.
2020-11-24 21:49:12 +07:00
Ha Thach
2bfcd446a5
Merge pull request #506 from duempel/cdc_without_dtr
CDC without DTR being set
2020-11-24 01:04:44 +07:00
hathach
494e125432 more ci 2020-11-24 00:47:06 +07:00
hathach
409a5fb7fc fix ci build 2020-11-24 00:18:18 +07:00
hathach
7860469661 comment out and add note for tud_cdc_connected() in cdc_msc examples 2020-11-24 00:06:59 +07:00
hathach
4b4f880785 add tud_ready() check in tud_cdc_n_write_flush()
other clean up
2020-11-23 23:40:13 +07:00
Ha Thach
308028e17c
Merge branch 'master' into cdc_without_dtr 2020-11-23 23:25:55 +07:00
Ha Thach
b870d932e5
Merge pull request #560 from hathach/fix-559
have tusb_init() return true instead of TUSB_ERROR_NONE
2020-11-23 13:31:21 +07:00
hathach
14138f105e have tusb_init() return true instead of TUSB_ERROR_NONE 2020-11-23 13:12:51 +07:00
Ha Thach
49f09f55d0
Merge pull request #557 from hathach/rework-class-driver-control
Rework class driver control transfer
2020-11-23 13:06:20 +07:00
hathach
e4144d8b47 remove control_complete 2020-11-20 17:21:01 +07:00
hathach
cebb375eac migrate audio device to new control xfer cb 2020-11-20 17:20:05 +07:00
hathach
c4bc8b2561 migrate net device to new control xfer cb 2020-11-20 16:59:33 +07:00
hathach
d6461abe78 clean up 2020-11-20 16:30:03 +07:00
hathach
9f853685ae migrate bth device to new control xfer cb 2020-11-20 16:13:58 +07:00
hathach
61ad7bef71 migrate vendor device to new control xfer cb 2020-11-20 15:50:11 +07:00
hathach
3cc1979adb migrate dfu runtime device to new control xfer cb 2020-11-20 15:42:32 +07:00
hathach
7df979673d migrate usbtmc device to new control xfer cb 2020-11-20 15:38:56 +07:00
hathach
8813f9d3b8 clean up 2020-11-20 15:33:05 +07:00
hathach
e2abb089f4 migrate midi device to new control xfer cb 2020-11-20 15:30:36 +07:00
hathach
dc9a309839 migrate hid device to new control xfer cb 2020-11-19 22:00:49 +07:00
hathach
dd07fecc5f migrate cdc_device to new control_xfer_cb 2020-11-19 21:26:06 +07:00
hathach
3c31d08051 merge class driver control_request & control_complete to control_xfer_cb()
migrated msc_device
2020-11-19 21:01:33 +07:00
Jan Dümpelmann
339b1a7723 Remove dcd_edpt_xfer_abort from DCD header 2020-11-18 11:12:06 +01:00
Jan Dümpelmann
6a72cc5d48 Changes to CDC example code:
- auto flush welcome message at connection event
- provide information to the user if the terminal did not set DTR
2020-11-18 10:16:32 +01:00
Jan Dümpelmann
e7069da7eb Reset CDC examples to original state 2020-11-18 09:47:39 +01:00
Jan Dümpelmann
54e29e9ff4 Implementation of the discussed changes
- remove usbd_edpt_xfer_abort
- rename tu_fifo_change_mode to tu_fifo_set_mode
- remove CFG_TUD_CDC_CLEAR_AT_CONNECTION definition
- remove auto fifo clear at connection event
- add tud_cdc_n_write_clear function
2020-11-18 09:42:50 +01:00
Ha Thach
589dfdb0e5
Merge pull request #554 from hathach/initial-same7x
Initial same7x
2020-11-09 11:22:29 +07:00
hathach
496c7c701a fix ci 2020-11-09 01:23:19 +07:00
hathach
7ab3da1e03 same70 xplained uart via edbg work with board_test 2020-11-09 01:01:05 +07:00
hathach
89b92b54a7 same70 xplained led and button works wiht board_test example 2020-11-09 00:13:56 +07:00
hathach
5456afa8ee update microchipo driver submodule 2020-11-08 18:09:53 +07:00
hathach
1b1e205a30 clean up 2020-11-08 12:40:20 +07:00
Ha Thach
ef99d37c97
Merge pull request #551 from dobairoland/master
Make the disk disappear on Windows after it was ejected
2020-11-08 12:37:53 +07:00
Jacob Potter
226efdcec0 Reduce excessive poll rate on interrupt endpoint 2020-11-05 18:14:56 -07:00
Jacob Potter
377f8ce76f Log on full NTBs 2020-11-05 10:18:29 -07:00
Roland Dobai
4c99c5ff5c Make the disk disappear on Windows after it was ejected
Make the disk disappear on Windows after it was ejected. The device
need to be re-inserted or reseted to re-appear again.

This doesn't affect Linux where the device can be mounted and unmounted
repeatedly.

Closes https://github.com/hathach/tinyusb/issues/549
2020-11-05 15:35:26 +01:00
Jacob Potter
a3fdcbdf16 Just leave the endpoints open, instead of closing/reopening 2020-11-04 23:53:03 -07:00
Jacob Potter
a3d6e8fc52 Add default for CFG_TUD_NCM 2020-11-04 21:18:44 -07:00
Jacob Potter
bb0df2740e Add CDC NCM driver 2020-11-04 20:51:57 -07:00
Jan Dümpelmann
af9f0f1cd6 Merge remote-tracking branch 'hathach/master' into cdc_without_dtr 2020-11-04 17:11:01 +01:00
Jan Dümpelmann
b15c209805 Set new define because of build failure 2020-09-10 13:36:07 +02:00
Jan Dümpelmann
e09ebea7b9 Remove tud_cdc_connected check from examples 2020-09-04 17:25:32 +02:00
Jan Dümpelmann
9cc22b635c Add functionality to abort an ongoing transfer 2020-09-04 15:40:23 +02:00
Jan Dümpelmann
4071e490e2 New function to modify fifo overwritability 2020-09-03 17:21:32 +02:00
Jan Dümpelmann
fd6cf9010b Turn transmit fifo overwritable in no DTR mode 2020-09-03 17:03:13 +02:00
Jan Dümpelmann
d9eaa54e14 Remove connected check for write flushing 2020-09-03 16:40:53 +02:00
gsnxp
616562a48a
Merge pull request #1 from hathach/master
syncing to source repo
2020-02-17 13:06:44 -08:00
2726 changed files with 284725 additions and 458709 deletions

92
.circleci/config.yml Normal file
View File

@ -0,0 +1,92 @@
version: 2.1
setup: true
orbs:
continuation: circleci/continuation@1
jobs:
set-matrix:
executor: continuation/default
docker:
- image: cimg/base:current
resource_class: small
steps:
- checkout
- run:
name: Set matrix
command: |
MATRIX_JSON=$(python .github/workflows/ci_set_matrix.py)
echo "MATRIX_JSON=$MATRIX_JSON"
BUILDSYSTEM_TOOLCHAIN=(
"cmake arm-clang"
"cmake esp-idf"
"make aarch64-gcc"
"make arm-gcc"
"make msp430-gcc"
"make riscv-gcc"
"make rx-gcc"
)
# only build IAR if not forked PR, since IAR token is not shared
if [ -z $CIRCLE_PR_USERNAME ]; then
BUILDSYSTEM_TOOLCHAIN+=("cmake arm-iar")
fi
RESOURCE_LARGE='["nrf", "imxrt", "stm32f4", "stm32h7"]'
gen_build_entry() {
local build_system="$1"
local toolchain="$2"
local family="$3"
local resource_class="$4"
if [[ "$toolchain" == "esp-idf" ]]; then
echo " - build-vm:" >> .circleci/config2.yml
else
echo " - build:" >> .circleci/config2.yml
fi
echo " matrix:" >> .circleci/config2.yml
echo " parameters:" >> .circleci/config2.yml
echo " build-system: ['$build_system']" >> .circleci/config2.yml
echo " toolchain: ['$toolchain']" >> .circleci/config2.yml
echo " family: $family" >> .circleci/config2.yml
echo " resource_class: ['$resource_class']" >> .circleci/config2.yml
}
for e in "${BUILDSYSTEM_TOOLCHAIN[@]}"; do
e_arr=($e)
build_system="${e_arr[0]}"
toolchain="${e_arr[1]}"
FAMILY=$(echo $MATRIX_JSON | jq -r ".\"$toolchain\"")
echo "FAMILY_${toolchain}=$FAMILY"
# FAMILY_LARGE = FAMILY - RESOURCE_LARGE
# Separate large from medium+ resources
FAMILY_LARGE=$(jq -n --argjson family "$FAMILY" --argjson resource "$RESOURCE_LARGE" '$family | map(select(IN($resource[])))')
FAMILY=$(jq -n --argjson family "$FAMILY" --argjson resource "$RESOURCE_LARGE" '$family | map(select(IN($resource[]) | not))')
if [[ $toolchain == esp-idf ]]; then
gen_build_entry "$build_system" "$toolchain" "$FAMILY" "large"
else
gen_build_entry "$build_system" "$toolchain" "$FAMILY" "medium+"
# add large resources if available
if [ "$(echo $FAMILY_LARGE | jq 'length')" -gt 0 ]; then
gen_build_entry "$build_system" "$toolchain" "$FAMILY_LARGE" "large"
fi
fi
done
- continuation/continue:
configuration_path: .circleci/config2.yml
workflows:
set-matrix:
# Only build PR here, Push will be built by github action.
when:
and:
- not: << pipeline.git.branch.is_default >>
jobs:
- set-matrix

185
.circleci/config2.yml Normal file
View File

@ -0,0 +1,185 @@
version: 2.1
commands:
setup-toolchain:
parameters:
toolchain:
type: string
steps:
- run:
name: Set toolchain url and key
command: |
toolchain_url=$(jq -r '."<< parameters.toolchain >>"' .github/actions/setup_toolchain/toolchain.json)
# only cache if not a github link
if [[ $toolchain_url != "https://github.com"* ]]; then
echo "<< parameters.toolchain >>-$toolchain_url" > toolchain_key
fi
echo "export toolchain_url=$toolchain_url" >> $BASH_ENV
- restore_cache:
name: Restore Toolchain Cache
key: deps-{{ checksum "toolchain_key" }}
paths:
- ~/cache/<< parameters.toolchain >>
- run:
name: Install Toolchain
command: |
# download if folder does not exist (not cached)
if [ ! -d ~/cache/<< parameters.toolchain >> ]; then
mkdir -p ~/cache/<< parameters.toolchain >>
if [[ << parameters.toolchain >> == rx-gcc ]]; then
wget --progress=dot:giga $toolchain_url -O toolchain.run
chmod +x toolchain.run
./toolchain.run -p ~/cache/<< parameters.toolchain >>/gnurx -y
elif [[ << parameters.toolchain >> == arm-iar ]]; then
wget --progress=dot:giga $toolchain_url -O ~/cache/<< parameters.toolchain >>/toolchain.deb
else
wget --progress=dot:giga $toolchain_url -O toolchain.tar.gz
tar -C ~/cache/<< parameters.toolchain >> -xaf toolchain.tar.gz
fi
fi
# Add toolchain to PATH
if [[ << parameters.toolchain >> == arm-iar ]]; then
# Install IAR since we only cache deb file
sudo dpkg --ignore-depends=libusb-1.0-0 -i ~/cache/<< parameters.toolchain >>/toolchain.deb
echo "export PATH=$PATH:/opt/iar/cxarm/arm/bin" >> $BASH_ENV
else
echo "export PATH=$PATH:`echo ~/cache/<< parameters.toolchain >>/*/bin`" >> $BASH_ENV
fi
- save_cache:
name: Save Toolchain Cache
key: deps-{{ checksum "toolchain_key" }}
paths:
- ~/cache/<< parameters.toolchain >>
build:
parameters:
build-system:
type: string
toolchain:
type: string
family:
type: string
steps:
- checkout
- run:
name: Get Dependencies
command: |
python tools/get_deps.py << parameters.family >>
# Install ninja if cmake build system
if [ << parameters.build-system >> == "cmake" ]; then
NINJA_URL=https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-linux.zip
wget $NINJA_URL -O ninja-linux.zip
unzip ninja-linux.zip -d ~/bin
fi
# rx-gcc is 32-bit binary
if [[ << parameters.toolchain >> == rx-gcc ]]; then
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libc6:i386 libstdc++6:i386 zlib1g:i386
fi
# Install Pico SDK
if [ << parameters.family >> == "rp2040" ]; then
git clone --depth 1 https://github.com/raspberrypi/pico-sdk.git ~/pico-sdk
echo "export PICO_SDK_PATH=~/pico-sdk" >> $BASH_ENV
fi
- when:
condition:
not:
equal: [esp-idf, << parameters.toolchain >>]
steps:
- setup-toolchain:
toolchain: << parameters.toolchain >>
- run:
name: Build
command: |
if [ << parameters.toolchain >> == esp-idf ]; then
docker run --rm -v $PWD:/project -w /project espressif/idf:v5.3.2 python tools/build.py << parameters.family >>
else
# Toolchain option default is gcc
if [ << parameters.toolchain >> == arm-clang ]; then
TOOLCHAIN_OPTION="--toolchain clang"
elif [ << parameters.toolchain >> == arm-iar ]; then
TOOLCHAIN_OPTION="--toolchain iar"
iccarm --version
elif [ << parameters.toolchain >> == arm-gcc ]; then
TOOLCHAIN_OPTION="--toolchain gcc"
fi
python tools/build.py -s << parameters.build-system >> $TOOLCHAIN_OPTION << parameters.family >>
fi
jobs:
# Build using docker
build:
parameters:
resource_class:
type: string
default: medium+
build-system:
type: string
toolchain:
type: string
family:
type: string
docker:
- image: cimg/base:current
resource_class: << parameters.resource_class >>
steps:
- build:
build-system: << parameters.build-system >>
toolchain: << parameters.toolchain >>
family: << parameters.family >>
# Build using VM
build-vm:
parameters:
resource_class:
type: string
default: large
build-system:
type: string
toolchain:
type: string
family:
type: string
machine:
image: ubuntu-2404:current
resource_class: << parameters.resource_class >>
steps:
- build:
build-system: << parameters.build-system >>
toolchain: << parameters.toolchain >>
family: << parameters.family >>
workflows:
build:
jobs:
# - build:
# matrix:
# parameters:
# toolchain: [ 'arm-gcc' ]
# build-system: [ 'cmake' ]
# family: [ 'nrf' ]
# resource_class: ['large']
# - build-vm:
# matrix:
# parameters:
# toolchain: ['esp-idf']
# build-system: ['cmake']
# family: ['-bespressif_kaluga_1']
# resource_class: ['large']

66
.clang-format Normal file
View File

@ -0,0 +1,66 @@
# Generated from CLion C/C++ Code Style settings
BasedOnStyle: LLVM
AccessModifierOffset: -2
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: None
AlignOperands: Align
AllowAllArgumentsOnNextLine: false
AllowAllConstructorInitializersOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: Always
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: All
AllowShortIfStatementsOnASingleLine: Always
AllowShortLambdasOnASingleLine: All
AllowShortLoopsOnASingleLine: true
AlwaysBreakAfterReturnType: None
AlwaysBreakTemplateDeclarations: Yes
BreakBeforeBraces: Custom
BraceWrapping:
AfterCaseLabel: false
AfterClass: false
AfterControlStatement: Never
AfterEnum: false
AfterFunction: false
AfterNamespace: false
AfterUnion: false
BeforeCatch: false
BeforeElse: false
IndentBraces: false
SplitEmptyFunction: false
SplitEmptyRecord: true
BreakBeforeBinaryOperators: None
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: BeforeColon
BreakInheritanceList: BeforeColon
ColumnLimit: 0
CompactNamespaces: false
ContinuationIndentWidth: 4
IndentCaseLabels: true
IndentPPDirectives: BeforeHash
IndentWidth: 2
KeepEmptyLinesAtTheStartOfBlocks: true
MaxEmptyLinesToKeep: 2
NamespaceIndentation: All
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PointerAlignment: Right
ReflowComments: false
SpaceAfterCStyleCast: true
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: false
SpaceBeforeAssignmentOperators: true
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: false
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 0
SpacesInAngles: false
SpacesInCStyleCastParentheses: false
SpacesInContainerLiterals: true
SpacesInParentheses: false
SpacesInSquareBrackets: false
TabWidth: 2
UseTab: Never

10
.codespellrc Normal file
View File

@ -0,0 +1,10 @@
# See: https://github.com/codespell-project/codespell#using-a-config-file
[codespell]
# In the event of a false positive, add the problematic word, in all lowercase, to 'ignore-words.txt' (one word per line).
# Or copy & paste the whole problematic line to 'exclude-file.txt'
ignore-words = tools/codespell/ignore-words.txt
exclude-file = tools/codespell/exclude-file.txt
check-filenames =
check-hidden =
count =
skip = *.rb,.cproject,.git,./lib,./examples/*/*/_build,./examples/*/*/ses,./examples/*/*/ozone,./hw/mcu,./tests_obsolete

6
.gitattributes vendored
View File

@ -1,10 +1,10 @@
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto
*.c text
*.cpp text
*.c text
*.cpp text
*.h text
*.icf text
*.icf text
*.js text
*.json text
*.ld text

View File

@ -1,29 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: Bug 🐞
assignees: ''
---
**Set up**
[Mandatory] Provide details of your setup help us to reproduce the issue as quick as possible
- **PC OS** : Ubuntu 18.04 / Windows 10/ macOS 10.15
- **Board** : Feather nRF52840 Express
- **Firmware**: examples/device/cdc_msc
**Describe the bug**
A clear and concise description of what the bug is.
**To reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. See error
**Screenshots**
If applicable, add screenshots, bus capture to help explain your problem.
**Log**
Please provide the stack's log (uart/rtt/swo) where the issue occurred, best with comments to explain the actual events. To enable logging, add `LOG=2` to to the make command if building with stock examples or set `CFG_TUSB_DEBUG=2` in your tusb_config.h. More information can be found at [example's readme](/docs/getting_started.md)

86
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@ -0,0 +1,86 @@
name: Bug Report
description: Report a problem with TinyUSB
labels: 'Bug 🐞'
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
It's okay to leave some blank if it doesn't apply to your problem.
- type: dropdown
attributes:
label: Operating System
options:
- Linux
- MacOS
- RaspberryPi OS
- Windows 7
- Windows 10
- Windows 11
- Others
validations:
required: true
- type: input
attributes:
label: Board
placeholder: e.g Feather nRF52840 Express
validations:
required: true
- type: textarea
attributes:
label: Firmware
placeholder: |
e.g examples/device/cdc_msc. If it is custom firmware, it is preferably compiled like one in example folder and reviewable for people to comment on. The easiest way is
- Fork this repo, checkout a new branch
- Add your-own-example based on stock one
- Push and post it here.
validations:
required: true
- type: textarea
attributes:
label: What happened ?
placeholder: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
attributes:
label: How to reproduce ?
placeholder: |
Exact steps in chronological order, details should be specific e.g if you use a command/script to test with, please post it as well.
1. Go to '...'
2. Click on '....'
3. See error
validations:
required: true
- type: textarea
attributes:
label: Debug Log as txt file (LOG/CFG_TUSB_DEBUG=2)
placeholder: |
Attach your debug log txt file here, where the issue occurred, best with comments to explain the actual events.
Note1: Please DO NOT paste your lengthy log contents here since it hurts the readability.
Note2: To enable logging, add `LOG=2` to to the make command if building with stock examples or set `CFG_TUSB_DEBUG=2` in your tusb_config.h.
More information can be found at [example's readme](https://github.com/hathach/tinyusb/blob/master/docs/getting_started.md)
validations:
required: true
- type: textarea
attributes:
label: Screenshots
description: If applicable, add screenshots to help explain your problem.
validations:
required: false
- type: checkboxes
attributes:
label: I have checked existing issues, dicussion and documentation
description: You agree to check all the resources above before opening a new issue.
options:
- label: I confirm I have checked existing issues, dicussion and documentation.
required: true

8
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: TinyUSB Discussion
url: https://github.com/hathach/tinyusb/discussions
about: If you have other questions or need help, post it here.
- name: TinyUSB Docs
url: https://docs.tinyusb.org/
about: Online documentation

View File

@ -1,14 +0,0 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: Feature 💡
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.

View File

@ -0,0 +1,49 @@
name: Feature Request
description: Suggest an idea for this project
labels: 'Feature 💡'
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this request!
It's okay to leave some blank if it doesn't apply to your request.
- type: input
attributes:
label: Related area
description: Please briefly explain the area of your Feature Request.
placeholder: eg. new port support, device stack, class driver ...
validations:
required: true
- type: input
attributes:
label: Hardware specification
description: Please provide if your proposal depends on specific Hardware.
placeholder: eg. rp2040, samd51 ...
validations:
required: true
- type: textarea
attributes:
label: Is your feature request related to a problem?
description: Please provide a clear and concise description of what the problem is. Add relevant issue link.
placeholder: ex. I'm facing the issue/missing function...
validations:
required: true
- type: textarea
attributes:
label: Describe the solution you'd like
description: Please provide a clear and concise description of what you want to happen.
placeholder: ex. When using this function...
validations:
required: true
- type: checkboxes
attributes:
label: I have checked existing issues, dicussion and documentation
description: You agree to check all the resources above before opening a new issue.
options:
- label: I confirm I have checked existing issues, dicussion and documentation.
required: true

View File

@ -1,11 +0,0 @@
---
name: Porting
about: Adding a new port for this project
title: ''
labels: Porting
assignees: ''
---
**Description**
Describe which API you want to port (DCD/HCD/OSAL/BSP). It is also helpful to go through [porting.md](docs/porting.md) first if you haven't yet.

View File

@ -1,10 +0,0 @@
---
name: Question
about: Question for this project
title: ''
labels: Q&A
assignees: ''
---
**Describe what the question is**

29
.github/actions/get_deps/action.yml vendored Normal file
View File

@ -0,0 +1,29 @@
name: Get dependencies
inputs:
arg:
description: 'Arguments to get_deps.py'
required: true
runs:
using: "composite"
steps:
- name: Checkout pico-sdk for rp2040
if: contains(inputs.arg, 'rp2040') || contains(inputs.arg, 'raspberry_pi_pico')
uses: actions/checkout@v4
with:
repository: raspberrypi/pico-sdk
ref: master
path: pico-sdk
- name: Linux dependencies
if: runner.os == 'Linux'
run: |
sudo apt install -y ninja-build
shell: bash
- name: Get Dependencies
run: |
python3 tools/get_deps.py ${{ inputs.arg }}
echo "PICO_SDK_PATH=${{ github.workspace }}/pico-sdk" >> $GITHUB_ENV
shell: bash

View File

@ -0,0 +1,59 @@
name: Setup Toolchain
inputs:
toolchain:
description: 'Toolchain name'
required: true
outputs:
build_option:
description: 'Build option for the toolchain e.g --toolchain clang'
value: ${{ steps.set-toolchain-option.outputs.build_option }}
runs:
using: "composite"
steps:
- name: Install ARM GCC
if: inputs.toolchain == 'arm-gcc'
uses: carlosperate/arm-none-eabi-gcc-action@v1
with:
release: '13.2.Rel1'
- name: Pull ESP-IDF docker
if: inputs.toolchain == 'esp-idf'
uses: ./.github/actions/setup_toolchain/espressif
with:
toolchain: ${{ inputs.toolchain }}
- name: Get Toolchain URL
if: >-
inputs.toolchain != 'arm-gcc' &&
inputs.toolchain != 'esp-idf'
id: set-toolchain-url
run: |
TOOLCHAIN_URL=$(jq -r '."${{ inputs.toolchain }}"' .github/actions/setup_toolchain/toolchain.json)
echo "toolchain_url=$TOOLCHAIN_URL"
echo "toolchain_url=$TOOLCHAIN_URL" >> $GITHUB_OUTPUT
shell: bash
- name: Download Toolchain
if: >-
inputs.toolchain != 'arm-gcc' &&
inputs.toolchain != 'esp-idf'
uses: ./.github/actions/setup_toolchain/download
with:
toolchain: ${{ inputs.toolchain }}
toolchain_url: ${{ steps.set-toolchain-url.outputs.toolchain_url }}
- name: Set toolchain option
id: set-toolchain-option
run: |
BUILD_OPTION=""
if [[ "${{ inputs.toolchain }}" == *"clang"* ]]; then
BUILD_OPTION="--toolchain clang"
elif [[ "${{ inputs.toolchain }}" == "arm-iar" ]]; then
BUILD_OPTION="--toolchain iar"
fi
echo "build_option=$BUILD_OPTION"
echo "build_option=$BUILD_OPTION" >> $GITHUB_OUTPUT
shell: bash

View File

@ -0,0 +1,47 @@
name: Download Toolchain
inputs:
toolchain:
description: 'Toolchain name'
required: true
toolchain_url:
description: 'Toolchain URL'
required: true
runs:
using: "composite"
steps:
- name: Cache Toolchain
if: ${{ !startsWith(inputs.toolchain_url, 'https://github.com') }}
uses: actions/cache@v4
id: cache-toolchain-download
with:
path: ~/cache/${{ inputs.toolchain }}
key: ${{ runner.os }}-${{ inputs.toolchain }}-${{ inputs.toolchain_url }}
- name: Install Toolchain
if: steps.cache-toolchain-download.outputs.cache-hit != 'true'
run: |
mkdir -p ~/cache/${{ inputs.toolchain }}
if [[ ${{ inputs.toolchain }} == rx-gcc ]]; then
wget --progress=dot:giga ${{ inputs.toolchain_url }} -O toolchain.run
chmod +x toolchain.run
./toolchain.run -p ~/cache/${{ inputs.toolchain }}/gnurx -y
elif [[ ${{ inputs.toolchain }} == arm-iar ]]; then
wget --progress=dot:giga ${{ inputs.toolchain_url }} -O ~/cache/${{ inputs.toolchain }}/cxarm.deb
else
wget --progress=dot:giga ${{ inputs.toolchain_url }} -O toolchain.tar.gz
tar -C ~/cache/${{ inputs.toolchain }} -xaf toolchain.tar.gz
fi
shell: bash
- name: Setup Toolchain
run: |
if [[ ${{ inputs.toolchain }} == arm-iar ]]; then
sudo apt-get install -y ~/cache/${{ inputs.toolchain }}/cxarm.deb
echo >> $GITHUB_PATH "/opt/iar/cxarm/arm/bin"
else
echo >> $GITHUB_PATH `echo ~/cache/${{ inputs.toolchain }}/*/bin`
fi
shell: bash

View File

@ -0,0 +1,48 @@
name: Setup ESP-IDF Toolchain
inputs:
toolchain:
description: 'Toolchain name'
required: true
toolchain_version:
description: 'Toolchain version'
required: false
default: 'v5.3.2'
runs:
using: "composite"
steps:
- name: Set DOCKER_ESP_IDF
run: |
DOCKER_ESP_IDF=$HOME/cache/${{ inputs.toolchain }}/docker_image.tar
echo "DOCKER_ESP_IDF=$DOCKER_ESP_IDF" >> $GITHUB_ENV
shell: bash
- name: Cache Docker Image
uses: actions/cache@v4
id: cache-toolchain-espressif
with:
path: ${{ env.DOCKER_ESP_IDF }}
key: ${{ inputs.toolchain }}-${{ inputs.toolchain_version }}
- name: Pull and Save Docker Image
if: steps.cache-toolchain-espressif.outputs.cache-hit != 'true'
run: |
docker pull espressif/idf:${{ inputs.toolchain_version }}
mkdir -p $(dirname $DOCKER_ESP_IDF)
docker save -o $DOCKER_ESP_IDF espressif/idf:${{ inputs.toolchain_version }}
du -sh $DOCKER_ESP_IDF
shell: bash
- name: Load Docker Image
if: steps.cache-toolchain-espressif.outputs.cache-hit == 'true'
run: |
du -sh $DOCKER_ESP_IDF
docker load --input $DOCKER_ESP_IDF
shell: bash
- name: Tag Local Image
run: |
docker tag espressif/idf:${{ inputs.toolchain_version }} espressif/idf:tinyusb
docker images
shell: bash

View File

@ -0,0 +1,9 @@
{
"aarch64-gcc": "https://developer.arm.com/-/media/Files/downloads/gnu-a/10.3-2021.07/binrel/gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf.tar.xz",
"arm-clang": "https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases/download/release-19.1.1/LLVM-ET-Arm-19.1.1-Linux-x86_64.tar.xz",
"arm-gcc": "https://github.com/xpack-dev-tools/arm-none-eabi-gcc-xpack/releases/download/v13.2.1-1.1/xpack-arm-none-eabi-gcc-13.2.1-1.1-linux-x64.tar.gz",
"msp430-gcc": "http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPGCC/9_2_0_0/export/msp430-gcc-9.2.0.50_linux64.tar.bz2",
"riscv-gcc": "https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases/download/v13.2.0-2/xpack-riscv-none-elf-gcc-13.2.0-2-linux-x64.tar.gz",
"rx-gcc": "https://github.com/hathach/rx_device/releases/download/0.0.1/gcc-8.3.0.202411-GNURX-ELF.run",
"arm-iar": "https://netstorage.iar.com/FileStore/STANDARD/001/003/583/cxarm-9.60.4.deb"
}

View File

@ -1,117 +1,272 @@
name: Build
on: [pull_request, push, repository_dispatch]
on:
workflow_dispatch:
push:
paths:
- 'src/**'
- 'examples/**'
- 'lib/**'
- 'hw/**'
- 'tools/build.py'
- 'tools/get_deps.py'
- '.github/actions/**'
- '.github/workflows/build.yml'
- '.github/workflows/build_util.yml'
- '.github/workflows/ci_set_matrix.py'
pull_request:
branches: [ master ]
paths:
- 'src/**'
- 'examples/**'
- 'lib/**'
- 'hw/**'
- 'test/hil/**'
- 'tools/build.py'
- 'tools/get_deps.py'
- '.github/actions/**'
- '.github/workflows/build.yml'
- '.github/workflows/build_util.yml'
- '.github/workflows/ci_set_matrix.py'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
HIL_JSON: test/hil/tinyusb.json
jobs:
# Unit testing with Ceedling
unit-test:
# ---------------------------------------
#
# Build
#
# ---------------------------------------
set-matrix:
runs-on: ubuntu-latest
outputs:
json: ${{ steps.set-matrix-json.outputs.matrix }}
hil_json: ${{ steps.set-matrix-json.outputs.hil_matrix }}
steps:
- name: Setup Ruby
uses: actions/setup-ruby@v1
- name: Checkout TinyUSB
uses: actions/checkout@v4
- name: Checkout TinyUSB
uses: actions/checkout@v2
- name: Generate matrix json
id: set-matrix-json
run: |
# build matrix
MATRIX_JSON=$(python .github/workflows/ci_set_matrix.py)
echo "matrix=$MATRIX_JSON"
echo "matrix=$MATRIX_JSON" >> $GITHUB_OUTPUT
# hil matrix
HIL_MATRIX_JSON=$(python test/hil/hil_ci_set_matrix.py ${{ env.HIL_JSON }})
echo "hil_matrix=$HIL_MATRIX_JSON"
echo "hil_matrix=$HIL_MATRIX_JSON" >> $GITHUB_OUTPUT
- name: Unit Tests
run: |
# Install Ceedling
gem install ceedling
cd test
ceedling test:all
# Build most of the ports
build:
runs-on: ubuntu-latest
# ---------------------------------------
# Build CMake
# ---------------------------------------
cmake:
needs: set-matrix
uses: ./.github/workflows/build_util.yml
strategy:
fail-fast: false
matrix:
example:
- 'device/audio_test'
- 'device/board_test'
- 'device/cdc_dual_ports'
- 'device/cdc_msc'
- 'device/cdc_msc_freertos'
- 'device/dfu_rt'
- 'device/hid_composite'
- 'device/hid_composite_freertos'
- 'device/hid_generic_inout'
- 'device/hid_multiple_interface'
- 'device/midi_test'
- 'device/msc_dual_lun'
- 'device/net_lwip_webserver'
- 'device/usbtmc'
- 'device/webusb_serial'
- 'host/cdc_msc_hid'
toolchain:
# - 'arm-clang' is built by circle-ci in PR
- 'aarch64-gcc'
- 'arm-gcc'
- 'msp430-gcc'
- 'riscv-gcc'
with:
build-system: 'cmake'
toolchain: ${{ matrix.toolchain }}
build-args: ${{ toJSON(fromJSON(needs.set-matrix.outputs.json)[matrix.toolchain]) }}
one-per-family: ${{ github.event_name == 'push' }}
steps:
- name: Setup Python
uses: actions/setup-python@v1
- name: Setup Node.js
uses: actions/setup-node@v1
- name: Cache MSP430 Toolchain
id: cache-msp430
uses: actions/cache@v1
with:
path: /tmp/dl/
# Increment gcc version number at end when updating downloads
key: msp430-${{ runner.os }}-9.2.0.50
- name: Install Toolchains
env:
MSP430GCC_URL: http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPGCC/9_2_0_0/export/msp430-gcc-9.2.0.50_linux64.tar.bz2
run: |
# ARM & RISC-V GCC from xpack
npm install --global xpm
xpm install --global @xpack-dev-tools/arm-none-eabi-gcc@latest
xpm install --global @xpack-dev-tools/riscv-none-embed-gcc@latest
echo `echo $HOME/opt/xPacks/@xpack-dev-tools/arm-none-eabi-gcc/*/.content/bin` >> $GITHUB_PATH
echo `echo $HOME/opt/xPacks/@xpack-dev-tools/riscv-none-embed-gcc/*/.content/bin` >> $GITHUB_PATH
# TI MSP430 GCC
mkdir -p /tmp/dl/
[ -f "/tmp/dl/msp430-gcc.tar.bz2" ] || wget --progress=dot:mega $MSP430GCC_URL -O /tmp/dl/msp430-gcc.tar.bz2
tar -C $HOME -xaf /tmp/dl/msp430-gcc.tar.bz2
echo `echo $HOME/msp430-gcc-*_linux64/bin` >> $GITHUB_PATH
- name: Checkout TinyUSB
uses: actions/checkout@v2
with:
# Cannot do submodule checkout here since LWIP's git server cannot checkout unadventised commits (it must use tags)
submodules: 'false'
- name: Checkout Submodules
run: |
git submodule sync --recursive
# Special case LWIP since GNU's Savannah can't do shallow checkout of non-tagged commits
git submodule update --init --recursive lib/lwip
git submodule update --init --recursive --depth 1
- name: Build
run: |
python3 tools/build_all.py ${{ matrix.example }}
# Build ESP32S
build-esp32s:
runs-on: ubuntu-latest
# ---------------------------------------
# Build Make (built by circle-ci in PR, only build on push here)
# ---------------------------------------
make:
if: github.event_name == 'push'
needs: set-matrix
uses: ./.github/workflows/build_util.yml
strategy:
fail-fast: false
matrix:
example: ['board_test', 'cdc_msc_freertos', 'hid_composite_freertos']
toolchain:
# 'arm-clang'
- 'arm-gcc'
- 'aarch64-gcc'
- 'msp430-gcc'
- 'riscv-gcc'
- 'rx-gcc'
- 'esp-idf'
with:
build-system: 'make'
toolchain: ${{ matrix.toolchain }}
build-args: ${{ toJSON(fromJSON(needs.set-matrix.outputs.json)[matrix.toolchain]) }}
one-per-family: true
# ---------------------------------------
# Build Make on Windows/MacOS
# ---------------------------------------
make-os:
if: github.event_name == 'pull_request'
uses: ./.github/workflows/build_util.yml
strategy:
fail-fast: false
matrix:
os: [windows-latest, macos-latest]
with:
os: ${{ matrix.os }}
build-system: 'make'
toolchain: 'arm-gcc'
build-args: '["stm32h7"]'
one-per-family: true
# ---------------------------------------
# Build IAR
# Since IAR Token secret is not passed to forked PR, only build non-forked PR with make.
# cmake is built by circle-ci. Due to IAR limit capacity, only build oe per family
# ---------------------------------------
arm-iar:
if: false # disable for now since we got reach capacity limit too often
#if: github.event_name == 'push' && github.repository_owner == 'hathach'
needs: set-matrix
uses: ./.github/workflows/build_util.yml
secrets: inherit
strategy:
fail-fast: false
matrix:
build-system:
- 'make'
with:
build-system: ${{ matrix.build-system }}
toolchain: 'arm-iar'
build-args: ${{ toJSON(fromJSON(needs.set-matrix.outputs.json)['arm-iar']) }}
one-per-family: true
# ---------------------------------------
# Zephyr
# ---------------------------------------
zephyr:
if: github.event_name == 'push'
runs-on: ubuntu-latest
steps:
- name: Setup Python
uses: actions/setup-python@v1
- name: Checkout TinyUSB
uses: actions/checkout@v4
- name: Pull ESP-IDF docker
run: docker pull espressif/idf:latest
- name: Setup Zephyr project
uses: zephyrproject-rtos/action-zephyr-setup@v1
with:
app-path: examples
toolchains: arm-zephyr-eabi
- name: Checkout TinyUSB
uses: actions/checkout@v2
with:
submodules: 'false'
- name: Build
run: |
west build -b pca10056 -d examples/device/cdc_msc/build examples/device/cdc_msc -- -DRTOS=zephyr
west build -b pca10056 -d examples/device/msc_dual_lun/build examples/device/msc_dual_lun -- -DRTOS=zephyr
- name: Build
run: docker run --rm -v $PWD:/project -w /project espressif/idf:latest python3 tools/build_esp32s.py ${{ matrix.example }}
# ---------------------------------------
#
# Hardware in the loop (HIL)
# Run on PR only (hil-tinyusb), hil-hfp only run on non-forked PR
# ---------------------------------------
# ---------------------------------------
# Build arm-gcc
# ---------------------------------------
hil-build:
if: |
github.repository_owner == 'hathach' &&
(github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch')
needs: set-matrix
uses: ./.github/workflows/build_util.yml
strategy:
fail-fast: false
matrix:
toolchain:
- 'arm-gcc'
- 'esp-idf'
with:
build-system: 'cmake'
toolchain: ${{ matrix.toolchain }}
build-args: ${{ toJSON(fromJSON(needs.set-matrix.outputs.hil_json)[matrix.toolchain]) }}
one-per-family: true
upload-artifacts: true
# ---------------------------------------
# Hardware in the loop (HIL)
# self-hosted on local VM, for attached hardware checkout HIL_JSON
# ---------------------------------------
hil-tinyusb:
if: |
github.repository_owner == 'hathach' &&
(github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch')
needs: hil-build
runs-on: [self-hosted, X64, hathach, hardware-in-the-loop]
steps:
- name: Clean workspace
run: |
echo "Cleaning up previous run"
rm -rf "${{ github.workspace }}"
mkdir -p "${{ github.workspace }}"
- name: Checkout TinyUSB
uses: actions/checkout@v4
with:
sparse-checkout: test/hil
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
path: cmake-build
merge-multiple: true
- name: Test on actual hardware
run: |
ls cmake-build/
python3 test/hil/hil_test.py ${{ env.HIL_JSON }}
# ---------------------------------------
# Hardware in the loop (HIL)
# self-hosted by HFP, build with IAR toolchain, for attached hardware checkout test/hil/hfp.json
# Since IAR Token secret is not passed to forked PR, only build non-forked PR
# ---------------------------------------
hil-hfp:
if: |
github.repository_owner == 'hathach' &&
github.event.pull_request.head.repo.fork == false &&
(github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch')
runs-on: [self-hosted, Linux, X64, hifiphile]
env:
IAR_LMS_BEARER_TOKEN: ${{ secrets.IAR_LMS_BEARER_TOKEN }}
steps:
- name: Clean workspace
run: |
echo "Cleaning up previous run"
rm -rf "${{ github.workspace }}"3
mkdir -p "${{ github.workspace }}"
- name: Toolchain version
run: |
iccarm --version
- name: Checkout TinyUSB
uses: actions/checkout@v4
- name: Get build boards
run: |
MATRIX_JSON=$(python test/hil/hil_ci_set_matrix.py test/hil/hfp.json)
BUILD_ARGS=$(echo $MATRIX_JSON | jq -r '.["arm-gcc"] | join(" ")')
echo "BUILD_ARGS=$BUILD_ARGS"
echo "BUILD_ARGS=$BUILD_ARGS" >> $GITHUB_ENV
- name: Get Dependencies
run: python3 tools/get_deps.py $BUILD_ARGS
- name: Build
run: python3 tools/build.py --toolchain iar $BUILD_ARGS
- name: Test on actual hardware (hardware in the loop)
run: python3 test/hil/hil_test.py hfp.json

83
.github/workflows/build_util.yml vendored Normal file
View File

@ -0,0 +1,83 @@
name: Reusable build util
on:
workflow_call:
inputs:
build-system:
required: true
type: string
toolchain:
required: true
type: string
build-args:
required: true
type: string
one-per-family:
required: false
default: false
type: boolean
upload-artifacts:
required: false
default: false
type: boolean
os:
required: false
type: string
default: 'ubuntu-latest'
jobs:
family:
runs-on: ${{ inputs.os }}
strategy:
fail-fast: false
matrix:
arg: ${{ fromJSON(inputs.build-args) }}
steps:
- name: Checkout TinyUSB
uses: actions/checkout@v4
- name: Setup Toolchain
id: setup-toolchain
uses: ./.github/actions/setup_toolchain
with:
toolchain: ${{ inputs.toolchain }}
- name: Get Dependencies
uses: ./.github/actions/get_deps
with:
arg: ${{ matrix.arg }}
- name: Set build one-per-family option
id: set-one-per-family
run: |
if [[ "${{ inputs.one-per-family }}" == "true" ]]; then
BUILD_OPTION="--one-per-family"
fi
echo "build_option=$BUILD_OPTION"
echo "build_option=$BUILD_OPTION" >> $GITHUB_OUTPUT
shell: bash
- name: Build
env:
IAR_LMS_BEARER_TOKEN: ${{ secrets.IAR_LMS_BEARER_TOKEN }}
run: |
if [ "${{ inputs.toolchain }}" == "esp-idf" ]; then
docker run --rm -v $PWD:/project -w /project espressif/idf:tinyusb python tools/build.py ${{ matrix.arg }}
else
python tools/build.py -s ${{ inputs.build-system }} ${{ steps.setup-toolchain.outputs.build_option }} ${{ steps.set-one-per-family.outputs.build_option }} ${{ matrix.arg }}
fi
shell: bash
- name: Upload Artifacts for Hardware Testing
if: ${{ inputs.upload-artifacts }}
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.arg }}
path: |
cmake-build/cmake-build-*/*/*/*.elf
cmake-build/cmake-build-*/*/*/*.bin
cmake-build/cmake-build-*/*/*/*.bin
cmake-build/cmake-build-*/*/*/bootloader/bootloader.bin
cmake-build/cmake-build-*/*/*/partition_table/partition-table.bin
cmake-build/cmake-build-*/*/*/config.env
cmake-build/cmake-build-*/*/*/flash_args

65
.github/workflows/ci_set_matrix.py vendored Executable file
View File

@ -0,0 +1,65 @@
#!/usr/bin/env python3
import json
# toolchain, url
toolchain_list = [
"aarch64-gcc",
"arm-clang",
"arm-iar",
"arm-gcc",
"esp-idf",
"msp430-gcc",
"riscv-gcc",
"rx-gcc"
]
# family: [supported toolchain]
family_list = {
"broadcom_32bit": ["arm-gcc"],
"broadcom_64bit": ["aarch64-gcc"],
"ch32v10x ch32v20x ch32v307 fomu gd32vf103": ["riscv-gcc"],
"da1469x": ["arm-gcc"],
"imxrt": ["arm-gcc", "arm-clang"],
"kinetis_k kinetis_kl kinetis_k32l2": ["arm-gcc", "arm-clang"],
"lpc11 lpc13 lpc15": ["arm-gcc", "arm-clang"],
"lpc17 lpc18 lpc40 lpc43": ["arm-gcc", "arm-clang"],
"lpc51 lpc54 lpc55": ["arm-gcc", "arm-clang"],
"max32650 max32666 max32690 max78002": ["arm-gcc"],
"mcx": ["arm-gcc"],
"mm32": ["arm-gcc"],
"msp430": ["msp430-gcc"],
"msp432e4 tm4c": ["arm-gcc"],
"nrf": ["arm-gcc", "arm-clang"],
"ra": ["arm-gcc"],
"rp2040": ["arm-gcc"],
"rx": ["rx-gcc"],
"samd11 saml2x": ["arm-gcc", "arm-clang"],
"samd21": ["arm-gcc", "arm-clang"],
"samd5x_e5x samg": ["arm-gcc", "arm-clang"],
"stm32c0 stm32f0 stm32f1 stm32f2 stm32f3": ["arm-gcc", "arm-clang", "arm-iar"],
"stm32f4": ["arm-gcc", "arm-clang", "arm-iar"],
"stm32f7": ["arm-gcc", "arm-clang", "arm-iar"],
"stm32g0 stm32g4 stm32h5": ["arm-gcc", "arm-clang", "arm-iar"],
"stm32h7": ["arm-gcc", "arm-clang", "arm-iar"],
"stm32l0 stm32l4": ["arm-gcc", "arm-clang", "arm-iar"],
"stm32u5 stm32wb": ["arm-gcc", "arm-clang", "arm-iar"],
"xmc4000": ["arm-gcc"],
"-bespressif_s2_devkitc": ["esp-idf"],
# S3, P4 will be built by hil test
# "-bespressif_s3_devkitm": ["esp-idf"],
# "-bespressif_p4_function_ev": ["esp-idf"],
}
def set_matrix_json():
matrix = {}
for toolchain in toolchain_list:
filtered_families = [family for family, supported_toolchain in family_list.items() if
toolchain in supported_toolchain]
matrix[toolchain] = filtered_families
print(json.dumps(matrix))
if __name__ == '__main__':
set_matrix_json()

36
.github/workflows/cifuzz.yml vendored Normal file
View File

@ -0,0 +1,36 @@
name: CIFuzz
on:
workflow_dispatch:
pull_request:
branches:
- master
paths:
- '**.c'
- '**.cc'
- '**.cpp'
- '**.cxx'
- '**.h'
jobs:
Fuzzing:
runs-on: ubuntu-latest
steps:
- name: Build Fuzzers
id: build
uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
with:
oss-fuzz-project-name: 'tinyusb'
language: c++
- name: Run Fuzzers
uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
with:
oss-fuzz-project-name: 'tinyusb'
language: c++
fuzz-seconds: 400
- name: Upload Crash
uses: actions/upload-artifact@v4
if: failure() && steps.build.outcome == 'success'
with:
name: artifacts
path: ./out/artifacts

View File

@ -0,0 +1,6 @@
#!/usr/bin/env bash
FAMILY=stm32l4
pip install click
python3 tools/get_deps.py $FAMILY
python3 tools/build.py -s make $FAMILY

137
.github/workflows/codeql.yml vendored Normal file
View File

@ -0,0 +1,137 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
on:
push:
branches: [ 'master' ]
paths:
- 'src/**'
- 'examples/**'
- 'lib/**'
- 'hw/**'
- '.github/workflows/codeql.yml'
pull_request:
branches: [ 'master' ]
paths:
- 'src/**'
- 'examples/**'
- 'lib/**'
- 'hw/**'
- '.github/workflows/codeql.yml'
schedule:
- cron: '0 0 * * *'
jobs:
analyze:
name: Analyze
# Runner size impacts CodeQL analysis time. To learn more, please see:
# - https://gh.io/recommended-hardware-resources-for-running-codeql
# - https://gh.io/supported-runners-and-hardware-resources
# - https://gh.io/using-larger-runners
# Consider using larger runners for possible analysis time improvements.
runs-on: ubuntu-latest
timeout-minutes: 360
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'c-cpp' ]
# CodeQL supports [ 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' ]
# Use only 'java-kotlin' to analyze code written in Java, Kotlin or both
# Use only 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Toolchain
uses: ./.github/actions/setup_toolchain
with:
toolchain: 'arm-gcc'
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality
queries: security-and-quality
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift).
# If this step fails, then you should remove it and run the build manually (see below)
#- name: Autobuild
# uses: github/codeql-action/autobuild@v2
# Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
# If the Autobuild fails above, remove it and uncomment the following three lines.
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
- run: |
./.github/workflows/codeql-buildscript.sh
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
with:
category: "/language:${{matrix.language}}"
upload: false
id: step1
# Filter out rules with low severity or high false positive rate
# Also filter out warnings in third-party code
- name: Filter out unwanted errors and warnings
uses: advanced-security/filter-sarif@v1
with:
patterns: |
-**:cpp/path-injection
-**:cpp/world-writable-file-creation
-**:cpp/poorly-documented-function
-**:cpp/potentially-dangerous-function
-**:cpp/use-of-goto
-**:cpp/integer-multiplication-cast-to-long
-**:cpp/comparison-with-wider-type
-**:cpp/leap-year/*
-**:cpp/ambiguously-signed-bit-field
-**:cpp/suspicious-pointer-scaling
-**:cpp/suspicious-pointer-scaling-void
-**:cpp/unsigned-comparison-zero
-**/third*party/**
-**/3rd*party/**
-**/external/**
input: ${{ steps.step1.outputs.sarif-output }}/cpp.sarif
output: ${{ steps.step1.outputs.sarif-output }}/cpp.sarif
- name: Upload SARIF
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: ${{ steps.step1.outputs.sarif-output }}
category: "/language:${{matrix.language}}"
- name: Archive CodeQL results
uses: actions/upload-artifact@v4
with:
name: codeql-results
path: ${{ steps.step1.outputs.sarif-output }}
retention-days: 5

34
.github/workflows/fail_on_error.py vendored Executable file
View File

@ -0,0 +1,34 @@
#!/usr/bin/env python3
import json
import sys
# Return whether SARIF file contains error-level results
def codeql_sarif_contain_error(filename):
with open(filename, 'r') as f:
s = json.load(f)
for run in s.get('runs', []):
rules_metadata = run['tool']['driver']['rules']
if not rules_metadata:
rules_metadata = run['tool']['extensions'][0]['rules']
for res in run.get('results', []):
if 'ruleIndex' in res:
rule_index = res['ruleIndex']
elif 'rule' in res and 'index' in res['rule']:
rule_index = res['rule']['index']
else:
continue
try:
rule_level = rules_metadata[rule_index]['defaultConfiguration']['level']
except IndexError as e:
print(e, rule_index, len(rules_metadata))
else:
if rule_level == 'error':
return True
return False
if __name__ == "__main__":
if codeql_sarif_contain_error(sys.argv[1]):
sys.exit(1)

73
.github/workflows/labeler.yml vendored Normal file
View File

@ -0,0 +1,73 @@
name: Labeler
on:
issues:
types: [opened]
pull_request_target:
types: [opened]
jobs:
label-priority:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- name: Label New Issue or PR
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
let label = '';
let username = '';
let issueOrPrNumber = 0;
if (context.eventName === 'issues') {
username = context.payload.issue.user.login;
issueOrPrNumber = context.payload.issue.number;
} else if (context.eventName === 'pull_request_target') {
username = context.payload.pull_request.user.login;
issueOrPrNumber = context.payload.pull_request.number;
}
// Check if an Adafruit member
try {
const adafruitResponse = await github.rest.orgs.checkMembershipForUser({
org: 'adafruit',
username: username
});
if (adafruitResponse.status === 204) {
console.log('Adafruit Member');
label = 'Prio Urgent';
}
} catch (error) {
console.log('Not an Adafruit member');
}
// Check if a contributor
if (label == '') {
try {
const collaboratorResponse = await github.rest.repos.checkCollaborator({
owner: context.repo.owner,
repo: context.repo.repo,
username: username
});
if (collaboratorResponse.status === 204) {
console.log('Contributor');
label = 'Prio Higher';
}
} catch (error) {
console.log('Not a contributor');
}
}
if (label !== '') {
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issueOrPrNumber,
labels: [label]
});
}

45
.github/workflows/pre-commit.yml vendored Normal file
View File

@ -0,0 +1,45 @@
name: pre-commit
on:
workflow_dispatch:
push:
pull_request:
branches: [ master ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
- name: Checkout TinyUSB
uses: actions/checkout@v4
- name: Get Dependencies
run: |
gem install ceedling
#cd test/unit-test
#ceedling test:all
- name: Run pre-commit
uses: pre-commit/action@v3.0.1
- name: Build Fuzzer
run: |
sudo apt install libc++-dev libc++abi-dev
clang --version
export CC=clang
export CXX=clang++
fuzz_harness=$(ls -d test/fuzz/device/*/)
for h in $fuzz_harness
do
make -C $h get-deps
make -C $h all
done

View File

@ -1,14 +1,60 @@
name: Trigger Repos
on:
workflow_dispatch:
push:
branches: master
release:
types:
- created
jobs:
trigger:
trigger-mynewt:
if: github.repository == 'hathach/tinyusb'
runs-on: ubuntu-latest
steps:
- name: mynewt-tinyusb-example
- name: Trigger mynewt-tinyusb-example
shell: bash
run: |
curl -X POST -H "Authorization: token ${{ secrets.GH_REPO_TOKEN }}" -H "Accept: application/vnd.github.everest-preview+json" -H "Content-Type: application/json" --data '{"event_type": "rebuild"}' https://api.github.com/repos/hathach/mynewt-tinyusb-example/dispatches
curl -X POST -H "Authorization: token ${{ secrets.API_TOKEN_GITHUB }}" -H "Accept: application/vnd.github.everest-preview+json" -H "Content-Type: application/json" --data '{"event_type": "rebuild"}' https://api.github.com/repos/hathach/mynewt-tinyusb-example/dispatches
mirror-tinyusb-src:
if: github.repository == 'hathach/tinyusb'
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Push to tinyusb_src
run: |
# clone tinyusb_src with PAT
git config --global user.email "thach@tinyusb.org"
git config --global user.name "hathach"
git clone --depth 1 --single-branch --branch main "https://${{ secrets.API_TOKEN_GITHUB }}@github.com/hathach/tinyusb_src.git" tinyusb_src
# Remove all files
rm -rf tinyusb_src/*
# Copy src and other files
cp -r src tinyusb_src/
cp LICENSE tinyusb_src/
cd tinyusb_src
# Commit if there is changes
if [ -n "$(git status --porcelain)" ]; then
git add .
git commit --message "Update from https://github.com/$GITHUB_REPOSITORY/commit/$GITHUB_SHA"
git push
fi
- name: Create tinyusb_src Release
if: ${{ github.event_name == 'release' }}
run: |
# Push tag
cd tinyusb_src
git tag ${{ github.event.release.tag_name }}
git push origin ${{ github.event.release.tag_name }}
# Send POST reqwuest to release https://docs.github.com/en/rest/reference/repos#create-a-release
bb="For release note, please checkout https://github.com/hathach/tinyusb/releases/tag/${{ github.event.release.tag_name }}"
curl -X POST -H "Authorization: token ${{ secrets.API_TOKEN_GITHUB }}" -H "Accept: application/vnd.github.v3+json" --data '{"tag_name": "${{ github.event.release.tag_name }}", "name": "${{ github.event.release.name }}", "body": "$bb", "draft": ${{ github.event.release.draft }}, "prerelease": ${{ github.event.release.prerelease }}}' https://api.github.com/repos/hathach/tinyusb_src/releases

41
.gitignore vendored
View File

@ -1,23 +1,54 @@
html
latex
*.a
*.d
*.o
*.P
*.map
*.axf
*.bin
*.elf
*.env
*.ind
*.log
*.map
*.obj
*.jlink
*.emSession
*.elf
*.ind
.env
*.ninja*
*.eww
*.ewp
*.ewt
*.ewd
*.hex
cmake_install.cmake
CMakeCache.txt
settings/
.settings/
.idea/
.vscode/
.gdb_history
/examples/*/*/build*
test_old/
tests_obsolete/
_build
/examples/*/*/ses
/examples/*/*/ozone
/examples/obsolete
hw/bsp/**/cubemx/*/
.mxproject
# coverity intermediate files
cov-int
# cppcheck build directories
*-build-dir
/_bin/
__pycache__
cmake-build-*
sdkconfig
.PVS-Studio
.vscode/
build
CMakeFiles
Debug
RelWithDebInfo
Release
BrowseInfo
.cmake_build

111
.gitmodules vendored
View File

@ -1,111 +0,0 @@
[submodule "hw/mcu/nordic/nrfx"]
path = hw/mcu/nordic/nrfx
url = https://github.com/NordicSemiconductor/nrfx.git
[submodule "tools/uf2"]
path = tools/uf2
url = https://github.com/microsoft/uf2.git
[submodule "hw/mcu/sony/cxd56/spresense-exported-sdk"]
path = hw/mcu/sony/cxd56/spresense-exported-sdk
url = https://github.com/sonydevworld/spresense-exported-sdk.git
[submodule "hw/mcu/ti"]
path = hw/mcu/ti
url = https://github.com/hathach/ti_driver.git
[submodule "hw/mcu/nxp"]
path = hw/mcu/nxp
url = https://github.com/hathach/nxp_driver.git
[submodule "hw/mcu/microchip"]
path = hw/mcu/microchip
url = https://github.com/hathach/microchip_driver.git
[submodule "hw/mcu/nuvoton"]
path = hw/mcu/nuvoton
url = https://github.com/majbthrd/nuc_driver.git
[submodule "lib/lwip"]
path = lib/lwip
url = https://git.savannah.nongnu.org/git/lwip.git
[submodule "lib/FreeRTOS"]
path = lib/FreeRTOS
url = https://github.com/FreeRTOS/FreeRTOS.git
[submodule "lib/CMSIS_4"]
path = lib/CMSIS_4
url = https://github.com/ARM-software/CMSIS.git
[submodule "hw/mcu/st/cmsis_device_f4"]
path = hw/mcu/st/cmsis_device_f4
url = https://github.com/STMicroelectronics/cmsis_device_f4.git
[submodule "hw/mcu/st/stm32f4xx_hal_driver"]
path = hw/mcu/st/stm32f4xx_hal_driver
url = https://github.com/STMicroelectronics/stm32f4xx_hal_driver.git
[submodule "hw/mcu/st/cmsis_device_f0"]
path = hw/mcu/st/cmsis_device_f0
url = https://github.com/STMicroelectronics/cmsis_device_f0.git
[submodule "hw/mcu/st/stm32f0xx_hal_driver"]
path = hw/mcu/st/stm32f0xx_hal_driver
url = https://github.com/STMicroelectronics/stm32f0xx_hal_driver.git
[submodule "hw/mcu/st/cmsis_device_f1"]
path = hw/mcu/st/cmsis_device_f1
url = https://github.com/STMicroelectronics/cmsis_device_f1.git
[submodule "hw/mcu/st/stm32f1xx_hal_driver"]
path = hw/mcu/st/stm32f1xx_hal_driver
url = https://github.com/STMicroelectronics/stm32f1xx_hal_driver.git
[submodule "hw/mcu/st/cmsis_device_f2"]
path = hw/mcu/st/cmsis_device_f2
url = https://github.com/STMicroelectronics/cmsis_device_f2.git
[submodule "hw/mcu/st/stm32f2xx_hal_driver"]
path = hw/mcu/st/stm32f2xx_hal_driver
url = https://github.com/STMicroelectronics/stm32f2xx_hal_driver.git
[submodule "hw/mcu/st/cmsis_device_f3"]
path = hw/mcu/st/cmsis_device_f3
url = https://github.com/STMicroelectronics/cmsis_device_f3.git
[submodule "hw/mcu/st/stm32f3xx_hal_driver"]
path = hw/mcu/st/stm32f3xx_hal_driver
url = https://github.com/STMicroelectronics/stm32f3xx_hal_driver.git
[submodule "hw/mcu/st/cmsis_device_f7"]
path = hw/mcu/st/cmsis_device_f7
url = https://github.com/STMicroelectronics/cmsis_device_f7.git
[submodule "hw/mcu/st/stm32f7xx_hal_driver"]
path = hw/mcu/st/stm32f7xx_hal_driver
url = https://github.com/STMicroelectronics/stm32f7xx_hal_driver.git
[submodule "hw/mcu/st/cmsis_device_h7"]
path = hw/mcu/st/cmsis_device_h7
url = https://github.com/STMicroelectronics/cmsis_device_h7.git
[submodule "hw/mcu/st/stm32h7xx_hal_driver"]
path = hw/mcu/st/stm32h7xx_hal_driver
url = https://github.com/STMicroelectronics/stm32h7xx_hal_driver.git
[submodule "hw/mcu/st/cmsis_device_l0"]
path = hw/mcu/st/cmsis_device_l0
url = https://github.com/STMicroelectronics/cmsis_device_l0.git
[submodule "hw/mcu/st/stm32l0xx_hal_driver"]
path = hw/mcu/st/stm32l0xx_hal_driver
url = https://github.com/STMicroelectronics/stm32l0xx_hal_driver.git
[submodule "hw/mcu/st/cmsis_device_l1"]
path = hw/mcu/st/cmsis_device_l1
url = https://github.com/STMicroelectronics/cmsis_device_l1.git
[submodule "hw/mcu/st/stm32l1xx_hal_driver"]
path = hw/mcu/st/stm32l1xx_hal_driver
url = https://github.com/STMicroelectronics/stm32l1xx_hal_driver.git
[submodule "hw/mcu/st/cmsis_device_l4"]
path = hw/mcu/st/cmsis_device_l4
url = https://github.com/STMicroelectronics/cmsis_device_l4.git
[submodule "hw/mcu/st/stm32l4xx_hal_driver"]
path = hw/mcu/st/stm32l4xx_hal_driver
url = https://github.com/STMicroelectronics/stm32l4xx_hal_driver.git
[submodule "hw/mcu/st/cmsis_device_g0"]
path = hw/mcu/st/cmsis_device_g0
url = https://github.com/STMicroelectronics/cmsis_device_g0.git
[submodule "hw/mcu/st/stm32g0xx_hal_driver"]
path = hw/mcu/st/stm32g0xx_hal_driver
url = https://github.com/STMicroelectronics/stm32g0xx_hal_driver.git
[submodule "hw/mcu/st/cmsis_device_g4"]
path = hw/mcu/st/cmsis_device_g4
url = https://github.com/STMicroelectronics/cmsis_device_g4.git
[submodule "hw/mcu/st/stm32g4xx_hal_driver"]
path = hw/mcu/st/stm32g4xx_hal_driver
url = https://github.com/STMicroelectronics/stm32g4xx_hal_driver.git
[submodule "hw/mcu/st/cmsis_device_l5"]
path = hw/mcu/st/cmsis_device_l5
url = https://github.com/STMicroelectronics/cmsis_device_l5.git
[submodule "hw/mcu/st/stm32l5xx_hal_driver"]
path = hw/mcu/st/stm32l5xx_hal_driver
url = https://github.com/STMicroelectronics/stm32l5xx_hal_driver.git
[submodule "lib/CMSIS_5"]
path = lib/CMSIS_5
url = https://github.com/ARM-software/CMSIS_5.git

10
.idea/.gitignore generated vendored Normal file
View File

@ -0,0 +1,10 @@
# Default ignored files
/shelf/
/workspace.xml
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
# Editor-based HTTP Client requests
/httpRequests/
# GitHub Copilot persisted chat sessions
/copilot/chatSessions

172
.idea/cmake.xml generated Normal file
View File

@ -0,0 +1,172 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CMakeSharedSettings">
<configurations>
<configuration PROFILE_NAME="raspberrypi_zero" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=raspberrypi_zero -DLOG=1" />
<configuration PROFILE_NAME="raspberrypi_zero2" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=raspberrypi_zero2 -DLOG=1" />
<configuration PROFILE_NAME="raspberrypi_cm4" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=raspberrypi_cm4 -DLOG=1" />
<configuration PROFILE_NAME="raspberry_pi_pico" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=raspberry_pi_pico -DLOG=1" />
<configuration PROFILE_NAME="raspberry_pi_pico-pio_host" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=raspberry_pi_pico -DLOG=1 -DCFLAGS_CLI=&quot;-DCFG_TUH_RPI_PIO_USB=1&quot;" />
<configuration PROFILE_NAME="raspberry_pi_pico2" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=raspberry_pi_pico2 -DLOG=1" />
<configuration PROFILE_NAME="raspberry_pi_pico2-pio_host" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=raspberry_pi_pico2 -DLOG=1 -DCFLAGS_CLI=&quot;-DCFG_TUH_RPI_PIO_USB=1&quot;" />
<configuration PROFILE_NAME="feather_rp2040" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=pico_sdk -DPICO_BOARD=adafruit_feather_rp2040 -DLOG=1" />
<configuration PROFILE_NAME="feather_rp2040_max3421" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=feather_rp2040_max3421 -DLOG=1" />
<configuration PROFILE_NAME="metro_rp2040" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=pico_sdk -DPICO_BOARD=adafruit_metro_rp2040 -DLOG=1 -DMAX3421_HOST=1" />
<configuration PROFILE_NAME="adafruit_metro_rp2350" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=adafruit_metro_rp2350 -DLOG=1 -DCFLAGS_CLI=&quot;-DCFG_TUH_RPI_PIO_USB=1&quot;" />
<configuration PROFILE_NAME="adafruit_fruit_jam" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=adafruit_fruit_jam -DLOG=1 -DCFLAGS_CLI=&quot;-DCFG_TUH_RPI_PIO_USB=1&quot;" />
<configuration PROFILE_NAME="adafruit_feather_esp32_v2" ENABLED="false" TOOLCHAIN_NAME="ESP-IDF" GENERATION_OPTIONS="-DBOARD=adafruit_feather_esp32_v2 -DMAX3421_HOST=1 -DLOG=1">
<ADDITIONAL_GENERATION_ENVIRONMENT>
<envs>
<env name="ESPBAUD" value="1500000" />
</envs>
</ADDITIONAL_GENERATION_ENVIRONMENT>
</configuration>
<configuration PROFILE_NAME="adafruit_feather_esp32s2" ENABLED="false" TOOLCHAIN_NAME="ESP-IDF" GENERATION_OPTIONS="-DBOARD=adafruit_feather_esp32s2 -DMAX3421_HOST=1 -DLOG=1">
<ADDITIONAL_GENERATION_ENVIRONMENT>
<envs>
<env name="ESPBAUD" value="1500000" />
</envs>
</ADDITIONAL_GENERATION_ENVIRONMENT>
</configuration>
<configuration PROFILE_NAME="adafruit_feather_esp32s3" ENABLED="false" TOOLCHAIN_NAME="ESP-IDF" GENERATION_OPTIONS="-DBOARD=adafruit_feather_esp32s3 -DMAX3421_HOST=1 -DLOG=1">
<ADDITIONAL_GENERATION_ENVIRONMENT>
<envs>
<env name="ESPBAUD" value="1500000" />
</envs>
</ADDITIONAL_GENERATION_ENVIRONMENT>
</configuration>
<configuration PROFILE_NAME="adafruit_metro_esp32s2" ENABLED="false" TOOLCHAIN_NAME="ESP-IDF" GENERATION_OPTIONS="-DBOARD=adafruit_metro_esp32s2 -DMAX3421_HOST=1 -DLOG=1">
<ADDITIONAL_GENERATION_ENVIRONMENT>
<envs>
<env name="ESPBAUD" value="1500000" />
</envs>
</ADDITIONAL_GENERATION_ENVIRONMENT>
</configuration>
<configuration PROFILE_NAME="espressif_kaluga_1" ENABLED="false" TOOLCHAIN_NAME="ESP-IDF" GENERATION_OPTIONS="-DBOARD=espressif_kaluga_1 -DMAX3421_HOST=1 -DLOG=1">
<ADDITIONAL_GENERATION_ENVIRONMENT>
<envs>
<env name="ESPBAUD" value="1500000" />
</envs>
</ADDITIONAL_GENERATION_ENVIRONMENT>
</configuration>
<configuration PROFILE_NAME="espressif_s3_devkitc" ENABLED="false" TOOLCHAIN_NAME="ESP-IDF" GENERATION_OPTIONS="-DBOARD=espressif_s3_devkitc -DLOG=1">
<ADDITIONAL_GENERATION_ENVIRONMENT>
<envs>
<env name="ESPBAUD" value="1500000" />
</envs>
</ADDITIONAL_GENERATION_ENVIRONMENT>
</configuration>
<configuration PROFILE_NAME="espressif_p4_function_ev" ENABLED="false" TOOLCHAIN_NAME="ESP-IDF" GENERATION_OPTIONS="-DBOARD=espressif_p4_function_ev -DLOG=1">
<ADDITIONAL_GENERATION_ENVIRONMENT>
<envs>
<env name="ESPBAUD" value="1500000" />
</envs>
</ADDITIONAL_GENERATION_ENVIRONMENT>
</configuration>
<configuration PROFILE_NAME="espressif_p4_function_ev-DMA" ENABLED="false" TOOLCHAIN_NAME="ESP-IDF" GENERATION_OPTIONS="-DBOARD=espressif_p4_function_ev -DLOG=1 -DCFLAGS_CLI=&quot;-DCFG_TUD_DWC2_DMA_ENABLE=1 -DCFG_TUH_DWC2_DMA_ENABLE=1&quot;">
<ADDITIONAL_GENERATION_ENVIRONMENT>
<envs>
<env name="ESPBAUD" value="1500000" />
</envs>
</ADDITIONAL_GENERATION_ENVIRONMENT>
</configuration>
<configuration PROFILE_NAME="espressif_c3_devkitc" ENABLED="false" TOOLCHAIN_NAME="ESP-IDF" GENERATION_OPTIONS="-DBOARD=espressif_c3_devkitc -DMAX3421_HOST=1 -DLOG=1">
<ADDITIONAL_GENERATION_ENVIRONMENT>
<envs>
<env name="ESPBAUD" value="1500000" />
</envs>
</ADDITIONAL_GENERATION_ENVIRONMENT>
</configuration>
<configuration PROFILE_NAME="feather_m0_express" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=feather_m0_express -DLOG=1 -DLOGGER=RTT -DMAX3421_HOST=1" />
<configuration PROFILE_NAME="metro_m0_express" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=metro_m0_express -DLOG=1 -DLOGGER=RTT -DMAX3421_HOST=1" />
<configuration PROFILE_NAME="samd11_xplained" ENABLED="false" CONFIG_NAME="MinSizeRel" GENERATION_OPTIONS="-DBOARD=samd11_xplained" />
<configuration PROFILE_NAME="atsaml21_xpro" ENABLED="false" GENERATION_OPTIONS="-DBOARD=atsaml21_xpro" />
<configuration PROFILE_NAME="feather_m4_express" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=feather_m4_express -DLOG=1 -DLOGGER=RTT -DMAX3421_HOST=1" />
<configuration PROFILE_NAME="metro_m4_express" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=metro_m4_express -DLOG=1 -DLOGGER=RTT -DMAX3421_HOST=1" />
<configuration PROFILE_NAME="feather_m4_express-zephyr" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=feather_m4_express -DLOG=1 -DMAX3421_HOST=1 -DRTOS=zephyr" />
<configuration PROFILE_NAME="itsybitsy_m4" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=itsybitsy_m4" />
<configuration PROFILE_NAME="same54_xplained" ENABLED="false" GENERATION_OPTIONS="-DBOARD=same54_xplained -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="samg55_xplained" ENABLED="false" GENERATION_OPTIONS="-DBOARD=samg55_xplained" />
<configuration PROFILE_NAME="feather_nrf52840_express" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=feather_nrf52840_express -DLOG=1 -DLOGGER=RTT -DMAX3421_HOST=1" />
<configuration PROFILE_NAME="pca10056" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=pca10056 -DLOG=1 -DLOGGER=RTT -DTRACE_ETM=1" />
<configuration PROFILE_NAME="pca10056-zephyr" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=pca10056 -DLOG=1 -DTRACE_ETM=1 -DRTOS=zephyr" BUILD_OPTIONS="-v" />
<configuration PROFILE_NAME="pca10095" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=pca10095 -DLOG=1 -DLOGGER=RTT -DTRACE_ETM=1" />
<configuration PROFILE_NAME="metro m7 1011 sd" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=metro_m7_1011_sd -DLOG=1 -DLOGGER=RTT -DTRACE_ETM=1" />
<configuration PROFILE_NAME="metro_m7_1011" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=metro_m7_1011 -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="rt1010 evk" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=mimxrt1010_evk -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="mimxrt1060_evk" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=mimxrt1060_evk -DLOG=1" />
<configuration PROFILE_NAME="mimxrt1064_evk" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=mimxrt1064_evk" />
<configuration PROFILE_NAME="rt1170 evkb" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=mimxrt1170_evkb -DLOG=1 -DLOGGER=RTT -DTRACE_ETM=1" />
<configuration PROFILE_NAME="stm32f072disco" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=stm32f072disco -DLOG=0 -DLOGGER=RTT" />
<configuration PROFILE_NAME="stm32f103_mini_2" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=stm32f103_mini_2 -DLOG=1 -DLOGGGER=RTT" />
<configuration PROFILE_NAME="stm32f103ze_iar" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=stm32f103ze_iar -DLOG=1 -DLOGGGER=RTT" />
<configuration PROFILE_NAME="stm32f207nucleo" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=stm32f207nucleo -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="stm32f303disco" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=stm32f303disco -DLOG=0 -DLOGGER=RTT" />
<configuration PROFILE_NAME="stm32f411disco" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=stm32f411disco -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="stm32f412disco" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=stm32f412disco -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="stm32f723disco" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=stm32f723disco -DLOG=0" />
<configuration PROFILE_NAME="stm32f723disco-DMA" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=stm32f723disco -DLOG=1 -DLOGGER=RTT -DCFLAGS_CLI=&quot;-DCFG_TUD_DWC2_DMA_ENABLE=1 -DCFG_TUH_DWC2_DMA_ENABLE=1&quot;" />
<configuration PROFILE_NAME="stm32f723disco_device1" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=stm32f723disco -DLOG=0 -DRHPORT_DEVICE=1" />
<configuration PROFILE_NAME="stm32f769disco" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=stm32f769disco -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="stm32g0b1nucleo" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=stm32g0b1nucleo" />
<configuration PROFILE_NAME="stm32g474nucleo" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=stm32g474nucleo" />
<configuration PROFILE_NAME="b_g474e_dpow1" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=b_g474e_dpow1 -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="stm32h563nucleo" ENABLED="false" GENERATION_OPTIONS="-DBOARD=stm32h563nucleo -DLOG=1 -DLOGGER=RTT -DTRACE_ETM=1" />
<configuration PROFILE_NAME="stm32h743eval" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=stm32h743eval -DLOG=1 -DLOGGER=RTT -DTRACE_ETM=1" />
<configuration PROFILE_NAME="stm32h743eval-DMA" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=stm32h743eval -DLOG=1 -DLOGGER=RTT -DTRACE_ETM=1 -DCFLAGS_CLI=&quot;-DCFG_TUD_DWC2_DMA_ENABLE=1&quot;" />
<configuration PROFILE_NAME="stm32h743eval_host1" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=stm32h743eval -DRHPORT_HOST=1 -DLOG=1 -DLOGGER=RTT -DTRACE_ETM=1" />
<configuration PROFILE_NAME="stm32h743nucleo" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=stm32h743nucleo -DLOG=1" />
<configuration PROFILE_NAME="stm32l0538disco" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=stm32l0538disco -DLOG=0 -DLOGGER=RTT" />
<configuration PROFILE_NAME="stm32l476disco" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=stm32l476disco -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="stm32u575nucleo" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=stm32u575nucleo -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="stm32u5a5nucleo" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=stm32u5a5nucleo -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="stm32wb55nucleo" ENABLED="false" GENERATION_OPTIONS="-DBOARD=stm32wb55nucleo" />
<configuration PROFILE_NAME="ra2a1_ek" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=ra2a1_ek -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="ra4m1_ek" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=ra4m1_ek -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="ra4m3_ek" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=ra4m3_ek -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="ra6m1_ek" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=ra6m1_ek -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="ra6m5_ek" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=ra6m5_ek -DLOG=1 -DLOGGER=RTT -DTRACE_ETM=1" />
<configuration PROFILE_NAME="ra6m5_ek PORT0" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=ra6m5_ek -DLOG=1 -DLOGGER=RTT -DTRACE_ETM=1 -DRHPORT_DEVICE=0" />
<configuration PROFILE_NAME="ra8m1_ek" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=ra8m1_ek -DLOG=2 -DLOGGER=RTT -DTRACE_ETM=1" />
<configuration PROFILE_NAME="ra8m1_ek PORT0" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=ra8m1_ek -DLOG=2 -DLOGGER=RTT -DTRACE_ETM=1 -DRHPORT_DEVICE=0" />
<configuration PROFILE_NAME="uno_r4" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=uno_r4 -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="portenta_c33" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=portenta_c33 -DLOG=1" />
<configuration PROFILE_NAME="lpcxpresso11u37" ENABLED="false" GENERATION_OPTIONS="-DBOARD=lpcxpresso11u37" />
<configuration PROFILE_NAME="lpcxpresso11u68" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=lpcxpresso11u68 -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="lpcxpresso1347" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=lpcxpresso1347 -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="lpcxpresso1549" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=lpcxpresso1549 -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="lpcxpresso1769" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=lpcxpresso1769 -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="mcb1800" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=mcb1800 -DLOG=1 -DLOGGER=RTT -DTRACE_ETM=1" />
<configuration PROFILE_NAME="ea4088 quickstart" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=ea4088_quickstart -DLOG=1 -DLOGGER=RTT -DTRACE_ETM=1" />
<configuration PROFILE_NAME="ea4357" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=ea4357 -DLOG=1 -DLOGGER=RTT -DTRACE_ETM=1" />
<configuration PROFILE_NAME="lpcxpresso51u68" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=lpcxpresso51u68 -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="lpc5414" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=lpcxpresso54114 -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="lpc54628" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=lpcxpresso54628 -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="lpc55s69" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=lpcxpresso55s69 -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="mcxn947brk" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=mcxn947brk -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="frdm_mcxa153" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=frdm_mcxa153 -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="frdm_kl25z" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=frdm_kl25z -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="frdm_k32l2a4s" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=frdm_k32l2a4s" />
<configuration PROFILE_NAME="frdm_k64f" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=frdm_k64f -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="msp430f5529" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=msp_exp430f5529lp" />
<configuration PROFILE_NAME="msp_exp432e401y" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=msp_exp432e401y -DLOG=1" />
<configuration PROFILE_NAME="ek_tm4c123gxl" ENABLED="false" CONFIG_NAME="MinSizeRel" GENERATION_OPTIONS="-DBOARD=ek_tm4c123gxl -DLOG=1" />
<configuration PROFILE_NAME="xmc4500_relax" ENABLED="false" GENERATION_OPTIONS="-DBOARD=xmc4500_relax -DLOG=1 -DLOGGER=RTT" />
<configuration PROFILE_NAME="xmc4500_relax_dma" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=xmc4500_relax -DLOG=1 -DLOGGER=RTT -DCFLAGS_CLI=&quot;-DCFG_TUD_DWC2_DMA=1&quot;" />
<configuration PROFILE_NAME="f1c100s" ENABLED="false" GENERATION_OPTIONS="-DBOARD=f1c100s" />
<configuration PROFILE_NAME="mm32f327x_mb39" ENABLED="false" GENERATION_OPTIONS="-DBOARD=mm32f327x_mb39" />
<configuration PROFILE_NAME="fomu" ENABLED="false" GENERATION_OPTIONS="-DBOARD=fomu" />
<configuration PROFILE_NAME="sipeed_longan_nano" ENABLED="false" GENERATION_OPTIONS="-DBOARD=sipeed_longan_nano" />
<configuration PROFILE_NAME="nanoch32v203" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=nanoch32v203" />
<configuration PROFILE_NAME="ch32v203c_r0_1v0" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=ch32v203c_r0_1v0 -DLOG=0" />
<configuration PROFILE_NAME="ch32v203c_r0_1v0 USBFS" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=ch32v203c_r0_1v0 -DPORT=1" />
<configuration PROFILE_NAME="ch32v203g_r0_1v0" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=ch32v203g_r0_1v0" />
<configuration PROFILE_NAME="ch32v307v_r1_1v0" ENABLED="false" GENERATION_OPTIONS="-DBOARD=ch32v307v_r1_1v0 -DLOG=1" />
<configuration PROFILE_NAME="ch32v307v_r1_1v0 USBFS" ENABLED="false" GENERATION_OPTIONS="-DBOARD=ch32v307v_r1_1v0 -DSPEED=full" />
<configuration PROFILE_NAME="da14695_dk_usb" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=da14695_dk_usb" />
<configuration PROFILE_NAME="max32650fthr" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=max32650fthr -DLOG=0 -DLOGGER=RTT" />
<configuration PROFILE_NAME="max32666fthr" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=max32666fthr -DLOG=0 -DLOGGER=RTT" />
<configuration PROFILE_NAME="max32690evkit" ENABLED="false" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DBOARD=max32690evkit -DLOG=1 -DLOGGER=RTT" />
</configurations>
</component>
</project>

14
.idea/debugServers/esp32s2.xml generated Normal file
View File

@ -0,0 +1,14 @@
<component name="DebugServers">
<generic-debug-target name="esp32s2" uniqueID="254eff00-2acf-48fe-b255-1d0c0c9c4a7a">
<debugger version="1">
<debugger kind="GDB">$USER_HOME$/.espressif/tools/xtensa-esp-elf-gdb/14.2_20240403/xtensa-esp-elf-gdb/bin/xtensa-esp32s2-elf-gdb</debugger>
<env />
</debugger>
<gdbserver exe="$USER_HOME$/.espressif/tools/openocd-esp32/v0.12.0-esp32-20241016/openocd-esp32/bin/openocd" args="-f board/esp32s2-kaluga-1.cfg">
<env />
</gdbserver>
<console port="4444" />
<target download-type="NONE" reset-command="monitor reset halt" reset-before="false" />
<connection extended-remote="false" remote-string="tcp::3333" warmup-ms="500" />
</generic-debug-target>
</component>

14
.idea/debugServers/rp2040.xml generated Normal file
View File

@ -0,0 +1,14 @@
<component name="DebugServers">
<generic-debug-target name="rp2040" uniqueID="006ce655-8571-401e-a94b-6a4f6d519724">
<debugger version="1">
<debugger kind="GDB" isBundled="true" />
<env />
</debugger>
<gdbserver exe="/usr/local/bin/openocd" args="-f interface/cmsis-dap.cfg -f target/rp2040.cfg -c &quot;adapter speed 5000&quot;">
<env />
</gdbserver>
<console enabled="true" port="4444" />
<target download-type="UPDATED_ONLY" reset-before="false" />
<connection extended-remote="false" remote-string="tcp::3333" warmup-ms="500" />
</generic-debug-target>
</component>

14
.idea/debugServers/rp2350.xml generated Normal file
View File

@ -0,0 +1,14 @@
<component name="DebugServers">
<generic-debug-target name="rp2350" uniqueID="939fdf16-9c30-4261-8435-3e8df7fd5800">
<debugger version="1">
<debugger kind="GDB" isBundled="true" />
<env />
</debugger>
<gdbserver exe="/usr/local/bin/openocd" args="-f interface/cmsis-dap.cfg -f target/rp2350.cfg -c &quot;adapter speed 5000&quot;">
<env />
</gdbserver>
<console enabled="true" port="4444" />
<target download-type="UPDATED_ONLY" reset-before="false" />
<connection extended-remote="false" remote-string="tcp::3333" warmup-ms="500" />
</generic-debug-target>
</component>

13
.idea/debugServers/rt1060.xml generated Normal file
View File

@ -0,0 +1,13 @@
<component name="DebugServers">
<jlink-debug-target name="rt1060" uniqueID="851396c6-2030-4694-b86d-21ba9547ddcb">
<debugger version="1">
<debugger kind="GDB" isBundled="true" />
<env />
</debugger>
<gdbserver exe="/usr/bin/JLinkGDBServerCLExe" />
<console port="19021" />
<target device="MIMXRT1062xxx6A" reset-before="false" />
<connection extended-remote="false" port="4444" warmup-ms="500" />
<swo />
</jlink-debug-target>
</component>

13
.idea/debugServers/rt1064.xml generated Normal file
View File

@ -0,0 +1,13 @@
<component name="DebugServers">
<jlink-debug-target name="rt1064" uniqueID="9602472b-6ce8-4a2d-9636-1c03b5fcd6da">
<debugger version="1">
<debugger kind="GDB" isBundled="true" />
<env />
</debugger>
<gdbserver exe="/usr/bin/JLinkGDBServerCLExe" />
<console port="19021" />
<target device="MIMXRT1064xxx6A" reset-before="false" />
<connection extended-remote="false" port="4444" warmup-ms="500" />
<swo />
</jlink-debug-target>
</component>

13
.idea/debugServers/sam21.xml generated Normal file
View File

@ -0,0 +1,13 @@
<component name="DebugServers">
<jlink-debug-target name="sam21" uniqueID="b22537b6-0924-4a2b-8721-48a8952239de">
<debugger version="1">
<debugger kind="GDB" isBundled="true" />
<env />
</debugger>
<gdbserver exe="/usr/bin/JLinkGDBServerCLExe" />
<console port="19021" />
<target device="ATSAMD21G18A" reset-before="false" />
<connection extended-remote="false" port="4444" warmup-ms="500" />
<swo />
</jlink-debug-target>
</component>

13
.idea/debugServers/sam51.xml generated Normal file
View File

@ -0,0 +1,13 @@
<component name="DebugServers">
<jlink-debug-target name="sam51" uniqueID="481ff0d4-6501-4394-8b6b-f7a2ca4c2675">
<debugger version="1">
<debugger kind="GDB" isBundled="true" />
<env />
</debugger>
<gdbserver exe="/usr/bin/JLinkGDBServerCLExe" />
<console port="19021" />
<target device="ATSAMD51J19A" reset-before="false" />
<connection extended-remote="false" port="4444" warmup-ms="500" />
<swo />
</jlink-debug-target>
</component>

13
.idea/debugServers/stm32f769.xml generated Normal file
View File

@ -0,0 +1,13 @@
<component name="DebugServers">
<jlink-debug-target name="stm32f769" uniqueID="7a47302f-f7e5-434b-b20b-78e95318dd0c">
<debugger version="1">
<debugger kind="GDB" isBundled="true" />
<env />
</debugger>
<gdbserver exe="/usr/bin/JLinkGDBServerCLExe" />
<console port="19021" />
<target device="STM32F769NI" reset-before="false" frequency="16000" />
<connection extended-remote="false" port="4444" warmup-ms="500" />
<swo />
</jlink-debug-target>
</component>

13
.idea/debugServers/stm32h563.xml generated Normal file
View File

@ -0,0 +1,13 @@
<component name="DebugServers">
<jlink-debug-target name="stm32h563" uniqueID="a3e9293d-113b-48b3-b83d-dd4249984abe">
<debugger version="1">
<debugger kind="GDB" isBundled="true" />
<env />
</debugger>
<gdbserver exe="/usr/bin/JLinkGDBServerCLExe" />
<console port="19021" />
<target device="STM32H562ZI" reset-before="false" frequency="16000" />
<connection extended-remote="false" port="4444" warmup-ms="500" />
<swo />
</jlink-debug-target>
</component>

13
.idea/debugServers/stm32h743.xml generated Normal file
View File

@ -0,0 +1,13 @@
<component name="DebugServers">
<jlink-debug-target name="stm32h743" uniqueID="6d6a3ed6-f66d-4f6a-9e70-6aafe5c971d0">
<debugger version="1">
<debugger kind="GDB" isBundled="true" />
<env />
</debugger>
<gdbserver exe="/usr/bin/JLinkGDBServerCLExe" />
<console port="19021" />
<target device="STM32H743XI" reset-before="false" frequency="16000" />
<connection extended-remote="false" port="4444" warmup-ms="500" />
<swo />
</jlink-debug-target>
</component>

11
.idea/runConfigurations/k64f.xml generated Normal file
View File

@ -0,0 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="k64f" type="com.jetbrains.cidr.embedded.customgdbserver.type" factoryName="com.jetbrains.cidr.embedded.customgdbserver.factory" folderName="nxp" PROGRAM_PARAMS="-device &quot;MK64FN1M0xxx12&quot; -if swd -speed 10000 -port 25321 -nogui -singlerun" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="tinyusb_examples" TARGET_NAME="cdc_msc" version="1" RUN_TARGET_PROJECT_NAME="tinyusb_examples" RUN_TARGET_NAME="cdc_msc">
<custom-gdb-server version="1" gdb-connect="tcp::25321" executable="/usr/bin/JLinkGDBServer" warmup-ms="0" download-type="ALWAYS" reset-cmd="monitor reset" reset-type="AFTER_DOWNLOAD" connection-mode="REMOTE" gdbserver-enable="false" console-enabled="false" console-port="0">
<debugger kind="GDB" isBundled="true" />
<extra-debugger-params debugger-working-dir="" debugger-env-pass-parent="true" custom-script="" />
</custom-gdb-server>
<method v="2">
<option name="CLION.COMPOUND.BUILD" enabled="true" />
</method>
</configuration>
</component>

11
.idea/runConfigurations/kl25.xml generated Normal file
View File

@ -0,0 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="kl25" type="com.jetbrains.cidr.embedded.customgdbserver.type" factoryName="com.jetbrains.cidr.embedded.customgdbserver.factory" folderName="nxp" PROGRAM_PARAMS="-device &quot;MKL25Z128xxx4&quot; -if swd -speed 50000 -port 25321 -nogui -singlerun" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="tinyusb_examples" TARGET_NAME="cdc_msc" version="1" RUN_TARGET_PROJECT_NAME="tinyusb_examples" RUN_TARGET_NAME="cdc_msc">
<custom-gdb-server version="1" gdb-connect="tcp::25321" executable="/usr/bin/JLinkGDBServer" warmup-ms="0" download-type="ALWAYS" reset-cmd="monitor reset" reset-type="AFTER_DOWNLOAD" connection-mode="REMOTE" gdbserver-enable="false" console-enabled="false" console-port="0">
<debugger kind="GDB" isBundled="true" />
<extra-debugger-params debugger-working-dir="" debugger-env-pass-parent="true" custom-script="" />
</custom-gdb-server>
<method v="2">
<option name="CLION.COMPOUND.BUILD" enabled="true" />
</method>
</configuration>
</component>

11
.idea/runConfigurations/lpc1857.xml generated Normal file
View File

@ -0,0 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="lpc1857" type="com.jetbrains.cidr.embedded.customgdbserver.type" factoryName="com.jetbrains.cidr.embedded.customgdbserver.factory" folderName="nxp" PROGRAM_PARAMS="-device &quot;lpc1857&quot; -if swd -speed 50000 -port 25321 -nogui -singlerun" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="tinyusb_examples" TARGET_NAME="device_info" version="1" RUN_TARGET_PROJECT_NAME="tinyusb_examples" RUN_TARGET_NAME="device_info">
<custom-gdb-server version="1" gdb-connect="tcp::25321" executable="/usr/bin/JLinkGDBServer" warmup-ms="0" download-type="ALWAYS" reset-cmd="monitor reset" reset-type="AFTER_DOWNLOAD" connection-mode="REMOTE" gdbserver-enable="false" console-enabled="false" console-port="0">
<debugger kind="GDB" isBundled="true" />
<extra-debugger-params debugger-working-dir="" debugger-env-pass-parent="true" custom-script="" />
</custom-gdb-server>
<method v="2">
<option name="CLION.COMPOUND.BUILD" enabled="true" />
</method>
</configuration>
</component>

11
.idea/runConfigurations/lpc4088.xml generated Normal file
View File

@ -0,0 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="lpc4088" type="com.jetbrains.cidr.embedded.customgdbserver.type" factoryName="com.jetbrains.cidr.embedded.customgdbserver.factory" folderName="nxp" PROGRAM_PARAMS="-device &quot;lpc4088&quot; -if swd -speed 50000 -port 25321 -nogui -singlerun" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="tinyusb_examples" TARGET_NAME="cdc_msc" version="1" RUN_TARGET_PROJECT_NAME="tinyusb_examples" RUN_TARGET_NAME="cdc_msc">
<custom-gdb-server version="1" gdb-connect="tcp::25321" executable="/usr/bin/JLinkGDBServer" warmup-ms="0" download-type="ALWAYS" reset-cmd="monitor reset" reset-type="AFTER_DOWNLOAD" connection-mode="REMOTE" gdbserver-enable="false" console-enabled="false" console-port="0">
<debugger kind="GDB" isBundled="true" />
<extra-debugger-params debugger-working-dir="" debugger-env-pass-parent="true" custom-script="" />
</custom-gdb-server>
<method v="2">
<option name="CLION.COMPOUND.BUILD" enabled="true" />
</method>
</configuration>
</component>

11
.idea/runConfigurations/lpc54628.xml generated Normal file
View File

@ -0,0 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="lpc54628" type="com.jetbrains.cidr.embedded.customgdbserver.type" factoryName="com.jetbrains.cidr.embedded.customgdbserver.factory" folderName="nxp" PROGRAM_PARAMS="-device &quot;LPC54628J512&quot; -if swd -speed 50000 -port 25321 -nogui -singlerun" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="tinyusb_examples" TARGET_NAME="cdc_msc" version="1" RUN_TARGET_PROJECT_NAME="tinyusb_examples" RUN_TARGET_NAME="cdc_msc">
<custom-gdb-server version="1" gdb-connect="tcp::25321" executable="/usr/bin/JLinkGDBServer" warmup-ms="0" download-type="ALWAYS" reset-cmd="monitor reset" reset-type="AFTER_DOWNLOAD" connection-mode="REMOTE" gdbserver-enable="false" console-enabled="false" console-port="0">
<debugger kind="GDB" isBundled="true" />
<extra-debugger-params debugger-working-dir="" debugger-env-pass-parent="true" custom-script="" />
</custom-gdb-server>
<method v="2">
<option name="CLION.COMPOUND.BUILD" enabled="true" />
</method>
</configuration>
</component>

11
.idea/runConfigurations/lpc55s69.xml generated Normal file
View File

@ -0,0 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="lpc55s69" type="com.jetbrains.cidr.embedded.customgdbserver.type" factoryName="com.jetbrains.cidr.embedded.customgdbserver.factory" folderName="nxp" PROGRAM_PARAMS="-device &quot;lpc55s69&quot; -if swd -speed 50000 -port 25321 -nogui -singlerun" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="tinyusb_examples" TARGET_NAME="cdc_msc" version="1" RUN_TARGET_PROJECT_NAME="tinyusb_examples" RUN_TARGET_NAME="cdc_msc">
<custom-gdb-server version="1" gdb-connect="tcp::25321" executable="/usr/bin/JLinkGDBServer" warmup-ms="0" download-type="ALWAYS" reset-cmd="monitor reset" reset-type="AFTER_DOWNLOAD" connection-mode="REMOTE" gdbserver-enable="false" console-enabled="false" console-port="0">
<debugger kind="GDB" isBundled="true" />
<extra-debugger-params debugger-working-dir="" debugger-env-pass-parent="true" custom-script="" />
</custom-gdb-server>
<method v="2">
<option name="CLION.COMPOUND.BUILD" enabled="true" />
</method>
</configuration>
</component>

11
.idea/runConfigurations/mcx947.xml generated Normal file
View File

@ -0,0 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="mcx947" type="com.jetbrains.cidr.embedded.customgdbserver.type" factoryName="com.jetbrains.cidr.embedded.customgdbserver.factory" folderName="nxp" PROGRAM_PARAMS="-device &quot;MCXN947_M33_0&quot; -if swd -speed 50000 -port 25321 -nogui -singlerun -jlinkscriptfile $ProjectFileDir$/hw/bsp/mcx/debug.jlinkscript" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="tinyusb_examples" TARGET_NAME="cdc_msc" version="1" RUN_TARGET_PROJECT_NAME="tinyusb_examples" RUN_TARGET_NAME="cdc_msc">
<custom-gdb-server version="1" gdb-connect="tcp::25321" executable="/usr/bin/JLinkGDBServer" warmup-ms="0" download-type="ALWAYS" reset-cmd="monitor reset" reset-type="AFTER_DOWNLOAD" connection-mode="REMOTE" gdbserver-enable="false" console-enabled="false" console-port="0">
<debugger kind="GDB" isBundled="true" />
<extra-debugger-params debugger-working-dir="" debugger-env-pass-parent="true" custom-script="" />
</custom-gdb-server>
<method v="2">
<option name="CLION.COMPOUND.BUILD" enabled="true" />
</method>
</configuration>
</component>

11
.idea/runConfigurations/nrf52840.xml generated Normal file
View File

@ -0,0 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="nrf52840" type="com.jetbrains.cidr.embedded.customgdbserver.type" factoryName="com.jetbrains.cidr.embedded.customgdbserver.factory" folderName="nrf" PROGRAM_PARAMS="-select usb=752001685 -device &quot;nrf52840_xxaa&quot; -if swd -speed 8000 -port 25321 -nogui -singlerun" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="tinyusb_examples" TARGET_NAME="cdc_msc" version="1" RUN_TARGET_PROJECT_NAME="tinyusb_examples" RUN_TARGET_NAME="cdc_msc">
<custom-gdb-server version="1" gdb-connect="tcp::25321" executable="/usr/bin/JLinkGDBServer" warmup-ms="0" download-type="ALWAYS" reset-cmd="monitor reset" reset-type="AFTER_DOWNLOAD" connection-mode="REMOTE" gdbserver-enable="false" console-enabled="false" console-port="0">
<debugger kind="GDB" isBundled="true" />
<extra-debugger-params debugger-working-dir="" debugger-env-pass-parent="true" custom-script="" />
</custom-gdb-server>
<method v="2">
<option name="CLION.COMPOUND.BUILD" enabled="true" />
</method>
</configuration>
</component>

11
.idea/runConfigurations/nrf5340.xml generated Normal file
View File

@ -0,0 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="nrf5340" type="com.jetbrains.cidr.embedded.customgdbserver.type" factoryName="com.jetbrains.cidr.embedded.customgdbserver.factory" folderName="nrf" PROGRAM_PARAMS="-select usb=752001685 -device &quot;nrf5340_xxaa_app&quot; -if swd -speed 16000 -port 25321 -nogui -singlerun" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="tinyusb_examples" TARGET_NAME="cdc_msc" version="1" RUN_TARGET_PROJECT_NAME="tinyusb_examples" RUN_TARGET_NAME="cdc_msc">
<custom-gdb-server version="1" gdb-connect="tcp::25321" executable="/usr/bin/JLinkGDBServer" warmup-ms="0" download-type="ALWAYS" reset-cmd="monitor reset" reset-type="AFTER_DOWNLOAD" connection-mode="REMOTE" gdbserver-enable="false" console-enabled="false" console-port="0">
<debugger kind="GDB" isBundled="true" />
<extra-debugger-params debugger-working-dir="" debugger-env-pass-parent="true" custom-script="" />
</custom-gdb-server>
<method v="2">
<option name="CLION.COMPOUND.BUILD" enabled="true" />
</method>
</configuration>
</component>

11
.idea/runConfigurations/ra2a1.xml generated Normal file
View File

@ -0,0 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="ra2a1" type="com.jetbrains.cidr.embedded.customgdbserver.type" factoryName="com.jetbrains.cidr.embedded.customgdbserver.factory" folderName="renesas" PROGRAM_PARAMS="-device &quot;R7FA2A1AB&quot; -if swd -speed 20000 -port 25321 -nogui -singlerun" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="tinyusb_examples" TARGET_NAME="cdc_msc" version="1" RUN_TARGET_PROJECT_NAME="tinyusb_examples" RUN_TARGET_NAME="cdc_msc">
<custom-gdb-server version="1" gdb-connect="tcp::25321" executable="/usr/bin/JLinkGDBServer" warmup-ms="0" download-type="ALWAYS" reset-cmd="monitor reset" reset-type="AFTER_DOWNLOAD" connection-mode="REMOTE" gdbserver-enable="false" console-enabled="false" console-port="0">
<debugger kind="GDB" isBundled="true" />
<extra-debugger-params debugger-working-dir="" debugger-env-pass-parent="true" custom-script="" />
</custom-gdb-server>
<method v="2">
<option name="CLION.COMPOUND.BUILD" enabled="true" />
</method>
</configuration>
</component>

11
.idea/runConfigurations/ra4m1.xml generated Normal file
View File

@ -0,0 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="ra4m1" type="com.jetbrains.cidr.embedded.customgdbserver.type" factoryName="com.jetbrains.cidr.embedded.customgdbserver.factory" folderName="renesas" PROGRAM_PARAMS="-device &quot;R7FA4M1AB&quot; -if swd -speed 50000 -port 25321 -nogui -singlerun -jlinkscriptfile $PROJECT_DIR$/hw/bsp/ra/debug.jlinkscript" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="tinyusb_examples" TARGET_NAME="cdc_msc" version="1" RUN_TARGET_PROJECT_NAME="tinyusb_examples" RUN_TARGET_NAME="cdc_msc">
<custom-gdb-server version="1" gdb-connect="tcp::25321" executable="/usr/bin/JLinkGDBServer" warmup-ms="0" download-type="ALWAYS" reset-cmd="monitor reset" reset-type="AFTER_DOWNLOAD" connection-mode="REMOTE" gdbserver-enable="false" console-enabled="false" console-port="0">
<debugger kind="GDB" isBundled="true" />
<extra-debugger-params debugger-working-dir="" debugger-env-pass-parent="true" custom-script="" />
</custom-gdb-server>
<method v="2">
<option name="CLION.COMPOUND.BUILD" enabled="true" />
</method>
</configuration>
</component>

11
.idea/runConfigurations/ra6m1.xml generated Normal file
View File

@ -0,0 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="ra6m1" type="com.jetbrains.cidr.embedded.customgdbserver.type" factoryName="com.jetbrains.cidr.embedded.customgdbserver.factory" folderName="renesas" PROGRAM_PARAMS="-device &quot;R7FA6M1AD&quot; -if swd -speed 50000 -port 25321 -nogui -singlerun -jlinkscriptfile $PROJECT_DIR$/hw/bsp/ra/debug.jlinkscript" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="tinyusb_examples" TARGET_NAME="cdc_msc" version="1" RUN_TARGET_PROJECT_NAME="tinyusb_examples" RUN_TARGET_NAME="cdc_msc">
<custom-gdb-server version="1" gdb-connect="tcp::25321" executable="/usr/bin/JLinkGDBServer" warmup-ms="0" download-type="ALWAYS" reset-cmd="monitor reset" reset-type="AFTER_DOWNLOAD" connection-mode="REMOTE" gdbserver-enable="false" console-enabled="false" console-port="0">
<debugger kind="GDB" isBundled="true" />
<extra-debugger-params debugger-working-dir="" debugger-env-pass-parent="true" custom-script="" />
</custom-gdb-server>
<method v="2">
<option name="CLION.COMPOUND.BUILD" enabled="true" />
</method>
</configuration>
</component>

11
.idea/runConfigurations/ra6m5.xml generated Normal file
View File

@ -0,0 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="ra6m5" type="com.jetbrains.cidr.embedded.customgdbserver.type" factoryName="com.jetbrains.cidr.embedded.customgdbserver.factory" folderName="renesas" PROGRAM_PARAMS="-device &quot;R7FA6M5BH&quot; -if swd -speed 50000 -port 25321 -nogui -singlerun -jlinkscriptfile $PROJECT_DIR$/hw/bsp/ra/debug.jlinkscript" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="tinyusb_examples" TARGET_NAME="cdc_msc" version="1" RUN_TARGET_PROJECT_NAME="tinyusb_examples" RUN_TARGET_NAME="cdc_msc">
<custom-gdb-server version="1" gdb-connect="tcp::25321" executable="/usr/bin/JLinkGDBServer" warmup-ms="0" download-type="ALWAYS" reset-cmd="monitor reset" reset-type="AFTER_DOWNLOAD" connection-mode="REMOTE" gdbserver-enable="false" console-enabled="false" console-port="0">
<debugger kind="GDB" isBundled="true" />
<extra-debugger-params debugger-working-dir="" debugger-env-pass-parent="true" custom-script="" />
</custom-gdb-server>
<method v="2">
<option name="CLION.COMPOUND.BUILD" enabled="true" />
</method>
</configuration>
</component>

10
.idea/runConfigurations/rp2040.xml generated Normal file
View File

@ -0,0 +1,10 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="rp2040" type="com.jetbrains.cidr.embedded.openocd.conf.type" factoryName="com.jetbrains.cidr.embedded.openocd.conf.factory" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="tinyusb_examples" TARGET_NAME="cdc_msc" version="1" RUN_TARGET_PROJECT_NAME="tinyusb_examples" RUN_TARGET_NAME="cdc_msc">
<openocd version="1" gdb-port="3333" telnet-port="4444" board-config="$PROJECT_DIR$/hw/bsp/rp2040/rp2040-openocd.cfg" reset-type="INIT" download-type="UPDATED_ONLY">
<debugger kind="GDB" isBundled="true" />
</openocd>
<method v="2">
<option name="CLION.COMPOUND.BUILD" enabled="true" />
</method>
</configuration>
</component>

11
.idea/runConfigurations/rt1010.xml generated Normal file
View File

@ -0,0 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="rt1010" type="com.jetbrains.cidr.embedded.customgdbserver.type" factoryName="com.jetbrains.cidr.embedded.customgdbserver.factory" folderName="nxp" PROGRAM_PARAMS="-device &quot;MIMXRT1011xxx5A&quot; -if swd -speed 50000 -port 25321 -nogui -singlerun -jlinkscriptfile $ProjectFileDir$/hw/bsp/imxrt/debug.jlinkscript" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="tinyusb_examples" TARGET_NAME="cdc_msc" version="1" RUN_TARGET_PROJECT_NAME="tinyusb_examples" RUN_TARGET_NAME="cdc_msc">
<custom-gdb-server version="1" gdb-connect="tcp::25321" executable="/usr/bin/JLinkGDBServer" warmup-ms="0" download-type="ALWAYS" reset-cmd="monitor reset" reset-type="AFTER_DOWNLOAD" connection-mode="REMOTE" gdbserver-enable="false" console-enabled="false" console-port="0">
<debugger kind="GDB" isBundled="true" />
<extra-debugger-params debugger-working-dir="" debugger-env-pass-parent="true" custom-script="" />
</custom-gdb-server>
<method v="2">
<option name="CLION.COMPOUND.BUILD" enabled="true" />
</method>
</configuration>
</component>

11
.idea/runConfigurations/rt1060.xml generated Normal file
View File

@ -0,0 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="rt1060" type="com.jetbrains.cidr.embedded.customgdbserver.type" factoryName="com.jetbrains.cidr.embedded.customgdbserver.factory" folderName="nxp" PROGRAM_PARAMS="-device &quot;MIMXRT1062xxx5A&quot; -if swd -speed 50000 -port 25321 -nogui -singlerun" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="device_info" TARGET_NAME="device_info" version="1" RUN_TARGET_PROJECT_NAME="device_info" RUN_TARGET_NAME="device_info">
<custom-gdb-server version="1" gdb-connect="tcp::25321" executable="/usr/bin/JLinkGDBServer" warmup-ms="0" download-type="ALWAYS" reset-cmd="monitor reset" reset-type="AFTER_DOWNLOAD" connection-mode="REMOTE" gdbserver-enable="false" console-enabled="false" console-port="0">
<debugger kind="GDB" isBundled="true" />
<extra-debugger-params debugger-working-dir="" debugger-env-pass-parent="true" custom-script="" />
</custom-gdb-server>
<method v="2">
<option name="CLION.COMPOUND.BUILD" enabled="true" />
</method>
</configuration>
</component>

11
.idea/runConfigurations/samd21g18.xml generated Normal file
View File

@ -0,0 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="samd21g18" type="com.jetbrains.cidr.embedded.customgdbserver.type" factoryName="com.jetbrains.cidr.embedded.customgdbserver.factory" folderName="microchip" PROGRAM_PARAMS="-device &quot;ATSAMD21G18&quot; -if swd -speed 50000 -port 25321 -nogui -singlerun" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="tinyusb_examples" TARGET_NAME="cdc_msc" version="1" RUN_TARGET_PROJECT_NAME="tinyusb_examples" RUN_TARGET_NAME="cdc_msc">
<custom-gdb-server version="1" gdb-connect="tcp::25321" executable="/usr/bin/JLinkGDBServer" warmup-ms="0" download-type="ALWAYS" reset-cmd="monitor reset" reset-type="AFTER_DOWNLOAD" connection-mode="REMOTE" gdbserver-enable="false" console-enabled="false" console-port="0">
<debugger kind="GDB" isBundled="true" />
<extra-debugger-params debugger-working-dir="" debugger-env-pass-parent="true" custom-script="" />
</custom-gdb-server>
<method v="2">
<option name="CLION.COMPOUND.BUILD" enabled="true" />
</method>
</configuration>
</component>

11
.idea/runConfigurations/samd51j19.xml generated Normal file
View File

@ -0,0 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="samd51j19" type="com.jetbrains.cidr.embedded.customgdbserver.type" factoryName="com.jetbrains.cidr.embedded.customgdbserver.factory" folderName="microchip" PROGRAM_PARAMS="-device &quot;ATSAMD51J19A&quot; -if swd -speed 50000 -port 25321 -nogui -singlerun" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="tinyusb_examples" TARGET_NAME="cdc_msc" version="1" RUN_TARGET_PROJECT_NAME="tinyusb_examples" RUN_TARGET_NAME="cdc_msc">
<custom-gdb-server version="1" gdb-connect="tcp::25321" executable="/usr/bin/JLinkGDBServer" warmup-ms="0" download-type="ALWAYS" reset-cmd="monitor reset" reset-type="AFTER_DOWNLOAD" connection-mode="REMOTE" gdbserver-enable="false" console-enabled="false" console-port="0">
<debugger kind="GDB" isBundled="true" />
<extra-debugger-params debugger-working-dir="" debugger-env-pass-parent="true" custom-script="" />
</custom-gdb-server>
<method v="2">
<option name="CLION.COMPOUND.BUILD" enabled="true" />
</method>
</configuration>
</component>

10
.idea/runConfigurations/stlink.xml generated Normal file
View File

@ -0,0 +1,10 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="stlink" type="com.jetbrains.cidr.embedded.customgdbserver.type" factoryName="com.jetbrains.cidr.embedded.customgdbserver.factory" PROGRAM_PARAMS="-p 49578 -cp &quot;$USER_HOME$/st/stm32cubeide_1.16.1/plugins/com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.linux64_2.1.400.202404281720/tools/bin&quot; --frequency 8000 --swd" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="tinyusb_examples" TARGET_NAME="cdc_msc" CONFIG_NAME="raspberry_pi_pico" version="1" RUN_TARGET_PROJECT_NAME="tinyusb_examples" RUN_TARGET_NAME="cdc_msc">
<custom-gdb-server version="1" gdb-connect="tcp::49578" executable="$USER_HOME$/st/stm32cubeide_1.16.1/plugins/com.st.stm32cube.ide.mcu.externaltools.stlink-gdb-server.linux64_2.1.400.202404281720/tools/bin/ST-LINK_gdbserver" warmup-ms="0" download-type="ALWAYS" reset-cmd="monitor reset" reset-type="AFTER_DOWNLOAD">
<debugger kind="GDB" isBundled="true" />
</custom-gdb-server>
<method v="2">
<option name="CLION.COMPOUND.BUILD" enabled="true" />
</method>
</configuration>
</component>

11
.idea/runConfigurations/stm32g474.xml generated Normal file
View File

@ -0,0 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="stm32g474" type="com.jetbrains.cidr.embedded.customgdbserver.type" factoryName="com.jetbrains.cidr.embedded.customgdbserver.factory" folderName="stm32" PROGRAM_PARAMS="-device &quot;stm32g474re&quot; -if swd -speed 50000 -port 25321 -nogui -singlerun" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="tinyusb_examples" TARGET_NAME="cdc_msc" version="1" RUN_TARGET_PROJECT_NAME="tinyusb_examples" RUN_TARGET_NAME="cdc_msc">
<custom-gdb-server version="1" gdb-connect="tcp::25321" executable="/usr/bin/JLinkGDBServer" warmup-ms="0" download-type="ALWAYS" reset-cmd="monitor reset" reset-type="AFTER_DOWNLOAD" connection-mode="REMOTE" gdbserver-enable="false" console-enabled="false" console-port="0">
<debugger kind="GDB" isBundled="true" />
<extra-debugger-params debugger-working-dir="" debugger-env-pass-parent="true" custom-script="" />
</custom-gdb-server>
<method v="2">
<option name="CLION.COMPOUND.BUILD" enabled="true" />
</method>
</configuration>
</component>

11
.idea/runConfigurations/stm32h563.xml generated Normal file
View File

@ -0,0 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="stm32h563" type="com.jetbrains.cidr.embedded.customgdbserver.type" factoryName="com.jetbrains.cidr.embedded.customgdbserver.factory" folderName="stm32" PROGRAM_PARAMS="-device &quot;stm32h563zi&quot; -if swd -speed 50000 -port 25321 -nogui -singlerun" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="tinyusb_examples" TARGET_NAME="cdc_msc" version="1" RUN_TARGET_PROJECT_NAME="tinyusb_examples" RUN_TARGET_NAME="cdc_msc">
<custom-gdb-server version="1" gdb-connect="tcp::25321" executable="/usr/bin/JLinkGDBServer" warmup-ms="0" download-type="ALWAYS" reset-cmd="monitor reset" reset-type="AFTER_DOWNLOAD" connection-mode="REMOTE" gdbserver-enable="false" console-enabled="false" console-port="0">
<debugger kind="GDB" isBundled="true" />
<extra-debugger-params debugger-working-dir="" debugger-env-pass-parent="true" custom-script="" />
</custom-gdb-server>
<method v="2">
<option name="CLION.COMPOUND.BUILD" enabled="true" />
</method>
</configuration>
</component>

11
.idea/runConfigurations/stm32h743.xml generated Normal file
View File

@ -0,0 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="stm32h743" type="com.jetbrains.cidr.embedded.customgdbserver.type" factoryName="com.jetbrains.cidr.embedded.customgdbserver.factory" folderName="stm32" PROGRAM_PARAMS="-device &quot;stm32h743xi&quot; -if swd -speed 50000 -port 25321 -nogui -singlerun" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="tinyusb_examples" TARGET_NAME="cdc_msc_hid" version="1" RUN_TARGET_PROJECT_NAME="tinyusb_examples" RUN_TARGET_NAME="cdc_msc_hid">
<custom-gdb-server version="1" gdb-connect="tcp::25321" executable="/usr/bin/JLinkGDBServer" warmup-ms="0" download-type="ALWAYS" reset-cmd="monitor reset" reset-type="AFTER_DOWNLOAD" connection-mode="REMOTE" gdbserver-enable="false" console-enabled="false" console-port="0">
<debugger kind="GDB" isBundled="true" />
<extra-debugger-params debugger-working-dir="" debugger-env-pass-parent="true" custom-script="" />
</custom-gdb-server>
<method v="2">
<option name="CLION.COMPOUND.BUILD" enabled="true" />
</method>
</configuration>
</component>

11
.idea/runConfigurations/stm32u5a5.xml generated Normal file
View File

@ -0,0 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="stm32u5a5" type="com.jetbrains.cidr.embedded.customgdbserver.type" factoryName="com.jetbrains.cidr.embedded.customgdbserver.factory" folderName="stm32" PROGRAM_PARAMS="-device &quot;stm32u5a5zj&quot; -if swd -speed 50000 -port 25321 -nogui -singlerun" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="tinyusb_examples" TARGET_NAME="cdc_msc" version="1" RUN_TARGET_PROJECT_NAME="tinyusb_examples" RUN_TARGET_NAME="cdc_msc">
<custom-gdb-server version="1" gdb-connect="tcp::25321" executable="/usr/bin/JLinkGDBServer" warmup-ms="0" download-type="ALWAYS" reset-cmd="monitor reset" reset-type="AFTER_DOWNLOAD" connection-mode="REMOTE" gdbserver-enable="false" console-enabled="false" console-port="0">
<debugger kind="GDB" isBundled="true" />
<extra-debugger-params debugger-working-dir="" debugger-env-pass-parent="true" custom-script="" />
</custom-gdb-server>
<method v="2">
<option name="CLION.COMPOUND.BUILD" enabled="true" />
</method>
</configuration>
</component>

11
.idea/runConfigurations/uno_r4.xml generated Normal file
View File

@ -0,0 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="uno_r4" type="com.jetbrains.cidr.embedded.customgdbserver.type" factoryName="com.jetbrains.cidr.embedded.customgdbserver.factory" folderName="renesas" PROGRAM_PARAMS="-device &quot;R7FA4M1AB&quot; -if swd -speed 20000 -port 25321 -nogui -singlerun -jlinkscriptfile $PROJECT_DIR$/hw/bsp/ra/debug.jlinkscript" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="tinyusb_examples" TARGET_NAME="cdc_msc" version="1" RUN_TARGET_PROJECT_NAME="tinyusb_examples" RUN_TARGET_NAME="cdc_msc">
<custom-gdb-server version="1" gdb-connect="tcp::25321" executable="/usr/bin/JLinkGDBServer" warmup-ms="0" download-type="ALWAYS" reset-cmd="monitor reset" reset-type="AFTER_DOWNLOAD" connection-mode="REMOTE" gdbserver-enable="false" console-enabled="false" console-port="0">
<debugger kind="GDB" isBundled="true" />
<extra-debugger-params debugger-working-dir="" debugger-env-pass-parent="true" custom-script="" />
</custom-gdb-server>
<method v="2">
<option name="CLION.COMPOUND.BUILD" enabled="true" />
</method>
</configuration>
</component>

7
.idea/vcs.xml generated Normal file
View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
<mapping directory="$PROJECT_DIR$/hw/mcu/raspberry_pi/Pico-PIO-USB" vcs="Git" />
</component>
</project>

59
.pre-commit-config.yaml Normal file
View File

@ -0,0 +1,59 @@
# SPDX-FileCopyrightText: 2020 Diego Elio Pettenò
#
# SPDX-License-Identifier: Unlicense
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
hooks:
- id: check-yaml
- id: trailing-whitespace
exclude: |
(?x)^(
hw/bsp/mcx/sdk/
)
- id: end-of-file-fixer
exclude: |
(?x)^(
.idea/|
hw/bsp/mcx/sdk/|
docs/contributing/code_of_conduct.rst|
docs/info/contributors.rst
)
- id: forbid-submodules
- repo: https://github.com/codespell-project/codespell
rev: v2.2.4
hooks:
- id: codespell
args: [-w]
exclude: |
(?x)^(
lib/|
hw/bsp/mcx/sdk/
)
- repo: local
hooks:
- id: unit-test
name: unit-test
files: ^(src/|test/unit-test/)
entry: sh -c "cd test/unit-test && ceedling test:all"
pass_filenames: false
types_or: [c, header]
language: system
# - id: build-fuzzer
# name: build-fuzzer
# files: ^(src/|test/fuzz/)
# language: system
# types_or: [c, header]
# entry: |
# bash -c 'export CC=clang
# export CXX=clang++
# fuzz_harness=$(ls -d test/fuzz/device/*/)
# for h in $fuzz_harness
# do
# make -C $h get-deps
# make -C $h all
# done'

24
.readthedocs.yaml Normal file
View File

@ -0,0 +1,24 @@
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
version: 2
# Set the version of Python and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "3.11"
# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/conf.py
# Optionally declare the Python requirements required to build your docs
python:
install:
- requirements: docs/requirements.txt
submodules:
include: []
recursive: false

View File

@ -1,76 +0,0 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at thach@tinyusb.org. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq

88
CODE_OF_CONDUCT.rst Normal file
View File

@ -0,0 +1,88 @@
***************
Code of Conduct
***************
Our Pledge
----------
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our
project and our community a harassment-free experience for everyone,
regardless of age, body size, disability, ethnicity, sex
characteristics, gender identity and expression, level of experience,
education, socio-economic status, nationality, personal appearance,
race, religion, or sexual identity and orientation.
Our Standards
-------------
Examples of behavior that contributes to creating a positive environment
include:
- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
- The use of sexualized language or imagery and unwelcome sexual
attention or advances
- Trolling, insulting/derogatory comments, and personal or political
attacks
- Public or private harassment
- Publishing others' private information, such as a physical or
electronic address, without explicit permission
- Other conduct which could reasonably be considered inappropriate in a
professional setting
Our Responsibilities
--------------------
Project maintainers are responsible for clarifying the standards of
acceptable behavior and are expected to take appropriate and fair
corrective action in response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit,
or reject comments, commits, code, wiki edits, issues, and other
contributions that are not aligned to this Code of Conduct, or to ban
temporarily or permanently any contributor for other behaviors that they
deem inappropriate, threatening, offensive, or harmful.
Scope
-----
This Code of Conduct applies both within project spaces and in public
spaces when an individual is representing the project or its community.
Examples of representing a project or community include using an
official project e-mail address, posting via an official social media
account, or acting as an appointed representative at an online or
offline event. Representation of a project may be further defined and
clarified by project maintainers.
Enforcement
-----------
Instances of abusive, harassing, or otherwise unacceptable behavior may
be reported by contacting the project team at thach@tinyusb.org. All
complaints will be reviewed and investigated and will result in a
response that is deemed necessary and appropriate to the circumstances.
The project team is obligated to maintain confidentiality with regard to
the reporter of an incident. Further details of specific enforcement
policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in
good faith may face temporary or permanent repercussions as determined
by other members of the project's leadership.
Attribution
-----------
This Code of Conduct is adapted from the `Contributor
Covenant <https://www.contributor-covenant.org>`__, version 1.4,
available at
https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq

View File

@ -1,79 +0,0 @@
# TinyUSB contributors (sorted alphabetically)
- **[Adafruit Team](https://github.com/adafruit)**
- Main supporter and sponsor for hardware boards and kits
- Discussion and suggestion for feature and improvement
- Design the project logo
- **[Ha Thach](https://github.com/hathach)**
- *Author and maintainer*
- Most features development
- **[Hristo Gochkov](https://github.com/me-no-dev)**
- Improve ESP32s2 DCD
- **[Jan Dümpelmann](https://github.com/duempel)**
- Improve transfer performance for Synopsys DCD for STM32 MCUs
- **[Jeff Epler](https://github.com/jepler)**
- Improve MIDI class driver
- **[Jerzy Kasenberg](https://github.com/kasjer)**
- Add new DCD port for **Dialog DA1469x**
- Add new class driver for **Bluetooth HCI**
- Add ISO transfer for STM32 Synopsys, Nordic nRF, Dialog DA1469x
- Improve Audio driver and add uac2_headset example
- Improve STM32 Synopsys DCD with various PRs
- **[Kamil Tomaszewski](https://github.com/kamtom480)**
- Add new DCD port for **Sony CXD56** (spresnese board)
- **[Kay Sievers](https://github.com/kaysievers)**
- Improve MIDI driver with packet API
- **[Nathan Conrad](https://github.com/pigrew)**
- Add new DCD port for **STM32 fsdev** Fullspeed device for STM32 L0, F0, F1, F3 etc ...
- Add new class driver for **USB Test and Measurement Class (USBTMC)**
- Various improvement e.g Zero-length packet, Lint setup
- Board support for STM32F070RB Nucleo, STM32F303 Discovery
- **[Peter Lawrence](https://github.com/majbthrd)**
- Add new DCD port for **Nuvoton NUC 120, 121, 125, 126, 505**
- Add new class driver for **USBNET RNDIS, CDC-ECM**
- Add *net_lwip_webserver* example for demonstration of usbnet with lwip
- Board support for NuTiny NUC120, NUC121s, NUC125s, NUC126V, NUC505
- Improve multiple cdc interfaces API & add cdc_dual_ports example
- **[Reinhard Panhuber](https://github.com/PanRe)**
- Add new class driver for **USB Audio Class 2.0 (UAC2)**
- Enhance tu_fifo with unmasked pointer, which better support DMA
- **[Scott Shawcroft](https://github.com/tannewt)**
- Add new DCD port for **SAMD21 and SAMD51**
- Add new class driver for **Musical Instrument Digital Interface (MIDI)**
- Improve USBD control transfer, MSC, CDC class driver
- Board support for Metro M0 & M4 express
- Write the execellent porting.md documentation
- Add initial Makefile
- **[Sean Cross](https://github.com/xobs)**
- Add new DCD port for **ValentyUSB eptri** (fomu board)
- **[Sylvain "tnt" Munaut](https://github.com/smunaut)**
- Add new class driver for DFU Runtime
- **[Timon Skerutsch](https://github.com/PTS93)**
- Add hid_test.js script and extensive test for bi-directional raw HID
- **[Tod E. Kurt](https://github.com/todbot)**
- Add hid_test.js script and extensive test for bi-directional raw HID
- **[Uwe Bonnes](https://github.com/UweBonnes)**
- Improve STM32 Synopsys highspeed DCD
- **[William D. Jones](https://github.com/cr1901)**
- Add new DCD port for **Synopsys DesignWare** for STM32 L4, F2, F4, F7, H7 etc ...
- Add new DCD port for **TI MSP430**
- Board support for STM32F407 Discovery, STM32H743 Nucleo, pyboard v1.1, msp_exp430f5529lp etc ...
**[Full contributors list](https://github.com/hathach/tinyusb/contributors).**

208
CONTRIBUTORS.rst Normal file
View File

@ -0,0 +1,208 @@
************
Contributors
************
Special thanks to all the people who spent their precious time and effort to help this project so far.
list contributors and their awesome work for the stack:
Notable contributors
====================
(sorted alphabetically)
`Adafruit Team <https://github.com/adafruit>`__
-----------------------------------------------
- Main supporter and sponsor for hardware boards and kits
- Discussion and suggestion for feature and improvement
- Design the project logo
`Gordon McNab <https://github.com/ftdigdm>`__
---------------------------------------------
- Add new DCD port for Bridgetek FT90x and FT93x
`Ha Thach <https://github.com/hathach>`__
-----------------------------------------
- *Author and maintainer*
- Most features development
`Hristo Gochkov <https://github.com/me-no-dev>`__
-------------------------------------------------
- Improve ESP32s2 DCD
`Jacob Berg Potter <https://github.com/j4cbo>`__
------------------------------------------------
- Add new class driver for network CDC-NCM
`Jan Dümpelmann <https://github.com/duempel>`__
-----------------------------------------------
- Improve transfer performance for Synopsys DCD for STM32 MCUs
`Jeff Epler <https://github.com/jepler>`__
------------------------------------------
- Improve MIDI class driver
`Jerzy Kasenberg <https://github.com/kasjer>`__
-----------------------------------------------
- Add new DCD port for Dialog DA1469x
- Add new DCD port for PIC32MZ
- Add new class driver for Bluetooth HCI
- Add ISO transfer for STM32 Synopsys, Nordic nRF, Dialog DA1469x
- Improve Audio driver and add uac2\_headset example
- Improve STM32 Synopsys DCD with various PRs
`J McCarthy <https://github.com/xmos-jmccarthy>`__
--------------------------------------------------
- Add new DFU 1.1 class driver
- Add new example for dfu
`Kamil Tomaszewski <https://github.com/kamtom480>`__
----------------------------------------------------
- Add new DCD port for Sony CXD56 (spresnese board)
`Kay Sievers <https://github.com/kaysievers>`__
-----------------------------------------------
- Improve MIDI driver with packet API
`Koji KITAYAMA <https://github.com/kkitayam>`__
-----------------------------------------------
- Add new DCD and HCD port for NXP Kinetis KL25
- Add new DCD and HCD port for Renesas RX family (RX600, RX700 ..) with GR-CITRUS, RX65n target board
- Add new DCD and HCD port for Mentor musb with MSP432E4
- Add new class driver for USB Video Class (UVC 1.5)
`Nathan Conrad <https://github.com/pigrew>`__
---------------------------------------------
- Add new DCD port for STM32 fsdev Fullspeed device for STM32 L0,
F0, F1, F3 etc ...
- Add new class driver for USB Test and Measurement Class (USBTMC)
- Various improvement e.g Zero-length packet, Lint setup
- Board support for STM32F070RB Nucleo, STM32F303 Discovery
`Peter Lawrence <https://github.com/majbthrd>`__
------------------------------------------------
- Add new DCD port for Nuvoton NUC 120, 121, 125, 126, 505
- Add new class driver for network RNDIS, CDC-ECM
- Enhance CDC-NCM network driver to compatible with RNDIS/ECM
- Add *net\_lwip\_webserver* example for demonstration of usbnet with lwip
- Board support for NuTiny NUC120, NUC121s, NUC125s, NUC126V, NUC505
- Improve multiple cdc interfaces API & add cdc\_dual\_ports example
`Rafael Silva <https://github.com/perigoso>`__
----------------------------------------------
- Port DCD Synopsys to support Silabs EFM32GG12 with SLTB009A board
- Rewrite documentation in rst and setup for readthedocs
- Generalize Renesas driver and support RA family with EK-RA4M3 board
`Raspberry Pi Team <https://github.com/raspberrypi>`__
------------------------------------------------------
- Add new DCD port for Raspberry Pi RP2040
- Add new HCD port for Raspberry Pi RP2040
`Reinhard Panhuber <https://github.com/PanRe>`__
------------------------------------------------
- Add new class driver for USB Audio Class 2.0 (UAC2)
- Rework tu\_fifo with unmasked pointer, add DMA support, and constant address support
- Add new DCD/USBD edpt\_xfer\_fifo() API for optimizing endpoint transfer
- Add and greatly improve Isochronous transfer
- Add new audio examples: audio\_test and audio\_4\_channel\_mic
`Scott Shawcroft <https://github.com/tannewt>`__
------------------------------------------------
- Add new DCD port for SAMD21 and SAMD51
- Add new class driver for Musical Instrument Digital Interface (MIDI)
- Improve USBD control transfer, MSC, CDC class driver
- Board support for Metro M0 & M4 express
- Write the excellent porting.md documentation
- Add initial Makefile
`Sean Cross <https://github.com/xobs>`__
----------------------------------------
- Add new DCD port for ValentyUSB eptri (fomu board)
`Sylvain "tnt" Munaut <https://github.com/smunaut>`__
-----------------------------------------------------
- Add new class driver for DFU Runtime
`Tian Yunhao <https://github.com/t123yh>`__
-------------------------------------------
- Add new DCD port for Allwinner F1C100S/F1C200S
- Add support for osal_rtx4
`Timon Skerutsch <https://github.com/PTS93>`__
----------------------------------------------
- Add hid\_test.js script and extensive test for bi-directional raw HID
`Tod E. Kurt <https://github.com/todbot>`__
-------------------------------------------
- Add hid\_test.js script and extensive test for bi-directional raw HID
`Uwe Bonnes <https://github.com/UweBonnes>`__
---------------------------------------------
- Improve STM32 Synopsys highspeed DCD
`William D. Jones <https://github.com/cr1901>`__
------------------------------------------------
- Add new DCD port for Synopsys DesignWare for STM32 L4, F2, F4,
F7, H7 etc ...
- Add new DCD port for TI MSP430
- Board support for STM32F407 Discovery, STM32H743 Nucleo, pyboard v1.1, msp\_exp430f5529lp etc ...
`Zixun Li <https://github.com/HiFiPhile>`__
-------------------------------------------
- Add new DCD port for Microchip SAMx7x
- Add IAR compiler support
- Improve UAC2, CDC, DFU class driver
- Improve stm32_fsdev, chipidea_ci_hs, lpc_ip3511 DCD
- Host IAR Build CI & hardware in the loop (HITL) test
`Full contributors list <https://github.com/hathach/tinyusb/contributors>`__
============================================================================

104
README.md
View File

@ -1,104 +0,0 @@
# TinyUSB
![tinyUSB_240x100](https://user-images.githubusercontent.com/249515/62646655-f9393200-b978-11e9-9c53-484862f15503.png)
[![Build Status](https://github.com/hathach/tinyusb/workflows/Build/badge.svg)](https://github.com/hathach/tinyusb/actions) [![License](https://img.shields.io/badge/license-MIT-brightgreen.svg)](https://opensource.org/licenses/MIT)
TinyUSB is an open-source cross-platform USB Host/Device stack for embedded system, designed to be memory-safe with no dynamic allocation and thread-safe with all interrupt events are deferred then handled in the non-ISR task function.
![tinyusb](https://user-images.githubusercontent.com/249515/49858616-f60c9700-fe27-11e8-8627-e76936352ff7.png)
```
.
├── docs # Documentation
├── examples # Sample with Makefile and Segger Embedded build support
├── hw
│   ├── bsp # Supported boards source files
│   └── mcu # Low level mcu core & peripheral drivers
├── lib # Sources from 3rd party such as freeRTOS, fatfs ...
├── src # All sources files for TinyUSB stack itself.
├── test # Unit tests for the stack
└── tools # Files used internally
```
## Contributors
Special thanks to all the people who spent their precious time and effort to help this project so far. Check out the
[CONTRIBUTORS.md](CONTRIBUTORS.md) file for the list of all contributors and their awesome work for the stack.
## Supported MCUs
The stack supports the following MCUs:
- **Espressif:** ESP32-S2
- **Dialog:** DA1469x
- **MicroChip:** SAMD11, SAMD21, SAMD51, SAME5x, SAMG55
- **NordicSemi:** nRF52833, nRF52840
- **Nuvoton:** NUC120, NUC121/NUC125, NUC126, NUC505
- **NXP:**
- LPC Series: 11Uxx, 13xx, 175x_6x, 177x_8x, 18xx, 40xx, 43xx, 51Uxx, 54xxx, 55xx
- iMX RT Series: RT1011, RT1015, RT1021, RT1052, RT1062, RT1064
- **Sony:** CXD56
- **ST:** STM32 series: L0, F0, F1, F2, F3, F4, F7, H7 both FullSpeed and HighSpeed
- **TI:** MSP430
- **[ValentyUSB](https://github.com/im-tomu/valentyusb)** eptri
[Here is the list of supported Boards](docs/boards.md) that can be used with provided examples.
## Device Stack
Supports multiple device configurations by dynamically changing usb descriptors. Low power functions such like suspend, resume, and remote wakeup. Following device classes are supported:
- USB Audio Class 2.0 (UAC2) still work in progress
- Bluetooth Host Controller Interface (BTH HCI)
- Communication Class (CDC)
- Device Firmware Update (DFU): only Runtinme
- Human Interface Device (HID): Generic (In & Out), Keyboard, Mouse, Gamepad etc ...
- Mass Storage Class (MSC): with multiple LUNs
- Musical Instrument Digital Interface (MIDI)
- Network with RNDIS, CDC-ECM (work in progress)
- USB Test and Measurement Class (USBTMC)
- Vendor-specific class support with generic In & Out endpoints. Can be used with MS OS 2.0 compatible descriptor to load winUSB driver without INF file.
- [WebUSB](https://github.com/WICG/webusb) with vendor-specific class
## Host Stack
**Most active development is on the Device stack. The Host stack is under rework and largely untested.**
- Human Interface Device (HID): Keyboard, Mouse, Generic
- Mass Storage Class (MSC)
- Hub currently only supports 1 level of hub (due to my laziness)
## OS Abstraction layer
TinyUSB is completely thread-safe by pushing all ISR events into a central queue, then process it later in the non-ISR context task function. It also uses semaphore/mutex to access shared resources such as CDC FIFO. Therefore the stack needs to use some of OS's basic APIs. Following OSes are already supported out of the box.
- **No OS** : Disabling USB IRQ is used as way to provide mutex
- **FreeRTOS**
- **Mynewt** Due to the newt package build system, Mynewt examples are better to be on its [own repo](https://github.com/hathach/mynewt-tinyusb-example)
## Getting Started
[Here are the details for getting started](docs/getting_started.md) with the stack.
## Porting
Want to help add TinyUSB support for a new MCU? Read [here](docs/porting.md) for an explanation on the low-level API needed by TinyUSB.
## License
MIT license for all TinyUSB sources `src` folder, [Full license is here](LICENSE). However, each file is individually licensed especially those in `lib` and `hw/mcu` folder. Please make sure you understand all the license term for files you use in your project.
## Uses
TinyUSB is currently used by these other projects:
- [Adafruit nRF52 Arduino](https://github.com/adafruit/Adafruit_nRF52_Arduino)
- [Adafruit nRF52 Bootloader](https://github.com/adafruit/Adafruit_nRF52_Bootloader)
- [Adafruit SAMD Arduino](https://github.com/adafruit/ArduinoCore-samd)
- [CircuitPython](https://github.com/adafruit/circuitpython)
- [MicroPython](https://github.com/micropython/micropython)
- [mynewt](https://mynewt.apache.org)
- [TinyUSB Arduino Library](https://github.com/adafruit/Adafruit_TinyUSB_Arduino)
Let me know if your project also uses TinyUSB and want to share.

262
README.rst Normal file
View File

@ -0,0 +1,262 @@
|Build Status| |CircleCI Status| |Documentation Status| |Fuzzing Status| |License|
Sponsors
========
TinyUSB is funded by: Adafruit. Purchasing products from them helps to support this project.
.. figure:: docs/assets/adafruit_logo.svg
:alt: Adafruit Logo
:target: https://www.adafruit.com
TinyUSB Project
===============
.. figure:: docs/assets/logo.svg
:alt: TinyUSB
TinyUSB is an open-source cross-platform USB Host/Device stack for embedded system, designed to be memory-safe with no dynamic allocation and thread-safe with all interrupt events are deferred then handled in the non-ISR task function. Check out the online `documentation <https://docs.tinyusb.org/>`__ for more details.
.. figure:: docs/assets/stack.svg
:width: 500px
:alt: stackup
::
.
├── docs # Documentation
├── examples # Examples with make and cmake build system
├── hw
│ ├── bsp # Supported boards source files
│ └── mcu # Low level mcu core & peripheral drivers
├── lib # Sources from 3rd party such as FreeRTOS, FatFs ...
├── src # All sources files for TinyUSB stack itself.
├── test # Tests: unit test, fuzzing, hardware test
└── tools # Files used internally
Getting started
===============
See the `online documentation <https://docs.tinyusb.org>`_ for information about using TinyUSB and how it is implemented.
Check out `Getting Started`_ guide for adding TinyUSB to your project or building the examples. If you are new to TinyUSB, we recommend starting with the ``cdc_msc`` example. There is a handful of `Supported Boards`_ that should work out of the box.
We use `GitHub Discussions <https://github.com/hathach/tinyusb/discussions>`_ as our forum. It is a great place to ask questions and advice from the community or to discuss your TinyUSB-based projects.
For bugs and feature requests, please `raise an issue <https://github.com/hathach/tinyusb/issues>`_ and follow the templates there.
See `Porting`_ guide for adding support for new MCUs and boards.
Device Stack
============
Supports multiple device configurations by dynamically changing USB descriptors, low power functions such like suspend, resume, and remote wakeup. The following device classes are supported:
- Audio Class 2.0 (UAC2)
- Bluetooth Host Controller Interface (BTH HCI)
- Communication Device Class (CDC)
- Device Firmware Update (DFU): DFU mode (WIP) and Runtime
- Human Interface Device (HID): Generic (In & Out), Keyboard, Mouse, Gamepad etc ...
- Mass Storage Class (MSC): with multiple LUNs
- Musical Instrument Digital Interface (MIDI)
- Network with RNDIS, Ethernet Control Model (ECM), Network Control Model (NCM)
- Test and Measurement Class (USBTMC)
- Video class 1.5 (UVC): work in progress
- Vendor-specific class support with generic In & Out endpoints. Can be used with MS OS 2.0 compatible descriptor to load winUSB driver without INF file.
- `WebUSB <https://github.com/WICG/webusb>`__ with vendor-specific class
If you have a special requirement, ``usbd_app_driver_get_cb()`` can be used to write your own class driver without modifying the stack. Here is how the RPi team added their reset interface `raspberrypi/pico-sdk#197 <https://github.com/raspberrypi/pico-sdk/pull/197>`_
Host Stack
==========
- Human Interface Device (HID): Keyboard, Mouse, Generic
- Mass Storage Class (MSC)
- Communication Device Class: CDC-ACM
- Vendor serial over USB: FTDI, CP210x, CH34x
- Hub with multiple-level support
Similar to the Device Stack, if you have a special requirement, ``usbh_app_driver_get_cb()`` can be used to write your own class driver without modifying the stack.
Power Delivery Stack
====================
- Power Delivery 3.0 (PD3.0) with USB Type-C support (WIP)
- Super early stage, only for testing purpose
- Only support STM32 G4
OS Abstraction layer
====================
TinyUSB is completely thread-safe by pushing all Interrupt Service Request (ISR) events into a central queue, then processing them later in the non-ISR context task function. It also uses semaphore/mutex to access shared resources such as Communication Device Class (CDC) FIFO. Therefore the stack needs to use some of the OS's basic APIs. Following OSes are already supported out of the box.
- **No OS**
- **FreeRTOS**
- `RT-Thread <https://github.com/RT-Thread/rt-thread>`_: `repo <https://github.com/RT-Thread-packages/tinyusb>`_
- **Mynewt** Due to the newt package build system, Mynewt examples are better to be on its `own repo <https://github.com/hathach/mynewt-tinyusb-example>`_
Supported CPUs
==============
+--------------+-----------------------------+--------+------+-----------+------------------------+-------------------+
| Manufacturer | Family | Device | Host | Highspeed | Driver | Note |
+==============+=============================+========+======+===========+========================+===================+
| Allwinner | F1C100s/F1C200s | ✔ | | ✔ | sunxi | musb variant |
+--------------+-----------------------------+--------+------+-----------+------------------------+-------------------+
| Analog | MAX3421E | | ✔ | ✖ | max3421 | via SPI |
| +-----------------------------+--------+------+-----------+------------------------+-------------------+
| | MAX32 650, 666, 690, | ✔ | | ✔ | musb | 1-dir ep |
| | MAX78002 | | | | | |
+--------------+-----------------------------+--------+------+-----------+------------------------+-------------------+
| Brigetek | FT90x | ✔ | | ✔ | ft9xx | 1-dir ep |
+--------------+-----------------------------+--------+------+-----------+------------------------+-------------------+
| Broadcom | BCM2711, BCM2837 | ✔ | | ✔ | dwc2 | |
+--------------+-----------------------------+--------+------+-----------+------------------------+-------------------+
| Dialog | DA1469x | ✔ | ✖ | ✖ | da146xx | |
+--------------+-----------------------------+--------+------+-----------+------------------------+-------------------+
| Espressif | S2, S3 | ✔ | ✔ | ✖ | dwc2 or esp32sx | |
| ESP32 +-----------------------------+--------+------+-----------+------------------------+-------------------+
| | P4 | ✔ | ✔ | ✔ | dwc2 | |
+--------------+----+------------------------+--------+------+-----------+------------------------+-------------------+
| GigaDevice | GD32VF103 | ✔ | | ✖ | dwc2 | |
+--------------+-----------------------------+--------+------+-----------+------------------------+-------------------+
| Infineon | XMC4500 | ✔ | ✔ | ✖ | dwc2 | |
+--------------+-----+-----------------------+--------+------+-----------+------------------------+-------------------+
| MicroChip | SAM | D11, D21, L21, L22 | ✔ | | ✖ | samd | |
| | +-----------------------+--------+------+-----------+------------------------+-------------------+
| | | D51, E5x | ✔ | | ✖ | samd | |
| | +-----------------------+--------+------+-----------+------------------------+-------------------+
| | | G55 | ✔ | | ✖ | samg | 1-dir ep |
| | +-----------------------+--------+------+-----------+------------------------+-------------------+
| | | E70,S70,V70,V71 | ✔ | | ✔ | samx7x | 1-dir ep |
| +-----+-----------------------+--------+------+-----------+------------------------+-------------------+
| | PIC | 24 | ✔ | | | pic | ci_fs variant |
| | +-----------------------+--------+------+-----------+------------------------+-------------------+
| | | 32 mm, mk, mx | ✔ | | | pic | ci_fs variant |
| | +-----------------------+--------+------+-----------+------------------------+-------------------+
| | | dsPIC33 | ✔ | | | pic | ci_fs variant |
| | +-----------------------+--------+------+-----------+------------------------+-------------------+
| | | 32mz | ✔ | | | pic32mz | musb variant |
+--------------+-----+-----------------------+--------+------+-----------+------------------------+-------------------+
| Mind Montion | mm32 | ✔ | | ✖ | mm32f327x_otg | ci_fs variant |
+--------------+-----+-----------------------+--------+------+-----------+------------------------+-------------------+
| NordicSemi | nRF 52833, 52840, 5340 | ✔ | ✖ | ✖ | nrf5x | only ep8 is ISO |
+--------------+-----------------------------+--------+------+-----------+------------------------+-------------------+
| Nuvoton | NUC120 | ✔ | ✖ | ✖ | nuc120 | |
| +-----------------------------+--------+------+-----------+------------------------+-------------------+
| | NUC121/NUC125 | ✔ | ✖ | ✖ | nuc121 | |
| +-----------------------------+--------+------+-----------+------------------------+-------------------+
| | NUC126 | ✔ | ✖ | ✖ | nuc121 | |
| +-----------------------------+--------+------+-----------+------------------------+-------------------+
| | NUC505 | ✔ | | ✔ | nuc505 | |
+--------------+---------+-------------------+--------+------+-----------+------------------------+-------------------+
| NXP | iMXRT | RT 10xx, 11xx | ✔ | ✔ | ✔ | ci_hs | |
| +---------+-------------------+--------+------+-----------+------------------------+-------------------+
| | Kinetis | KL | ✔ | ⚠ | ✖ | ci_fs, khci | |
| | +-------------------+--------+------+-----------+------------------------+-------------------+
| | | K32L2 | ✔ | | ✖ | khci | ci_fs variant |
| +---------+-------------------+--------+------+-----------+------------------------+-------------------+
| | LPC | 11u, 13, 15 | ✔ | ✖ | ✖ | lpc_ip3511 | |
| | +-------------------+--------+------+-----------+------------------------+-------------------+
| | | 17, 40 | ✔ | ⚠ | ✖ | lpc17_40 | |
| | +-------------------+--------+------+-----------+------------------------+-------------------+
| | | 18, 43 | ✔ | ✔ | ✔ | ci_hs | |
| | +-------------------+--------+------+-----------+------------------------+-------------------+
| | | 51u | ✔ | ✖ | ✖ | lpc_ip3511 | |
| | +-------------------+--------+------+-----------+------------------------+-------------------+
| | | 54, 55 | ✔ | | ✔ | lpc_ip3511 | |
| +---------+-------------------+--------+------+-----------+------------------------+-------------------+
| | MCX | N9, A15 | ✔ | | ✔ | ci_fs, ci_hs | |
+--------------+---------+-------------------+--------+------+-----------+------------------------+-------------------+
| Raspberry Pi | RP2040, RP2350 | ✔ | ✔ | ✖ | rp2040, pio_usb | |
+--------------+-----+-----------------------+--------+------+-----------+------------------------+-------------------+
| Renesas | RX | 63N, 65N, 72N | ✔ | ✔ | ✖ | rusb2 | |
| +-----+-----------------------+--------+------+-----------+------------------------+-------------------+
| | RA | 4M1, 4M3, 6M1 | ✔ | ✔ | ✖ | rusb2 | |
| | +-----------------------+--------+------+-----------+------------------------+-------------------+
| | | 6M5 | ✔ | ✔ | ✔ | rusb2 | |
+--------------+-----+-----------------------+--------+------+-----------+------------------------+-------------------+
| Silabs | EFM32GG12 | ✔ | | ✖ | dwc2 | |
+--------------+-----------------------------+--------+------+-----------+------------------------+-------------------+
| Sony | CXD56 | ✔ | ✖ | ✔ | cxd56 | |
+--------------+-----------------------------+--------+------+-----------+------------------------+-------------------+
| ST STM32 | F0 | ✔ | ✖ | ✖ | stm32_fsdev | |
| +----+------------------------+--------+------+-----------+------------------------+-------------------+
| | F1 | 102, 103 | ✔ | ✖ | ✖ | stm32_fsdev | |
| | +------------------------+--------+------+-----------+------------------------+-------------------+
| | | 105, 107 | ✔ | ✔ | ✖ | dwc2 | |
| +----+------------------------+--------+------+-----------+------------------------+-------------------+
| | F2, F4, F7, H7 | ✔ | ✔ | ✔ | dwc2 | |
| +-----------------------------+--------+------+-----------+------------------------+-------------------+
| | F3 | ✔ | ✖ | ✖ | stm32_fsdev | |
| +-----------------------------+--------+------+-----------+------------------------+-------------------+
| | C0, G0, H5 | ✔ | | ✖ | stm32_fsdev | |
| +-----------------------------+--------+------+-----------+------------------------+-------------------+
| | G4 | ✔ | ✖ | ✖ | stm32_fsdev | |
| +-----------------------------+--------+------+-----------+------------------------+-------------------+
| | L0, L1 | ✔ | ✖ | ✖ | stm32_fsdev | |
| +----+------------------------+--------+------+-----------+------------------------+-------------------+
| | L4 | 4x2, 4x3 | ✔ | ✖ | ✖ | stm32_fsdev | |
| | +------------------------+--------+------+-----------+------------------------+-------------------+
| | | 4x5, 4x6 | ✔ | ✔ | ✖ | dwc2 | |
| +----+------------------------+--------+------+-----------+------------------------+-------------------+
| | L4+ | ✔ | ✔ | ✖ | dwc2 | |
| +-----------------------------+--------+------+-----------+------------------------+-------------------+
| | L5 | ✔ | ✖ | ✖ | stm32_fsdev | |
| +----+------------------------+--------+------+-----------+------------------------+-------------------+
| | U5 | 535, 545 | ✔ | | ✖ | stm32_fsdev | |
| | +------------------------+--------+------+-----------+------------------------+-------------------+
| | | 575, 585 | ✔ | ✔ | ✖ | dwc2 | |
| | +------------------------+--------+------+-----------+------------------------+-------------------+
| | | 59x,5Ax,5Fx,5Gx | ✔ | ✔ | ✔ | dwc2 | |
| +----+------------------------+--------+------+-----------+------------------------+-------------------+
| | WBx5 | ✔ | ✖ | ✖ | stm32_fsdev | |
+--------------+-----------------------------+--------+------+-----------+------------------------+-------------------+
| TI | MSP430 | ✔ | ✖ | ✖ | msp430x5xx | |
| +-----------------------------+--------+------+-----------+------------------------+-------------------+
| | MSP432E4 | ✔ | | ✖ | musb | |
| +-----------------------------+--------+------+-----------+------------------------+-------------------+
| | TM4C123 | ✔ | | ✖ | musb | |
+--------------+-----------------------------+--------+------+-----------+------------------------+-------------------+
| ValentyUSB | eptri | ✔ | ✖ | ✖ | eptri | |
+--------------+-----------------------------+--------+------+-----------+------------------------+-------------------+
| WCH | CH32F20x | ✔ | | ✔ | ch32_usbhs | |
| +-----------------------------+--------+------+-----------+------------------------+-------------------+
| | CH32V20x | ✔ | | ✖ | stm32_fsdev/ch32_usbfs | |
| +-----------------------------+--------+------+-----------+------------------------+-------------------+
| | CH32V307 | ✔ | | ✔ | ch32_usbfs/hs | |
+--------------+-----------------------------+--------+------+-----------+------------------------+-------------------+
Table Legend
------------
========= =========================
✔ Supported
⚠ Partial support
✖ Not supported by hardware
\[empty\] Unknown
========= =========================
.. |Build Status| image:: https://github.com/hathach/tinyusb/actions/workflows/build.yml/badge.svg
:target: https://github.com/hathach/tinyusb/actions
.. |CircleCI Status| image:: https://dl.circleci.com/status-badge/img/circleci/4AYHvUhFxdnY4rA7LEsdqW/QmrpoL2AjGqetvFQNqtWyq/tree/master.svg?style=svg
:target: https://dl.circleci.com/status-badge/redirect/circleci/4AYHvUhFxdnY4rA7LEsdqW/QmrpoL2AjGqetvFQNqtWyq/tree/master
.. |Documentation Status| image:: https://readthedocs.org/projects/tinyusb/badge/?version=latest
:target: https://docs.tinyusb.org/en/latest/?badge=latest
.. |Fuzzing Status| image:: https://oss-fuzz-build-logs.storage.googleapis.com/badges/tinyusb.svg
:target: https://oss-fuzz-build-logs.storage.googleapis.com/index.html#tinyusb
.. |License| image:: https://img.shields.io/badge/license-MIT-brightgreen.svg
:target: https://opensource.org/licenses/MIT
.. _Changelog: docs/info/changelog.rst
.. _Contributors: CONTRIBUTORS.rst
.. _Getting Started: docs/reference/getting_started.rst
.. _Supported Boards: docs/reference/boards.rst
.. _Dependencies: docs/reference/dependencies.rst
.. _Concurrency: docs/reference/concurrency.rst
.. _Contributing: docs/contributing/index.rst
.. _Code of Conduct: CODE_OF_CONDUCT.rst
.. _Porting: docs/contributing/porting.rst

11
SConscript Normal file
View File

@ -0,0 +1,11 @@
# RT-Thread building script for bridge
import os
from building import *
objs = []
cwd = GetCurrentDir()
objs = objs + SConscript(cwd + '/lib/rt-thread/SConscript')
Return('objs')

View File

@ -1,227 +0,0 @@
# TinyUSB Changelog
## 0.7.0 - 2020.11.08
### Device Controller Driver
- Added new support for Espressif ESP32-S2
- Added new support for Dialog DA1469x
- Enhance STM32 Synopsys
- Support bus events disconnection/suspend/resume/wakeup
- Improve transfer performance with optimizing xfer and fifo size
- Support Highspeed port (OTG_HS) with both internal and external PHY
- Support multiple usb ports with rhport=1 is highspeed on selected MCUs e.g H743, F23. It is possible to have OTG_HS to run on Fullspeed PHY (e.g lacking external PHY)
- Add ISO transfer, fix odd/even frame
- Fix FIFO flush during stall
- Implement dcd_edpt_close() API
- Support F105, F107
- Enhance STM32 fsdev
- Improve dcd fifo allocation
- Fix ISTR race condition
- Support remap USB IRQ on supported MCUs
- Implement dcd_edpt_close() API
- Enhance NUC 505: enhance set configure behavior
- Enhance SAMD
- Fix race condition with setup packet
- Add SAMD11 option `OPT_MCU_SAMD11`
- Add SAME5x option `OPT_MCU_SAME5X`
- Fix SAMG control data toggle and stall race condition
- Enhance nRF
- Fix hanged when tud_task() is called within critical section (disabled interrupt)
- Fix disconnect bus event not submitted
- Implement ISO transfer and dcd_edpt_close()
### USB Device
**USBD**
- Add new class driver for **Bluetooth HCI** class driver with example can be found in [mynewt-tinyusb-example](https://github.com/hathach/mynewt-tinyusb-example) since it needs mynewt OS to run with.
- Fix USBD endpoint usage racing condition with `usbd_edpt_claim()/usbd_edpt_release()`
- Added `tud_task_event_ready()` and `osal_queue_empty()`. This API is needed to check before enter low power mode with WFI/WFE
- Rename USB IRQ Handler to `dcd_int_handler()`. Application must define IRQ handler in which it calls this API.
- Add `dcd_connect()` and `dcd_disconnect()` to enable/disable internal pullup on D+/D- on supported MCUs.
- Add `usbd_edpt_open()`
- Remove `dcd_set_config()`
- Add *OPT_OS_CUMSTOM* as hook for application to overwrite and/or add their own OS implementation
- Support SET_INTERFACE, GET_INTERFACE request
- Add Logging for debug with optional uart/rtt/swo printf retarget or `CFG_TUSB_DEBUG_PRINTF` hook
- Add IAR compiler support
- Support multiple configuration descriptors. `TUD_CONFIG_DESCRIPTOR()` template has extra config_num as 1st argument
- Improve USB Highspeed support with actual link speed detection with `dcd_event_bus_reset()`
- Enhance class driver management
- `usbd_driver_open()` add max length argument, and return length of interface (0 for not supported). Return value is used for finding appropriate driver
- Add application implemented class driver via `usbd_app_driver_get_cb()`
- IAD is handled to assign driver id
- Added `tud_descriptor_device_qualifier_cb()` callback
- Optimize `tu_fifo` bulk write/read transfer
- Forward non-std control request to class driver
- Let application handle Microsoft OS 1.0 Descriptors (the 0xEE index string)
- Fix OSAL FreeRTOS yield from ISR
**Class Drivers**
- USBNET: remove ACM-EEM due to lack of support from host
- USBTMC: fix descriptors when INT EP is disabled
- CDC:
- Send zero length packet for end of data when needed
- Add `tud_cdc_tx_complete_cb()` callback
- Change tud_cdc_n_write_flush() return number of bytes forced to transfer, and flush when writing enough data to fifo
- MIDI:
- Add packet interface
- Add multiple jack descriptors
- Fix MIDI driver for sysex
- DFU Runtime: fix response to SET_INTERFACE and DFU_GETSTATUS request
- Rename some configure macro to make it clear that those are used directly for endpoint transfer
- CFG_TUD_HID_BUFSIZE to `CFG_TUD_HID_EP_BUFSIZE
- CFG_TUD_CDC_EPSIZE to CFG_TUD_CDC_EP_BUFSIZE
- CFG_TUD_MSC_BUFSIZE to CFG_TUD_MSC_EP_BUFSIZE
- CFG_TUD_MIDI_EPSIZE to CFG_TUD_MIDI_EP_BUFSIZE
- HID:
- Fix gamepad template descriptor
- Add multiple HID interface API
- Add extra comma to HID_REPORT_ID
### USB Host
- Rework USB host stack (still work in progress)
- Fix compile error with pipehandle
- Rework usbh control and enumeration as non-blocking
- Improve Hub, MSC, HID host driver
### Examples
- Add new hid_composite_freertos
- Add new dynamic_configuration to demonstrate how to switch configuration descriptors
- Add new hid_multiple_interface
- Enhance `net_lwip_webserver` example
- Add multiple configuration: RNDIS for Windows, CDC-ECM for macOS (Linux will work with both)
- Update lwip to STABLE-2_1_2_RELEASE for net_lwip_webserver
- Added new Audio example: audio_test uac2_headsest
### New Boards
- Espressif ESP32-S2: saola_1, kaluga_1
- STM32: F746 Nucleo, H743 Eval, H743 Nucleo, F723 discovery, stlink v3 mini, STM32L4r5 Nucleo
- Dialog DA1469x dk pro and dk usb
- Microchip: Great Scoot Gadgets' LUNA, samd11_xplained, D5035-01, atsamd21 xplained pro
- nRF: ItsyBitsy nRF52840
## 0.6.0 - 2020.03.30
Added **CONTRIBUTORS.md** to give proper credit for contributors to the stack. Special thanks to [Nathan Conrad](https://github.com/pigrew), [Peter Lawrence](https://github.com/majbthrd) and [William D. Jones](https://github.com/cr1901) and others for spending their precious time to add lots of features and ports for this release.
### Added
**MCUs**
- Added support for Microchip SAMG55
- Added support for Nordic nRF52833
- Added support for Nuvoton: NUC120, NUC121/NUC125, NUC126, NUC505
- Added support for NXP LPC: 51Uxx, 54xxx, 55xx
- Added support for NXP iMXRT: RT1011, RT1015, RT1021, RT1052, RT1062, RT1064
- Added support for Sony CXD56 (Spresense)
- Added support for STM32: L0, F0, F1, F2, F3, F4, F7, H7
- Added support for TI MSP430
- Added support for ValentyUSB's eptri
**Class Driver**
- Added DFU Runtime class driver
- Added Network class driver with RNDIS, CDC-ECM, CDC-EEM (work in progress)
- Added USBTMC class driver
- Added WebUSB class driver using vendor-specific class
- Added multiple instances support for CDC and MIDI
- Added a handful of unit test with Ceedling.
- Added LOG support for debugging with CFG_TUSB_DEBUG
- Added `tud_descriptor_bos_cb()` for BOS descriptor (required for USB 2.1)
- Added `dcd_edpt0_status_complete()` as optional API for DCD
**Examples**
Following examples are added:
- board_test
- cdc_dual_ports
- dfu_rt
- hid_composite
- net_lwip_webserver
- usbtmc
- webusb_serial
**Boards**
Following boards are added:
- adafruit_clue
- arduino_nano33_ble
- circuitplayground_bluefruit
- circuitplayground_express
- feather_m0_express
- feather_nrf52840_sense
- feather_stm32f405
- fomu
- itsybitsy_m0
- itsybitsy_m4
- lpcxpresso11u37
- lpcxpresso1549
- lpcxpresso51u68
- lpcxpresso54114
- lpcxpresso55s69
- mbed1768
- mimxrt1010_evk
- mimxrt1015_evk
- mimxrt1020_evk
- mimxrt1050_evkb
- mimxrt1060_evk
- mimxrt1064_evk
- msp_exp430f5529lp
- ngx4330
- nrf52840_mdk_dongle
- nutiny_nuc121s
- nutiny_nuc125s
- nutiny_nuc126v
- nutiny_sdk_nuc120
- nutiny_sdk_nuc505
- pca10059
- pca10100
- pyboardv11
- raytac_mdbt50q_rx
- samg55xplained
- seeeduino_xiao
- spresense
- stm32f070rbnucleo
- stm32f072disco
- stm32f103bluepill
- stm32f207nucleo
- stm32f401blackpill
- stm32f411blackpill
- stm32f411disco
- stm32f412disco
- stm32f767nucleo
- stm32h743nucleo
- stm32l0538disco
- stm32l476disco
- teensy_40
### Changed
- Changed `tud_descriptor_string_cb()` to have additional Language ID argument
- Merged hal_nrf5x.c into dcd_nrf5x.c
- Merged dcd_samd21.c and dcd_samd51.c into dcd_samd.c
- Generalized dcd_stm32f4.c to dcd_synopsys.c
- Changed cdc_msc_hid to cdc_msc (drop hid) due to limited endpoints number of some MCUs
- Improved DCD SAMD stability, fix missing setup packet occasionally
- Improved usbd/usbd_control with proper hanlding of zero-length packet (ZLP)
- Improved STM32 DCD FSDev
- Improved STM32 DCD Synopsys
- Migrated CI from Travis to Github Action
- Updated nrfx submodule to 2.1.0
- Fixed mynewt osal queue definition
- Fixed cdc_msc_freertos example build for all MCUs
## 0.5.0 (Initial Release) - 2019.07.10
First release, device stack works great, host stack works but still need improvement.
- Special thanks to @adafruit team, especially @tannewt to help out immensely to rework device stack: simplify osal & control transfer, adding SAMD21/SAMD51 ports, writing porting docs, adding MIDI class support etc...
- Thanks to @cr1901 for adding STM32F4 port.
- Thanks to @PTS93 and @todbot for HID raw API

View File

@ -0,0 +1,21 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" style="enable-background:new 0 0 1382 768;" xml:space="preserve" width="144" height="80" viewBox="14 12.81 1350 455.81">
<style type="text/css">
.st0{fill:#0;}
</style>
<rect x="0" y="0" width="1382" height="768" fill="#fff"/>
<g>
<g>
<g>
<path class="st0" d="M402.26,321.44c6.2-6.18,13.5-8.71,27.53-8.71h56.48c15.72,0,25,2.79,30.63,8.71 c7.04,6.99,9.28,15.16,9.28,41.28v104.52h-43v-17.68c-18.55,15.16-25.28,17.96-39.05,17.96h-21.09 c-13.76,0-21.07-1.68-27.24-7.83c-5.35-5.37-8.97-14.36-8.97-34.57c0-19.11,2.79-30.92,9.56-37.67c7-7.02,15.99-10.4,43.79-10.4 c14.91,0,30.36,1.71,43.01,4.5v-13.77c0-15.17-0.85-18.26-2.82-20.51c-1.98-1.71-4.78-2.28-11.24-2.28h-21.62 c-5.91,0-9.01,0.57-10.7,2.28c-2.24,2.25-2.53,5.34-3.09,14.61h-40.71C393.27,336.06,395.8,327.58,402.26,321.44z M483.18,428.75 v-25.84h-28.36c-16.32,0-20.25,1.12-23.06,3.91c-2.79,2.84-3.36,6.2-3.36,13.23c0,7.88,0.57,12.08,2.81,14.34 c2.25,2.22,5.33,2.5,10.95,2.5h12.07C463.24,436.88,469.13,436.06,483.18,428.75z"/>
<path class="st0" d="M642.16,467.24V447.3c-19.39,16.87-26.14,20.23-38.79,20.23h-16.28c-16.32,0-25.01-2.8-31.74-9.54 c-9.26-9.26-12.93-22.78-12.93-68.01c0-45.52,4.47-58.42,14.03-67.99c6.76-6.72,15.73-9.53,31.18-9.53h16.86 c12.92,0,19.95,2.81,37.67,17.69V259.9h43v207.34H642.16z M642.16,426.5v-73.6c-9.01-4.21-15.47-6.17-22.49-6.17h-15.43 c-7.88,0-11.57,1.11-14.08,3.64c-3.93,3.64-5.03,10.13-5.03,39.6c0,29.5,1.11,35.7,5.03,39.65c2.51,2.5,6.2,3.37,14.08,3.37 h14.02C625.57,432.99,632.58,431,642.16,426.5z"/>
<path class="st0" d="M716.83,321.44c6.17-6.18,13.49-8.71,27.52-8.71h56.49c15.73,0,24.99,2.79,30.64,8.71 c7.01,6.99,9.26,15.16,9.26,41.28v104.52h-43v-17.68c-18.54,15.16-25.29,17.96-39.05,17.96h-21.05 c-13.78,0-21.11-1.68-27.26-7.83c-5.35-5.37-9.01-14.36-9.01-34.57c0-19.11,2.81-30.92,9.56-37.67 c7.03-7.02,16.02-10.4,43.83-10.4c14.91,0,30.34,1.71,42.99,4.5v-13.77c0-15.17-0.84-18.26-2.81-20.51 c-1.94-1.71-4.79-2.28-11.24-2.28h-21.63c-5.91,0-8.99,0.57-10.67,2.28c-2.27,2.25-2.53,5.34-3.12,14.61h-40.72 C707.84,336.06,710.38,327.58,716.83,321.44z M797.74,428.75v-25.84h-28.35c-16.31,0-20.26,1.12-23.05,3.91 c-2.81,2.84-3.38,6.2-3.38,13.23c0,7.88,0.57,12.08,2.82,14.34c2.24,2.22,5.32,2.5,10.95,2.5h12.06 C777.8,436.88,783.7,436.06,797.74,428.75z"/>
<path class="st0" d="M856.96,467.24V305.41c0-19.39,2.55-29.52,9.01-35.96c6.47-6.46,13.77-9.55,30.34-9.55h35.41v32.57h-20.82 c-5.6,0-7.28,0.57-8.96,1.96c-1.42,1.71-1.96,4.75-1.96,12.38v6.19h31.75v33.44h-31.48v120.79H856.96z"/>
<path class="st0" d="M947.94,467.24V312.72h42.96v23.59c16.04-16.59,24.17-23.87,36.53-23.87H1044v42.42h-19.94 c-11.79,0-20.78,1.11-33.16,6.17v106.2H947.94z"/>
<path class="st0" d="M1199.3,312.72v154.52h-43.27v-20.48c-19.66,17.69-26.13,20.77-40.18,20.77h-18.82 c-13.49,0-21.92-2.8-27.79-8.71c-6.2-6.46-9-14.59-9-37.1v-109h43.27v104.24c0,6.44,0.83,10.11,3.36,12.66 c2.53,2.5,5.06,3.37,12.64,3.37h12.39c7.28,0,13.77-1.71,24.13-6.2V312.72H1199.3z"/>
<path class="st0" d="M1257.74,291.34h-42.42V259.9h42.42V291.34z M1257.74,467.24h-42.42V312.72h42.42V467.24z"/>
<path class="st0" d="M1349,433.26h-18.53c-7.06,0-9.86-0.59-11.24-1.7c-1.42-1.69-1.98-3.93-1.98-10.68v-74.44H1349v-33.72 h-31.75v-21.38h-43.27v21.38v33.72v85.97c0,15.73,1.96,22.76,7.03,27.81c5.34,5.35,13.19,8.4,27.82,8.4 c11.51,0,23.04-1.68,29.78-3.36l10.39-2.7V433.26z"/>
</g>
</g>
<path class="st0" d="M469.56,213.53c-1.48-9.33-6.54-12.01-18.77-15.91c-9.28-2.98-71.47-22.79-71.47-22.79 s-43.35-16.38-75.48,6.78c-4.32,3.13-8.81,6.68-13.31,10.47c3.78-4.5,7.34-8.99,10.45-13.31c23.09-32.18,6.65-75.5,6.65-75.5 s-19.91-62.13-22.92-71.44c-3.93-12.2-6.6-17.27-15.94-18.72c-9.36-1.48-13.45,2.5-20.94,12.92c-5.71,7.91-43.77,60.94-43.77,60.94 s-28.94,36.16-16.87,73.88c1.64,5.06,3.63,10.43,5.86,15.89c-3.13-5-6.3-9.76-9.46-14.05c-23.47-31.89-69.73-29.66-69.73-29.66 s-65.26-0.26-75.02-0.27c-12.83-0.05-18.46,0.95-22.76,9.37c-4.29,8.42-1.75,13.57,5.83,23.9c5.76,7.88,44.44,60.45,44.44,60.45 s25.44,38.72,65.03,38.88c5.32,0.03,11.02-0.22,16.88-0.64c-5.69,1.42-11.19,2.98-16.24,4.64c-37.59,12.46-49.74,57.17-49.74,57.17 s-20.42,61.99-23.46,71.27c-3.98,12.18-4.79,17.84,1.9,24.51c6.69,6.7,12.36,5.87,24.53,1.85c9.27-3.03,71.24-23.58,71.24-23.58 s44.66-12.24,57.04-49.85c1.68-5.06,3.2-10.55,4.63-16.22c-0.42,5.84-0.64,11.53-0.6,16.85c0.21,39.6,38.98,64.98,38.98,64.98 s52.64,38.55,60.52,44.31c10.37,7.55,15.5,10.08,23.93,5.78c8.41-4.3,9.39-9.93,9.33-22.77c-0.04-9.75-0.43-75.01-0.43-75.01 s2.18-46.27-29.76-69.68c-4.3-3.15-9.05-6.31-14.03-9.41c5.44,2.19,10.79,4.18,15.87,5.77c37.72,12.03,73.85-16.98,73.85-16.98 s52.94-38.15,60.85-43.87C467.06,226.99,471.04,222.86,469.56,213.53z M244.76,165.48c7.13,1.11,10.66,16.26,7.87,33.82 c-2.75,17.56-10.75,30.88-17.88,29.76c-7.11-1.13-10.65-16.26-7.89-33.82C229.63,177.69,237.64,164.36,244.76,165.48z M153.6,212.02c3.25-6.43,18.75-5.09,34.57,2.96c15.85,8.05,26.05,19.8,22.78,26.22c-3.27,6.41-18.75,5.1-34.59-2.95 C160.52,230.2,150.33,218.45,153.6,212.02z M201.66,299.59c-12.56,12.58-26.87,18.63-31.96,13.54 c-5.11-5.09,0.94-19.41,13.49-31.99c12.55-12.59,26.86-18.65,31.97-13.56C220.27,272.68,214.23,287.01,201.66,299.59z M270.82,329.06c-6.43,3.27-18.19-6.89-26.26-22.71c-8.08-15.84-9.43-31.34-3-34.61c6.41-3.27,18.15,6.9,26.24,22.73 C275.88,310.29,277.25,325.78,270.82,329.06z M287.49,255.75c-17.55,2.81-32.7-0.71-33.83-7.82c-1.13-7.12,12.18-15.16,29.74-17.95 c17.54-2.79,32.69,0.71,33.82,7.82C318.35,244.91,305.05,252.96,287.49,255.75z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.5 KiB

18
docs/assets/logo.svg Normal file
View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="280" height="140" version="1.1" viewBox="0 0 74.083 37.042" xmlns="http://www.w3.org/2000/svg">
<g transform="translate(-60.931 -79.245)">
<g transform="matrix(1.0442 0 0 1.1531 -27.105 33.588)" fill="#fff">
<path d="m86.972 39.594c-1.4683 3.2e-5 -2.6588 1.181-2.66 2.6384v26.844c3.3e-5 1.4583 1.1909 2.6404 2.66 2.6404h65.63c1.469-3.2e-5 2.66-1.1822 2.66-2.6404v-26.844c-1e-3 -1.4575-1.1917-2.6384-2.66-2.6384z" color="#000000" fill="#fff" style="-inkscape-stroke:none"/>
</g>
<g transform="matrix(.35278 0 0 -.35278 -160.36 421.93)" fill="#231f20">
<path transform="translate(672.09 955.48)" d="m0 0h-21.484v-12.601h-5.349v-6.436h5.349v-25.383c0-11.331 7.252-13.87 17.223-13.87 4.352 0 8.613 0.272 12.873 0.907v6.073c-0.816-0.09-2.266-0.362-3.535-0.362-3.807 0-5.077 0.816-5.077 4.896v27.739h8.612v6.436h-8.612z"/>
<path transform="translate(693.61 925.33)" d="m0 0h-0.049c-1.518 0-2.165-0.896-2.165-2.24v-0.05h4.504v0.05c0 1.344-0.771 2.24-2.29 2.24"/>
<path transform="translate(700.92 925.5)" d="m0 0h-0.124c-1.443 0-2.265-0.995-2.265-2.389v-0.074h4.654v0.074c0 1.394-0.822 2.389-2.265 2.389"/>
<path transform="translate(750.09 943.78)" d="m0 0c-6.165 0-11.876-2.267-14.505-5.893v4.986h-20.578v-45.326h21.484v36.533c1.27 0.272 2.449 0.453 3.717 0.453 4.715 0 5.44-2.538 5.44-6.436v-30.55h21.484v30.278c0 11.694-7.523 15.955-17.042 15.955"/>
<path transform="translate(811.83 942.88)" d="m0 0-10.516-23.57-11.784 23.57h-23.388l24.204-48.046-6.799-15.411h8.249l28.193 63.457z"/>
<path transform="translate(706 920)" d="m0 0h-17.421v2.637c0 2.938 1.194 5.675 4.43 5.675h0.124c2.24 0 3.335-1.269 3.932-2.514 0.647 1.469 1.667 2.738 3.883 2.738h0.224c3.086 0 4.828-2.39 4.828-5.774zm-0.598-9.412h-3.16c0.622 1.07 0.971 1.917 0.971 2.737 0 0.871-0.424 1.618-1.493 1.618h-0.05c-0.797 0-1.394-0.249-3.037-1.692-2.339-2.065-3.459-2.912-5.574-2.912h-0.05c-2.787 0-4.555 1.816-4.555 4.231 0 1.219 0.175 1.941 0.548 2.687h3.161c-0.548-0.945-0.797-1.518-0.797-2.314 0-0.845 0.548-1.568 1.493-1.568h0.05c0.821 0 1.12 0.25 2.788 1.692 2.762 2.39 3.832 2.912 5.824 2.912h0.048c2.739 0 4.555-1.917 4.555-4.305 0-1.195-0.298-2.215-0.722-3.086m-4.479-10.93h-12.344v3.011h12.643c1.567 0 2.189 0.548 2.189 1.319 0 0.772-0.622 1.32-2.189 1.32h-12.643v3.01h12.344c3.658 0 5.301-1.841 5.301-4.33 0-2.488-1.643-4.33-5.301-4.33m-9.641 53.817h12.114v-10.601h-12.114zm14.114 2h-16.114v-12.601h-2.685v-45.326h21.484v45.326h-2.685z"/>
<path d="m692.79 947.02h2.827v2.319h-2.827z"/>
<path d="m699.06 947.02h2.826v2.319h-2.826z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

1
docs/assets/stack.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 84 KiB

View File

@ -1,157 +0,0 @@
# Boards
The board support code is only used for self-contained examples and testing. It is not used when TinyUSB is part of a larger project. It is responsible for getting the MCU started and the USB peripheral clocked with minimal of on-board devices
- One LED : for status
- One Button : to get input from user
- One UART : optional for device, but required for host examples
## Supported Boards
This code base already had supported for a handful of following boards (sorted alphabetically)
### Espressif ESP32-S2
- [ESP32-S2-Kaluga-1](https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/hw-reference/esp32s2/user-guide-esp32-s2-kaluga-1-kit.html)
- [ESP32-S2-Saola-1](https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/hw-reference/esp32s2/user-guide-saola-1-v1.2.html)
### Dialog DA146xx
- [DA14695 Development Kit USB](https://www.dialog-semiconductor.com/products/da14695-development-kit-usb)
- [DA1469x Development Kit Pro](https://www.dialog-semiconductor.com/products/da14695-development-kit-pro)
### MicroChip SAM
- [Adafruit Circuit Playground Express](https://www.adafruit.com/product/3333)
- [Adafruit Feather M0 Express](https://www.adafruit.com/product/3403)
- [Adafruit Feather M4 Express](https://www.adafruit.com/product/3857)
- [Adafruit ItsyBitsy M0 Express](https://www.adafruit.com/product/3727)
- [Adafruit ItsyBitsy M4 Express](https://www.adafruit.com/product/3800)
- [Adafruit Metro M0 Express](https://www.adafruit.com/product/3505)
- [Adafruit Metro M4 Express](https://www.adafruit.com/product/3382)
- [D5035-01](https://github.com/RudolphRiedel/USB_CAN-FD)
- [Great Scott Gadgets LUNA](https://greatscottgadgets.com/luna/)
- [Microchip SAMD11 Xplained Pro](https://www.microchip.com/developmenttools/ProductDetails/atsamd11-xpro)
- [Microchip SAMD21 Xplained Pro](https://www.microchip.com/DevelopmentTools/ProductDetails/ATSAMD21-XPRO)
- [Microchip SAMG55 Xplained Pro](https://www.microchip.com/DevelopmentTools/ProductDetails/PartNO/ATSAMG55-XPRO)
- [Seeeduino Xiao](https://www.seeedstudio.com/Seeeduino-XIAO-Arduino-Microcontroller-SAMD21-Cortex-M0+-p-4426.html)
### Nordic nRF5x
- [Adafruit Circuit Playground Bluefruit](https://www.adafruit.com/product/4333)
- [Adafruit CLUE](https://www.adafruit.com/product/4500)
- [Adafruit Feather nRF52840 Express](https://www.adafruit.com/product/4062)
- [Adafruit Feather nRF52840 Sense](https://www.adafruit.com/product/4516)
- [Adafruit ItsyBitsy nRF52840 Express](https://www.adafruit.com/product/4481)
- [Arduino Nano 33 BLE](https://store.arduino.cc/usa/nano-33-ble)
- [Arduino Nano 33 BLE Sense](https://store.arduino.cc/usa/nano-33-ble-sense)
- [Maker Diary nRF52840 MDK Dongle](https://wiki.makerdiary.com/nrf52840-mdk-usb-dongle)
- [Nordic nRF52840 Development Kit (aka pca10056)](https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52840-DK)
- [Nordic nRF52840 Dongle (aka pca10059)](https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52840-Dongle)
- [Nordic nRF52833 Development Kit (aka pca10100)](https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52833-DK)
- [Raytac MDBT50Q-RX Dongle](https://www.raytac.com/product/ins.php?index_id=89)
### Nuvoton
- NuTiny SDK NUC120
- [NuTiny NUC121S](https://direct.nuvoton.com/en/nutiny-nuc121s)
- [NuTiny NUC125S](https://direct.nuvoton.com/en/nutiny-nuc125s)
- [NuTiny NUC126V](https://direct.nuvoton.com/en/nutiny-nuc126v)
- [NuTiny SDK NUC505Y](https://direct.nuvoton.com/en/nutiny-nuc505y)
### NXP iMX RT
- [MIMX RT1010 Evaluation Kit](https://www.nxp.com/design/development-boards/i.mx-evaluation-and-development-boards/i.mx-rt1010-evaluation-kit:MIMXRT1010-EVK)
- [MIMX RT1015 Evaluation Kit](https://www.nxp.com/design/development-boards/i.mx-evaluation-and-development-boards/i.mx-rt1015-evaluation-kit:MIMXRT1015-EVK)
- [MIMX RT1020 Evaluation Kit](https://www.nxp.com/design/development-boards/i.mx-evaluation-and-development-boards/i.mx-rt1020-evaluation-kit:MIMXRT1020-EVK)
- [MIMX RT1050 Evaluation Kit](https://www.nxp.com/design/development-boards/i.mx-evaluation-and-development-boards/i.mx-rt1050-evaluation-kit:MIMXRT1050-EVK)
- [MIMX RT1060 Evaluation Kit](https://www.nxp.com/design/development-boards/i.mx-evaluation-and-development-boards/mimxrt1060-evk-i.mx-rt1060-evaluation-kit:MIMXRT1060-EVK)
- [MIMX RT1064 Evaluation Kit](https://www.nxp.com/design/development-boards/i.mx-evaluation-and-development-boards/mimxrt1064-evk-i.mx-rt1064-evaluation-kit:MIMXRT1064-EVK)
- [Teensy 4.0 Development Board](https://www.pjrc.com/store/teensy40.html)
### NXP LPC
- [ARM mbed LPC1768](https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/lpc1700-cortex-m3/arm-mbed-lpc1768-board:OM11043)
- [Embedded Artists LPC4088 Quick Start board](https://www.embeddedartists.com/products/lpc4088-quickstart-board)
- [Embedded Artists LPC4357 Developer Kit](http://www.embeddedartists.com/products/kits/lpc4357_kit.php)
- [Keil MCB1800 Evaluation Board](http://www.keil.com/mcb1800)
- [LPCXpresso 11u37](https://www.nxp.com/design/microcontrollers-developer-resources/lpcxpresso-boards/lpcxpresso-board-for-lpc11u37h:OM13074)
- [LPCXpresso 11u68](https://www.nxp.com/support/developer-resources/evaluation-and-development-boards/lpcxpresso-boards/lpcxpresso-board-for-lpc11u68:OM13058)
- [LPCXpresso 1347](https://www.nxp.com/support/developer-resources/evaluation-and-development-boards/lpcxpresso-boards/lpcxpresso-board-for-lpc1347:OM13045)
- [LPCXpresso 1769](https://www.nxp.com/support/developer-resources/evaluation-and-development-boards/lpcxpresso-boards/lpcxpresso-board-for-lpc1769:OM13000)
- [LPCXpresso 51U68](https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/lpcxpresso51u68-for-the-lpc51u68-mcus:OM40005)
- [LPCXpresso 54114](https://www.nxp.com/design/microcontrollers-developer-resources/lpcxpresso-boards/lpcxpresso54114-board:OM13089)
- [LPCXpresso 55s69 EVK](https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/lpc5500-cortex-m33/lpcxpresso55s69-development-board:LPC55S69-EVK)
- [NGX LPC4330-Xplorer](https://www.nxp.com/design/designs/lpc4330-xplorer-board:OM13027)
### Sony
- [Sony Spresense CXD5602](https://developer.sony.com/develop/spresense)
### ST STM32
- [Adafruit Feather STM32F405](https://www.adafruit.com/product/4382)
- [Micro Python PyBoard v1.1](https://store.micropython.org/product/PYBv1.1)
- [STLink-V3 Mini](https://www.st.com/en/development-tools/stlink-v3mini.html)
- [STM32 L035c8 Discovery](https://www.st.com/en/evaluation-tools/32l0538discovery.html)
- [STM32 L4R5zi Nucleo](https://www.st.com/en/evaluation-tools/nucleo-l4r5zi.html)
- [STM32 F070rb Nucleo](https://www.st.com/en/evaluation-tools/nucleo-f070rb.html)
- [STM32 F072rb Discovery](https://www.st.com/en/evaluation-tools/32f072bdiscovery.html)
- STM32 F103c Blue Pill
- [STM32 F207zg Nucleo](https://www.st.com/en/evaluation-tools/nucleo-f207zg.html)
- [STM32 F303vc Discovery](https://www.st.com/en/evaluation-tools/stm32f3discovery.html)
- STM32 F401cc Black Pill
- [STM32 F407vg Discovery](https://www.st.com/en/evaluation-tools/stm32f4discovery.html)
- STM32 F411ce Black Pill
- [STM32 F411ve Discovery](https://www.st.com/en/evaluation-tools/32f411ediscovery.html)
- [STM32 F412zg Discovery](https://www.st.com/en/evaluation-tools/32f412gdiscovery.html)
- [STM32 F723e Discovery](https://www.st.com/en/evaluation-tools/32f723ediscovery.html)
- [STM32 F746zg Nucleo](https://www.st.com/en/evaluation-tools/nucleo-f746zg.html)
- [STM32 F746g Discovery](https://www.st.com/en/evaluation-tools/32f746gdiscovery.html)
- [STM32 F767zi Nucleo](https://www.st.com/en/evaluation-tools/nucleo-f767zi.html)
- [STM32 F769i Discovery](https://www.st.com/en/evaluation-tools/32f769idiscovery.html)
- [STM32 H743zi Nucleo](https://www.st.com/en/evaluation-tools/nucleo-h743zi.html)
- [STM32 H743i Evaluation](https://www.st.com/en/evaluation-tools/stm32h743i-eval.html)
- [STM32 H745i Discovery](https://www.st.com/en/evaluation-tools/stm32h745i-disco.html)
### TI
- [MSP430F5529 USB LaunchPad Evaluation Kit](http://www.ti.com/tool/MSP-EXP430F5529LP)
### Tomu
- [Fomu](https://www.crowdsupply.com/sutajio-kosagi/fomu)
## Add your own board
If you don't possess any of supported board above. Don't worry you can easily implemented your own one by following this guide as long as the mcu is supported.
- Create new makefile for your board at `hw/bsp/<board name>/board.mk` and linker file as well if needed.
- Create new source file for your board at `hw/bsp/<board name>/<board name>.c` and implement following APIs
### Board APIs
#### board_init()
Is responsible for starting the MCU, setting up the USB clock and USB pins. It is also responsible for initializing LED and button pins.
One useful clock debugging technique is to set up a PWM output at a known value such as 500hz based on the USB clock so that you can verify it is correct with a logic probe or oscilloscope.
Setup your USB in a crystal-less mode when available. That makes the code easier to port across boards.
#### board_led_write()
Set the pin corresponding to the led to output a value that lights the LED when `state` is true.
#### board_button_read()
Return current state of button, a `1` means active (pressed), a `0` means inactive.
#### board_millis()
The function returns the elapsed number of milliseconds since startup. On ARM this is commonly done with SysTick or Timer. This provide examples a way to measure time to blink LED or delay properly. It is only required when run examples without RTOS `CFG_TUSB_OS == OPT_OS_NONE`.
#### board_uart_read()
Get characters from UART peripheral.
#### board_uart_write()
Send characters to UART peripheral.

View File

@ -1,36 +0,0 @@
# Concurrency
The TinyUSB library is designed to operate on single-core MCUs with multi-threaded applications in mind. Interaction with interrupts is especially important to pay attention to.
It is compatible with optionally using a RTOS.
## General
When writing code, keep in mind that the OS (if using a RTOS) may swap out your code at any time. Also, your code can be preempted by an interrupt at any time.
## Application Code
The USB core does not execute application callbacks while in an interrupt context. Calls to application code are from within the USB core task context. Note that the application core will call class drivers from within their own task.
## Class Drivers
Class driver code should never be called from an interrupt context by the USB core, though the application is allowed to call class driver functions from interrupts. USB core functions may be called simultaneously by multiple tasks. Use care that proper locking is used to guard the USBD core functions from this case.
Class drivers are allowed to call `usbd_*` functions, but not `dcd_*` functions.
## USB Core
All functions that may be called from an (USB core) interrupt context have a `bool in_isr` parameter to remind the implementer that special care must be taken.
Interrupt handlers must not directly call class driver code, they must pass a message to the USB core's task.
`usbd_*` functions may be called from interrupts without any notice. They may also be called simultaneously by multiple tasks.
## Device Drivers
Much of the processing of the USB stack is done in an interrupt context, and care must be taken in order to ensure variables are handled in the appropriate ways by the compiler and optimizer.
In particular:
- Ensure that all memory-mapped registers (including packet memory) are marked as volatile. GCC's optimizer will even combine memory access (like two 16-bit to be a 32-bit) if you don't mark the pointers as volatile. On some architectures, this can use macros like `_I`, `_O`, or `_IO'.
- All defined global variables are marked as `static`.

58
docs/conf.py Executable file
View File

@ -0,0 +1,58 @@
#!/usr/bin/env python3
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
import re
from pathlib import Path
# -- Path setup --------------------------------------------------------------
# -- Project information -----------------------------------------------------
project = 'TinyUSB'
copyright = '2024, Ha Thach'
author = 'Ha Thach'
# -- General configuration ---------------------------------------------------
extensions = [
'sphinx.ext.autodoc',
'sphinx.ext.intersphinx',
'sphinx.ext.todo',
'sphinx_autodoc_typehints',
]
templates_path = ['_templates']
exclude_patterns = ['_build']
# -- Options for HTML output -------------------------------------------------
html_theme = 'furo'
html_title = 'TinyUSB'
html_logo = 'assets/logo.svg'
html_favicon = 'assets/logo.svg'
html_theme_options = {
'sidebar_hide_name': True,
}
todo_include_todos = True
# pre-process path in README.rst
def preprocess_readme():
"""Modify figure paths in README.rst for Sphinx builds."""
src = Path(__file__).parent.parent / "README.rst"
tgt = Path(__file__).parent.parent / "README_processed.rst"
if src.exists():
content = src.read_text()
content = re.sub(r"docs/", r"", content)
content = re.sub(r".rst", r".html", content)
tgt.write_text(content)
preprocess_readme()

View File

@ -0,0 +1 @@
.. include:: ../../CODE_OF_CONDUCT.rst

View File

@ -0,0 +1,22 @@
************
Contributing
************
Contributing can be highly rewarding, but it can also be frustrating at times.
It takes time to review patches, and as this is an open source project, that
sometimes can take a while. The reviewing process depends on the availability
of the maintainers, who may not be always available. Please try to be
understanding through the process.
There a few guidelines you need to keep in mind when contributing. Please have
a look at them as that will make the contribution process easier for all
parties.
Index
=====
.. toctree::
:maxdepth: 2
code_of_conduct
porting

View File

@ -0,0 +1,243 @@
*******
Porting
*******
TinyUSB is designed to be a universal USB protocol stack for microcontrollers. It
handles most of the high level USB protocol and relies on the microcontroller's USB peripheral for
data transactions on different endpoints. Porting is the process of adding low-level support for
the rest of the common stack. Once the low-level is implemented, it is very easy to add USB support
for the microcontroller to other projects, especially those already using TinyUSB such as CircuitPython.
Below are instructions on how to get the cdc_msc device example running on a new microcontroller. Doing so includes adding the common code necessary for other uses while minimizing other extra code. Whenever you see a phrase or word in ``<>`` it should be replaced.
Register defs
-------------
The first step to adding support is including the register definitions and startup code for the
microcontroller in TinyUSB. We write the TinyUSB implementation against these structs instead of higher level functions to keep the code small and to prevent function name collisions in linking of larger projects. For ARM microcontrollers this is the CMSIS definitions. They should be
placed in the ``hw/mcu/<vendor>/<chip_family>`` directory.
Once this is done, create a directory in ``hw/bsp/<your board name>`` for the specific board you are using to test the code (duplicating an existing board's directory is the best way to get started). The board should be a readily available development board so that others can also test.
Build
-----
Now that those directories are in place, we can start our iteration process to get the example building successfully. To build, run from the root of TinyUSB:
.. code-block:: bash
make -C examples/device/cdc_msc BOARD=<board>
Unless you've read ahead, this will fail miserably. Now, lets get it to fail less by updating the files in the board directory. The code in the board's directory is responsible for setting up the microcontroller's clocks and pins so that USB works. TinyUSB itself only operates on the USB peripheral. The board directory also includes information what files are needed to build the example.
One of the first things to change is the ``-DCFG_TUSB_MCU`` C flag in the ``board.mk`` file. This is used to tell TinyUSB what platform is being built. So, add an entry to ``src/tusb_option.h`` and update the ``CFLAGS`` to match.
Update ``board.mk``'s VENDOR and CHIP_FAMILY values when creating the directory for the struct files. Duplicate one of the other sources from ``src/portable`` into ``src/portable/<vendor>/<chip_family>`` and delete all of the implementation internals. We'll cover what everything there does later. For now, get it compiling.
Implementation
--------------
At this point you should get an error due to an implementation issue and hopefully the build is setup for the new MCU. You will still need to modify the ``board.mk`` to include specific ``CFLAGS``, the linker script, linker flags, source files, include directories. All file paths are relative to the top of the TinyUSB repo.
Board Support (BSP)
^^^^^^^^^^^^^^^^^^^
The board support code is only used for self-contained examples and testing. It is not used when TinyUSB is part of a larger project. Its responsible for getting the MCU started and the USB peripheral clocked. It also optionally provides LED definitions that are used to blink an LED to show that the code is running.
It is located in ``hw/bsp/<board name>/board_<board name>.c``.
``board_init()``
~~~~~~~~~~~~~~~~
``board_init()`` is responsible for starting the MCU, setting up the USB clock and USB pins. It is also responsible for initializing LED pins.
One useful clock debugging technique is to set up a PWM output at a known value such as 500hz based on the USB clock so that you can verify it is correct with a logic probe or oscilloscope.
Setup your USB in a crystal-less mode when available. That makes the code easier to port across boards.
``board_led_write()``
~~~~~~~~~~~~~~~~~~~~~
Feel free to skip this until you want to verify your demo code is running. To implement, set the pin corresponding to the led to output a value that lights the LED when ``state`` is true.
OS Abstraction Layer (OSAL)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
The OS Abstraction Layer is responsible for providing basic data structures for TinyUSB that may allow for concurrency when used with an RTOS. Without an RTOS it simply handles concurrency issues between the main code and interrupts. The code is almost entirely agnostic of MCU and lives in ``src/osal``.
In RTOS configurations, ``tud_task()``/``tuh_task()`` blocks behind a synchronization structure when the event queue is empty, so that the scheduler may give the CPU to a different task. To take advantage of the library's capability to yield the CPU when there are no actionable USB device events, ensure that the ``CFG_TUSB_OS`` symbol is defined, e.g ``OPT_OS_FREERTOS`` enables the FreeRTOS scheduler to schedule other threads than that which calls ``tud_task()``/``tuh_task()``.
Device API
^^^^^^^^^^
After the USB device is setup, the USB device code works by processing events on the main thread (by calling ``tud_task()``). These events are queued by the USB interrupt handler. So, there are three parts to the device low-level API: device setup, endpoint setup and interrupt processing.
All of the code for the low-level device API is in ``src/portable/<vendor>/<chip family>/dcd_<chip family>.c``.
Device Setup
~~~~~~~~~~~~
``dcd_init()``
""""""""""""""
Initializes the USB peripheral for device mode and enables it.
This function should enable internal D+/D- pull-up for enumeration.
``dcd_int_enable()`` / ``dcd_int_disable()``
""""""""""""""""""""""""""""""""""""""""""""
Enables or disables the USB device interrupt(s). May be used to prevent concurrency issues when mutating data structures shared between main code and the interrupt handler.
``dcd_int_handler()``
"""""""""""""""""""""
Processes all the hardware generated events e.g Bus reset, new data packet from host etc ... It will be called by application in the MCU USB interrupt handler.
``dcd_set_address()``
"""""""""""""""""""""
Called when the device is given a new bus address.
If your peripheral automatically changes address during enumeration (like the nrf52) you may leave this empty and also no queue an event for the corresponding SETUP packet.
``dcd_remote_wakeup()``
"""""""""""""""""""""""
Called to remote wake up host when suspended (e.g hid keyboard)
``dcd_connect()`` / ``dcd_disconnect()``
""""""""""""""""""""""""""""""""""""""""
Connect or disconnect the data-line pull-up resistor. Define only if MCU has an internal pull-up. (BSP may define for MCU without internal pull-up.)
Special events
~~~~~~~~~~~~~~
You must let TinyUSB know when certain events occur so that it can continue its work. There are a few methods you can call to queue events for TinyUSB to process.
``dcd_event_bus_signal()``
""""""""""""""""""""""""""
There are a number of events that your peripheral may communicate about the state of the bus. Here is an overview of what they are. Events in **BOLD** must be provided for TinyUSB to work.
* **DCD_EVENT_RESET** - Triggered when the host resets the bus causing the peripheral to reset. Do any other internal reset you need from the interrupt handler such as resetting the control endpoint.
* DCD_EVENT_SOF - Signals the start of a new USB frame.
Calls to this look like:
.. code-block:: c
dcd_event_bus_signal(0, DCD_EVENT_BUS_RESET, true);
The first ``0`` is the USB peripheral number. Statically saying ``0`` is common for single USB device MCUs.
The ``true`` indicates the call is from an interrupt handler and will always be the case when porting in this way.
``dcd_setup_received()``
""""""""""""""""""""""""
SETUP packets are a special type of transaction that can occur at any time on the control endpoint, numbered ``0``. Since they are unique, most peripherals have special handling for them. Their data is always 8 bytes in length as well.
Calls to this look like:
.. code-block:: c
dcd_event_setup_received(0, setup, true);
As before with ``dcd_event_bus_signal()`` the first argument is the USB peripheral number and the third is true to signal its being called from an interrupt handler. The middle argument is byte array of length 8 with the contents of the SETUP packet. It can be stack allocated because it is copied into the queue.
Endpoints
~~~~~~~~~
Endpoints are the core of the USB data transfer process. They come in a few forms such as control, isochronous, bulk, and interrupt. We won't cover the details here except with some caveats in open below. In general, data is transferred by setting up a buffer of a given length to be transferred on a given endpoint address and then waiting for an interrupt to signal that the transfer is finished. Further details below.
Endpoints within USB have an address which encodes both the number and direction of an endpoint. TinyUSB provides ``tu_edpt_number()`` and ``tu_edpt_dir()`` to unpack this data from the address. Here is a snippet that does it.
.. code-block:: c
uint8_t epnum = tu_edpt_number(ep_addr);
uint8_t dir = tu_edpt_dir(ep_addr);
``dcd_edpt_open()``
"""""""""""""""""""
Opening an endpoint is done for all non-control endpoints once the host picks a configuration that the device should use. At this point, the endpoint should be enabled in the peripheral and configured to match the endpoint descriptor. Pay special attention to the direction of the endpoint you can get from the helper methods above. It will likely change what registers you are setting.
Also make sure to enable endpoint specific interrupts.
``dcd_edpt_close()``
""""""""""""""""""""
Close an endpoint. his function is used for implementing alternate settings.
After calling this, the device should not respond to any packets directed towards this endpoint. When called, this function must abort any transfers in progress through this endpoint, before returning.
Implementation is optional. Must be called from the USB task. Interrupts could be disabled or enabled during the call.
``dcd_edpt_xfer()``
"""""""""""""""""""
``dcd_edpt_xfer()`` is responsible for configuring the peripheral to send or receive data from the host. "xfer" is short for "transfer". **This is one of the core methods you must implement for TinyUSB to work (one other is the interrupt handler).** Data from the host is the OUT direction and data to the host is IN. It is used for all endpoints including the control endpoint 0. Make sure to handle the zero-length packet STATUS packet on endpoint 0 correctly. It may be a special transaction to the peripheral.
Besides that, all other transactions are relatively straight-forward. The endpoint address provides the endpoint
number and direction which usually determines where to write the buffer info. The buffer and its length are usually
written to a specific location in memory and the peripheral is told the data is valid. (Maybe by writing a 1 to a
register or setting a counter register to 0 for OUT or length for IN.)
The transmit buffer alignment is determined by ``CFG_TUSB_MEM_ALIGN``.
One potential pitfall is that the buffer may be longer than the maximum endpoint size of one USB
packet. Some peripherals can handle transmitting multiple USB packets for a provided buffer (like the SAMD21).
Others (like the nRF52) may need each USB packet queued individually. To make this work you'll need to track
some state for yourself and queue up an intermediate USB packet from the interrupt handler.
Once the transaction is going, the interrupt handler will notify TinyUSB of transfer completion.
During transmission, the IN data buffer is guaranteed to remain unchanged in memory until the ``dcd_xfer_complete()`` function is called.
The ``dcd_edpt_xfer()`` function must never add zero-length-packets (ZLP) on its own to a transfer. If a ZLP is required,
then it must be explicitly sent by the stack calling ``dcd_edpt_xfer()``, by calling ``dcd_edpt_xfer()`` a second time with len=0.
For control transfers, this is automatically done in ``usbd_control.c``.
At the moment, only a single buffer can be transmitted at once. There is no provision for double-buffering. new ``dcd_edpt_xfer()`` will not
be called again on the same endpoint address until the driver calls ``dcd_xfer_complete()`` (except in cases of USB resets).
``dcd_xfer_complete()``
"""""""""""""""""""""""
Once a transfer completes you must call ``dcd_xfer_complete()`` from the USB interrupt handler to let TinyUSB know that a transaction has completed. Here is a sample call:
.. code-block:: c
dcd_event_xfer_complete(0, ep_addr, xfer->actual_len, XFER_RESULT_SUCCESS, true);
The arguments are:
* the USB peripheral number
* the endpoint address
* the actual length of the transfer. (OUT transfers may be smaller than the buffer given in ``dcd_edpt_xfer()``)
* the result of the transfer. Failure isn't handled yet.
* ``true`` to note the call is from an interrupt handler.
``dcd_edpt_stall()`` / ``dcd_edpt_clear_stall()``
"""""""""""""""""""""""""""""""""""""""""""""""""
Stalling is one way an endpoint can indicate failure such as when an unsupported command is transmitted. The pair of ``dcd_edpt_stall()``, ``dcd_edpt_clear_stall()`` help manage the stall state of all endpoints.
Woohoo!
-------
At this point you should have everything working! 🙂 Of course, you may not write perfect code. Here are some tips and tricks for debugging.
Use `WireShark <https://www.wireshark.org/>`_ or `a Beagle <https://www.totalphase.com/protocols/usb/>`_ to sniff the USB traffic. When things aren't working its likely very early in the USB enumeration process. Figuring out where can help clue in where the issue is. For example:
* If the host sends a SETUP packet and its not ACKed then your USB peripheral probably isn't started correctly.
* If the peripheral is started correctly but it still didn't work, then verify your usb clock is correct. (You did output a PWM based on it right? 🙂)
* If the SETUP packet is ACKed but nothing is sent back then you interrupt handler isn't queueing the setup packet correctly. (Also, if you are using your own code instead of an example ``tud_task()`` may not be called.) If that's OK, the ``dcd_xfer_complete()`` may not be setting up the next transaction correctly.

View File

@ -1,133 +0,0 @@
# Getting Started #
## Add TinyUSB to your project
It is relatively simple to incorporate tinyusb to your (existing) project
- Copy or `git submodule` this repo into your project in a subfolder. Let's say it is *your_project/tinyusb*
- Add all the .c in the `tinyusb/src` folder to your project
- Add *your_project/tinyusb/src* to your include path. Also make sure your current include path also contains the configuration file tusb_config.h.
- Make sure all required macros are all defined properly in tusb_config.h (configure file in demo application is sufficient, but you need to add a few more such as CFG_TUSB_MCU, CFG_TUSB_OS since they are passed by IDE/compiler to maintain a unique configure for all boards).
- If you use the device stack, make sure you have created/modified usb descriptors for your own need. Ultimately you need to implement all **tud_descriptor_** callbacks for the stack to work.
- Add tusb_init() call to your reset initialization code.
- Call `tud_int_handler()` (device stack) and/or `tuh_int_handler()` in your USB IRQ Handler
- Implement all enabled classes's callbacks.
- If you don't use any RTOSes at all, you need to continuously and/or periodically call tud_task()/tuh_task() function. All of the callbacks and functionality are handled and invoke within the call of that task runner.
~~~{.c}
int main(void)
{
your_init_code();
tusb_init(); // initialize tinyusb stack
while(1) // the mainloop
{
your_application_code();
tud_task(); // device task
tuh_task(); // host task
}
}
~~~
## Examples
For your convenience, TinyUSB contains a handful of examples for both host and device with/without RTOS to quickly test the functionality as well as demonstrate how API() should be used. Most examples will work on most of [the supported Boards](boards.md). Firstly we need to `git clone` if not already
```
$ git clone https://github.com/hathach/tinyusb tinyusb
$ cd tinyusb
```
TinyUSB examples includes external repos aka submodules to provide low-level MCU peripheral's driver as well as external libraries such as FreeRTOS to compile with. Therefore we will firstly fetch those mcu driver repo by running this command in the top folder repo
```
$ git submodule update --init --recursive
```
It will takes a bit of time due to the number of supported MCUs, luckily we only need to do this once. Or if you only want to test with a specific mcu, you could only fetch its driver submodule.
### Build
To build example, first change directory to an example folder.
```
$ cd examples/device/cdc_msc
```
Then compile with `make BOARD=[board_name] all`, for example
```
$ make BOARD=feather_nrf52840_express all
```
#### Port Selection
If a board has several ports, one port is chosen by default in the individual board.mk file. Use option `PORT=x` To choose another port. For example to select the HS port of a STM32F746Disco board, use:
```
$ make BOARD=stm32f746disco PORT=1 all
```
#### Port Speed
A MCU can support multiple operational speed. By default, the example build system will use the fastest supported on the board. Use option `SPEED=full/high` e.g To force F723 operate at full instead of default high speed
```
$ make BOARD=stm32f746disco SPEED=full all
```
### Debug
To compile for debugging add `DEBUG=1`, for example
```
$ make BOARD=feather_nrf52840_express DEBUG=1 all
```
#### Log
Should you have an issue running example and/or submitting an bug report. You could enable TinyUSB built-in debug logging with optional `LOG=`. LOG=1 will only print out error message, LOG=2 print more information with on-going events. LOG=3 or higher is not used yet.
```
$ make BOARD=feather_nrf52840_express LOG=2 all
```
#### Logger
By default log message is printed via on-board UART which is slow and take lots of CPU time comparing to USB speed. If your board support on-board/external debugger, it would be more efficient to use it for logging. There are 2 protocols:
- `LOGGER=rtt`: use [Segger RTT protocol](https://www.segger.com/products/debug-probes/j-link/technology/about-real-time-transfer/)
- Cons: requires jlink as the debugger.
- Pros: work with most if not all MCUs
- Software viewer is JLink RTT Viewer/Client/Logger which is bundled with JLink driver package.
- `LOGGER=swo`: Use dedicated SWO pin of ARM Cortex SWD debug header.
- Cons: only work with ARM Cortex MCUs minus M0
- Pros: should be compatible with more debugger that support SWO.
- Software viewer should be provided along with your debugger driver.
```
$ make BOARD=feather_nrf52840_express LOG=2 LOGGER=rtt all
$ make BOARD=feather_nrf52840_express LOG=2 LOGGER=swo all
```
### Flash
`flash` target will use the default on-board debugger (jlink/cmsisdap/stlink/dfu) to flash the binary, please install those support software in advance. Some board use bootloader/DFU via serial which is required to pass to make command
```
$ make BOARD=feather_nrf52840_express flash
$ make SERIAL=/dev/ttyACM0 BOARD=feather_nrf52840_express flash
```
Since jlink can be used with most of the boards, there is also `flash-jlink` target for your convenience.
```
$ make BOARD=feather_nrf52840_express flash-jlink
```
Some board use uf2 bootloader for drag & drop in to mass storage device, uf2 can be generated with `uf2` target
```
$ make BOARD=feather_nrf52840_express all uf2
```

19
docs/index.rst Normal file
View File

@ -0,0 +1,19 @@
:hide-toc:
.. include:: ../README_processed.rst
.. toctree::
:caption: Index
:hidden:
Info <info/index>
Reference <reference/index>
Contributing <contributing/index>
.. toctree::
:caption: External Links
:hidden:
Source Code <https://github.com/hathach/tinyusb>
Issue Tracker <https://github.com/hathach/tinyusb/issues>
Discussions <https://github.com/hathach/tinyusb/discussions>

1153
docs/info/changelog.rst Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
.. include:: ../../CONTRIBUTORS.rst

12
docs/info/index.rst Normal file
View File

@ -0,0 +1,12 @@
****
Info
****
Index
=====
.. toctree::
:maxdepth: 2
changelog
contributors

View File

@ -1,191 +0,0 @@
# Porting
TinyUSB is designed to be a universal USB protocol stack for microcontrollers. It
handles most of the high level USB protocol and relies on the microcontroller's USB peripheral for
data transactions on different endpoints. Porting is the process of adding low-level support for
the rest of the common stack. Once the low-level is implemented, it is very easy to add USB support
for the microcontroller to other projects, especially those already using TinyUSB such as CircuitPython.
Below are instructions on how to get the cdc_msc device example running on a new microcontroller. Doing so includes adding the common code necessary for other uses while minimizing other extra code. Whenever you see a phrase or word in <> it should be replaced.
## Register defs
The first step to adding support is including the register definitions and startup code for the
microcontroller in TinyUSB. We write the TinyUSB implementation against these structs instead of higher level functions to keep the code small and to prevent function name collisions in linking of larger projects. For ARM microcontrollers this is the CMSIS definitions. They should be
placed in the `hw/mcu/<vendor>/<chip_family>` directory.
Once this is done, create a directory in `hw/bsp/<your board name>` for the specific board you are using to test the code. (Duplicating an existing board's directory is the best way to get started.) The board should be a readily available development board so that others can also test.
## Build
Now that those directories are in place, we can start our iteration process to get the example building successfully. To build, run from the root of TinyUSB:
`make -C examples/device/cdc_msc BOARD=<board>`
Unless, you've read ahead, this will fail miserably. Now, lets get it to fail less by updating the files in the board directory. The code in the board's directory is responsible for setting up the microcontroller's clocks and pins so that USB works. TinyUSB itself only operates on the USB peripheral. The board directory also includes information what files are needed to build the example.
One of the first things to change is the `-DCFG_TUSB_MCU` cflag in the `board.mk` file. This is used to tell TinyUSB what platform is being built. So, add an entry to `src/tusb_option.h` and update the CFLAG to match.
Update `board.mk`'s VENDOR and CHIP_FAMILY values when creating the directory for the struct files. Duplicate one of the other sources from `src/portable` into `src/portable/<vendor>/<chip_family>` and delete all of the implementation internals. We'll cover what everything there does later. For now, get it compiling.
## Implementation
At this point you should get an error due to an implementation issue and hopefully the build is setup for the new MCU. You will still need to modify the `board.mk` to include specific CFLAGS, the linker script, linker flags, source files, include directories. All file paths are relative to the top of the TinyUSB repo.
### Board Support (BSP)
The board support code is only used for self-contained examples and testing. It is not used when TinyUSB is part of a larger project. Its responsible for getting the MCU started and the USB peripheral clocked. It also optionally provides LED definitions that are used to blink an LED to show that the code is running.
It is located in `hw/bsp/<board name>/board_<board name>.c`.
#### board_init
`board_init` is responsible for starting the MCU, setting up the USB clock and USB pins. It is also responsible for initializing LED pins.
One useful clock debugging technique is to set up a PWM output at a known value such as 500hz based on the USB clock so that you can verify it is correct with a logic probe or oscilloscope.
Setup your USB in a crystal-less mode when available. That makes the code easier to port across boards.
#### board_led_write
Feel free to skip this until you want to verify your demo code is running. To implement, set the pin corresponding to the led to output a value that lights the LED when `state` is true.
### OS Abstraction Layer (OSAL)
The OS Abstraction Layer is responsible for providing basic data structures for TinyUSB that may allow for concurrency when used with an RTOS. Without an RTOS it simply handles concurrency issues between the main code and interrupts.
The code is almost entirely agnostic of MCU and lives in `src/osal`.
### Device API
After the USB device is setup, the USB device code works by processing events on the main thread (by calling `tud_task`). These events are queued by the USB interrupt handler. So, there are three parts to the device low-level API: device setup, endpoint setup and interrupt processing.
All of the code for the low-level device API is in `src/portable/<vendor>/<chip family>/dcd_<chip family>.c`.
#### Device Setup
##### dcd_init
Initializes the USB peripheral for device mode and enables it.
This function should enable internal D+/D- pull-up for enumeration.
##### dcd_int_enable / dcd_int_disable
Enables or disables the USB device interrupt(s). May be used to prevent concurrency issues when mutating data structures shared between main code and the interrupt handler.
##### dcd_int_handler
Processes all the hardware generated events e.g Bus reset, new data packet from host etc ... It will be called by application in the MCU USB interrupt handler.
##### dcd_set_address
Called when the device is given a new bus address.
If your peripheral automatically changes address during enumeration (like the nrf52) you may leave this empty and also no queue an event for the corresponding SETUP packet.
##### dcd_remote_wakeup
Called to remote wake up host when suspended (e.g hid keyboard)
##### dcd_connect / dcd_disconnect
Connect or disconnect the data-line pull-up resistor. Define only if MCU has an internal pull-up. (BSP may define for MCU without internal pull-up.)
#### Special events
You must let TinyUSB know when certain events occur so that it can continue its work. There are a few methods you can call to queue events for TinyUSB to process.
##### dcd_event_bus_signal
There are a number of events that your peripheral may communicate about the state of the bus. Here is an overview of what they are. Events in **BOLD** must be provided for TinyUSB to work.
* **DCD_EVENT_RESET** - Triggered when the host resets the bus causing the peripheral to reset. Do any other internal reset you need from the interrupt handler such as resetting the control endpoint.
* DCD_EVENT_SOF - Signals the start of a new USB frame.
Calls to this look like:
dcd_event_bus_signal(0, DCD_EVENT_BUS_RESET, true);
The first `0` is the USB peripheral number. Statically saying 0 is common for single USB device MCUs.
The `true` indicates the call is from an interrupt handler and will always be the case when porting in this way.
##### dcd_setup_received
SETUP packets are a special type of transaction that can occur at any time on the control endpoint, numbered `0`. Since they are unique, most peripherals have special handling for them. Their data is always 8 bytes in length as well.
Calls to this look like:
dcd_event_setup_received(0, setup, true);
As before with `dcd_event_bus_signal` the first argument is the USB peripheral number and the third is true to signal its being called from an interrupt handler. The middle argument is byte array of length 8 with the contents of the SETUP packet. It can be stack allocated because it is copied into the queue.
#### Endpoints
Endpoints are the core of the USB data transfer process. They come in a few forms such as control, isochronous, bulk, and interrupt. We won't cover the details here except with some caveats in open below. In general, data is transferred by setting up a buffer of a given length to be transferred on a given endpoint address and then waiting for an interrupt to signal that the transfer is finished. Further details below.
Endpoints within USB have an address which encodes both the number and direction of an endpoint. TinyUSB provides `tu_edpt_number` and `tu_edpt_dir` to unpack this data from the address. Here is a snippet that does it.
uint8_t epnum = tu_edpt_number(ep_addr);
uint8_t dir = tu_edpt_dir(ep_addr);
##### dcd_edpt_open
Opening an endpoint is done for all non-control endpoints once the host picks a configuration that the device should use. At this point, the endpoint should be enabled in the peripheral and configured to match the endpoint descriptor. Pay special attention to the direction of the endpoint you can get from the helper methods above. It will likely change what registers you are setting.
Also make sure to enable endpoint specific interrupts.
##### dcd_edpt_close
Close an endpoint. his function is used for implementing alternate settings.
After calling this, the device should not respond to any packets directed towards this endpoint. When called, this function must abort any transfers in progress through this endpoint, before returning.
Implementation is optional. Must be called from the USB task. Interrupts could be disabled or enabled during the call.
##### dcd_edpt_xfer
`dcd_edpt_xfer` is responsible for configuring the peripheral to send or receive data from the host. "xfer" is short for "transfer". **This is one of the core methods you must implement for TinyUSB to work (one other is the interrupt handler).** Data from the host is the OUT direction and data to the host is IN. It is used for all endpoints including the control endpoint 0. Make sure to handle the zero-length packet STATUS packet on endpoint 0 correctly. It may be a special transaction to the peripheral.
Besides that, all other transactions are relatively straight-forward. The endpoint address provides the endpoint
number and direction which usually determines where to write the buffer info. The buffer and its length are usually
written to a specific location in memory and the peripheral is told the data is valid. (Maybe by writing a 1 to a
register or setting a counter register to 0 for OUT or length for IN.)
The transmit buffer alignment is determined by `CFG_TUSB_MEM_ALIGN`.
One potential pitfall is that the buffer may be longer than the maximum endpoint size of one USB
packet. Some peripherals can handle transmitting multiple USB packets for a provided buffer (like the SAMD21).
Others (like the nRF52) may need each USB packet queued individually. To make this work you'll need to track
some state for yourself and queue up an intermediate USB packet from the interrupt handler.
Once the transaction is going, the interrupt handler will notify TinyUSB of transfer completion.
During transmission, the IN data buffer is guarenteed to remain unchanged in memory until the `dcd_xfer_complete` function is called.
The dcd_edpt_xfer function must never add zero-length-packets (ZLP) on its own to a transfer. If a ZLP is required,
then it must be explicitly sent by the stack calling dcd_edpt_xfer(), by calling dcd_edpt_xfer() a second time with len=0.
For control transfers, this is automatically done in `usbd_control.c`.
At the moment, only a single buffer can be transmitted at once. There is no provision for double-buffering. new dcd_edpt_xfer() will not
be called again on the same endpoint address until the driver calls dcd_xfer_complete() (except in cases of USB resets).
##### dcd_xfer_complete
Once a transfer completes you must call dcd_xfer_complete from the USB interrupt handler to let TinyUSB know that a transaction has completed. Here is a sample call:
dcd_event_xfer_complete(0, ep_addr, xfer->actual_len, XFER_RESULT_SUCCESS, true);
The arguments are:
* the USB peripheral number
* the endpoint address
* the actual length of the transfer. (OUT transfers may be smaller than the buffer given in `dcd_edpt_xfer`)
* the result of the transfer. Failure isn't handled yet.
* `true` to note the call is from an interrupt handler.
##### dcd_edpt_stall / dcd_edpt_clear_stall
Stalling is one way an endpoint can indicate failure such as when an unsupported command is transmitted. The pair of `dcd_edpt_stall`, `dcd_edpt_clear_stall` help manage the stall state of all endpoints.
## Woohoo!
At this point you should have everything working! ;-) Of course, you may not write perfect code. Here are some tips and tricks for debugging.
Use [WireShark](https://www.wireshark.org/) or [a Beagle](https://www.totalphase.com/protocols/usb/) to sniff the USB traffic. When things aren't working its likely very early in the USB enumeration process. Figuring out where can help clue in where the issue is. For example:
* If the host sends a SETUP packet and its not ACKed then your USB peripheral probably isn't started correctly.
* If the peripheral is started correctly but it still didn't work, then verify your usb clock is correct. (You did output a PWM based on it right? ;-) )
* If the SETUP packet is ACKed but nothing is sent back then you interrupt handler isn't queueing the setup packet correctly. (Also, if you are using your own code instead of an example `tud_task` may not be called.) If thats OK, the `dcd_xfer_complete` may not be setting up the next transaction correctly.

320
docs/reference/boards.rst Normal file
View File

@ -0,0 +1,320 @@
****************
Supported Boards
****************
The board support code is only used for self-contained examples and testing. It is not used when TinyUSB is part of a larger project.
It is responsible for getting the MCU started and the USB peripheral clocked with minimal of on-board devices
- One LED : for status
- One Button : to get input from user
- One UART : optional for device, but required for host examples
Following boards are supported
Analog Devices
--------------
============= ================ ======== =========================================================================================================================== ======
Board Name Family URL Note
============= ================ ======== =========================================================================================================================== ======
max32650evkit MAX32650 EVKIT max32650 https://www.analog.com/en/resources/evaluation-hardware-and-software/evaluation-boards-kits/max32650-evkit.html#eb-overview
max32650fthr MAX32650 Feather max32650 https://www.analog.com/en/resources/evaluation-hardware-and-software/evaluation-boards-kits/max32650fthr.html
max32651evkit MAX32651 EVKIT max32650 https://www.analog.com/en/resources/evaluation-hardware-and-software/evaluation-boards-kits/max32651-evkit.html
max32666evkit MAX32666 EVKIT max32666 https://www.analog.com/en/resources/evaluation-hardware-and-software/evaluation-boards-kits/max32666evkit.html
max32666fthr MAX32666 Feather max32666 https://www.analog.com/en/resources/evaluation-hardware-and-software/evaluation-boards-kits/max32666fthr.html
apard32690 APARD32690-SL max32690 https://www.analog.com/en/resources/evaluation-hardware-and-software/evaluation-boards-kits/ad-apard32690-sl.html
max32690evkit MAX32690 EVKIT max32690 https://www.analog.com/en/resources/evaluation-hardware-and-software/evaluation-boards-kits/max32690evkit.html
max78002evkit MAX78002 EVKIT max78002 https://www.analog.com/en/resources/evaluation-hardware-and-software/evaluation-boards-kits/max78002evkit.html
============= ================ ======== =========================================================================================================================== ======
Bridgetek
---------
========= ========= ======== ===================================== ======
Board Name Family URL Note
========= ========= ======== ===================================== ======
mm900evxb MM900EVxB brtmm90x https://brtchip.com/product/mm900ev1b
========= ========= ======== ===================================== ======
Espressif
---------
========================= ============================== ========= ======================================================================================================== ======
Board Name Family URL Note
========================= ============================== ========= ======================================================================================================== ======
adafruit_feather_esp32_v2 Adafruit Feather ESP32 v2 espressif https://www.adafruit.com/product/5400
adafruit_feather_esp32s2 Adafruit Feather ESP32S2 espressif https://www.adafruit.com/product/5000
adafruit_feather_esp32s3 Adafruit Feather ESP32S3 espressif https://www.adafruit.com/product/5323
adafruit_magtag_29gray Adafruit MagTag 2.9" Grayscale espressif https://www.adafruit.com/product/4800
adafruit_metro_esp32s2 Adafruit Metro ESP32-S2 espressif https://www.adafruit.com/product/4775
espressif_addax_1 Espresif Addax-1 espressif n/a
espressif_c3_devkitc Espresif C3 DevKitC espressif https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32c3/esp32-c3-devkitc-02/index.html
espressif_c6_devkitc Espresif C6 DevKitC espressif https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32c6/esp32-c6-devkitc-1/index.html
espressif_kaluga_1 Espresif Kaluga 1 espressif https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32s2/esp32-s2-kaluga-1/index.html
espressif_p4_function_ev Espresif P4 Function EV espressif https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32p4/esp32-p4-function-ev-board/index.html
espressif_s2_devkitc Espresif S2 DevKitC espressif https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32s2/esp32-s2-devkitc-1/index.html
espressif_s3_devkitc Espresif S3 DevKitC espressif https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32s3/esp32-s3-devkitc-1/index.html
espressif_s3_devkitm Espresif S3 DevKitM espressif https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32s3/esp32-s3-devkitm-1/index.html
espressif_saola_1 Espresif S2 Saola 1 espressif https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32s2/esp32-s2-saola-1/index.html
========================= ============================== ========= ======================================================================================================== ======
GigaDevice
----------
================== ================== ========= ============================= ======
Board Name Family URL Note
================== ================== ========= ============================= ======
sipeed_longan_nano Sipeed Longan Nano gd32vf103 https://longan.sipeed.com/en/
================== ================== ========= ============================= ======
Infineon
--------
============= ================= ======== ============================================================================= ======
Board Name Family URL Note
============= ================= ======== ============================================================================= ======
xmc4500_relax XMC4500 relax kit xmc4000 https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc45_relax_v1/
xmc4700_relax XMC4700 relax kit xmc4000 https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc47_relax_v1/
============= ================= ======== ============================================================================= ======
Microchip
---------
========================= =================================== ========== ================================================================================= ======
Board Name Family URL Note
========================= =================================== ========== ================================================================================= ======
olimex_emz64 Olimex PIC32-EMZ64 pic32mz https://www.olimex.com/Products/PIC/Development/PIC32-EMZ64/open-source-hardware
olimex_hmz144 Olimex PIC32-HMZ144 pic32mz https://www.olimex.com/Products/PIC/Development/PIC32-HMZ144/open-source-hardware
cynthion_d11 Great Scott Gadgets Cynthion samd11 https://greatscottgadgets.com/cynthion/
samd11_xplained SAMD11 Xplained Pro samd11 https://www.microchip.com/en-us/development-tool/ATSAMD11-XPRO
atsamd21_xpro SAMD21 Xplained Pro samd21 https://www.microchip.com/DevelopmentTools/ProductDetails/ATSAMD21-XPRO
circuitplayground_express Adafruit Circuit Playground Express samd21 https://www.adafruit.com/product/3333
curiosity_nano SAMD21 Curiosty Nano samd21 https://www.microchip.com/en-us/development-tool/dm320119
cynthion_d21 Great Scott Gadgets Cynthion samd21 https://greatscottgadgets.com/cynthion/
feather_m0_express Adafruit Feather M0 Express samd21 https://www.adafruit.com/product/3403
itsybitsy_m0 Adafruit ItsyBitsy M0 samd21 https://www.adafruit.com/product/3727
metro_m0_express Adafruit Metro M0 Express samd21 https://www.adafruit.com/product/3505
qtpy Adafruit QT Py samd21 https://www.adafruit.com/product/4600
seeeduino_xiao Seeeduino XIAO samd21 https://wiki.seeedstudio.com/Seeeduino-XIAO/
sparkfun_samd21_mini_usb SparkFun SAMD21 Mini samd21 https://www.sparkfun.com/products/13664
trinket_m0 Adafruit Trinket M0 samd21 https://www.adafruit.com/product/3500
d5035_01 D5035-01 samd5x_e5x https://github.com/RudolphRiedel/USB_CAN-FD
feather_m4_express Adafruit Feather M4 Express samd5x_e5x https://www.adafruit.com/product/3857
itsybitsy_m4 Adafruit ItsyBitsy M4 samd5x_e5x https://www.adafruit.com/product/3800
metro_m4_express Adafruit Metro M4 Express samd5x_e5x https://www.adafruit.com/product/3382
pybadge Adafruit PyBadge samd5x_e5x https://www.adafruit.com/product/4200
pyportal Adafruit PyPortal samd5x_e5x https://www.adafruit.com/product/4116
same54_xplained SAME54 Xplained Pro samd5x_e5x https://www.microchip.com/DevelopmentTools/ProductDetails/ATSAME54-XPRO
samg55_xplained SAMG55 Xplained Pro samg https://www.microchip.com/DevelopmentTools/ProductDetails/ATSAMG55-XPRO
atsaml21_xpro SAML21 Xplained Pro saml2x https://www.microchip.com/en-us/development-tool/atsaml21-xpro-b
saml22_feather SAML22 Feather saml2x https://github.com/joeycastillo/Feather-Projects/tree/main/SAML22%20Feather
sensorwatch_m0 SensorWatch saml2x https://github.com/joeycastillo/Sensor-Watch
========================= =================================== ========== ================================================================================= ======
MindMotion
----------
===================== ====================================== ======== =============================================================================================== ======
Board Name Family URL Note
===================== ====================================== ======== =============================================================================================== ======
mm32f327x_mb39 MM32F3273G9P MB-039 mm32 https://www.mindmotion.com.cn/support/development_tools/evaluation_boards/evboard/mm32f3273g9p/
mm32f327x_pitaya_lite DshanMCU Pitaya Lite with MM32F3273G8P mm32 https://gitee.com/weidongshan/DshanMCU-Pitaya-c
===================== ====================================== ======== =============================================================================================== ======
NXP
---
================== ========================================= ============= ========================================================================================================================================================================= ======
Board Name Family URL Note
================== ========================================= ============= ========================================================================================================================================================================= ======
metro_m7_1011 Adafruit Metro M7 1011 imxrt https://www.adafruit.com/product/5600
metro_m7_1011_sd Adafruit Metro M7 1011 SD imxrt https://www.adafruit.com/product/5600
mimxrt1010_evk i.MX RT1010 Evaluation Kit imxrt https://www.nxp.com/design/design-center/development-boards-and-designs/i-mx-evaluation-and-development-boards/i-mx-rt1010-evaluation-kit:MIMXRT1010-EVK
mimxrt1015_evk i.MX RT1015 Evaluation Kit imxrt https://www.nxp.com/design/design-center/development-boards-and-designs/MIMXRT1015-EVK
mimxrt1020_evk i.MX RT1020 Evaluation Kit imxrt https://www.nxp.com/design/design-center/development-boards-and-designs/MIMXRT1020-EVK
mimxrt1024_evk i.MX RT1024 Evaluation Kit imxrt https://www.nxp.com/design/design-center/development-boards-and-designs/i-mx-evaluation-and-development-boards/i-mx-rt1024-evaluation-kit:MIMXRT1024-EVK
mimxrt1050_evkb i.MX RT1050 Evaluation Kit revB imxrt https://www.nxp.com/part/IMXRT1050-EVKB
mimxrt1060_evk i.MX RT1060 Evaluation Kit revB imxrt https://www.nxp.com/design/design-center/development-boards-and-designs/MIMXRT1060-EVKB
mimxrt1064_evk i.MX RT1064 Evaluation Kit imxrt https://www.nxp.com/design/design-center/development-boards-and-designs/MIMXRT1064-EVK
mimxrt1170_evkb i.MX RT1070 Evaluation Kit imxrt https://www.nxp.com/design/design-center/development-boards-and-designs/i-mx-evaluation-and-development-boards/i-mx-rt1170-evaluation-kit:MIMXRT1170-EVKB
teensy_40 Teensy 4.0 imxrt https://www.pjrc.com/store/teensy40.html
teensy_41 Teensy 4.1 imxrt https://www.pjrc.com/store/teensy41.html
frdm_k64f Freedom K64F kinetis_k https://www.nxp.com/design/design-center/development-boards-and-designs/general-purpose-mcus/freedom-development-platform-for-kinetis-k64-k63-and-k24-mcus:FRDM-K64F
teensy_35 Teensy 3.5 kinetis_k https://www.pjrc.com/store/teensy35.html
frdm_k32l2a4s Freedom K32L2A4S kinetis_k32l2 https://www.nxp.com/design/design-center/development-boards-and-designs/FRDM-K32L2A4S
frdm_k32l2b Freedom K32L2B3 kinetis_k32l2 https://www.nxp.com/design/design-center/development-boards-and-designs/general-purpose-mcus/nxp-freedom-development-platform-for-k32-l2b-mcus:FRDM-K32L2B3
kuiic Kuiic kinetis_k32l2 https://github.com/nxf58843/kuiic
frdm_kl25z fomu kinetis_kl https://www.nxp.com/design/design-center/development-boards-and-designs/general-purpose-mcus/freedom-development-platform-for-kinetis-kl14-kl15-kl24-kl25-mcus:FRDM-KL25Z
lpcxpresso11u37 LPCXpresso11U37 lpc11 https://www.nxp.com/design/design-center/development-boards-and-designs/OM13074
lpcxpresso11u68 LPCXpresso11U68 lpc11 https://www.nxp.com/design/design-center/development-boards-and-designs/OM13058
lpcxpresso1347 LPCXpresso1347 lpc13 https://www.nxp.com/products/no-longer-manufactured/lpcxpresso-board-for-lpc1347:OM13045
lpcxpresso1549 LPCXpresso1549 lpc15 https://www.nxp.com/design/design-center/development-boards-and-designs/OM13056
lpcxpresso1769 LPCXpresso1769 lpc17 https://www.nxp.com/design/design-center/development-boards-and-designs/OM13000
mbed1768 mbed 1768 lpc17 https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/lpc1700-arm-cortex-m3/arm-mbed-lpc1768-board:OM11043
lpcxpresso18s37 LPCXpresso18s37 lpc18 https://www.nxp.com/design/design-center/software/development-software/mcuxpresso-software-and-tools-/lpcxpresso-boards/lpcxpresso18s37-development-board:OM13076
mcb1800 Keil MCB1800 lpc18 https://www.keil.com/arm/mcb1800/
ea4088_quickstart Embedded Artists LPC4088 QuickStart Board lpc40 https://www.embeddedartists.com/products/lpc4088-quickstart-board/
ea4357 Embedded Artists LPC4357 Development Kit lpc43 https://www.embeddedartists.com/products/lpc4357-developers-kit/
lpcxpresso43s67 LPCXpresso43S67 lpc43 https://www.nxp.com/design/design-center/software/development-software/mcuxpresso-software-and-tools-/lpcxpresso-boards/lpcxpresso43s67-development-board:OM13084
lpcxpresso51u68 LPCXpresso51u68 lpc51 https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/lpcxpresso51u68-for-the-lpc51u68-mcus:OM40005
lpcxpresso54114 LPCXpresso54114 lpc54 https://www.nxp.com/design/design-center/software/development-software/mcuxpresso-software-and-tools-/lpcxpresso-boards/lpcxpresso54114-board:OM13089
lpcxpresso54608 LPCXpresso54608 lpc54 https://www.nxp.com/design/design-center/software/development-software/mcuxpresso-software-and-tools-/lpcxpresso-development-board-for-lpc5460x-mcus:OM13092
lpcxpresso54628 LPCXpresso54628 lpc54 https://www.nxp.com/design/design-center/software/development-software/mcuxpresso-software-and-tools-/lpcxpresso-boards/lpcxpresso54628-development-board:OM13098
double_m33_express Double M33 Express lpc55 https://www.crowdsupply.com/steiert-solutions/double-m33-express
lpcxpresso55s28 LPCXpresso55s28 lpc55 https://www.nxp.com/design/design-center/software/development-software/mcuxpresso-software-and-tools-/lpcxpresso-boards/lpcxpresso55s28-development-board:LPC55S28-EVK
lpcxpresso55s69 LPCXpresso55s69 lpc55 https://www.nxp.com/design/design-center/software/development-software/mcuxpresso-software-and-tools-/lpcxpresso-boards/lpcxpresso55s69-development-board:LPC55S69-EVK
mcu_link MCU Link lpc55 https://www.nxp.com/design/design-center/software/development-software/mcuxpresso-software-and-tools-/mcu-link-debug-probe:MCU-LINK
frdm_mcxa153 Freedom MCXA153 mcx https://www.nxp.com/design/design-center/development-boards-and-designs/FRDM-MCXA153
frdm_mcxn947 Freedom MCXN947 mcx https://www.nxp.com/design/design-center/development-boards-and-designs/FRDM-MCXN947
mcxn947brk MCXN947 Breakout mcx n/a
================== ========================================= ============= ========================================================================================================================================================================= ======
Nordic Semiconductor
--------------------
=========================== ===================================== ======== ============================================================================== ======
Board Name Family URL Note
=========================== ===================================== ======== ============================================================================== ======
adafruit_clue Adafruit CLUE nrf https://www.adafruit.com/product/4500
arduino_nano33_ble Arduino Nano 33 BLE nrf https://store.arduino.cc/arduino-nano-33-ble
circuitplayground_bluefruit Adafruit Circuit Playground Bluefruit nrf https://www.adafruit.com/product/4333
feather_nrf52840_express Adafruit Feather nRF52840 Express nrf https://www.adafruit.com/product/4062
feather_nrf52840_sense Adafruit Feather nRF52840 Sense nrf https://www.adafruit.com/product/4516
itsybitsy_nrf52840 Adafruit ItsyBitsy nRF52840 Express nrf https://www.adafruit.com/product/4481
pca10056 Nordic nRF52840DK nrf https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52840-DK
pca10059 Nordic nRF52840 Dongle nrf https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52840-Dongle
pca10095 Nordic nRF5340 DK nrf https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF5340-DK
pca10100 Nordic nRF52833 DK nrf https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52833-DK
=========================== ===================================== ======== ============================================================================== ======
Raspberry Pi
------------
================= ================= ============== ========================================================== ======
Board Name Family URL Note
================= ================= ============== ========================================================== ======
raspberrypi_zero Raspberry Pi Zero broadcom_32bit https://www.raspberrypi.org/products/raspberry-pi-zero/
raspberrypi_cm4 Raspberry CM4 broadcom_64bit https://www.raspberrypi.org/products/compute-module-4
raspberrypi_zero2 Raspberry Zero2 broadcom_64bit https://www.raspberrypi.org/products/raspberry-pi-zero-2-w
================= ================= ============== ========================================================== ======
Renesas
-------
============== =========================== ======== ================================================================================================================================================================ ======
Board Name Family URL Note
============== =========================== ======== ================================================================================================================================================================ ======
da14695_dk_usb DA14695-00HQDEVKT-U da1469x https://www.renesas.com/en/products/wireless-connectivity/bluetooth-low-energy/da14695-00hqdevkt-u-smartbond-da14695-bluetooth-low-energy-52-usb-development-kit
da1469x_dk_pro DA1469x Development Kit Pro da1469x https://lpccs-docs.renesas.com/um-b-090-da1469x_getting_started/DA1469x_The_hardware/DA1469x_The_hardware.html
portenta_c33 Arduino Portenta C33 ra https://www.arduino.cc/pro/hardware-product-portenta-c33/
ra2a1_ek RA2A1 EK ra https://www.renesas.com/en/products/microcontrollers-microprocessors/ra-cortex-m-mcus/ek-ra2a1-evaluation-kit-ra2a1-mcu-group
ra4m1_ek RA4M1 EK ra https://www.renesas.com/en/products/microcontrollers-microprocessors/ra-cortex-m-mcus/ek-ra4m1-evaluation-kit-ra4m1-mcu-group
ra4m3_ek RA4M3 EK ra https://www.renesas.com/en/products/microcontrollers-microprocessors/ra-cortex-m-mcus/ek-ra4m3-evaluation-kit-ra4m3-mcu-group
ra6m1_ek RA6M1 EK ra https://www.renesas.com/en/products/microcontrollers-microprocessors/ra-cortex-m-mcus/ek-ra6m1-evaluation-kit-ra6m1-mcu-group
ra6m5_ek RA6M5 EK ra https://www.renesas.com/en/products/microcontrollers-microprocessors/ra-cortex-m-mcus/ek-ra6m5-evaluation-kit-ra6m5-mcu-group
ra8m1_ek RA8M1 EK ra https://www.renesas.com/en/products/microcontrollers-microprocessors/ra-cortex-m-mcus/ek-ra8m1-evaluation-kit-ra8m1-mcu-group
uno_r4 Arduino UNO R4 ra https://store-usa.arduino.cc/pages/uno-r4
============== =========================== ======== ================================================================================================================================================================ ======
STMicroelectronics
------------------
=================== ================================= ======== ================================================================= ======
Board Name Family URL Note
=================== ================================= ======== ================================================================= ======
stm32c071nucleo STM32C071 Nucleo stm32c0 https://www.st.com/en/evaluation-tools/nucleo-g071rb.html
stm32f070rbnucleo STM32 F070 Nucleo stm32f0 https://www.st.com/en/evaluation-tools/nucleo-f070rb.html
stm32f072disco STM32 F072 Discovery stm32f0 https://www.st.com/en/evaluation-tools/32f072bdiscovery.html
stm32f072eval STM32 F072 Eval stm32f0 https://www.st.com/en/evaluation-tools/stm32072b-eval.html
stm32f103_bluepill STM32 F103 Bluepill stm32f1 https://stm32-base.org/boards/STM32F103C8T6-Blue-Pill
stm32f103_mini_2 STM32 F103 Mini v2 stm32f1 https://stm32-base.org/boards/STM32F103RCT6-STM32-Mini-V2.0
stm32f103ze_iar IAR STM32 F103ze starter kit stm32f1 n/a
stm32f207nucleo STM32 F207 Nucleo stm32f2 https://www.st.com/en/evaluation-tools/nucleo-f207zg.html
stm32f303disco STM32 F303 Discovery stm32f3 https://www.st.com/en/evaluation-tools/stm32f3discovery.html
feather_stm32f405 Adafruit Feather STM32F405 stm32f4 https://www.adafruit.com/product/4382
pyboardv11 Pyboard v1.1 stm32f4 https://www.adafruit.com/product/2390
stm32f401blackpill STM32 F401 Blackpill stm32f4 https://stm32-base.org/boards/STM32F401CCU6-WeAct-Black-Pill-V1.2
stm32f407blackvet STM32 F407 Blackvet stm32f4 https://stm32-base.org/boards/STM32F407VET6-STM32-F4VE-V2.0
stm32f407disco STM32 F407 Discovery stm32f4 https://www.st.com/en/evaluation-tools/stm32f4discovery.html
stm32f411blackpill STM32 F411 Blackpill stm32f4 https://stm32-base.org/boards/STM32F411CEU6-WeAct-Black-Pill-V2.0
stm32f411disco STM32 F411 Discovery stm32f4 https://www.st.com/en/evaluation-tools/32f411ediscovery.html
stm32f412disco STM32 F412 Discovery stm32f4 https://www.st.com/en/evaluation-tools/32f412gdiscovery.html
stm32f412nucleo STM32 F412 Nucleo stm32f4 https://www.st.com/en/evaluation-tools/nucleo-f412zg.html
stm32f439nucleo STM32 F439 Nucleo stm32f4 https://www.st.com/en/evaluation-tools/nucleo-f439zi.html
stlinkv3mini Stlink-v3 mini stm32f7 https://www.st.com/en/development-tools/stlink-v3mini.html
stm32f723disco STM32 F723 Discovery stm32f7 https://www.st.com/en/evaluation-tools/32f723ediscovery.html
stm32f746disco STM32 F746 Discovery stm32f7 https://www.st.com/en/evaluation-tools/32f746gdiscovery.html
stm32f746nucleo STM32 F746 Nucleo stm32f7 https://www.st.com/en/evaluation-tools/nucleo-f746zg.html
stm32f767nucleo STM32 F767 Nucleo stm32f7 https://www.st.com/en/evaluation-tools/nucleo-f767zi.html
stm32f769disco STM32 F769 Discovery stm32f7 https://www.st.com/en/evaluation-tools/32f769idiscovery.html
stm32g0b1nucleo STM32 G0B1 Nucleo stm32g0 https://www.st.com/en/evaluation-tools/nucleo-g0b1re.html
b_g474e_dpow1 STM32 B-G474E-DPOW1 Discovery kit stm32g4 https://www.st.com/en/evaluation-tools/b-g474e-dpow1.html
stm32g474nucleo STM32 G474 Nucleo stm32g4 https://www.st.com/en/evaluation-tools/nucleo-g474re.html
stm32g491nucleo STM32 G491 Nucleo stm32g4 https://www.st.com/en/evaluation-tools/nucleo-g491re.html
stm32h503nucleo STM32 H503 Nucleo stm32h5 https://www.st.com/en/evaluation-tools/nucleo-h503rb.html
stm32h563nucleo STM32 H563 Nucleo stm32h5 https://www.st.com/en/evaluation-tools/nucleo-h563zi.html
stm32h573i_dk STM32 H573i Discovery stm32h5 https://www.st.com/en/evaluation-tools/stm32h573i-dk.html
daisyseed Daisy Seed stm32h7 https://electro-smith.com/products/daisy-seed
stm32h723nucleo STM32 H723 Nucleo stm32h7 https://www.st.com/en/evaluation-tools/nucleo-h723zg.html
stm32h743eval STM32 H743 Eval stm32h7 https://www.st.com/en/evaluation-tools/stm32h743i-eval.html
stm32h743nucleo STM32 H743 Nucleo stm32h7 https://www.st.com/en/evaluation-tools/nucleo-h743zi.html
stm32h745disco STM32 H745 Discovery stm32h7 https://www.st.com/en/evaluation-tools/stm32h745i-disco.html
stm32h750_weact STM32 H750 WeAct stm32h7 https://www.adafruit.com/product/5032
stm32h750bdk STM32 H750b Discovery Kit stm32h7 https://www.st.com/en/evaluation-tools/stm32h750b-dk.html
waveshare_openh743i Waveshare Open H743i stm32h7 https://www.waveshare.com/openh743i-c-standard.htm
stm32l052dap52 STM32 L052 DAP stm32l0 n/a
stm32l0538disco STM32 L0538 Discovery stm32l0 https://www.st.com/en/evaluation-tools/32l0538discovery.html
stm32l412nucleo STM32 L412 Nucleo stm32l4 https://www.st.com/en/evaluation-tools/nucleo-l412kb.html
stm32l476disco STM32 L476 Disco stm32l4 https://www.st.com/en/evaluation-tools/32l476gdiscovery.html
stm32l4p5nucleo STM32 L4P5 Nucleo stm32l4 https://www.st.com/en/evaluation-tools/nucleo-l4p5zg.html
stm32l4r5nucleo STM32 L4R5 Nucleo stm32l4 https://www.st.com/en/evaluation-tools/nucleo-l4r5zi.html
b_u585i_iot2a STM32 B-U585i IOT2A Discovery kit stm32u5 https://www.st.com/en/evaluation-tools/b-u585i-iot02a.html
stm32u545nucleo STM32 U545 Nucleo stm32u5 https://www.st.com/en/evaluation-tools/nucleo-u545re-q.html
stm32u575eval STM32 U575 Eval stm32u5 https://www.st.com/en/evaluation-tools/stm32u575i-ev.html
stm32u575nucleo STM32 U575 Nucleo stm32u5 https://www.st.com/en/evaluation-tools/nucleo-u575zi-q.html
stm32u5a5nucleo STM32 U5a5 Nucleo stm32u5 https://www.st.com/en/evaluation-tools/nucleo-u5a5zj-q.html
stm32wb55nucleo STM32 P-NUCLEO-WB55 stm32wb https://www.st.com/en/evaluation-tools/p-nucleo-wb55.html
=================== ================================= ======== ================================================================= ======
Sunxi
-----
======= ================= ======== ========================================= ======
Board Name Family URL Note
======= ================= ======== ========================================= ======
f1c100s Lctech Pi F1C200s f1c100s https://linux-sunxi.org/Lctech_Pi_F1C200s
======= ================= ======== ========================================= ======
Texas Instruments
-----------------
================= ===================== ======== ========================================= ======
Board Name Family URL Note
================= ===================== ======== ========================================= ======
msp_exp430f5529lp MSP430F5529 LaunchPad msp430 https://www.ti.com/tool/MSP-EXP430F5529LP
msp_exp432e401y MSP432E401Y LaunchPad msp432e4 https://www.ti.com/tool/MSP-EXP432E401Y
ek_tm4c123gxl TM4C123G LaunchPad tm4c https://www.ti.com/tool/EK-TM4C123GXL
================= ===================== ======== ========================================= ======
Tomu
----
======= ====== ======== ========================= ======
Board Name Family URL Note
======= ====== ======== ========================= ======
fomu fomu fomu https://tomu.im/fomu.html
======= ====== ======== ========================= ======
WCH
---
================ ================ ======== ===================================================================== ======
Board Name Family URL Note
================ ================ ======== ===================================================================== ======
ch32f205r-r0 CH32F205r-r0 ch32f20x https://github.com/openwch/ch32f20x
ch32v103r_r1_1v0 CH32V103R-R1-1v1 ch32v10x https://github.com/openwch/ch32v103/tree/main/SCHPCB/CH32V103R-R1-1v1
ch32v203c_r0_1v0 CH32V203C-R0-1v0 ch32v20x https://github.com/openwch/ch32v20x/tree/main/SCHPCB/CH32V203C-R0
ch32v203g_r0_1v0 CH32V203G-R0-1v0 ch32v20x https://github.com/openwch/ch32v20x/tree/main/SCHPCB/CH32V203C-R0
nanoch32v203 nanoCH32V203 ch32v20x https://github.com/wuxx/nanoCH32V203
ch32v307v_r1_1v0 CH32V307V-R1-1v0 ch32v307 https://github.com/openwch/ch32v307/tree/main/SCHPCB/CH32V307V-R1-1v0
================ ================ ======== ===================================================================== ======

View File

@ -0,0 +1,42 @@
***********
Concurrency
***********
The TinyUSB library is designed to operate on single-core MCUs with multi-threaded applications in mind. Interaction with interrupts is especially important to pay attention to.
It is compatible with optionally using a RTOS.
General
-------
When writing code, keep in mind that the OS (if using a RTOS) may swap out your code at any time. Also, your code can be preempted by an interrupt at any time.
Application Code
----------------
The USB core does not execute application callbacks while in an interrupt context. Calls to application code are from within the USB core task context. Note that the application core will call class drivers from within their own task.
Class Drivers
-------------
Class driver code should never be called from an interrupt context by the USB core, though the application is allowed to call class driver functions from interrupts. USB core functions may be called simultaneously by multiple tasks. Use care that proper locking is used to guard the USBD core functions from this case.
Class drivers are allowed to call ``usbd_*`` functions, but not ``dcd_*`` functions.
USB Core
--------
All functions that may be called from an (USB core) interrupt context have a ``bool in_isr`` parameter to remind the implementer that special care must be taken.
Interrupt handlers must not directly call class driver code, they must pass a message to the USB core's task.
``usbd_*`` functions may be called from interrupts without any notice. They may also be called simultaneously by multiple tasks.
Device Drivers
--------------
Much of the processing of the USB stack is done in an interrupt context, and care must be taken in order to ensure variables are handled in the appropriate ways by the compiler and optimizer.
In particular:
* Ensure that all memory-mapped registers (including packet memory) are marked as volatile. GCC's optimizer will even combine memory access (like two 16-bit to be a 32-bit) if you don't mark the pointers as volatile. On some architectures, this can use macros like _I , _O , or _IO.
* All defined global variables are marked as ``static``.

View File

@ -0,0 +1,73 @@
************
Dependencies
************
MCU low-level peripheral driver and external libraries for building TinyUSB examples
======================================== ============================================================== ======================================== ====================================================================================================================================================================================================================================================================================================================================
Local Path Repo Commit Required by
======================================== ============================================================== ======================================== ====================================================================================================================================================================================================================================================================================================================================
hw/mcu/allwinner https://github.com/hathach/allwinner_driver.git 8e5e89e8e132c0fd90e72d5422e5d3d68232b756 fc100s
hw/mcu/analog/max32 https://github.com/analogdevicesinc/msdk.git b20b398d3e5e2007594e54a74ba3d2a2e50ddd75 max32650 max32666 max32690 max78002
hw/mcu/bridgetek/ft9xx/ft90x-sdk https://github.com/BRTSG-FOSS/ft90x-sdk.git 91060164afe239fcb394122e8bf9eb24d3194eb1 brtmm90x
hw/mcu/broadcom https://github.com/adafruit/broadcom-peripherals.git 08370086080759ed54ac1136d62d2ad24c6fa267 broadcom_32bit broadcom_64bit
hw/mcu/gd/nuclei-sdk https://github.com/Nuclei-Software/nuclei-sdk.git 7eb7bfa9ea4fbeacfafe1d5f77d5a0e6ed3922e7 gd32vf103
hw/mcu/infineon/mtb-xmclib-cat3 https://github.com/Infineon/mtb-xmclib-cat3.git daf5500d03cba23e68c2f241c30af79cd9d63880 xmc4000
hw/mcu/microchip https://github.com/hathach/microchip_driver.git 9e8b37e307d8404033bb881623a113931e1edf27 sam3x samd11 samd21 samd51 samd5x_e5x same5x same7x saml2x samg
hw/mcu/mindmotion/mm32sdk https://github.com/hathach/mm32sdk.git b93e856211060ae825216c6a1d6aa347ec758843 mm32
hw/mcu/nordic/nrfx https://github.com/NordicSemiconductor/nrfx.git 7c47cc0a56ce44658e6da2458e86cd8783ccc4a2 nrf
hw/mcu/nuvoton https://github.com/majbthrd/nuc_driver.git 2204191ec76283371419fbcec207da02e1bc22fa nuc
hw/mcu/nxp/lpcopen https://github.com/hathach/nxp_lpcopen.git b41cf930e65c734d8ec6de04f1d57d46787c76ae lpc11 lpc13 lpc15 lpc17 lpc18 lpc40 lpc43
hw/mcu/nxp/mcux-sdk https://github.com/hathach/mcux-sdk.git 144f1eb7ea8c06512e12f12b27383601c0272410 kinetis_k kinetis_k32l2 kinetis_kl lpc51 lpc54 lpc55 mcx imxrt
hw/mcu/raspberry_pi/Pico-PIO-USB https://github.com/sekigon-gonnoc/Pico-PIO-USB.git fe9133fc513b82cc3dc62c67cb51f2339cf29ef7 rp2040
hw/mcu/renesas/fsp https://github.com/renesas/fsp.git edcc97d684b6f716728a60d7a6fea049d9870bd6 ra
hw/mcu/renesas/rx https://github.com/kkitayam/rx_device.git 706b4e0cf485605c32351e2f90f5698267996023 rx
hw/mcu/silabs/cmsis-dfp-efm32gg12b https://github.com/cmsis-packs/cmsis-dfp-efm32gg12b.git f1c31b7887669cb230b3ea63f9b56769078960bc efm32
hw/mcu/sony/cxd56/spresense-exported-sdk https://github.com/sonydevworld/spresense-exported-sdk.git 2ec2a1538362696118dc3fdf56f33dacaf8f4067 spresense
hw/mcu/st/cmsis_device_c0 https://github.com/STMicroelectronics/cmsis_device_c0.git fb56b1b70c73b74eacda2a4bcc36886444364ab3 stm32c0
hw/mcu/st/cmsis_device_f0 https://github.com/STMicroelectronics/cmsis_device_f0.git 2fc25ee22264bc27034358be0bd400b893ef837e stm32f0
hw/mcu/st/cmsis_device_f1 https://github.com/STMicroelectronics/cmsis_device_f1.git 6601104a6397299b7304fd5bcd9a491f56cb23a6 stm32f1
hw/mcu/st/cmsis_device_f2 https://github.com/STMicroelectronics/cmsis_device_f2.git 182fcb3681ce116816feb41b7764f1b019ce796f stm32f2
hw/mcu/st/cmsis_device_f3 https://github.com/STMicroelectronics/cmsis_device_f3.git 5e4ee5ed7a7b6c85176bb70a9fd3c72d6eb99f1b stm32f3
hw/mcu/st/cmsis_device_f4 https://github.com/STMicroelectronics/cmsis_device_f4.git 2615e866fa48fe1ff1af9e31c348813f2b19e7ec stm32f4
hw/mcu/st/cmsis_device_f7 https://github.com/STMicroelectronics/cmsis_device_f7.git 25b0463439303b7a38f0d27b161f7d2f3c096e79 stm32f7
hw/mcu/st/cmsis_device_g0 https://github.com/STMicroelectronics/cmsis_device_g0.git 3a23e1224417f3f2d00300ecd620495e363f2094 stm32g0
hw/mcu/st/cmsis_device_g4 https://github.com/STMicroelectronics/cmsis_device_g4.git ce822adb1dc552b3aedd13621edbc7fdae124878 stm32g4
hw/mcu/st/cmsis_device_h5 https://github.com/STMicroelectronics/cmsis_device_h5.git cd2d1d579743de57b88ccaf61a968b9c05848ffc stm32h5
hw/mcu/st/cmsis_device_h7 https://github.com/STMicroelectronics/cmsis_device_h7.git 60dc2c913203dc8629dc233d4384dcc41c91e77f stm32h7
hw/mcu/st/cmsis_device_l0 https://github.com/STMicroelectronics/cmsis_device_l0.git 69cd5999fd40ae6e546d4905b21635c6ca1bcb92 stm32l0
hw/mcu/st/cmsis_device_l1 https://github.com/STMicroelectronics/cmsis_device_l1.git 7f16ec0a1c4c063f84160b4cc6bf88ad554a823e stm32l1
hw/mcu/st/cmsis_device_l4 https://github.com/STMicroelectronics/cmsis_device_l4.git 6ca7312fa6a5a460b5a5a63d66da527fdd8359a6 stm32l4
hw/mcu/st/cmsis_device_l5 https://github.com/STMicroelectronics/cmsis_device_l5.git d922865fc0326a102c26211c44b8e42f52c1e53d stm32l5
hw/mcu/st/cmsis_device_u5 https://github.com/STMicroelectronics/cmsis_device_u5.git 5ad9797c54ec3e55eff770fc9b3cd4a1aefc1309 stm32u5
hw/mcu/st/cmsis_device_wb https://github.com/STMicroelectronics/cmsis_device_wb.git 9c5d1920dd9fabbe2548e10561d63db829bb744f stm32wb
hw/mcu/st/stm32-mfxstm32l152 https://github.com/STMicroelectronics/stm32-mfxstm32l152.git 7f4389efee9c6a655b55e5df3fceef5586b35f9b stm32h7
hw/mcu/st/stm32c0xx_hal_driver https://github.com/STMicroelectronics/stm32c0xx_hal_driver.git 41253e2f1d7ae4a4d0c379cf63f5bcf71fcf8eb3 stm32c0
hw/mcu/st/stm32f0xx_hal_driver https://github.com/STMicroelectronics/stm32f0xx_hal_driver.git 0e95cd88657030f640a11e690a8a5186c7712ea5 stm32f0
hw/mcu/st/stm32f1xx_hal_driver https://github.com/STMicroelectronics/stm32f1xx_hal_driver.git 1dd9d3662fb7eb2a7f7d3bc0a4c1dc7537915a29 stm32f1
hw/mcu/st/stm32f2xx_hal_driver https://github.com/STMicroelectronics/stm32f2xx_hal_driver.git c75ace9b908a9aca631193ebf2466963b8ea33d0 stm32f2
hw/mcu/st/stm32f3xx_hal_driver https://github.com/STMicroelectronics/stm32f3xx_hal_driver.git 1761b6207318ede021706e75aae78f452d72b6fa stm32f3
hw/mcu/st/stm32f4xx_hal_driver https://github.com/STMicroelectronics/stm32f4xx_hal_driver.git 04e99fbdabd00ab8f370f377c66b0a4570365b58 stm32f4
hw/mcu/st/stm32f7xx_hal_driver https://github.com/STMicroelectronics/stm32f7xx_hal_driver.git f7ffdf6bf72110e58b42c632b0a051df5997e4ee stm32f7
hw/mcu/st/stm32g0xx_hal_driver https://github.com/STMicroelectronics/stm32g0xx_hal_driver.git e911b12c7f67084d7f6b76157a4c0d4e2ec3779c stm32g0
hw/mcu/st/stm32g4xx_hal_driver https://github.com/STMicroelectronics/stm32g4xx_hal_driver.git 8b4518417706d42eef5c14e56a650005abf478a8 stm32g4
hw/mcu/st/stm32h5xx_hal_driver https://github.com/STMicroelectronics/stm32h5xx_hal_driver.git 2cf77de584196d619cec1b4586c3b9e2820a254e stm32h5
hw/mcu/st/stm32h7xx_hal_driver https://github.com/STMicroelectronics/stm32h7xx_hal_driver.git d8461b980b59b1625207d8c4f2ce0a9c2a7a3b04 stm32h7
hw/mcu/st/stm32l0xx_hal_driver https://github.com/STMicroelectronics/stm32l0xx_hal_driver.git fbdacaf6f8c82a4e1eb9bd74ba650b491e97e17b stm32l0
hw/mcu/st/stm32l1xx_hal_driver https://github.com/STMicroelectronics/stm32l1xx_hal_driver.git 44efc446fa69ed8344e7fd966e68ed11043b35d9 stm32l1
hw/mcu/st/stm32l4xx_hal_driver https://github.com/STMicroelectronics/stm32l4xx_hal_driver.git aee3d5bf283ae5df87532b781bdd01b7caf256fc stm32l4
hw/mcu/st/stm32l5xx_hal_driver https://github.com/STMicroelectronics/stm32l5xx_hal_driver.git 675c32a75df37f39d50d61f51cb0dcf53f07e1cb stm32l5
hw/mcu/st/stm32u5xx_hal_driver https://github.com/STMicroelectronics/stm32u5xx_hal_driver.git 4d93097a67928e9377e655ddd14622adc31b9770 stm32u5
hw/mcu/st/stm32wbxx_hal_driver https://github.com/STMicroelectronics/stm32wbxx_hal_driver.git 2c5f06638be516c1b772f768456ba637f077bac8 stm32wb
hw/mcu/ti https://github.com/hathach/ti_driver.git 143ed6cc20a7615d042b03b21e070197d473e6e5 msp430 msp432e4 tm4c
hw/mcu/wch/ch32f20x https://github.com/openwch/ch32f20x.git 77c4095087e5ed2c548ec9058e655d0b8757663b ch32f20x
hw/mcu/wch/ch32v103 https://github.com/openwch/ch32v103.git 7578cae0b21f86dd053a1f781b2fc6ab99d0ec17 ch32v10x
hw/mcu/wch/ch32v20x https://github.com/openwch/ch32v20x.git c4c38f507e258a4e69b059ccc2dc27dde33cea1b ch32v20x
hw/mcu/wch/ch32v307 https://github.com/openwch/ch32v307.git 184f21b852cb95eed58e86e901837bc9fff68775 ch32v307
lib/CMSIS_5 https://github.com/ARM-software/CMSIS_5.git 2b7495b8535bdcb306dac29b9ded4cfb679d7e5c imxrt kinetis_k32l2 kinetis_kl lpc51 lpc54 lpc55 mcx mm32 msp432e4 nrf saml2x lpc11 lpc13 lpc15 lpc17 lpc18 lpc40 lpc43 stm32c0 stm32f0 stm32f1 stm32f2 stm32f3 stm32f4 stm32f7 stm32g0 stm32g4 stm32h5 stm32h7 stm32l0 stm32l1 stm32l4 stm32l5 stm32u5 stm32wb sam3x samd11 samd21 samd51 samd5x_e5x same5x same7x saml2x samg tm4c
lib/CMSIS_6 https://github.com/ARM-software/CMSIS_6.git b0bbb0423b278ca632cfe1474eb227961d835fd2 ra
lib/FreeRTOS-Kernel https://github.com/FreeRTOS/FreeRTOS-Kernel.git cc0e0707c0c748713485b870bb980852b210877f all
lib/lwip https://github.com/lwip-tcpip/lwip.git 159e31b689577dbf69cf0683bbaffbd71fa5ee10 all
lib/sct_neopixel https://github.com/gsteiert/sct_neopixel.git e73e04ca63495672d955f9268e003cffe168fcd8 lpc55
tools/uf2 https://github.com/microsoft/uf2.git c594542b2faa01cc33a2b97c9fbebc38549df80a all
======================================== ============================================================== ======================================== ====================================================================================================================================================================================================================================================================================================================================

View File

@ -0,0 +1,243 @@
***************
Getting Started
***************
Add TinyUSB to your project
---------------------------
It is relatively simple to incorporate tinyusb to your project
* Copy or ``git submodule`` this repo into your project in a subfolder. Let's say it is ``your_project/tinyusb``
* Add all the ``.c`` in the ``tinyusb/src`` folder to your project
* Add ``your_project/tinyusb/src`` to your include path. Also make sure your current include path also contains the configuration file ``tusb_config.h``.
* Make sure all required macros are all defined properly in ``tusb_config.h`` (configure file in demo application is sufficient, but you need to add a few more such as ``CFG_TUSB_MCU``, ``CFG_TUSB_OS`` since they are passed by IDE/compiler to maintain a unique configure for all boards).
* If you use the device stack, make sure you have created/modified usb descriptors for your own need. Ultimately you need to implement all **tud descriptor** callbacks for the stack to work.
* Add ``tusb_init(rhport, role)`` call to your reset initialization code.
* Call ``tusb_int_handler(rhport, in_isr)`` in your USB IRQ Handler
* Implement all enabled classes's callbacks.
* If you don't use any RTOSes at all, you need to continuously and/or periodically call ``tud_task()``/``tuh_task()`` function. All of the callbacks and functionality are handled and invoked within the call of that task runner.
.. code-block:: c
int main(void) {
tusb_rhport_init_t dev_init = {
.role = TUSB_ROLE_DEVICE,
.speed = TUSB_SPEED_AUTO
};
tusb_init(0, &dev_init); // initialize device stack on roothub port 0
tusb_rhport_init_t host_init = {
.role = TUSB_ROLE_HOST,
.speed = TUSB_SPEED_AUTO
};
tusb_init(1, &host_init); // initialize host stack on roothub port 1
while(1) { // the mainloop
your_application_code();
tud_task(); // device task
tuh_task(); // host task
}
}
void USB0_IRQHandler(void) {
tusb_int_handler(0, true);
}
void USB1_IRQHandler(void) {
tusb_int_handler(1, true);
}
Examples
--------
For your convenience, TinyUSB contains a handful of examples for both host and device with/without RTOS to quickly test the functionality as well as demonstrate how API should be used. Most examples will work on most of `the supported boards <boards.rst>`_. Firstly we need to ``git clone`` if not already
.. code-block:: bash
$ git clone https://github.com/hathach/tinyusb tinyusb
$ cd tinyusb
Some ports will also require a port-specific SDK (e.g. RP2040) or binary (e.g. Sony Spresense) to build examples. They are out of scope for tinyusb, you should download/install it first according to its manufacturer guide.
Dependencies
^^^^^^^^^^^^
The hardware code is located in ``hw/bsp`` folder, and is organized by family/boards. e.g raspberry_pi_pico is located in ``hw/bsp/rp2040/boards/raspberry_pi_pico`` where ``FAMILY=rp2040`` and ``BOARD=raspberry_pi_pico``. Before building, we firstly need to download dependencies such as: MCU low-level peripheral driver and external libraries e.g FreeRTOS (required by some examples). We can do that by either ways:
1. Run ``tools/get_deps.py {FAMILY}`` script to download all dependencies for a family as follow. Note: For TinyUSB developer to download all dependencies, use FAMILY=all.
.. code-block:: bash
$ python tools/get_deps.py rp2040
2. Or run the ``get-deps`` target in one of the example folder as follow.
.. code-block:: bash
$ cd examples/device/cdc_msc
$ make BOARD=raspberry_pi_pico get-deps
You only need to do this once per family. Check out `complete list of dependencies and their designated path here <dependencies.rst>`_
Build
^^^^^
To build example, first change directory to an example folder.
.. code-block:: bash
$ cd examples/device/cdc_msc
Then compile with ``make BOARD={board_name} all`` , for example
.. code-block:: bash
$ make BOARD=raspberry_pi_pico all
Note: some examples especially those that uses Vendor class (e.g webUSB) may requires udev permission on Linux (and/or macOS) to access usb device. It depends on your OS distro, typically copy ``99-tinyusb.rules`` and reload your udev is good to go
.. code-block:: bash
$ cp examples/device/99-tinyusb.rules /etc/udev/rules.d/
$ sudo udevadm control --reload-rules && sudo udevadm trigger
RootHub Port Selection
~~~~~~~~~~~~~~~~~~~~~~
If a board has several ports, one port is chosen by default in the individual board.mk file. Use option ``PORT=x`` To choose another port. For example to select the HS port of a STM32F746Disco board, use:
.. code-block:: bash
$ make BOARD=stm32f746disco PORT=1 all
Port Speed
~~~~~~~~~~
A MCU can support multiple operational speed. By default, the example build system will use the fastest supported on the board. Use option ``SPEED=full/high`` e.g To force F723 operate at full instead of default high speed
.. code-block:: bash
$ make BOARD=stm32f746disco SPEED=full all
Size Analysis
~~~~~~~~~~~~~
First install `linkermap tool <https://github.com/hathach/linkermap>`_ then ``linkermap`` target can be used to analyze code size. You may want to compile with ``NO_LTO=1`` since ``-flto`` merges code across ``.o`` files and make it difficult to analyze.
.. code-block:: bash
$ make BOARD=feather_nrf52840_express NO_LTO=1 all linkermap
Debug
^^^^^
To compile for debugging add ``DEBUG=1``\ , for example
.. code-block:: bash
$ make BOARD=feather_nrf52840_express DEBUG=1 all
Log
~~~
Should you have an issue running example and/or submitting an bug report. You could enable TinyUSB built-in debug logging with optional ``LOG=``. ``LOG=1`` will only print out error message, ``LOG=2`` print more information with on-going events. ``LOG=3`` or higher is not used yet.
.. code-block:: bash
$ make BOARD=feather_nrf52840_express LOG=2 all
Logger
~~~~~~
By default log message is printed via on-board UART which is slow and take lots of CPU time comparing to USB speed. If your board support on-board/external debugger, it would be more efficient to use it for logging. There are 2 protocols:
* `LOGGER=rtt`: use `Segger RTT protocol <https://www.segger.com/products/debug-probes/j-link/technology/about-real-time-transfer/>`_
* Cons: requires jlink as the debugger.
* Pros: work with most if not all MCUs
* Software viewer is JLink RTT Viewer/Client/Logger which is bundled with JLink driver package.
* ``LOGGER=swo``\ : Use dedicated SWO pin of ARM Cortex SWD debug header.
* Cons: only work with ARM Cortex MCUs minus M0
* Pros: should be compatible with more debugger that support SWO.
* Software viewer should be provided along with your debugger driver.
.. code-block:: bash
$ make BOARD=feather_nrf52840_express LOG=2 LOGGER=rtt all
$ make BOARD=feather_nrf52840_express LOG=2 LOGGER=swo all
Flash
^^^^^
``flash`` target will use the default on-board debugger (jlink/cmsisdap/stlink/dfu) to flash the binary, please install those support software in advance. Some board use bootloader/DFU via serial which is required to pass to make command
.. code-block:: bash
$ make BOARD=feather_nrf52840_express flash
$ make SERIAL=/dev/ttyACM0 BOARD=feather_nrf52840_express flash
Since jlink can be used with most of the boards, there is also ``flash-jlink`` target for your convenience.
.. code-block:: bash
$ make BOARD=feather_nrf52840_express flash-jlink
Some board use uf2 bootloader for drag & drop in to mass storage device, uf2 can be generated with ``uf2`` target
.. code-block:: bash
$ make BOARD=feather_nrf52840_express all uf2
IAR Support
-----------
Use project connection
^^^^^^^^^^^^^^^^^^^^^^
IAR Project Connection files are provided to import TinyUSB stack into your project.
* A buildable project of your MCU need to be created in advance.
* Take example of STM32F0:
- You need ``stm32l0xx.h``, ``startup_stm32f0xx.s``, ``system_stm32f0xx.c``.
- ``STM32L0xx_HAL_Driver`` is only needed to run examples, TinyUSB stack itself doesn't rely on MCU's SDKs.
* Open ``Tools -> Configure Custom Argument Variables`` (Switch to ``Global`` tab if you want to do it for all your projects)
Click ``New Group ...``, name it to ``TUSB``, Click ``Add Variable ...``, name it to ``TUSB_DIR``, change it's value to the path of your TinyUSB stack,
for example ``C:\\tinyusb``
Import stack only
~~~~~~~~~~~~~~~~~
1. Open ``Project -> Add project Connection ...``, click ``OK``, choose ``tinyusb\\tools\\iar_template.ipcf``.
Run examples
~~~~~~~~~~~~
1. (Python3 is needed) Run ``iar_gen.py`` to generate .ipcf files of examples:
.. code-block::
> cd C:\tinyusb\tools
> python iar_gen.py
2. Open ``Project -> Add project Connection ...``, click ``OK``, choose ``tinyusb\\examples\\(.ipcf of example)``.
For example ``C:\\tinyusb\\examples\\device\\cdc_msc\\iar_cdc_msc.ipcf``
Native CMake support (9.50.1+)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
With 9.50.1 release, IAR added experimental native CMake support (strangely not mentioned in public release note). Now it's possible to import CMakeLists.txt then build and debug as a normal project.
Following these steps:
1. Add IAR compiler binary path to system ``PATH`` environment variable, such as ``C:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\bin``.
2. Create new project in IAR, in Tool chain dropdown menu, choose CMake for Arm then Import ``CMakeLists.txt`` from chosen example directory.
3. Set up board option in ``Option - CMake/CMSIS-TOOLBOX - CMake``, for example ``-DBOARD=stm32f439nucleo -DTOOLCHAIN=iar``, **Uncheck 'Override tools in env'**.
4. (For debug only) Choose correct CPU model in ``Option - General Options - Target``, to profit register and memory view.

10
docs/reference/index.rst Normal file
View File

@ -0,0 +1,10 @@
Index
=====
.. toctree::
:maxdepth: 2
getting_started
boards
dependencies
concurrency

4
docs/requirements.txt Normal file
View File

@ -0,0 +1,4 @@
sphinx>=5.0
furo>=2020.12.30.b24
sphinx-autodoc-typehints>=1.10
jinja2>=3.0.3

11
examples/CMakeLists.txt Normal file
View File

@ -0,0 +1,11 @@
cmake_minimum_required(VERSION 3.20)
#set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
include(${CMAKE_CURRENT_SOURCE_DIR}/../hw/bsp/family_support.cmake)
project(tinyusb_examples C CXX ASM)
add_subdirectory(device)
add_subdirectory(dual)
add_subdirectory(host)
add_subdirectory(typec)

View File

@ -0,0 +1,6 @@
{
"version": 6,
"include": [
"../hw/bsp/BoardPresets.json"
]
}

View File

@ -0,0 +1,21 @@
if (TOOLCHAIN STREQUAL "gcc")
set(TOOLCHAIN_COMMON_FLAGS
-mcpu=arm1176jzf-s
-ffreestanding
)
# set(FREERTOS_PORT GCC_ARM_CM0 CACHE INTERNAL "")
elseif (TOOLCHAIN STREQUAL "clang")
set(TOOLCHAIN_COMMON_FLAGS
--target=arm-none-eabi
-mcpu=arm1176jzf-s
-mfpu=none
-mfloat-abi=soft
-ffreestanding
)
#set(FREERTOS_PORT GCC_ARM_CM0 CACHE INTERNAL "")
elseif (TOOLCHAIN STREQUAL "iar")
message(FATAL_ERROR "IAR not supported")
endif ()

Some files were not shown because too many files have changed in this diff Show More