1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-07-21 14:08:13 +00:00
Commit Graph

5175 Commits

Author SHA1 Message Date
Ondřej Vejpustek
f55d5e5c5e refactor(core/prodtest): extract verify_signature
[no changelog]
2025-06-25 15:41:03 +02:00
Ondřej Vejpustek
54c5b41c4f refactor(core/prodtest): factor out check_cert_chain
[no changelog]
2025-06-25 15:41:03 +02:00
kopecdav
980d685653 fix(core/tools): fix combine tool script.
[no changelog]
2025-06-25 14:28:34 +02:00
kopecdav
0f6f9bc074 feat(core/prodtest): update wpc-info command to return machine readable data.
[no changelog]
2025-06-25 14:28:34 +02:00
cepetr
bec455c9e5 feat(core): manage background ops during suspend
[no changelog]
2025-06-25 10:54:20 +02:00
cepetr
995caca9c7 feat(core): add rtc wake-up callback
[no changelog]
2025-06-25 10:54:20 +02:00
cepetr
4672745a5b feat(core/prodtest): improve pm-suspend command
[no changelog]
2025-06-25 10:54:20 +02:00
cepetr
efa64647f4 refactor(core): move stwlc38 io to the board definition
[no changelog]
2025-06-25 10:54:20 +02:00
cepetr
0eb08f09fa feat(core): wake up on power-up
[no changelog]
2025-06-25 10:54:20 +02:00
cepetr
95c9bf4148 feat(core): pm_suspend with wakeup flags
[no changelog]
2025-06-25 10:54:20 +02:00
cepetr
564743ef7e refactor(core): introduce suspend module
[no changelog]
2025-06-25 10:54:20 +02:00
cepetr
b35c7b40ba fix(core): fix rtc wake-up from suspend mode
[no changelog]
2025-06-25 10:54:20 +02:00
Roman Zeyde
1fc9d6e90f build(core): fix T2B1 build
[no changelog]
2025-06-25 09:43:49 +03:00
cepetr
e6e7d84c44 fix(core): fix RSOD handling in secmon
[no changelog]
2025-06-25 08:31:58 +02:00
tychovrahe
243f04fbf2 fix(core): remove unnecessary fading
[no changelog]
2025-06-24 19:17:17 +02:00
tychovrahe
e281f145b3 fix(core): remove boot stage 1 from Eckhart UI
[no changelog]
2025-06-24 19:17:17 +02:00
tychovrahe
e53cddf65e refactor(core): make secret api more versatile, secret layout model dependent
[no changelog]
2025-06-24 19:16:55 +02:00
Lukas Bielesch
bd822f82df chore(build): changelog 2025-06-24 17:44:27 +02:00
Lukas Bielesch
b5403f9fdb chore(build): update definitions timestamps 2025-06-24 16:44:10 +02:00
Lukas Bielesch
2a6189c3ae chore(translations): add missing foreign translations
- fix typo in translation key
[no changelog]
2025-06-24 16:36:01 +02:00
tychovrahe
8c187c7c31 fix(core): reboot device after bootloader upgrade
[no changelog]
2025-06-24 14:58:11 +02:00
tychovrahe
548f29eb3f fix(core): RSOD on attempted illegal bootloader downgrade
[no changelog]
2025-06-24 14:58:11 +02:00
tychovrahe
2d35af7105 fix(core): check bootloader integrity before update
[no changelog]
2025-06-24 14:58:11 +02:00
tychovrahe
a3c1f197ce feat(core/prodtest): add command for bootloader update, along with script for sending the data 2025-06-24 14:58:11 +02:00
tychovrahe
9f2dec6169 refactor(core): update bootloader from coreapp, using syscalls (and smcalls)
[no changelog]
2025-06-24 14:58:11 +02:00
Ioan Bizău
f5123c8b3f chore(core): add 1inch and LiFI addresses
[no changelog]
2025-06-24 13:56:03 +02:00
Lukas Bielesch
a403524f72 chore(core): add compulsory data param to props
[no changelog]
2025-06-24 12:08:42 +02:00
Lukas Bielesch
5ade9204e4 feat(core): add new data mono fonts
[no changelog]
2025-06-24 12:08:42 +02:00
Ioan Bizău
320ee7b044 refactor(core): separate BLE and THP pairing code screens
[no changelog]
2025-06-24 10:27:17 +02:00
Ioan Bizău
785f52f082 refactor(eckhart): move pairing cancel button to menu
[no changelog]
2025-06-24 10:27:17 +02:00
Lukas Bielesch
a7f6bf5bda chore(core/eckhart): update warnings 2025-06-23 15:48:23 +02:00
Lukas Bielesch
f32d747f88 chore(core): promote multiple_accounts_warning to danger
- for eckhart and delizia layouts
2025-06-23 15:48:23 +02:00
Lukas Bielesch
5272f2af8f chore(core/eckhart): fix send title
[no changelog]
2025-06-23 15:48:23 +02:00
Lukas Bielesch
590dcb9e56 chore(core/translations): ensure consistent German translation for 'labeling'
[no changelog]
2025-06-23 12:44:59 +02:00
obrusvit
3bf0aaf08e feat(eckhart): implement hold_danger
[no changelog]
2025-06-23 12:03:25 +02:00
obrusvit
ee8bba40b2 feat(core): allow ProgressLayout with danger
- adds `danger` parameter to `show_progress` which can be used by
individual layout implementations to render a loader with a sever color
- this feature is used for wipe device handler
- this feature is implemented for Eckhart layout in this commit

[no changelog]
2025-06-23 12:03:25 +02:00
obrusvit
c73351f6df refactor(core): update some Eckhart FW text styles
[no changelog]
2025-06-23 10:16:32 +02:00
obrusvit
41bc018eb9 feat(core): update Eckhart bootloader
- Menu: reorg buttons, labels, styling
- ErrorScreen: show "Wait for device restart" in the bar area and move
footer message above that
- UpdateScreen

[no changelog]
2025-06-23 10:16:32 +02:00
tychovrahe
1312054ba9 fix(core): fix install fw confirm title issue 2025-06-20 16:11:08 +02:00
Roman Zeyde
7c45ce6522 chore(core): fix "trezor" -> "Trezor"
Also, remove duplicated `coinjoin__title_do_not_disconnect` string.

[no changelog]
2025-06-20 14:40:13 +03:00
Roman Zeyde
4633611d1b test(core): don't wait on StatusScreen if animation is disabled
[no changelog]
2025-06-20 14:07:52 +03:00
Roman Zeyde
f331b133e3 feat(core): join active workflows before restart
It should support asynchronous "success" confirmation layouts
for address, public key and signature confirmation flows.

[no changelog]
2025-06-20 14:07:52 +03:00
Roman Zeyde
23cde4ed72 Revert "feat(core): send address & public key response before showing StatusScreen"
This reverts commit 946fc89449.
2025-06-20 14:07:52 +03:00
Roman Zeyde
1571da5e18 Revert "feat(core): add success screen to transactions' signature flow"
This reverts commit 1bdc48a73f.
2025-06-20 14:07:52 +03:00
kopecdav
3b154a4389 fix(core): remove wpc gradual charging
[no changelog]
2025-06-20 09:41:28 +02:00
cepetr
c17ce0e89e feat(core): wake up from suspend mode after timeout
[no changelog]
2025-06-19 14:25:53 +02:00
tychovrahe
ea889e109e fix(core): move external tamper enable to secmon and only in production builds
[no changelog]
2025-06-19 10:38:51 +02:00
Roman Zeyde
97b8833746 chore(core): use ERROR_NOT_IMPLEMENTED in Eckhart's ui_firmware.rs
[no changelog]
2025-06-19 07:48:45 +03:00
Roman Zeyde
8d1eb777fc feat(core): delay passphrase on host prompt 2025-06-18 15:22:05 +03:00
Martin Milata
c16d375abc refactor(core): eckhart: add close button to THP pairing UI
[no changelog]
2025-06-18 13:11:12 +02:00
Roman Zeyde
8fbe005186 refactor(core): wrap coverage data map with spin::RwLock
It allows us to avoid the `unsafe` blocks (due to `static mut` references).

[no changelog]
2025-06-17 17:09:30 +03:00
Roman Zeyde
365116be52 refactor(core): use Qstr instead of StrBuffer in coverage::Key
It allows `coverage::Key` to be `Send` & `Sync` - otherwise,
wrapping coverage data with a `spin::Mutex` will fail due to:
```
error[E0277]: `*const u8` cannot be sent between threads safely
   --> src/coverage/mod.rs:49:23
    |
49  | static COVERAGE_DATA: Mutex<FnvIndexMap<Key, u64, { 1024 * 1024 }>> =
    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `*const u8` cannot be sent between threads safely
    |
    = help: within `IndexMap<Key, u64, hash32::BuildHasherDefault<hash32::fnv::Hasher>, 1048576>`, the trait `Send` is not implemented for `*const u8`
note: required because it appears within the type `StrBuffer`
```

[no changelog]
2025-06-17 17:09:30 +03:00
cepetr
275fe3f17d feat(core): enable bkram retention in vbat mode
[no changelog]
2025-06-17 15:34:07 +02:00
Roman Zeyde
f1a4120878 fix(core): re-add logging level filtering
[no changelog]
2025-06-17 12:46:37 +03:00
kopecdav
b159269ce4 refactor(core): fix tamper RSOD label
[no changelog]
2025-06-17 10:28:54 +02:00
tychovrahe
dc0877a70d fix(core): remove charging enable hysteresis when 100% SOC limit is set
[no changelog]
2025-06-16 20:53:15 +02:00
tychovrahe
41c361babb fix(core): fix full battery detection
[no changelog]
2025-06-16 20:53:15 +02:00
Roman Zeyde
f4e65fd8e3 fix(core): don't enter/exit menu via horizontal swipe on Delizia
Following #5189.
2025-06-16 18:29:56 +03:00
Roman Zeyde
0d87266bfc fix(core): don't enter/exit menu via horizontal swipe on Bolt 2025-06-16 18:29:56 +03:00
Roman Zeyde
6d35f047b8 chore(core): inline SwipeFlow::render_state
[no changelog]
2025-06-16 17:35:07 +03:00
Roman Zeyde
6eb0458b7c chore(core): remove unused SwipeFlow field
[no changelog]
2025-06-16 17:35:07 +03:00
M1nd3r
3d8eab3515 chore(core): remove DebugLinkToggleThpPairingDialog
[no changelog]
2025-06-16 14:53:13 +02:00
cepetr
2b41fbd6bf fix(core): enable backup ram ECC
[no changelog]
2025-06-16 11:52:17 +02:00
cepetr
29cd9c1d92 feat(core): power-fail-safe backup ram driver
[no changelog]
2025-06-16 11:52:17 +02:00
Roman Zeyde
2a29e4ea47 fix(core): correct a small typo in screen_update()
[no changelog]
2025-06-16 10:52:58 +03:00
obrusvit
107960ebbe fix(emu): use same key for screenshots
- firmware emu uses `p` for power button and `s` for screenshot. So use
`s` also for bootloader and prodtest emu screenshots.

[no changelog]
2025-06-13 21:52:25 +02:00
obrusvit
af02e5e6a2 feat(eckhart): improve Homescreen styling
- correct Homebar icons
- colors and gradients
- LED usage
- Hint changes: add pad and cleanup some unused code

[no changelog]
2025-06-13 19:36:51 +02:00
obrusvit
2196a5f785 refactor(core): cleanup homescreen params
- rename FirmwareUI::show_homescreen param name from `hold` to
  `lockable` because hold or hold_to_lock no longer covers all layouts
- cleanup uPy notification params

[no changelog]
2025-06-13 19:36:51 +02:00
Lukas Bielesch
5104872010 chore(core/eckhart): extend pin/pp touch area
[no changelog]
2025-06-13 19:15:26 +02:00
Martin Milata
200eac6384 refactor(core): exclude THP related string identifiers from non-THP builds
[no changelog]
2025-06-13 15:58:33 +02:00
Martin Milata
95ecbbed8b feat(common): add Trezor Host Protocol protobuf definitions
[no changelog]
2025-06-13 15:58:33 +02:00
tychovrahe
b83889457b feat(core): introduce IWDG driver
[no changelog]
2025-06-13 13:59:10 +02:00
cepetr
ff2d4edaef fix(core): remove unnecessary non-secure variant of irq_lock/unlock
[no changelog]
2025-06-13 11:23:54 +02:00
Lukas Bielesch
ecbb71232e chore(rust): increase max text ops
[no changelog]
2025-06-13 11:22:55 +02:00
Lukas Bielesch
023c8fc140 chore(core/eckhart): update check recovery flow
[no changelog]
2025-06-13 11:22:55 +02:00
Roman Zeyde
acbace7c3e fix(core): use correct size in STMPE811 touch_init()
[no changelog]
2025-06-12 18:17:55 +03:00
Roman Zeyde
7f5a8b29c6 fix(core): use correct size in workflow_ifaces_init()
[no changelog]
2025-06-12 18:17:55 +03:00
tychovrahe
a67ccb8c40 refactor(core): refactor nrf, disable uart in booloader to save flash space
[no changelog]
2025-06-12 15:36:31 +02:00
Lukas Bielesch
3fa185703e feat(core): use OpTextLayout::add_ functions to reduce stack usage 2025-06-12 10:07:23 +02:00
obrusvit
f0865e3b10 feat(eckhart): fuel gauge UI
- 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]
2025-06-11 23:39:28 +02:00
obrusvit
17d6dd4a55 chore(core): remove battery from show_device_menu
- the battery status changes are now propagated into Components by
Event::PM

[no changelog]
2025-06-11 23:39:28 +02:00
obrusvit
f04edf3a28 feat(core): battery updates in FW event loop
[no changelog]
2025-06-11 23:39:28 +02:00
cepetr
765fe76b44 fix(core): fix write to otp memory (U5 only)
[no changelog]
2025-06-11 12:21:29 +02:00
kopecdav
5729416c4f fix(core): Update more accurate battery model + fuel gauge config tral v2.
[no changelog]
2025-06-11 12:15:12 +02:00
cepetr
2a50a58b92 fix(core): handle nmi, hard fault and bus fault in secure mode
[no changelog]
2025-06-11 11:49:42 +02:00
cepetr
3d2a9c93a9 feat(core): add details for fault and fatal error RSOD
[no changelog]
2025-06-11 11:49:42 +02:00
cepetr
e8a5d11e5d fix(core): fix rsod message alignment on bolt
[no changelog]
2025-06-11 11:49:42 +02:00
cepetr
09a4b2dca0 feat(core): add pc to systask_postmortem_info
[no changelog]
2025-06-11 11:49:42 +02:00
tychovrahe
ce3eae95a4 feat(core/bootloader): menu item reboot always active 2025-06-11 09:57:47 +02:00
tychovrahe
2f24d1f022 fix(core/bootloader): turn off led when leaving charging signalization
[no changelog]
2025-06-11 09:57:47 +02:00
cepetr
dc69976a99 feat(core): move backup_ram driver to secmon
[no changelog]
2025-06-11 09:48:19 +02:00
cepetr
6bea09bbe7 fix(core): fix firmware hash calculation
[no changelog]
2025-06-11 09:46:37 +02:00
Roman Zeyde
4095add475 fix(core): expose logging functions also on non-debug builds
[no changelog]
2025-06-11 10:26:09 +03:00
Roman Zeyde
30840d7cbf perf(core): rewrite trezor.log and trezor.wire_log in Rust
Requires https://github.com/trezor/micropython/pull/26.

[no changelog]
2025-06-11 10:26:09 +03:00
Roman Zeyde
90bd4735c2 perf(core): benchmark log
[no changelog]
2025-06-11 10:26:09 +03:00
Roman Zeyde
a9f59f6dd6 style(core): fix a few Rust lints
[no changelog]
2025-06-11 09:58:08 +03:00
tychovrahe
f2564573eb fix(core/prodtest): fix prodtest emulator build
[no changelog]
2025-06-11 08:39:49 +02:00
Roman Zeyde
0cf22ece39 test(core): don't call clear_gc_info() when PYOPT=1
[no changelog]
2025-06-10 18:33:16 +03:00
M1nd3r
dd76266de5 chore: add THP FailureTypes
[no changelog]
2025-06-10 17:00:06 +02:00
Roman Zeyde
6f28b96733 test(core): collect GC statistics via new debug RPC
[no changelog]
2025-06-10 12:16:12 +03:00
Roman Zeyde
a7849ab838 perf(core): use 16-bit duration for Button long-press duration
Also, use zero duration to disable long-press mechanism.

[no changelog]
2025-06-09 20:27:09 +03:00
Roman Zeyde
0b4c44e32f refactor(core): use an enum for Button's radius/gradient
[no changelog]
2025-06-09 20:21:28 +03:00
Roman Zeyde
a6f99a65b4 perf(core): don't use Option<Insets> to save memory
Otherwise, the compiler adds 2 bytes per `Button` struct.

[no changelog]
2025-06-09 20:21:28 +03:00
Roman Zeyde
5dbf726160 perf(core): change TextAndSubtext::subtext_style to a reference
It should significantly reduce the size of `heapless::Vec<ui::layout_eckhart::component::button::Button, 100>`.

[no changelog]
2025-06-09 20:21:28 +03:00
obrusvit
018330f3c2 chore(eckhart): remove hold to lock animation
- hold to lock animation will not be used on the Homescreen
- the locking functionality is kept for debug purposes and is increased
to 3 seconds

[no changelog]
2025-06-09 17:59:47 +02:00
tychovrahe
3324af7b50 refactor(core): unify CommonUI screen definition
[no changelog]
2025-06-09 17:48:56 +02:00
Roman Zeyde
14909e37ed style(core): prefix unused parameters with _
[no changelog]
2025-06-09 17:20:05 +02:00
tychovrahe
01465aac7c feat(core): update NRF application from firmware
[no changelog]
2025-06-09 17:12:31 +02:00
tychovrahe
deac4dc099 chore(core): add rust to kernel
[no changelog]
2025-06-09 17:12:31 +02:00
tychovrahe
2b79302d03 feat(ble): include image hash in info message
[no changelog]
2025-06-09 17:12:31 +02:00
tychovrahe
776767326a fix(core): fix nrf get info
[no changelog]
2025-06-09 17:12:31 +02:00
tychovrahe
f144bcd2a6 fix(core): fix nrf reboot to bootloader
[no changelog]
2025-06-09 17:12:31 +02:00
tychovrahe
ccb28f4aab refactor(core): move c string conversion out of UI code
[no changelog]
2025-06-09 17:12:31 +02:00
tychovrahe
4e31a9e20a fix(core/rust): make rust crate compilable without UI
[no changelog]
2025-06-09 17:12:31 +02:00
tychovrahe
dda281e78a chore(core): fix clippy errors
[no changelog]
2025-06-09 17:12:31 +02:00
tychovrahe
6aa981da45 chore(core): update rust
[no changelog]
2025-06-09 17:12:31 +02:00
obrusvit
2dfae34b39 fix(eckhart): aligned screen border top arc
[no changelog]
2025-06-09 17:09:19 +02:00
Lukas Bielesch
8cfa6a3693 chore(eckhart): update shamir wallet creation
[no changelog]
2025-06-09 08:52:32 +02:00
Lukas Bielesch
468ddaab9d chore(eckhart): simplify updatable info screen
[no changelog]
2025-06-09 08:52:32 +02:00
Lukas Bielesch
13a020202e chore(eckhart): update pin flows for Eckhart UI
[no changelog]
2025-06-08 18:19:32 +02:00
obrusvit
7730e4c63b feat(eckhart): map foreign glyphs fonts
[no changelog]
2025-06-07 16:44:19 +02:00
tychovrahe
e3639fe195 fix(core/bootloader): eckhart - fix menu button not showing on some screens
[no changelog]
2025-06-06 17:47:49 +02:00
tychovrahe
0c3ae03d39 feat(core/prodtest): add radio test command
[no changelog]
2025-06-06 16:58:22 +02:00
Ioan Bizău
334079e453 feat(eckhart): allow buttons without multiline text
[no changelog]
2025-06-06 15:34:22 +02:00
Ioan Bizău
9d91c7a69c chore(eckhart): check button subtitle overflow
[no changelog]
2025-06-06 15:34:22 +02:00
Ioan Bizău
3f3fd4a021 feat(eckhart): allow multiline text in buttons
[no changelog]
2025-06-06 15:34:22 +02:00
Lukas Bielesch
0bff79e0e9 chore(tests): check the correct keyboard category
[no changelog]
2025-06-05 23:59:19 +02:00
Lukas Bielesch
9494ba8896 fix(core/eckhart): fix passphrase keyboard bug
- when multi tab key timer expires, the buttons are resetted only if the passphrase reached the max length
- when the passphrase keyboard layout is swapped, the buttons are resetted
[no changelog]
2025-06-05 23:59:19 +02:00
Lukas Bielesch
26a52a5ed4 chore(core/eckhart): change button content vertical aligment implementation
- previous impl. using allcase_height wasn't properly centering the text
[no changelog]
2025-06-05 23:59:19 +02:00
Roman Zeyde
f6f1471774 refactor(core): convert translation strings to str once
Instead of doing it on every `TranslationStringsChunk::get()` call.

[no changelog]
2025-06-05 21:08:14 +03:00
Roman Zeyde
d6b1cff024 feat(core): support new translation blob format
It supports multiple translations strings chunks and allows total
container size to be above 64kB.

Previous format is also supported by firmware.
2025-06-05 20:55:56 +03:00
Roman Zeyde
96fd484c2f chore(core): use .into() to convert from u16 to usize
It would fail to compile in case there is a possible truncation,
since using `as` will result in silent truncation.

[no changelog]
2025-06-05 20:55:56 +03:00
Roman Zeyde
880ee5af7a chore(core): remove unused MAGIC constant
[no changelog]
2025-06-05 20:55:56 +03:00
Martin Milata
26d66251a5 refactor(core): get_context raises NoWireContext if not found
[no changelog]
2025-06-05 15:53:23 +02:00
Martin Milata
99f56a09d0 refactor(core/ui): parametrize show_pairing_code
[no changelog]
2025-06-05 15:53:23 +02:00
Martin Milata
2c45bac81a refactor(core): ignore BLE exceptions on boot
[no changelog]
2025-06-05 15:53:23 +02:00
Martin Milata
24279a60c0 refactor(core): drain the BLE event queue whenever layout is running
[no changelog]
2025-06-05 15:53:23 +02:00
Martin Milata
c3afe4c67b feat(core): BLE pairing flow
[no changelog]
2025-06-05 15:53:23 +02:00
Martin Milata
f077f2d1c1 feat(core/ui): eckhart: BLE event handling
[no changelog]
2025-06-05 15:53:23 +02:00
Martin Milata
6d0bcca70c fix(core): emulator build with PYOPT=1
[no changelog]
2025-06-05 15:29:27 +02:00
Roman Zeyde
5c49084a16 perf(core): wrap AddressDetails in a GcBox
[no changelog]
2025-06-04 21:01:25 +03:00
Roman Zeyde
a0ab4963f0 fix(core): close previous homescreen before changing it
Otherwise, it will fail due to double `ImageBuffer` locking.

Also, add a test to reproduce the locking issue.

[no changelog]
2025-06-04 21:00:38 +03:00
Roman Zeyde
bdc75e295d chore(core): improve ImageBuffer locking error message
Usually `AllocationFailed` is due to GC OOM errors,
while here it's more "deadlock-like" scenario.

[no changelog]
2025-06-04 20:52:55 +03:00
cepetr
8a115eff03 chore(core): reformat FEATURES_WANTED list for readability
[no changelog]
2025-06-04 16:58:15 +02:00
cepetr
bbb74c03a4 feat(core): introduce secure monitor
[no changelog]
2025-06-04 16:58:15 +02:00
cepetr
e66f4f2d83 refactor(core): simplify unprivileged SAES execution
[no changelog]
2025-06-04 16:58:15 +02:00
cepetr
37b608827c feat(core): allow execution of syscalls in thread mode
[no changelog]
2025-06-04 16:58:15 +02:00
cepetr
a133a01a1f feat(core): support mpu region setup per applet
[no changelog]
2025-06-04 16:58:15 +02:00
cepetr
a48abdb577 refactor(core): move tropic i/o definitions to t3w1 board
[no changelog]
2025-06-04 16:58:15 +02:00
cepetr
820a3c5ba2 refactor(core): remove redundant SYSCALL_DISPATCH definition
[no changelog]
2025-06-04 16:58:15 +02:00
cepetr
1cf9dc4d62 refactor(core): simplify linker scripts II
[no changelog]
2025-06-04 16:58:15 +02:00
cepetr
aa5ba7aba6 refactor(core): simplify linker scripts
[no changelog]
2025-06-04 16:58:15 +02:00
cepetr
5b537103bd feat(core): improve post mortem info for secure fault
[no changelog]
2025-06-04 16:58:15 +02:00
cepetr
05acc1599b fix(core): enable SecureFault handling
[no changelog]
2025-06-04 16:58:15 +02:00
cepetr
a7466298ff refactor(core): prepare for secure/non-secure memory layout
[no changelog]
2025-06-04 16:58:15 +02:00
cepetr
1a372b5019 feat(core): allow passing postmortem info in bootargs
[no changelog]
2025-06-04 16:58:15 +02:00
Lukas Bielesch
cafed0d02b chore(core/eckhart): Unify usage of ParagraphVecShort
[no changelog]
2025-06-04 12:47:50 +02:00
Lukas Bielesch
3f14cd1d27 chore(eckhart): replace-by-fee update
[no changelog]
2025-06-04 12:47:50 +02:00
Lukas Bielesch
17f2d05baa fix(core): clippy warning
[no changelog]
2025-06-04 12:47:50 +02:00
tychovrahe
ec4e6de040 fix(core/prodtest): fix bolt welcome screen without power manager
[no changelog]
2025-06-04 08:12:48 +02:00
tychovrahe
7294cc62fb feat(core/prodtest): separate prodtest UI implementation for Eckhart
[no changelog]
2025-06-04 08:12:48 +02:00
tychovrahe
d5a9b7ee58 fix(core/prodtest): show homescreen after fuel gauge monitor ends
[no changelog]
2025-06-04 08:12:48 +02:00
Lukas Bielesch
d91923b999 chore(core/eckhart): Update passphrase-related flows
[no changelog]
2025-06-03 18:59:37 +02:00
Lukas Bielesch
41a852c675 chore(core/eckhart): Update ConfirmAction button styling logic 2025-06-03 18:59:37 +02:00
Lukas Bielesch
1f69975ba9 chore(core/eckhart): Allow TextScreen to be used without a header
[no changelog]
2025-06-03 18:59:37 +02:00
Roman Zeyde
c01b56a5a0 fix(core): Eckhart doesn't have a separate confirm page
[no changelog]
2025-06-03 18:10:35 +03:00
Lukas Bielesch
9643253630 feat(eckhart): implement FW update UI trait function
[no changelog]
2025-06-03 17:02:20 +02:00
kopecdav
32a830da1c fix(core/prodtest): fix vcp jamming when USB unplugged.
[no changelog]
2025-06-03 15:11:15 +02:00
Ioan Bizău
98aa195443 fix(core/ui): confirm_output subtitle
[no changelog]
2025-06-03 15:06:29 +02:00
Ioan Bizău
d65b4f0e86 fix(core): warnings in device build
[no changelog]
2025-06-03 14:18:47 +02:00
tychovrahe
0081788d48 fix(core/prodtest): fix prodtest emulator build for T3W1
[no changelog]
2025-06-03 09:24:57 +02:00
tychovrahe
0ac3dec433 fix(core): fix pm_get_state syscall stub
[no changelog]
2025-06-03 09:24:40 +02:00
Lukas Bielesch
fea8031c96 chore(translations): drop turkish translations 2025-06-02 11:42:34 +02:00
tychovrahe
9683efb5b9 feat(core/prodtest): add prodtest emulator
[no changelog]
2025-06-02 09:16:53 +02:00
tychovrahe
9e8f989c80 fix(core): implement reboot_to_bootloader for unix
[no changelog]
2025-06-02 09:16:53 +02:00
tychovrahe
fb61ea0ce8 feat(core/unix): add board capabilities basic implementation for unix
[no changelog]
2025-06-02 09:16:53 +02:00
tychovrahe
803baf7fcd feat(core/unix): implement USB VCP emulation
[no changelog]
2025-06-02 09:16:53 +02:00
tychovrahe
c0c5003e08 chore(core): replace itoa with portable function
[no changelog]
2025-06-02 09:16:53 +02:00
tychovrahe
1bd4d17d0e refactor(core): implement cpuid as separate module
[no changelog]
2025-06-02 09:16:53 +02:00
tychovrahe
5a3156d782 refactor(core/unix): use unix common files in scons
[no changelog]
2025-06-02 09:16:53 +02:00
Roman Zeyde
cec282993a refactor(core): simplify per-model imports using cfg-if macro
[no changelog]
2025-06-01 14:31:43 +03:00
tychovrahe
baa6317113 fix(core): fix lockable bootloader logic in secret and MPU
Also, fix firmware build with `DISABLE_OPTIGA=1`.

[no changelog]
2025-05-30 19:28:46 +03:00
Roman Zeyde
64241033cb chore(core): move coverage-related Rust code into a separate module
Also, exclude it from non-debug builds.

[no changelog]
2025-05-30 19:26:51 +03:00
Roman Zeyde
1b8116129a chore(core): add a missing Map import for obj_module macro
[no changelog]
2025-05-30 19:26:51 +03:00
Roman Zeyde
7f5b71817f fix(core): fix DeprecationWarning for datetime.datetime.utcnow()
[no changelog]
2025-05-30 18:55:08 +03:00
obrusvit
341cc54071 chore: regenerate langs/signatures/qstr/fixtures 2025-05-30 17:38:16 +02:00
obrusvit
1efdad0aab feat(eckhart): port recent functionaliy
- ETH approve, #4958
- success screens after BR, #4882 and #5068
- do not confirm known SOL token, #5086
- fail on text overflow, #4767
2025-05-30 17:38:16 +02:00
obrusvit
0f695b55a9 refactor(core): fn plural_form will never panic
- also minor adjustment where the function is used in Eckahrt
2025-05-30 17:38:16 +02:00
obrusvit
10e88c870e chore(eckhart): improve DeviceMenu
- show BackupFailed correctly based on storage conditions
- separate autolock duration formatting to a separate function in
`trezor/strings.py`
2025-05-30 17:38:16 +02:00
obrusvit
d73f0dc79d perf(core/eckhart): constructing MenuItems
- self-referential builder pattern is easier on the stack memory usage
than consuming builder pattern
- store ButtonStyleSheet as a static ref
2025-05-30 17:38:16 +02:00
obrusvit
bd89e13493 refactor(core): return uPy Obj from DeviceMenu
[no changelog]
2025-05-30 17:38:16 +02:00
Roman Zeyde
3aab117046 refactor(core): unify menu and about Eckhart screens into an enum
[no changelog]
2025-05-30 17:38:16 +02:00
obrusvit
482b442c8e feat(eckhart): remove label shadow on default hs 2025-05-30 17:38:16 +02:00
Lukas Bielesch
a57fc3f8ed feat(core): update number input screen
- add time-handling functions
- add option to show time units
- add hold functionality to increment/decrement buttons
- add new device-menu actions
2025-05-30 17:38:16 +02:00
Lukas Bielesch
b8f018a419 fix(eckhart): fix failing tests: homescreen, fido, solana 2025-05-30 17:38:16 +02:00
obrusvit
12e1c456c7 feat(eckhart): port bootloader ble handling 2025-05-30 17:38:16 +02:00
obrusvit
0afc97227f fix(eckhart): a few alignment and style issues
- fix pyright
2025-05-30 17:38:16 +02:00
Lukas Bielesch
c66b435212 fix(eckhart): fix unstable click tests
- Differentiate input vectors for Eckhart due to different screen size
- paginate, where possible
2025-05-30 17:38:16 +02:00
Lukas Bielesch
2963065afc feat(eckhart): confirm_signverify, confirm_blob, ethereum, solana and nostr support 2025-05-30 17:38:16 +02:00
Lukas Bielesch
b45865a808 chore(eckhart): use dedicated function for menu buttons creation 2025-05-30 17:38:16 +02:00