Reinhard Panhuber
54f332fae0
Fix cdc peeks()
2021-04-30 15:42: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
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
hathach
c9177246d2
temporarily fix include recusrive loop
2021-04-28 12:31:24 +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
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
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
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
Reinhard Panhuber
29bcc83d0f
Remove unnecessary volatile and short audio function index to func_id
2021-04-21 17:01:38 +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
Reinhard Panhuber
8d9f60ca5e
Improve user feedback in case of wrong configuration of audio driver
2021-04-14 21:52:54 +02:00
Jeremiah McCarthy
7b45b38fe4
Remove DFU mode and rt
2021-04-12 11:17:01 -04:00
Reinhard Panhuber
2134c1a875
Fix defines in audio_device.c
2021-04-08 21:48:36 +02:00
Reinhard Panhuber
4bebb9ca49
Remove depracted defines in audio_device.c
2021-04-08 20:11:51 +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
58bab86d79
minor clean up
2021-04-06 21:09:23 +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
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
Reinhard Panhuber
1ac9e7e3a7
Fix wrong read mutexes in audio_device.c
2021-04-03 18:22:19 +02:00
Reinhard Panhuber
f6ba58e370
Fix wrong pointer type in audio_device.c
2021-04-03 17:50:30 +02:00
Reinhard Panhuber
4af5189492
Fix potential bug in support FIFO sizes
2021-04-03 16:53:29 +02:00
Reinhard Panhuber
475badd087
Add missing #defines in uac2_headset example
2021-04-03 16:10:46 +02:00
Reinhard Panhuber
fc65f39ff2
Fix error in #defines in uac2_headset
2021-04-03 15:58:41 +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
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
eb92986b88
Merge pull request #766 from hathach/enhance-midi
...
Enhance midi
2021-04-02 15:47:40 +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
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
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
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
Ha Thach
881321e763
Merge pull request #724 from xmos-jmccarthy/master
...
USB TMC Updates
2021-03-18 11:17:43 +07:00
Jeremiah McCarthy
ec08dcf61a
Implement requested changes for PR724
2021-03-17 09:25:01 -04:00
Michael Bruno
62d4652f86
Update usbtmc_device.c
...
Fix buffer alignment in TMC device class
2021-03-16 10:48:42 -04:00
Reinhard Panhuber
cd491e296e
Intermediate commit
2021-03-14 18:55:16 +01: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
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
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
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
Reinhard Panhuber
7b8a08d2e1
Rename dcd_edpt_iso_xfer() to dcd_edpt_xfer_fifo()
2021-03-02 20:00:39 +01:00
Reinhard Panhuber
fc35b3f72d
Switch back OPT_MCU_DA1469X to use linear buffers
2021-03-02 17:24:58 +01:00
Reinhard Panhuber
8ec99694d2
audio_decive clean up and bootstrapping of linear (formerly evade) buff.
2021-03-01 09:09:15 +01:00
boggyb
55a46a5c3b
Update cdc_device.h
...
Minor api callback change as requested
2021-02-26 11:00:34 +05:30
amit verma
07a04255da
initial break request handling
2021-02-25 23:13:21 +05:30
Reinhard Panhuber
5ebe53f02d
Merge remote-tracking branch 'upstream/master' into edpt_ISO_xfer
2021-02-24 20:54:35 +01: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
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
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
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
hathach
aa85099171
fix tud_midi_write24 typo
...
rename jack_id to cable_num in function argument
2021-02-19 10:51:47 +07: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
Reinhard Panhuber
681cfd0bf2
Correct for wrong pointer type in audio_device.c
2021-02-18 11:12:16 +01:00
Reinhard Panhuber
53a796a92e
Fix wrong pointer type.
2021-02-17 22:29:40 +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
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
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
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
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
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
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
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
Reinhard Panhuber
84406f1654
Rework audio driver
2021-01-31 19:08:23 +01:00
Alexander Golovanov
2a34be2eb0
A CDC-like blocking behaviour
2021-01-30 04:11:08 +03:00
Michael Himing
c4f7ea09f1
Fix midi sysex sending bug
2021-01-28 20:31:11 +11:00
Ha Thach
1e134cbb31
Merge branch 'master' into pico
2021-01-21 16:35:13 +07:00
graham sanderson
e0aa405d19
RP2040 support
2021-01-19 19:52:07 -06:00
Reinhard Panhuber
56edc2b261
Change names from edpt_ISO_xfer to edpt_iso_xfer
2021-01-19 10:50:19 +01:00
Reinhard Panhuber
3a3ada0c57
Implement the usage of usbd_edpt_ISO_xfer()
2021-01-18 17:07:15 +01:00
hathach
29f84b1602
change default CFG_TUD_HID_EP_BUFSIZE from 16 to 64
2021-01-07 11:58:05 +07:00
Yakovenko Andrey
bdee6397eb
Added MSC read10 and write10 function
2020-12-23 12:52:51 +02: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
hathach
f5e13d5898
msc only invoke scsi complete callback after status transaction is complete
2020-11-24 23:42:30 +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
hathach
14138f105e
have tusb_init() return true instead of TUSB_ERROR_NONE
2020-11-23 13:12:51 +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
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
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
a708ab6254
Merge pull request #553 from hathach/host-async-control
...
Host async control
2020-11-07 10:52:14 +07:00
Jan Dümpelmann
af9f0f1cd6
Merge remote-tracking branch 'hathach/master' into cdc_without_dtr
2020-11-04 17:11:01 +01:00
Ha Thach
075334af80
Merge pull request #547 from hathach/cdc-auto-write-flush
...
enable cdc auto flush on write()
2020-11-03 11:42:17 +07:00
hathach
6fcd540cb6
enable cdc auto flush on write()
...
if there is enough data in the fifo
2020-11-02 16:50:46 +07:00
hathach
14461beffa
remove legacy blocking usbh_control_xfer()
...
reworking cdc host driver
2020-11-02 09:19:34 +07:00
hathach
e029d6d726
added host set_config driver
...
to resolve control conflict with SET_CONFIGURE for class driver
- open will be called to open endpoint only
- set_config called later to initialized class driver
2020-11-01 17:46:46 +07:00
Jacob Potter
3ea8138750
Rename CDC_COMM_SUBCLASS_ETHERNET_NETWORKING_CONTROL_MODEL
...
This was a confusing name; "Ethernet control model" (CDC ECM)
and "network control model" (CDC NCM) are two separate USB subclasses.
2020-10-31 10:57:53 -06:00
Peter Lawrence
a097b7e51a
net_device: re-factor code so as to not be specific to lwIP
2020-10-24 20:27:57 -05:00
Peter Lawrence
f5b72f5796
net_device: tweak 'pbuf chain' implementation
2020-10-24 17:29:47 -05:00
hathach
3623f578a4
more clean up
2020-10-13 14:11:17 +07:00
hathach
d92d1a03ca
clean up
2020-10-13 13:45:22 +07:00
hathach
437ccac696
implement tuh_msc_scsi_inquiry() / tuh_msc_read_capacity() / tuh_msc_get_maxlun()
2020-10-13 13:23:33 +07:00
hathach
9c07a2a4e2
rework msc host
...
- msc host enum is now async
- implement async tuh_msc_scsi_command() / tuh_msc_request_sense() /
tuh_msc_test_unit_ready()
2020-10-13 00:07:51 +07:00
hathach
b5d4c8185d
Merge branch 'master' into host-async-control
2020-10-11 16:22:12 +07:00
Ha Thach
762b390433
Merge pull request #521 from PanRe/uac2
...
Uac2
2020-10-10 14:33:42 +07:00
Reinhard Panhuber
032e84c9be
Revert dcd_alloc_mem_for_conf() but keep changes from @kasjer for ISO EP
...
Add tud_audio_set_itf_close_EP_cb()
2020-10-09 19:50:05 +02:00
hathach
8ba0c362cc
update tud_hid_boot_mode_cb/tud_hid_set_idle_cb support mul interfaces
...
also clean up code
2020-10-09 20:51:20 +07:00
hathach
13abcb953f
rename multiple hid callback
2020-10-09 20:24:10 +07:00
Ha Thach
c2a0612885
Merge pull request #524 from zlittell/f_MultipleHIDInterfaces
...
Feature multiple hid interfaces
2020-10-09 00:28:13 +07:00
Zachery Littell
a4ba1f0827
Fix tu_verify args
2020-10-08 12:08:13 -05:00
Zachery Littell
298aa1b669
Cleanup per review on PR
2020-10-08 11:59:12 -05:00
Zachery Littell
db3fe97f62
fix variable names. add itf n callbacks to multihid
2020-10-07 20:36:00 -05:00
Reinhard Panhuber
f700c08aed
Remove CFG_TUD_AUDIO_TX_DMA_RINGBUFFER_SIZE which is not needed any more
2020-10-07 10:57:12 +02:00
hathach
3f54c27afa
fix audio_test build
2020-10-07 13:36:03 +07:00
Reinhard Panhuber
2050dc0dc7
Revert #define CFG_TUSB_DEBUG 2 to #define CFG_TUSB_DEBUG 0
...
Change 1 << 31 to 0x100000000 in audio.h
2020-10-03 09:46:22 +02:00
Zachery Littell
081af79009
fix simple pull request comments. Implement descriptor index hack.
2020-10-02 16:02:00 -05:00
Zachery Littell
b7208d6f7e
add index to report descriptor callback. this is breaking and needs to be reviewed
2020-10-01 12:51:48 -05:00
Zachery Littell
849681724a
create N functions and inlines for multi hid interfaces
2020-10-01 11:51:33 -05:00
Reinhard Panhuber
da1c3c226b
Change AUDIO_PROTOCOL_V1 to AUDIO_FUNC_PROTOCOL_CODE_UNDEF in midi.c.
...
The USB specification does not define any AUDIO_PROTOCOL_V1!
2020-09-28 22:44:09 +02:00
Reinhard Panhuber
529622710c
Cleanup for PR.
2020-09-28 18:10:57 +02:00
Reinhard Panhuber
142871654e
Merge remote-tracking branch 'upstream/master' into uac2
2020-09-28 18:08:39 +02:00
Jerzy Kasenberg
2ace98e943
audio_device: Update explicit feedback support
...
Feedback can be specified by the user code and will be
sent at feedback endpoint specified interval.
2020-09-28 08:41:17 +02:00
Jerzy Kasenberg
759d530506
audio_device: Allow one FIFO for N channels
...
This allow to build with single FIFO for devices with multiple channels.
Having just one FIFO greatly reduces time needed to feed endpoint.
This change also allows to have one FIFO with 24 bit samples that
is not rounded up to 32 bit elements.
CFG_TUD_AUDIO_RX_ITEMSIZE and CFG_TUD_AUDIO_TX_ITEMSIZE can be manually
defined. This allows to use FIFO more efficiently when 24 bits samples
are already using 3 bytes, in this case there is no need to put them
into FIFO one by one.
For 8, 16, 32 bits samples size efficient FIFO access is always used
when single FIFO is selected.
This also changes FIFO element size to 1, FIFO usage was confusing
in some place it treated content as byte base in other it looked like
ITEM size is to be used. Also bufsize that in most (maybe all) cases
was really meaning item count.
bufsize now mean buffer size in bytes so there is no confusion.
2020-09-28 08:41:17 +02:00
Jerzy Kasenberg
28cf63c7db
audio_device: Fix tud_audio_n_read_flush TU_VERIFY usage
...
void function used TU_VERIFY in a way that returned bool value.
It would not compile.
2020-09-28 08:41:17 +02:00
Jerzy Kasenberg
ca4a42156c
audio_device: Fix audio_rx_done_type_I_pcm_ff_cb bufor size check
...
Function was not checking buffer size correctly due missing parenthesis.
2020-09-28 08:41:17 +02:00
Jerzy Kasenberg
66b091282f
audio_device: Fix audio_rx_done_type_I_pcm_ff_cb prototype
...
Function prototype did not have return type specified by mistake.
2020-09-28 08:41:17 +02:00
Jerzy Kasenberg
e67fc808aa
audio_device: Store rhport in interface data
...
Some API uses interface number as argument, some wants to have
rhport.
To accommodate need of rhport for functions that don't have it
rhport can be extracted from interface data.
2020-09-28 08:41:17 +02:00
Jerzy Kasenberg
f4a44ee063
audio: Update ISO endpoint attributes
...
Explicit feedback attribute was missing.
No synchronization now also has definition.
2020-09-28 08:41:17 +02:00
Jerzy Kasenberg
5ad2f8efc6
audio_device: Fix inline function specifiers
...
Having just inline keyword for function specified in header
may not be enough to generate code for function.
Adding static solves this problem.
static inline is used in all other inline functions in TinyUSB.
2020-09-28 08:41:17 +02:00
Ha Thach
8b2c822557
Merge pull request #512 from mzero/fix-midi-sysex
...
Fix a bug in writing SysEx messages.
2020-09-23 11:23:53 +07:00
Ha Thach
745c15d5b5
Merge pull request #508 from hathach/fix-edpt-race
...
Fix edpt xfer race condition
2020-09-14 23:56:21 +07:00
hathach
23e6ee2ea2
cdc device: claim endpoint before checking fifo availability
...
- add pre-check to reduce mutex lock in usbd_edpt_claim
2020-09-14 22:14:31 +07:00
Mark Lentczner
3b0216d3bf
Update midi_device.c
...
Fix a bug in writing SysEx messages.
At the start of a new USB packet (4 bytes), while in the middle of a SysEx, the code mistakenly
set the buffer length to 4, not the target length. As a consequence, the 3rd and 4th bytes from
the last packet were included, after every byte of the SysEx after the first packet of three.
The fix is simple, as it was just a typo, as can bee seen from the other branches in the same
section of if/else statements: At the start of a new packet, the code should set up the target
length... the buffer length should be left at 2 (as set on line 180).
2020-09-13 15:05:18 -07:00
hathach
5931d19666
correct the TUD_HID_REPORT_DESC_GAMEPAD
2020-09-13 15:01:20 +07:00
hathach
1804dba615
typo
2020-09-12 08:48:49 +07:00
hathach
801f8b5b38
update claim edpt for hid and midi
2020-09-10 23:32:08 +07:00
Jan Dümpelmann
b15c209805
Set new define because of build failure
2020-09-10 13:36:07 +02:00
hathach
ed6d48b81e
typo
2020-09-09 16:45:54 +07:00
hathach
fe1b5dfa23
clean up
2020-09-09 16:29:45 +07:00
hathach
33f0a18523
update cdc edpt read
2020-09-09 16:25:31 +07:00
hathach
8b9893cada
introduce optional usbd_edpt_claim, usbd_edpt_release which can be used to gain exclusive access to usbd_edpt_xfer
2020-09-09 15:48:11 +07:00
hathach
66a10ec9c8
rework usbh control transfer
...
use series of complete callback instead of blocking semaphore, which is
more noOS friendly. still working with hid host
2020-09-07 15:19:20 +07:00
Reinhard Panhuber
4e789b240d
Start of sampling works.
2020-09-06 11:37:59 +02:00
hathach
b3e81673c0
change xfer_cb return type from void to bool
2020-09-06 12:11:07 +07:00
hathach
15ad585e67
replacing hcd_pipe_xfer by usbh_edpt_xfer
2020-09-06 11:49:00 +07:00
hathach
9531e47d10
update example to test with mouse
2020-09-05 14:59:07 +07:00
hathach
f7cf8cdf27
defer xfer_isr to xfer_cb
2020-09-05 14:41:31 +07:00
Reinhard Panhuber
12562fc966
Merge remote-tracking branch 'upstream/master' into uac2
2020-09-04 16:23:39 +02:00
Jan Dümpelmann
9cc22b635c
Add functionality to abort an ongoing transfer
2020-09-04 15:40:23 +02:00
hathach
a8e538efe7
clean up
2020-09-04 01:35:32 +07:00
hathach
35aee4a6af
more hid host work
2020-09-03 23:57:51 +07:00
Reinhard Panhuber
338e96fa82
Remove tud_audio_n_write_ep_in_buffer() as long as ISO EPs are not RBs.
2020-09-03 18:09:46 +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
hathach
ef651e0734
fix #449 remove obsolete pipehandle from hid host
2020-09-03 17:07:29 +07:00
hathach
84425c50b3
add more logging to host stack
...
tested host with lpc4357, don't use fpu with lpc m4 since it seems to
cause hardfault (stack does not make use of fpu anyway).
2020-09-01 19:16:50 +07:00
Reinhard Panhuber
8f0693346c
Allow epin_buf to be written directly into in case no TX FIFOs are used.
...
This is helpful if you have already encoded audio data and want an
efficient way to send it. However, this approach is NOT THREADSAFE so
far and works realiably ONLY IF tud_audio_n_write_ep_in_buffer() is NOT
called form an interrupt!
2020-09-01 11:26:16 +02:00
hathach
be708bb8a4
Merge branch 'master' into update-host
2020-09-01 12:02:25 +07:00
Reinhard Panhuber
83bd214203
Fix comment.
2020-08-29 13:26:41 +02:00
Reinhard Panhuber
43c4b53635
Fix CFG_TUD_AUDIO_RX_FIFO_SIZE defines.
2020-08-29 13:24:10 +02:00
Reinhard Panhuber
b9c9cfdbac
Change min to tu_min16.
2020-08-29 13:22:21 +02:00
Jerzy Kasenberg
b1f0d6f57e
audio_device: Change CFG_TUD_AUDIO_TX_BUFSIZE to CFG_TUD_AUDIO_TX_FIFO_SIZE
...
CFG_TUD_AUDIO_TX_BUFSIZE seems to be used only in 3 preprocessor
condition while in other places CFG_TUD_AUDIO_TX_FIFO_SIZE is used.
2020-08-25 14:45:40 +02:00
Jerzy Kasenberg
a3eff0c51a
audio_device: Fix NULL pointer access in audiod_xfer_cb
...
b_bytes_copied was pointer with NULL value instead of
plain variable.
NULL pointer was passed to audio_tx_done_cb() and dereference
as well.
Now variable is not a pointer.
2020-08-25 14:35:05 +02:00
Jerzy Kasenberg
a4c096be37
audio_device: Fix FIFO element size discrepancies
...
Buffer for TX and RX FIFO was not taking into account
size of element leading to out of bound access.
audio_tx_done_type_I_pcm_ff_cb() reported copied bytes was not returning
correct value number if channels was omitted in computation.
Transfer size calculation uses simpler arithmetic.
2020-08-25 14:35:05 +02:00
hathach
2d8787cdeb
fix typo
2020-08-24 15:29:34 +07:00
hathach
a1b7e767af
improve midi
...
- fix #436 tud_midi_rx_cb() not invoked
- fix xfer_cb() not handle ep in
- add ZLP if needed
2020-08-24 14:31:46 +07:00
Jerzy Kasenberg
c61e9fb96d
audio_device: Fix descriptor limit calculation
...
In several place p_desc_end calculation was not taking into account
that starting pointer (_audiod_itf[idxDriver].p_desc) was pointing
past interface association descriptor.
It would result in accessing random memory.
2020-08-24 09:04:42 +02:00
Ha Thach
e5d622b749
Merge pull request #434 from gh2o/master
...
Add TX callback to CDC device
2020-08-21 11:14:06 +07:00
Reinhard Panhuber
37be0ca732
Fix formatting, get rid of all tabs.
2020-08-20 20:09:44 +02:00
Gavin Li
72183c7bb4
Slight optimization for cdc tx refill
2020-08-20 09:59:23 -07:00
Gavin Li
15b063beb2
Smarter CDC TX refill logic
2020-08-20 02:20:01 -07:00
Reinhard Panhuber
c14f68e2c1
Commit before sharing.
...
Setup a test example - UNTESTED!
Missing: Start transmitting audio data in set_interface.
2020-08-19 21:07:43 +02:00
Reinhard Panhuber
6309364722
Merge remote-tracking branch 'upstream/master' into uac2
...
Conflicts:
src/device/usbd.c
src/device/usbd.h
src/portable/st/synopsys/dcd_synopsys.c
2020-08-16 14:08:24 +02:00
Reinhard Panhuber
444e4d2821
Add EP close. Fix bug in set_interface within audio.
2020-08-16 13:48:25 +02:00
hathach
61e96e97cb
use usbd_edpt_open in bth driver
2020-08-11 22:09:16 +07:00
hathach
01b9b77d3b
allow application driver to overwrite built-in one
...
- position application driver before built-in
- remove dcd.h from public include.
2020-08-07 14:47:32 +07:00
hathach
9bf2b33366
correct isr context for nrf DCD_EVENT_UNPLUGGED
...
also rename debug lookup to prevent conflict
2020-08-01 12:02:59 +07:00
Ha Thach
78f1576e93
Merge pull request #412 from hathach/fix-net-cast-align
...
suppress cast-align warnings for net device driver
2020-07-29 11:23:11 +07:00
Reinhard Panhuber
1269bb440a
Fix structure definition audio_control_range_X_n_t
2020-07-25 14:31:25 +02:00
Reinhard Panhuber
e047fbe8fb
Merge remote-tracking branch 'upstream/master' into uac2
2020-07-25 14:26:24 +02:00
Reinhard Panhuber
d91843bcd2
Get and set requests work
2020-07-25 11:18:50 +02:00
Reinhard Panhuber
141db1278a
Make definition of CFG_TUD_AUDIO_CTRL_BUF_SIZE mandatory
2020-07-20 20:24:05 +02:00
Reinhard Panhuber
fdb156a3bb
Implement control EP0 buffer and get rid of CFG_TUD_AUDIO_USE_TX_FIFO
2020-07-20 20:18:45 +02:00
Reinhard Panhuber
077e881c92
Implement all missing A.17 control selectors
2020-07-19 11:53:35 +02:00
Reinhard Panhuber
47bcedc0b4
Add A.17.4 - Terminal Control Selectors
2020-07-18 19:27:00 +02:00
hathach
881025afdc
add new name warning to cdc and midi (skip msc, hid warning for now)
2020-07-17 23:01:39 +07:00
Reinhard Panhuber
d0f3d03933
Intermediate commit.
2020-07-17 08:40:10 +02:00
hathach
5ca748a68e
rename CFG_TUD_MSC_BUFSIZE to CFG_TUD_MSC_EP_BUFSIZE
...
rename CFG_TUD_HID_BUFSIZE to CFG_TUD_HID_EP_BUFSIZE
2020-07-16 15:34:16 +07:00
hathach
fea6fb73a1
add fs & hs config for cdc_msc_freertos, midi_test, msc_dual_lun
2020-07-16 13:04:10 +07:00
hathach
706413f751
add tud_speed_get()
...
- define both fs and hs configuration descriptor
- rename CFG_TUD_CDC_EPSIZE to CFG_TUD_CDC_EP_BUFSIZE with default size of 64 for FS, and 512 for HS
2020-07-16 00:44:09 +07:00
Craig Hutchinson
323ae5a84f
Improve comment on CDC tud_cdc_write_available()
...
Fixes #460
2020-07-10 12:24:09 +01:00
Ha Thach
dbced9911d
Merge pull request #447 from hathach/add-stm-hs
...
Add support for STM32 OTG HS core
2020-07-08 19:47:24 +07:00
hathach
12a145b27d
fix dfu-rt to response to SET_INTERFACE and DFU_GETSTATUS
...
fix #450
2020-07-01 01:33:02 +07:00
hathach
ab75998316
Merge branch 'master' into add-stm-hs
2020-06-30 01:55:57 +07:00
Gavin Li
7ae47a9397
Call tud_cdc_tx_cb right after flush to keep tx fifo full
2020-06-20 22:12:10 -07:00
Reinhard Panhuber
28505cf03e
Merge branch 'master' into uac2
...
Conflicts:
src/device/usbd.c
2020-06-20 11:10:35 +02:00
Reinhard Panhuber
ada82b840f
Get update from tinyusb.
2020-06-20 10:51:21 +02:00
Gavin Li
8fe887198b
Add tx callback to cdc device
...
Useful for continuous transmission of data, which is difficult currently
because there is no notification of tx completion.
2020-06-18 01:13:44 -07:00
Mengsk
57b553e023
Fix IAR warnings.
...
Pa039 : use of address of unaligned structure member.
Pe188: enumerated type mixed with another type.
2020-06-17 10:08:33 +02:00
hathach
2b1c7730b7
fix hs port1 build with net endpoint
2020-06-16 00:53:06 +07:00
Reinhard Panhuber
4362665fb3
Fix mic audio descriptor, fix too strict check on IAD desc. in usbd.c
2020-06-13 12:36:05 +02:00
Reinhard Panhuber
d2f1bb58b3
Merge branch 'master' into uac2
2020-06-11 14:35:44 +02:00
Jerzy Kasenberg
56d46483e4
Add bt hci device class
...
Code implements USB transport for bluetooth HCI.
2020-05-28 10:58:49 +02:00
hathach
53b749fd72
check max_len for vendor and hid
2020-05-28 14:44:26 +07:00
hathach
fb214f7cf7
rename to drv_len to be consistent
2020-05-28 13:57:49 +07:00
hathach
10cd3f24bf
initial transfer failed in open() shouldn't cause the driver open to fail.
2020-05-28 13:48:02 +07:00
hathach
c1db36a15c
update vendor open()
2020-05-28 12:19:06 +07:00
hathach
bec5b5f9da
update usbtmc open()
2020-05-28 12:13:48 +07:00
hathach
13860e9f94
update net open()
2020-05-28 11:51:25 +07:00
hathach
8f560bf275
update midi open()
2020-05-28 11:41:37 +07:00
hathach
89a3d1f6d1
update hid open()
2020-05-28 11:19:12 +07:00
hathach
7a15d2e0d2
improve msc
2020-05-28 00:56:33 +07:00
hathach
2eeeda1bcf
change signature for dfu runtime
2020-05-28 00:46:32 +07:00
hathach
e340404968
changing usbd driver open() return type, add max_len
...
only done with cdc and msc, push this interim for feedback first
2020-05-27 19:01:59 +07:00
Reinhard Panhuber
9be2f1bf3d
Add basic UAC2 structure - untested
2020-05-22 12:09:34 +02:00
hathach
58cedf4c06
usb0 host on mcb1800 work with fullspeed mode.
...
use usbh_edpt_open() to correctly map ep2drv[]
2020-05-19 00:55:43 +07:00
hathach
81b1f97ef7
suppress cast-align warnings for net device driver
2020-05-18 13:23:40 +07:00
hathach
4a3a448340
clean up things, add makefile for host example
2020-05-04 00:29:52 +07:00
hathach
d0487088ac
revert a change to net driver
2020-04-26 23:04:17 +07:00
hathach
83353dd93f
add TODO for usbnet clean up
2020-04-26 22:03:05 +07:00
hathach
017c95037f
add usbd edpt open
...
- RTT mode is blocking to prevent log lost
- Improve logging message
2020-04-26 14:51:44 +07:00
hathach
c59fa77427
Revert "Merge pull request #359 from versioduo/midi-flow-control"
...
This reverts commit 1d33aa9b6f
, reversing
changes made to 718db7e536
.
2020-04-23 23:25:20 +07:00
hathach
10e035241f
house keeping
2020-04-22 23:04:21 +07:00
hathach
3b83813f01
clean up
2020-04-22 00:29:51 +07:00
Ha Thach
1d33aa9b6f
Merge pull request #359 from versioduo/midi-flow-control
...
MIDI - Add flow control to incoming packet stream
2020-04-22 00:11:27 +07:00
hathach
d57312602d
add extra comma to HID_REPORT_ID
...
this make the template with Report ID look less weird to the user
2020-04-20 16:09:17 +07:00
Kay Sievers
a0598ef369
MIDI - Add flow control to incoming packet stream
...
Larger SysEx transfers get corrupted by incoming packets.
This changes the FIFOs not to overwrite their data. MIDI should not be
a transport that drops packets. A potentially blocking device is easier
to detect and handle than a device that silently corrupts the packet
stream at random overflows, especially when SysEx messages are involved.
2020-04-19 11:44:15 +02:00
Ha Thach
f9262007ac
Merge pull request #258 from versioduo/midi-packets
...
MIDI packet interface
2020-04-19 15:43:07 +07:00
hathach
ce6a81e74d
fix typo
2020-04-17 22:10:31 +07:00
hathach
464b1e8e89
correct return for write flush
2020-04-17 15:57:24 +07:00
hathach
4571ce0d29
add a bit of document for cdc device API. also improve cdc write flush when complete.
2020-04-17 15:54:20 +07:00
Ha Thach
0b1b9a2b9e
Merge pull request #260 from majbthrd/cdczlp
...
CDC device: fix behavior for transfers that are a whole multiple of endpoint buffer
2020-04-17 15:00:12 +07:00
hathach
2eed58d096
per review
2020-04-16 11:13:54 +07:00
hathach
86ff5651ad
correct usbnet control complete response
...
don't return false with STD request get/setInterface() or targeted Data
Interface (itfnum +1)
2020-04-15 23:10:52 +07:00
hathach
caa1dceed9
implement alternate setInterface() request
...
mostly forward these request (recipient = interface) to class driver.
2020-04-15 17:51:02 +07:00
hathach
d315393fbb
use IAD to assign itf2drv mapping correctly
...
merge net_data back into net driver
2020-04-15 16:18:24 +07:00
hathach
b03b9eb939
change cdc template protocol to None
2020-04-15 15:14:26 +07:00
hathach
1faa3b2768
tested usbnet, completely remove class code
2020-04-15 11:41:26 +07:00
hathach
f1a6f92fab
Merge branch 'master' into class-driver-id
2020-04-15 10:47:49 +07:00
hathach
490771a094
test vendor
2020-04-15 10:39:01 +07:00
hathach
c1c9ca5629
test with tmc
2020-04-15 10:37:31 +07:00
hathach
e713b534fa
test ok with cdc and msc
2020-04-15 10:30:34 +07:00
hathach
bae570f7c7
tested with midi
2020-04-15 10:30:07 +07:00
Peter Lawrence
7fa8d87291
usbnet: remove CDC-EEM
2020-04-14 21:10:43 -05:00
hathach
8614dcece7
tested with hid
2020-04-15 01:01:07 +07:00
hathach
3ef6e33533
use class driver open() for interface support detection
...
tested with dfu_runtime
2020-04-15 01:00:37 +07:00
Peter Lawrence
bb3bbcc00b
usbnet: OS-agnostic (Windows/Linux/macOS) network driver
2020-04-12 15:41:18 -05:00
Nathan Conrad
55fd9fe392
Typo of usbtmc.
2020-04-02 23:16:28 -04:00
Peter Lawrence
622a6c77a1
usbnet: tweak CDC-ECM after MacOS testing
2020-03-27 20:30:57 -05:00
hathach
8a22eba7b4
add TODO note to remove tud_network_mac_address
2020-03-23 15:24:30 +07:00
Ha Thach
14ab9bf2fe
Merge pull request #298 from pigrew/UART_CRLF
...
Use CRLF on UART log messages?
2020-03-16 11:23:07 +07:00