Commit Graph

653 Commits

Author SHA1 Message Date
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
Ha Thach f13835a2fb
Merge pull request #290 from majbthrd/usbnet-stm32rndis
usbnet RNDIS correction (STM32 RNDIS now valid)
2020-03-16 11:16:57 +07:00
Peter Lawrence aafddfe637 following suggestion by @kasjer 2020-03-15 18:32:02 -05:00
Peter Lawrence e7efcb6fd5 merge with current master 2020-03-15 18:28:13 -05:00
Peter Lawrence 5e8ff1f7c2 usb RNDIS revision on @pigrew suggestions 2020-03-15 16:05:45 -05:00
Nathan Conrad 7f6316dbe1 Use CRLF on UART. 2020-03-14 14:26:14 -04:00
hathach 85a3315a99 Adding lwip_webserver to ci
- buil_al.py skip specific MCU if .skip.MCU_ exists
- reduce stm32f070 heap & stack size to compile webserver
2020-03-09 15:51:29 +07:00
Ha Thach 5f5ee465a6
Merge pull request #291 from hathach/port-samg55
Port samg55
2020-03-07 16:38:59 +07:00
Peter Lawrence d74facfd0a usbnet RNDIS correction 2020-03-04 17:54:11 -06:00
Peter Lawrence 4a4682a80a update net class to follow API naming convention 2020-03-03 10:31:46 -06:00
Peter Lawrence fee79d7466 add CDC-ECM/RNDIS/CDC-EEM network device class with example 2020-03-02 21:15:01 -06:00
hathach 087e3c7f56 Merge branch 'master' into port-samg55 2020-02-07 16:50:07 +07:00
hathach b6b9fe42af more log for debugging 2020-02-07 16:43:44 +07:00
Kay Sievers 73228a67ef MIDI: Add packet interface
This changes the internal buffering to the raw 4-byte messages. The
conversion of the messages to a byte-stream moved to the read/write
methods.

It adds a raw packet interface to send and retrieve the raw 4-byte
USB MIDI message:
  static inline bool     tud_midi_receive    (uint8_t packet[4]);
  static inline bool     tud_midi_send       (uint8_t const packet[4]);

MIDI USB packets carry virtual cable/wire/plug data in the packet header,
which cannot be exported in the byte-stream interface. The raw packet
interface allows to send and and receive the complete USB message.
2020-01-16 10:11:37 +01:00
hathach 05fd02194e correct return value of midid_xfer_cb 2020-01-16 11:12:26 +07:00
Nathan Conrad 25c1bea782 Normalize line endings 2020-01-15 14:47:43 -05:00
Peter Lawrence 53732805b7 CDC device: help ensure code is consistent with the size of the buffers it operates on 2020-01-11 15:31:42 -06:00
Peter Lawrence 33c715bdd0 CDC device: fix behavior for transfers that are a whole multiple of endpoint buffer 2020-01-11 14:21:43 -06:00
Ha Thach 744674bb28
Merge pull request #240 from majbthrd/master
implement multiple interfaces support
2020-01-11 12:23:13 +07:00
Peter Lawrence ff0e7d2bed implement multiple interfaces support 2019-12-28 14:27:32 -06:00
hathach 605129eb66 invoke scsi complete callback before queue for csw status
there is racing issue with samd + qspi flash testing with arduino
otherwise.
2019-12-24 21:24:43 +07:00
hathach bbada1d3e6 adding lookup table for debugging
add msc scsi command list
2019-12-23 18:54:06 +07:00
hathach 94e70f9b01 Merge branch 'master' into port-samg55 2019-12-21 23:53:48 +07:00
hathach 421221baa5
making more progress, but failed with WRITE10
incorrect queue 448 bytes instead of 512
2019-12-21 23:51:57 +07:00
hathach 050fa2fd39
able to response to scsi inquiry, but failed to response to test unit ready 2019-12-21 19:33:41 +07:00
samveen ba8a232970 add "`" and "~" to keycode -> ASCII table 2019-12-17 12:47:05 +05:30
samveen fdce63b268 [tusb]fix typo in comment 2019-12-16 23:01:26 +05:30
hathach fe1eadf177 fix #229 2019-11-27 12:34:30 +07:00
hathach fc86a308f6 clean up 2019-11-05 11:45:02 +07:00
hathach 5209091c28
Merge branch 'master' into fix-issue-207 2019-11-05 10:20:30 +07:00
Nathan Conrad c98acd3873 Use control transfer function to send control data (in usbtmc) 2019-11-04 08:54:18 -05:00
hathach 79fbc0b23c
wait for scsi status complete before queueing for next scsi command
fix #207
2019-11-01 18:43:18 +07:00
hathach d0d87d98f6
add assert to prevent div by zero 2019-11-01 18:03:43 +07:00
hathach 164d0db825
Merge branch 'ZLP_Request2' into pigrew-ZLP_Request2 2019-11-01 10:16:59 +07:00
hathach 981e64d8a1
implement pigrew review 2019-11-01 10:07:56 +07:00
Nathan Conrad d35f86993f Merge remote-tracking branch 'origin/master' into ZLP_Request2 2019-10-31 12:23:54 -04:00
hathach f58726887a
update doc, hid set report 2019-10-31 21:28:46 +07:00
hathach 8a57997c0f Merge branch 'master' into pigrew-ZLP_Request2 2019-10-31 09:57:52 +07:00
Sylvain Munaut ec4ecfa817 Add support for DFU Runtime class for devices
This is really just a few descriptors and then answering to the
request from the host to reboot into DFU mode.

That latter part is delegated to the app since this is platform
specific.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2019-10-28 16:11:08 +01:00
Nathan Conrad cef388b7bd Merge branch 'master' into ZLP_Request2 2019-10-02 01:15:47 -04:00
hathach 204791b3e7 2nd attempt to fix #161 2019-10-01 22:19:04 +07:00
hathach d27291f288 Merge branch 'master' into develop 2019-09-30 14:45:34 +07:00
Nathan Conrad 91fa24d99c Merge branch 'master' into ZLP_Request2 2019-09-27 00:37:21 -04:00
hathach 6183dbd0ce add -Wextra for more warnings to example
non-stack warning (probably mcu driver) should be suppressed in the
board.mk
2019-09-27 00:15:43 +07:00
Nathan Conrad 6841b236e8 Remove _app from callback function names. 2019-09-25 12:47:05 -04:00
Nathan Conrad 3a87dd65d7 Change getting the capabilities structure to a callback instead of an extern struct. 2019-09-25 12:46:35 -04:00
Nathan Conrad 2d4352bfe9 Rename USBTMC functions. 2019-09-25 12:46:25 -04:00
Nathan Conrad 412a279073 I never understood why I need to write void as empty function arguments. 2019-09-24 13:54:45 -04:00
Nathan Conrad 624f4bf4ce Remove rhport from app code. If anything, it should be the interface_id. Assume a single interface, for now. 2019-09-24 13:42:29 -04:00
Nathan Conrad 10105557dc Let application control interface latency... 2019-09-24 13:11:45 -04:00
Nathan Conrad e61f2b7393 Retool stalling EP on xfer errors. 2019-09-22 09:55:28 -04:00
Nathan Conrad fa5b5e4561 Lots of updates (especially error handling) 2019-09-21 21:46:46 -04:00
Nathan Conrad ec3414ca3a Merge branch 'master' into usbtmc 2019-09-21 21:38:05 -04:00
Nathan Conrad 8a688cd8d0 Revert "Revert "Also need to just return false in the case that it isn't an interface control event. We shouldn't assert. This normally isn't an""
This reverts commit 2281a51484.
2019-09-20 12:58:26 -04:00
Nathan Conrad 2281a51484 Revert "Also need to just return false in the case that it isn't an interface control event. We shouldn't assert. This normally isn't an"
This reverts commit f241ff389f.
2019-09-20 12:27:41 -04:00
Nathan Conrad f241ff389f Also need to just return false in the case that it isn't an interface control event. We shouldn't assert. This normally isn't an
error, either, so I don't want to use TU_VERIFY.
2019-09-20 08:56:46 -04:00
Nathan Conrad a8a65d6cea Use cached HID descriptor. 2019-09-20 08:46:17 -04:00
Nathan Conrad 02b468f56a (little typo fix) 2019-09-19 21:20:04 -04:00
Nathan Conrad 05164c5a27 Cache pointer to HID descriptor. 2019-09-19 21:04:51 -04:00
Nathan Conrad 2a7ca15e2c Rename functions to include tud_ and _cb 2019-09-19 20:43:49 -04:00
Nathan Conrad f3d6d0127b Rename USBTMC_CFG_ENABLE_488, and fix build with it off. 2019-09-19 19:59:44 -04:00
Nathan Conrad d742c3e15c s/USBTMC488/USB488/ ; fix types in bitfield 2019-09-19 19:56:00 -04:00
Nathan Conrad 7e0490bbf3 Move descriptors to usbd.h 2019-09-19 19:51:37 -04:00
Nathan Conrad 346443118f Add testcase for aborting bulk in with no data queued (and fix aborting bulk in) 2019-09-19 19:01:08 -04:00
Nathan Conrad 0548f97d33 Remove debug printf. 2019-09-19 18:59:57 -04:00
Nathan Conrad d4b2dff7c4 Fix more TX bugs... and add variable response delay to the example project. 2019-09-19 00:00:27 -04:00
Nathan Conrad 9a726dc7ed More fixes, and a bit of SRQ. 2019-09-18 21:34:26 -04:00
Nathan Conrad 99d03fcaee small fixes 2019-09-18 19:30:44 -04:00
Nathan Conrad eea71a8b3b usbtmc updates.... 2019-09-18 19:24:54 -04:00
Nathan Conrad 91cd247c97 changes 2 2019-09-17 13:29:39 -04:00
Nathan Conrad 45871001e6 Changes1... 2019-09-17 13:29:38 -04:00
Nathan Conrad e234998c6c More proper handling of clear. 2019-09-17 13:29:38 -04:00
Nathan Conrad c755aee7d0 Clear 2019-09-17 13:29:38 -04:00
Nathan Conrad 915f52730d Implement HID desc request. 2019-09-17 11:28:29 -04:00
Nathan Conrad e53e9bd4f0 Simulate query delay; getting to a point where implementing clear/aborts makes
sense. Probably adding too many concurance issues; need to figure out
semaphores.
2019-09-14 21:26:43 -04:00
Nathan Conrad 64bfec79b2 Change requset type parameter back to uint8_t (fix type cast), support USB indicator pulse 2019-09-14 18:11:07 -04:00
Nathan Conrad 6e00886ffb Handle USBTMC TermChar. 2019-09-14 17:15:34 -04:00
Nathan Conrad e74c6b0874 Combined status response enum (std with 488), support trigger. 2019-09-14 16:51:02 -04:00
Nathan Conrad 1cae96951f Add usbtmc class driver. 2019-09-14 13:35:08 -04:00
Nathan Conrad 8cca287683 Add verification that there is enough buffer space for HID OUT control transfer. 2019-09-12 16:07:12 -04:00
hathach 6c6a597465 fix #132 2019-09-11 10:47:07 +07:00
hathach 80cde5b0b5 fix potential bug with mis-align issue 2019-09-01 17:20:10 +07:00
hathach aeea6754af rename lpc_usbd to lpc_ip3511 2019-09-01 16:44:40 +07:00
hathach b7dbc98ab1 close #105 add tud_vendor_write_available() 2019-08-31 16:31:07 +07:00
Scott Shawcroft 00c440cb26
Merge pull request #99 from jepler/issue98-midi-program-change
midi_device: Send message classes C and D as 2 bytes
2019-08-15 23:34:42 -07:00
jepler 96d96a94b8 midi_device: Send message classes C and D as 2 bytes
.. sending these as two 1-byte messages with CIN of 0xF is
misinterpreted by OSes including Windows 10 and (reportedly)
Mac.

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

Closes: #98
2019-08-14 19:15:29 -05:00
hathach bd08d0edc9 add vendor peek, change cdc peek signature, change cdc read_char() return from signed char to int32_t 2019-08-01 10:46:27 +07:00
hathach 00a9e492cd clean up 2019-07-30 00:48:31 +07:00
hathach d2b60b6755 webusb work great with linux 2019-07-26 11:36:30 +07:00
hathach caf2b6d463 move tud_vendor_control_* to usbd.h 2019-07-24 23:12:31 +07:00
hathach 2a543c0e79 update vendor device similar to cdc read/write
maybe refactor later
2019-07-24 23:07:30 +07:00
hathach 56b656c768 Merge branch 'master' into develop 2019-07-24 17:08:19 +07:00
hathach 1ee9ef4f2b change tud_msc_start_stop_cb() to return void -> bool 2019-07-24 16:19:12 +07:00
hathach 8ba78ee012 adding vendor 2019-07-24 16:08:43 +07:00
hathach c63f2b30cb rename tud_control_vendor_request_cb/complete_cb to tud_vendor_control_request_cb/complete_cb 2019-07-24 09:45:32 +07:00
hathach 33de35504a more house keeping 2019-07-19 20:20:13 +07:00
hathach a3cb2dda9e rename custom/custom-_* to vendor/vendor_* 2019-07-19 16:37:28 +07:00
hathach 6a076d8aae rename CFG_TUSB_HOST_CUSTOM_CLASS to CFG_TUH_VENDOR 2019-07-19 16:31:51 +07:00
hathach b0678e1050 rename CFG_TUD_CUSTOM_CLASS to CFG_TUD_VENDOR 2019-07-19 16:23:56 +07:00
hathach 036e858543 add tud_control_vendor_request_cb()/tud_control_vendor_complete_cb(), expose usbd control transfer
rename usbd_control_transfer/status to tud_control_transfer/status
2019-07-16 18:14:47 +07:00
hathach cb4e6837e9 clean up, rename internal driver control_request_complete to simply control_complete 2019-07-12 22:03:40 +07:00
hathach 216ccc6e93 midi only use audio 1.0 without IAD 2019-07-05 16:46:11 +07:00
hathach 1b242cb3c6 clean up 2019-07-04 01:31:56 +07:00
hathach b0e5a1a9ec remove tud_midi_write_flush() send asap. rename tud_midi_connected() to tud_midi_mounted() 2019-07-04 01:27:51 +07:00
hathach 50f4c61d7c fix midi_write prototype 2019-07-03 01:22:41 +07:00
hathach 1a0e02fa1b tested midi example 2019-07-03 00:52:25 +07:00
hathach 62d3b91691 clean up 2019-07-02 18:23:42 +07:00
hathach 3f3ef6f4e6 clean up 2019-07-02 16:42:12 +07:00
hathach e702328093 fix compiling 2019-07-01 23:11:16 +07:00
hathach 6991b28532 improving midi support, adding midi exmaple
rename TUSB_DESC_CLASS_SPECIFIC to TUSB_DESC_CS_INTERFACE
2019-07-01 22:38:06 +07:00
hathach 7156bfb54d
fix build error with midi, use usbd_edpt_xfer/busy for midi to replace dcd_* 2019-06-10 18:46:00 +07:00
hathach dcfaec9efc
add HID_ASCII_TO_KEYCODE 2019-06-06 18:06:24 +07:00
hathach 13e01c7dca
add TU_ prefix to compiler ATTR to prevent name conflict with application 2019-06-06 10:39:37 +07:00
hathach a0307bafda added usbd_edpt_xfer/usbd_edpt_busy to replace dcd_edpt_transfer/dcd_edpt_busy()
- improve fifo write/read_n with only one lock
- use usbd_edpt_xfer/usbd_edpt_busy for hid/cdc/msc class driver
- replace cdc read's pending_read_from_host by usbd_edpt_busy()
2019-05-29 16:55:15 +07:00
hathach 5f34c63660 should fix and work with #58
- add hid_test_js
2019-05-24 12:33:56 +07:00
hathach 3846645a28 fix tud_cdc_read_char()/tud_cdc_peek() to return signed char
- depending on compiler option "char" can be intepreted as unsigned char
2019-05-22 00:54:21 +07:00
hathach 454496316f
more endian convert 2019-05-14 13:06:38 +07:00
hathach 3e6d911ce9
more clean up use inline bit funciton instead of macros 2019-05-14 12:54:29 +07:00
hathach 81fc7b7e2b
clean up endian convert function 2019-05-14 12:14:51 +07:00
hathach 61ec407752
update license year to 2019 2019-05-14 11:48:05 +07:00
hathach 6135019230
clean up 2019-05-14 11:46:22 +07:00
hathach 1174949308
change tud_descriptor_string_cb() to be consistent with other descriptor callback 2019-05-12 15:38:15 +07:00
hathach ba2136486c
add tud_hid_descriptor_report_cb()
- remove tud_desc_set.hid_report
- remove tud_desc_set_t
2019-05-12 14:09:35 +07:00
hathach 7063a0dd03 msc device will stall READ_CAPACITY & READ_FORMAT_CAPACITY if tud_msc_capacity_cb() get zero size 2019-05-09 23:33:55 +07:00
hathach 81cb1c9510 clean up 2019-05-07 00:03:42 +07:00
hathach 6e4dc2f23d adding msc Start Stop to buitin command, but not complate yet
add tud_msc_start_stop_cb() as optional callback
2019-05-06 16:48:50 +07:00
hathach efefbd3a4e add Test Unit Ready to builtin command, add tud_msc_test_unit_ready_cb()
- rename tud_msc_maxlun_cb to tud_msc_get_maxlun_cb
2019-05-06 15:01:38 +07:00
hathach fae9aba68f add tud_msc_inquiry_cb() remove CFG_TUD_MSC_VENDOR/PRODUCT/PRODUCT_REV 2019-05-03 23:46:01 +07:00
hathach f9d9eebfe1 support hid generic inout #58
- add report descriptor template TUD_HID_REPORT_DESC_GENERIC_INOUT
- add TUD_HID_INOUT_DESCRIPTOR & TUD_HID_INOUT_DESC_LEN
- add hid_generic_inout example
2019-05-02 14:30:49 +07:00
hathach 3387b9fca5 use tud_hid_set_report_cb for hid epout 2019-05-02 13:27:32 +07:00
hathach 353d415d3f clean up 2019-05-02 13:27:00 +07:00
hathach 1c0ec61aa1 add tud_hid_out_report_cb() for hid epout 2019-05-02 00:08:39 +07:00
hathach a25ca701cd text clean up 2019-05-01 23:26:52 +07:00
hathach c8b9293d68 rename hid report_buf to epin_buf
add epout_buf and use it for SET_REPORT request buffer
2019-05-01 20:45:05 +07:00
hathach 2050778763 clean up 2019-05-01 20:41:26 +07:00
hathach c006f3dbce adding optional ep out for hid
refactor usbd_open_edpt_pair
2019-05-01 19:29:56 +07:00
hathach 90fdae94f8 clean up 2019-05-01 18:21:08 +07:00
hathach 9fa5c8025f clean up 2019-05-01 17:07:33 +07:00
hathach 84f81f6b21 simplify hid keyboard & mouse report to one API each 2019-05-01 17:06:18 +07:00
hathach 0b6999a28e add tud_hid_set_idle_cb
- rename tud_hid_mode_changed_cb to tud_hid_mode_changed_cb
- add mouse ac pan descriptor template support
2019-05-01 16:53:35 +07:00
hathach 89ace295ba add TUD_ to HID_REPORT_DESC_* template 2019-04-28 00:43:36 +07:00
hathach b74eca4f12
add msc multiple lun support
- remove CFG_TUD_MSC_MAXLUN
- add tud_msc_maxlun_cb()
- add msc_dual_lun exmaple
2019-04-26 15:54:42 +07:00
hathach 67aa45f75f
remove CFG_TUD_HID_ASCII_TO_KEYCODE_LOOKUP 2019-04-25 21:41:21 +07:00
hathach ff8fe28c98
move interface descriptor template to usbd.h, update exmaple 2019-04-19 13:16:06 +07:00
hathach 23bcf1cc7a
remove auto descriptor and its option CFG_TUD_DESC_AUTO 2019-04-18 23:59:21 +07:00
hathach 307ba23046
wrap up hid device refactor 2019-04-18 22:31:35 +07:00
hathach a30461b078
update tud_hid_keyboard/mouse helper 2019-04-18 13:27:06 +07:00
hathach 8d2db4dd70
add tud_hid_mode_changed_cb() 2019-04-18 12:32:19 +07:00
hathach 1ffcadd373
hid update 2019-04-18 11:52:23 +07:00
hathach cc2fce31e5
refactor hid, rename hid_generic to simply hid_ 2019-04-18 00:36:17 +07:00
hathach 516964b3d3
add interface descriptor template 2019-04-17 13:43:07 +07:00
hathach 6102183193
clean up 2019-04-11 00:22:18 +07:00
hathach 4af16efea7
add tud_ready() to hid_ready() 2019-04-02 02:14:39 +07:00
hathach eabfc53f38
added tud_suspended() and tud_ready() 2019-03-30 23:01:23 +07:00
hathach 1c2beba85c working on suspend and resume
change dcd_init signature
2019-03-29 16:23:00 +07:00
hathach 0bdd4bd550
added Suspend and Resume event for nrf5x port
also rename DCD_EVENT_SUSPENDED to DCD_EVENT_SUSPEND
2019-03-29 01:34:53 +07:00
hathach 8fb9fbb0b1
add tud_mounted() check in tud_cdc_connected()
mark device as disconnected immed with DCD_EVENT_UNPLUGGED
2019-03-27 23:58:24 +07:00
hathach c09d754654
remove tud_msc_ready() 2019-03-27 23:47:59 +07:00
hathach da452d4ba6
cleanup, remove the use of _TINY_USB_SOURCE_FILE_ 2019-03-27 17:48:42 +07:00
hathach 1e9848d917
replace dcd_edpt_(clear)stall by usbd_edpt_(clear)stall
- remove dcd_edpt_stalled() from dcd porting
2019-03-27 16:09:49 +07:00
hathach 852abba918 Merge branch 'master' into develop 2019-03-27 00:46:32 +07:00
hathach 89b9ee2f52 revert to use pending_read_from_host (temp) since 2019-03-27 00:39:14 +07:00
hathach aaf5714268 follow up to pr #46 2019-03-25 11:38:16 +07:00
hathach fad8720215
Merge pull request #46 from tannewt/fix_cdc_out
Fix slow CDC OUT by NAKing
2019-03-24 03:27:58 -07:00
hathach d866999bf0
remove idle rate enforcement, should be done in application level 2019-03-23 21:46:51 +07:00
Scott Shawcroft 909891325a
Fix slow CDC OUT by NAKing
This NAKs CDC OUT packets when the ring buffer doesn't have
enough space for it. This makes CDC OUT reliable rather than
allowing overwriting into the ring buffer.
2019-03-21 14:52:56 -07:00
hathach c211ee19dd migrate license from BSD 3 clause to MIT 2019-03-20 16:11:42 +07:00
hathach a19455d1ff follow up to PR #39 2019-03-04 11:51:36 +07:00
Gregory P. Smith fa8141f31f Fixes #33: Remove invalid use of strncpy().
This was causing a stringop-truncation compiler warning in gcc 8 when
the #defined values being copied from were string literals.
 `error: 'strncpy' output truncated before terminating nul copying 8 bytes from a string of the same length [-Werror=stringop-truncation]`

These fields aren't NUL terminated C strings, they are a fixed width buffer
that is supposed to be space (0x20) padded.
2019-03-03 19:41:41 -08:00
hathach f2d76a39eb mscd: send scsi status before invoke read10/write10/scsi complete callback 2019-02-22 01:31:13 +07:00
Scott Shawcroft c870efffc0
Fix write protected MSC. The bits were flipped. 2019-02-20 15:12:36 -08:00
hathach 59c1b4b427
zero init internal class/device data 2019-01-29 19:39:34 +07:00
Scott Shawcroft 52abbec7c5
Remove txbuf in favor of fifo.
Fifo incurs a second copy into a USB buffer but this ensures the
correct USB buffer alignment. Some LPC chips require 64 byte
alignment that txbuf couldn't do.
2019-01-08 14:10:40 -08:00
Scott Shawcroft 048fc9694c
Split out txbuf and add unit test. 2019-01-04 18:27:00 -08:00
Scott Shawcroft a3173b8de4
Add USB Midi support.
It also introduces a txbuffer which copies data into it but passes
the buffer straight to the USB rather than another copy.
2019-01-04 12:16:27 -08:00
hathach 257d60fe1a white spaces 2018-12-21 12:58:53 +07:00
hathach 902697ca07 add dcd_get_microframe() 2018-12-17 12:14:11 +07:00
hathach 2a60427bdc rename bit_* helper to tu_bit_*, BIT_* to TU_BIT_* for consistency 2018-12-14 15:30:54 +07:00
hathach a3713f801d clean up compiler attribute 2018-12-14 13:08:21 +07:00
hathach a6b9432600 clean up error enum 2018-12-13 14:57:21 +07:00
hathach 1c49c479ca seperate tusb_task() to tud_task() and tuh_task()
tusb_task() still exists for backward compatible
2018-12-13 14:51:37 +07:00
hathach bb544a0951
minor update 2018-12-12 14:43:45 +07:00
hathach c1c501e0c2
change usbd xfer_cb return type to bool 2018-12-12 13:12:06 +07:00
hathach b6cb4757d2
change class driver open return type to bool 2018-12-12 13:00:59 +07:00
hathach 6c0b0917e1
rename descriptor_* helper to tu_desc_* 2018-12-12 12:01:15 +07:00
hathach 6d86db3977
rename edpt_dir/number/addr to tu_edpt_* 2018-12-12 11:51:31 +07:00
hathach 67d6d753d6
replace all hcd pipe close by hcd_device_remove 2018-12-12 00:00:33 +07:00
hathach 600fac1845
fix build error with ohci 2018-12-11 16:18:56 +07:00
hathach dbc560658a
more hcd_pipe to hcd_edpt rename 2018-12-11 13:15:05 +07:00
hathach 0d04e6eb96
rename to hcd_edpt_open() 2018-12-11 13:12:21 +07:00
hathach 7c2056defb
remove pipe handle in host msc 2018-12-11 01:03:15 +07:00
hathach 7a626dbc8b
completely remove pipe handle for cdc/hub/ehci 2018-12-11 00:56:21 +07:00
hathach e863c99a6f
fix msc host 2018-12-10 23:15:53 +07:00
hathach 212deaf2f8
usbh name change 2018-12-10 22:19:01 +07:00
hathach 9c3c782b64
host msc built but got hardfault with inquiry command 2018-12-10 22:11:02 +07:00
hathach dffe9b335e
clean up host pipe api 2018-12-10 20:26:47 +07:00
hathach 4e7596ca9c
add tuh_mount_cb/tuh_umount_cb 2018-12-10 19:25:57 +07:00
hathach 9c4c797502
add ep addr to host cdc 2018-12-10 19:01:28 +07:00
hathach 0ae8a1aa89
remove pipe handle.dev_addr 2018-12-10 16:58:17 +07:00
hathach a486da33ee
usbh clean up 2018-12-10 05:55:02 +07:00
hathach a31f83dbb0
removing pipe handle 2018-12-10 05:44:08 +07:00
hathach 05913a7350
change usbh class driver open signature 2018-12-09 12:34:05 +07:00
hathach 607658d047
rename MODE_HOST_SUPPORTED to TUSB_OPT_HOST_ENABLED 2018-12-07 23:38:52 +07:00
hathach e6e3679136
simple cdc host demo work 2018-12-07 17:37:54 +07:00