- Remove the partially implemented VENDOR_TEST_CTRL_NONE USB control request type.
- Remove the USB control request type VENDOR_TEST_CTRL_IN_DELAY, VENDOR_TEST_CTRL_OUT_DELAY, VENDOR_TEST_CTRL_IN_STATUS_DELAY, VENDOR_TEST_CTRL_OUT_STATUS_DELAY macros as did not have any test.
- Enable the USB hid and basic test for bare metal profile.
- Remove the partially (The green tea test host side implementation is missing on pyusb_basic.py ) implemented USB control transfer VENDOR_TEST_CTRL_NONE_DELAY request type test case as it is becoming obsolete.
- Remove high priority event queue which is used by that request type test case.
In a line coding test, host changes the line coding based on data received
from DUT via the USBSerial::printf(). A fixed-size payload, equal to
LINE_CODING_STRLEN, is required by the host side. When the minimal printf is
used, fixed-width messages can not be easily generated on the fly. Zero-fill
or width specifiers are not supported by the minimal printf.
Update the host side to stop reading on a defined payload delimiter and
allow variable-width messages.
-Added "rtos-api" in TESTS/configs/baremetal.json
-some test case used thread_sleep_for instead Thisthread::sleep_for
-Added the EOF character
-Disable completely the non supported test cases
This fixes the stack overflow error during the basic USB tests.
Update the ctrl_buf member of the USBTester and USBEndpointTester test
classes to be allocated on the heap. This saves 2 KB of a main stack.
The contents of the usb directory were moved to appropriate locations and the usb directory removed.
* Public USB headers moved under drivers/
* Internal USB headers moved under drivers/internal/
* USB Source code moved under drivers/source/usb/
* Moved usb/device/hal/ under hal/usb/
* Moved usb/device/USBPhy/ under hal/usb/
* Merged usb/device/targets/ into targets/
* Separated public and private USB API documentation under Doxygen groups drivers-public-api and drivers-internal-api.
This test case uses `hidapi` -- a cross-platform Python module.
To keep the initial Mbed setup as simple as possible, the `hidapi`
module is skipped on Linux hosts because of its external dependancies
for this platform.
The module can be easily installed following instructions from the
README file.
The test case is skipped if the host machine lacks `hidapi` module.
Wait for the host driver to finish setup before sending any HID reports
from the device.
USBHID::wait_ready() blocks until the device reaches 'configured' state,
but the state of the host HID driver remains unknown to the device.
To successfully use pyusb on Windows hosts, a Zadig configuration has to
be performed. Since config for basic tests has already been provided,
use it again.
A DTR line is used to signal that the host has configured a terminal and
is ready to transmit and receive data from the USB CDC/Serial device.
When this test suite is run with the use of a Linux host, a workaround has
to be used to overcome some platform specific DTR line behavior.
Every time the serial port file descriptor is opened, the DTR line is
asserted until the terminal attributes are set.
As a consequence, the device receives a premature DTR signal with a
duration of 200-500 us before the correct, long-lasting DTR signal set by
the host-side test script. (tested on the Linux kernel 4.15.0)
The solution is to wait for the first DTR spike, ignore it, and wait for
the correct DTR signal again.