- fuel gauge (battery state) with icons for charging/discharging state
and soc percentage
- on attach on Homescreen ActionBar
- permanently on the first DeviceMenu subscreen
- temporarily in the Header on charging state update
[no changelog]
Use a list to collect RUSTFLAGS, to prevent overwriting them.
Also:
- fix a typo in `SConscript.unix` (it was using `firmware` build directory)
- use keyword arguments for better readability
- reformat Rust library build command string
[no changelog]
By zeroing the stack memory before the workflow runs,
we can estimate how much of it has been used (by reading
the stack memory and looking for the first non-zero value).
[no changelog]
In case the main workflow is restarting after a `DebugLinkDecision`,
sending the response of `DebugLinkGetState` may get interrupted.
We are making the state fetching explicit, in order to avoid the
"restart" race condition (as described in #4401).
Following the above change, text-based layout recording is removed.
[no changelog]
- follow-up on 862c987779
- layout_bolt stays the same
- layout_samson -> layout_caesar
- layout_quicksilver -> layout_delizia
- use super for importing rust modules in layout code
[no changelog]
- 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]
reduces the number of PIN iterations and avoids erasing the other
storage bank -- if a test ever overruns, it will probably RSOD out, but
that's unlikely to happen
This makes it possible to run HW tests on the T3T1 where animations mess
things up. It also speeds up HW tests on other models slightly.
export TREZOR_DISABLE_ANIMATION=0 to build a debug firmware with
animations enabled
the error:
When built with PYOPT, Optiga will log its communication to the VCP. But
now that VCP config lives in coreapp and Optiga lives in kernel, there's
no way for Optiga to write to VCP, and the relevant calls simply don't
build.
We need a different method for logging inside the kernel.