this deprecates `device.reset()`, and moves the new arguments to
`device.setup()`.
Also it changes default backup type on core devices to SLIP39-single,
same as Suite, and randomizes the number of entropy check rounds, if not
provided from outside.
it's a Python class that emits a DeprecationWarning if you try to use it
for almost anything
(two exceptions that can't be overriden from the wrapper:
* isinstance(depr, SomeOtherClass)
* depr is None)
we will return instances of this class to indicate that a return value
of something will be going away
- UI layouts name changes:
- model_tt -> layout_bolt
- model_tr -> layout_samson
- model_mercury -> layout_quicksilver
- rust features `model_xyz` freed for different use, now it's
`layout_xyz`
- input_flow function names are based on UI layout and not internal
model name (i.e. quicksilver instead of t3t1)
- directory names and commentary changed accordingly
[no changelog]
legacy < 1.11.0 will never answer those because PinRequest and
PassphraseRequest block waiting for PinAck / PassphraseAck over wirelink
and ignore debuglink
In certain cases a DebugLinkState response can get stalled and debuglink
will not read it -- i.e., a situation analogous to wirelink de-sync.
There doesn't seem to be a good way to force-sync debuglink the same way
wirelink does it, but we can detect a wrong response to a
DebugLinkGetState and skip it.
The global layout related changes were wrong for T1 where debuglink
behavior is significantly different; in particular, it is not always
possible to communicate over debuglink.
This change reverts to the old behavior for T1B1 and keeps the new one
only for core-based models.
* convert more USB errors into TransportExceptions
* add a timeout + infinite loop for read/write operations,
so that they are interruptible by Python, instead of leaving
the interface in a bad state when hard-killed
* (also ctrl+c now works if the process is waiting for usb)