- 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.
* Deprecate RawSerial.
* Introduce UnbufferedSerial to provide unbuffered I/O by implementing
with a FileHandle interface for I/O streams.
* Add Greentea test for the UnbufferedSerial class.
Use a BaseHostTestAbstract.reset() method instead of
BaseHostTestAbstract.reset_dut() for more consistent behavior with
various platforms in the CI.
In contrast to a local setup, the reset_dut() method flashes the binary
again after performing the reset in a remote setup (RaaS). This was not
intentional in reset_reason tests. Moreover, this led to a different
behavior (a different reset_reason) for different flashing methods which
are target specific.
Running PowerShell script on some windows machines is blocked.
To avoid this problem script was replace by the code run directly in PowerShell console.
Change the config parameter used as a delay before sending the sync
packet after the device reset in watchdog and reset_reason tests. Use
'forced_reset_timeout' instead of 'program_cycle_s'.
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.
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.
Update the serial host test to set DTR low before opening a serial
port. Set DTR high once the serial object is ready. This ensures that
no data is sent by the device until the host is ready.