1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-03-25 20:45:43 +00:00
Commit Graph

4487 Commits

Author SHA1 Message Date
Lukas Bielesch
162954e371 feat(eckhart): Add common keyboard functionality 2025-03-19 14:38:53 +01:00
Lukas Bielesch
48bfcbc63c feat(eckhart): keyboard button styles 2025-03-19 14:38:53 +01:00
Lukas Bielesch
3afbeb708e feat(eckhart): Add parametrized content offset to Button 2025-03-19 14:38:53 +01:00
Lukas Bielesch
4fd0294423 chore(eckhart): Add dynamic padding option to vertical menu. Update rendering of separarators in vertical menu. 2025-03-19 14:38:53 +01:00
Lukas Bielesch
2755b17da5 feat(eckhart): full-screen select word component 2025-03-19 14:38:53 +01:00
Lukas Bielesch
f2984bdd23 chore(eckhart): Remove redundant code 2025-03-19 14:38:53 +01:00
Lukas Bielesch
ee0839e8d4 chore(eckhart): Add dynamic padding option to vertical menu.
Update rendering of separarators in vertical menu.
2025-03-19 14:38:53 +01:00
Lukas Bielesch
82a20c0048 feat(eckhart): Add new Button 'is_pressed' function 2025-03-19 14:38:53 +01:00
Lukas Bielesch
77fda140f2 chore(eckhart): fix button text and subtext rendering 2025-03-19 14:38:53 +01:00
Lukas Bielesch
4a5ef52be9 feat(eckhart): button styles for select word component 2025-03-19 14:38:53 +01:00
Lukas Bielesch
2ca5bf35e5 feat(eckhart): share words flow 2025-03-19 14:38:53 +01:00
Lukas Bielesch
ee13f4e07f feat(eckhart): full-screen share words component 2025-03-19 14:38:53 +01:00
Lukas Bielesch
8853be3e01 chore(eckhart): improve HTC animation 2025-03-19 14:38:53 +01:00
obrusvit
4b979a9a8a feat(eckhart): expand touch area of ActionBar 2025-03-19 14:38:53 +01:00
obrusvit
f622b7d845 feat(eckhart): implement hold to confirm anim
- HoldToConfirmAnim is driven by the ActionBar in case the right_button
is configured with `long_press`
- HoldToConfirmAnim optionally draws an Header overaly with custom text
- disabling animations is respected
- easing function is not yet finalized
- a few minor fixes along the way
2025-03-19 14:38:53 +01:00
obrusvit
acb6809a26 feat(eckhart): implement ScreenBorder overlay
- a static "custom shape" for eckhart layout which displays screen
overlay around the borders
2025-03-19 14:38:53 +01:00
Lukas Bielesch
d7ef9da2f2 feat(eckhart): Update vertical menu components 2025-03-19 14:38:53 +01:00
Lukas Bielesch
6832d34a82 feat(eckhart): Add new Back Header message type 2025-03-19 14:38:53 +01:00
Lukas Bielesch
5b2852c68b feat(eckhart): Add MenuItem button content type 2025-03-19 14:38:53 +01:00
Lukas Bielesch
f22ddb5da4 feat(eckhart): Add battery icons 2025-03-19 14:38:53 +01:00
Lukas Bielesch
acd3badb2a feat(eckhart): Add vertical menu button styles 2025-03-19 14:38:53 +01:00
obrusvit
cbebbd713e feat(eckhart): full-screen vertical menu component 2025-03-19 14:38:53 +01:00
obrusvit
b88ffd5d65 feat(eckhart): implement a few show_xyz functions 2025-03-19 14:38:53 +01:00
obrusvit
472edcadb7 feat(eckhart): implement confirm_value 2025-03-19 14:38:53 +01:00
obrusvit
681a86646f feat(eckhart): implement confirm_action 2025-03-19 14:38:53 +01:00
obrusvit
4ac068eeec feat(core): add color op to FormattedText
[no changelog]
2025-03-19 14:38:53 +01:00
obrusvit
45225e984a feat(eckhart): full-screen textual component
- TextScreen is a full-screen component for (paginated) texts
- it's supposed to wrap FormattedText or Paragraphs
2025-03-19 14:38:53 +01:00
obrusvit
6082b2b08c feat(eckhart): action bar component 2025-03-19 14:38:53 +01:00
obrusvit
73d163692d feat(eckhart): hint component 2025-03-19 14:38:53 +01:00
obrusvit
1b02696f76 feat(eckhart): header component 2025-03-19 14:38:53 +01:00
obrusvit
7039ad996d feat(eckhart): provisional homescreen 2025-03-19 14:38:53 +01:00
obrusvit
ba719f81b1 feat(eckhart): text styles 2025-03-19 14:38:53 +01:00
obrusvit
e47853510f feat(eckhart): add fonts 2025-03-19 14:38:53 +01:00
obrusvit
401943a5fa feat(eckhart): icon set 2025-03-19 14:38:53 +01:00
obrusvit
9759ce3c36 feat(eckhart): color palette 2025-03-19 14:38:53 +01:00
obrusvit
319f024a7d feat(eckhart): initial commit
- build
- directory structure
- bootloader UI and assets copied from delizia
- FirmwareUI trait functions are empty
- Python layout functions are copied from delizia except some of more
complicated ones which raise NotImplemented for now
2025-03-19 14:38:53 +01:00
Roman Zeyde
611d74c1b3 fix(core): correct confirmation fonts in Bolt 2025-03-18 13:23:39 +02:00
Roman Zeyde
2f97b61870 fix(core): correct confirmation title on Caesar 2025-03-18 12:32:36 +02:00
Roman Zeyde
5fd168c363 feat(core): dump GC arena on OOM
Enabled for debug firmware and non-frozen emulator.

JSON dump can be extracted from debug log and analyzed using:

$ awk '/^\[$/,/^\]$/' <debug.log >dump.json
$ core/tools/analyze-memory-dump.py dump.json

[no changelog]
2025-03-17 20:17:42 +02:00
Roman Zeyde
2333a6a262 feat(core): log GC info in case of OOM
Enabled on debug firmware and non-frozen emulator.

[no changelog]
2025-03-17 20:17:42 +02:00
cepetr
0fb1693ea8 feat(code): introduce dbg_printf for kernel debugging
[no changelog]
2025-03-14 14:17:27 +01:00
Roman Zeyde
90d7713592 build(core): fix RUST_PRINT_TYPES_SIZES passing to SConscript.firmware
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]
2025-03-13 18:18:48 +02:00
Ioan Bizău
c9c543443d feat(core/tests): add smoke test for libtropic
[no changelog]
2025-03-13 15:08:48 +01:00
Ioan Bizău
3efa0480c6 feat(core): add libtropic to the unix build
[no changelog]
2025-03-13 15:08:48 +01:00
Roman Zeyde
c95158751a build(core): allow increasing VCP write timeout
It should allow us exporting larger amounts of debug data.

[no changelog]
2025-03-13 16:07:09 +02:00
Roman Zeyde
21ad24fc31 style(core): add spaces around LOG_STACK_USAGE in SConscript.firmware
[no changelog]
2025-03-13 16:07:09 +02:00
Roman Zeyde
41096b5ffd
fix(core): use smaller button for upgrade cancellation 2025-03-13 12:07:07 +01:00
Roman Zeyde
6bf11ab29f chore(core): use smaller vectors for ShowInfoParams
[no changelog]
2025-03-12 08:12:54 +02:00
cepetr
b5053d9f6e
fix(core): add kernel access to assets by default (#4759)
[no changelog]
2025-03-11 07:58:57 +01:00
obrusvit
29d69db300 Merge branch 'release/25.03' into obrusvit/merge-release-25.03 2025-03-10 11:17:26 +01:00
Roman Zeyde
2400fcb95d fix(core): scope Cardano confirmation to allow GC
Otherwise, we may run out of heap due to recursion.

[no changelog]
2025-03-09 21:48:30 +02:00
tychovrahe
103568e2e5 feat(core/prodtest): show device ID in prodtest QR code 2025-03-08 12:26:41 +01:00
tychovrahe
661a30e390 feat(core/prodtest): support writing device ID into OTP memory 2025-03-08 12:26:41 +01:00
tychovrahe
ee9f42a8b2 fix(core/prodtest): add early return in case of otp batch reading error
[no changelog]
2025-03-08 12:26:41 +01:00
tychovrahe
6db5eaf850 fix(core/prodtest): fix otp device variant lock check
[no changelog]
2025-03-08 12:26:41 +01:00
kopecdav
f2054ff409 feat(core/prodtest): Introduce unit test extension into prodtest [no changelog] 2025-03-07 17:24:24 +01:00
obrusvit
acdf549fc4 chore(core): bump version to 2.8.10
[no changelog]
2025-03-07 11:44:29 +01:00
obrusvit
813620a4c5 chore(core): include signed translations for 2.8.9 2025-03-06 16:10:20 +01:00
Roman Zeyde
f67a506e9c fix(core): use correct fonts for staking confirmation on Delizia
[no changelog]
2025-03-05 12:23:03 +02:00
Roman Zeyde
0d522be842 fix(core): use TEXT_MONO_GREY_LIGHT for chunkified data on Delizia
[no changelog]
2025-03-05 10:35:41 +02:00
tychovrahe
46ec7298af chore(core): drop support for T3W1 rev A0 board
[no changelog]
2025-03-05 09:19:27 +01:00
tychovrahe
9c451bd6ea fix(core): fix BLE issue command return value
[no changelog]
2025-03-05 09:19:16 +01:00
cepetr
486bbca959 feat(core): double glyphs on t3w1 terminal
[no changelog]
2025-03-05 08:33:15 +01:00
Roman Zeyde
6f3e5a6cd7 feat(core): estimate workflow stack usage
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]
2025-03-04 14:18:15 +02:00
Andrew Kozlik
b2701596cc chore: Add emulator warnings.
[no changelog]
2025-03-04 12:49:30 +01:00
Roman Zeyde
e08b15ecaf feat(core): use Account info instead of Send from in Delizia staking UI
[no changelog]
2025-03-04 13:35:08 +02:00
Roman Zeyde
7be53c4172 fix(core): update Czech translations for Ethereum
* "Přednostní poplatek" -> "Poplatek za prioritu"
* "Zrušit stakování" -> "Zrušit stakování"

[no changelog]
2025-03-04 12:45:21 +02:00
tychovrahe
4394992b81 chore(core): unify comment style in startup_init.c
[no changelog]
2025-03-04 11:23:55 +01:00
tychovrahe
4de403bbe1 feat(core): enable LSE on T3W1
[no changelog]
2025-03-04 11:23:55 +01:00
tychovrahe
d1c1503fa4 feat(core/prodtest): add tamper testing function
[no changelog]
2025-03-04 11:23:55 +01:00
tychovrahe
d535e725c0 fix(core): fix tamper setting
[no changelog]
2025-03-04 11:23:55 +01:00
cepetr
bf119fbee4 feat(core): improve display/dma2d syscall verifiers
[no changelog]
2025-03-04 08:08:10 +01:00
cepetr
8574289493 chore(core): remove unused display function
[no changelog]
2025-03-04 08:08:10 +01:00
cepetr
45417bf3bd feat(core): reduce overhead of syscall invocation
[no changelog]
2025-03-04 08:08:10 +01:00
cepetr
19ba854c69 feat(code): introduce dma2d syscalls
[no changelog]
2025-03-04 08:08:10 +01:00
cepetr
39245206f4 fix(core): fix coreapp applet memory definition
[no changelog]
2025-03-04 08:08:10 +01:00
cepetr
2961f6caf9 refactor(core): improve frame buffer interface
[no changelog]
2025-03-04 08:08:10 +01:00
cepetr
8b525de3c9 fix(core): fix jpeg decoder syscalls verifiers
[no changelog]
2025-03-04 08:08:10 +01:00
cepetr
80ce57c5c4 fix(rust): fix drawing of 1px bar shape
[no changelog]
2025-03-04 08:07:56 +01:00
cepetr
c0134518da fix(core): fix t3w1 revA prodtest build
[no changelog]
2025-03-04 08:07:56 +01:00
obrusvit
fad9682201 fix(core): fix delizia set brightness setting
[no changelog]

(cherry picked from commit 55101b8013)
2025-03-03 16:00:31 +01:00
obrusvit
55101b8013 fix(core): fix delizia set brightness setting
[no changelog]
2025-03-03 15:59:59 +01:00
matejcik
5f94715ca7 fix(core/rust): correctly extend SwipeAttach animation duration
so that it covers the interval from the Attach event until timer running
out.

Without this change, it is possible to slip in a TouchStart event before
the animation timer has had a chance to start, and lose the matching
TouchEnd.

(cherry picked from commit f59deebfba)
2025-03-03 15:55:15 +01:00
matejcik
f59deebfba fix(core/rust): correctly extend SwipeAttach animation duration
so that it covers the interval from the Attach event until timer running
out.

Without this change, it is possible to slip in a TouchStart event before
the animation timer has had a chance to start, and lose the matching
TouchEnd.
2025-03-03 15:42:09 +01:00
tychovrahe
dcf9002f00 feat(core/prodtest): add hw-revision command and driver 2025-03-03 13:28:10 +01:00
tychovrahe
a22c15663c chore(core): fix typo
[no changelog]
2025-03-03 13:28:10 +01:00
Roman Zeyde
9b11cc7577 feat(core): use SwipeFlow::add_page to reduce stack usage
[no changelog]
2025-03-03 13:28:33 +02:00
tychovrahe
587b5e8eb8 fix(core): fix jump to old bootloader
Initialize systick before jump, as the old bootloaders may not initialize systick on start and rely on systick running from boardloader or firmware. Only relevant for F4, otherwise we are jumping through reset.

[no changelog]
2025-02-28 16:17:06 +01:00
tychovrahe
511a4f3b93 fix(core/prodtest): fix touch draw test
[no changelog]
2025-02-28 15:32:49 +01:00
tychovrahe
a77f1f1a99 fix(core): fix jump to old bootloader
Initialize systick before jump, as the old bootloaders may not initialize systick on start and rely on systick running from boardloader or firmware. Only relevant for F4, otherwise we are jumping through reset.

[no changelog]

(cherry picked from commit 0536ed6f50)
2025-02-28 15:22:32 +01:00
Ioan Bizău
dcf65b1d8f chore(core): remove unnecessary check
[no changelog]
2025-02-28 14:15:45 +01:00
Ioan Bizău
d0681212b0 fix(core): use BIP-340 to sign Nostr events
[no changelog]
2025-02-28 14:15:45 +01:00
Ioan Bizău
50879cd4da chore(core/nostr): remove Nostr from production build
[no changelog]
2025-02-28 14:15:45 +01:00
Ioan Bizău
aabd4ee9b7 feat(core/ui): add basic confirmation for Nostr signing
[no changelog]
2025-02-28 14:15:45 +01:00
Ioan Bizău
073038771e feat(core): introduce Nostr
[no changelog]
2025-02-28 14:15:45 +01:00
Roman Zeyde
0b5dbcae1b feat(core): confirm multiple Solana Deactivate/Withdraw instructions
[no changelog]

(cherry picked from commit 1954c7cbc2)
2025-02-28 12:56:10 +01:00
Roman Zeyde
9321227ddb fix(core): fix ExtraInfo menu cancellation
[no changelog]

(cherry picked from commit ac49c3e284)
2025-02-28 12:55:47 +01:00
Roman Zeyde
1954c7cbc2 feat(core): confirm multiple Solana Deactivate/Withdraw instructions
[no changelog]
2025-02-28 13:51:37 +02:00
Roman Zeyde
ac49c3e284 fix(core): fix ExtraInfo menu cancellation
[no changelog]
2025-02-28 13:51:37 +02:00
Roman Zeyde
da6d4afc7d fix(core): use SwipeFlow::add_page to save stack memory
[no changelog]

(cherry picked from commit bd496a9e95)
2025-02-27 18:25:54 +01:00