1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-06-27 18:32:34 +00:00
Commit Graph

1091 Commits

Author SHA1 Message Date
Lukas Bielesch
cf29524525 feat(eckahrt): implement show info UI trait function 2025-05-30 17:38:16 +02:00
Lukas Bielesch
cff6a498a2 feat(eckhart): prompt backup flow
- implement provisional show progress UI trait function
2025-05-30 17:38:16 +02:00
Lukas Bielesch
714e09383f feat(eckhart): confirm reset flow 2025-05-30 17:38:16 +02:00
Lukas Bielesch
fac1979d64 chore(eckhart): VerticalMenuScreen improvements
- implement Swipable trait for vertical menu screen
- add warning text styles
2025-05-30 17:38:16 +02:00
Lukas Bielesch
7663a3a20d core(eckhart): Fix failing unit test and warnings 2025-05-30 17:38:16 +02:00
Lukas Bielesch
57fe0e3e39 feat(eckhart): Full-screen get count component 2025-05-30 17:38:16 +02:00
obrusvit
66ecccda54 feat(eckhart): add easing and rollback to HtC anim
- also switch corner icons to 4px width
2025-05-30 17:38:16 +02:00
obrusvit
a2f618bd94 feat(eckhart): add alpha to ScreenBorder 2025-05-30 17:38:16 +02:00
obrusvit
d109a5b352 chore(eckhart): fix some clippy warnings 2025-05-30 17:38:16 +02:00
Lukas Bielesch
db8e8cd2b8 feat(eckhart): Add mnemonic input component
- BIP39 & SLIP39
2025-05-30 17:38:16 +02:00
Lukas Bielesch
f859c0bc6c feat(eckhart): full-screen mnemonic component 2025-05-30 17:38:16 +02:00
Lukas Bielesch
b95aebd2fc feat(eckhart): full-screen passphrase component
- and flow
2025-05-30 17:38:16 +02:00
Lukas Bielesch
547a4c357e feat(eckhart): full-screen PIN keyboard component 2025-05-30 17:38:16 +02:00
Lukas Bielesch
106b16191b feat(eckhart): keypad component 2025-05-30 17:38:16 +02:00
Lukas Bielesch
d1ad96426c feat(ui): Add visibility-checking function to Maybe struct 2025-05-30 17:38:16 +02:00
Lukas Bielesch
4a7148b349 feat(ui): Add function for expanding Button touch area 2025-05-30 17:38:16 +02:00
Lukas Bielesch
d3015dc2aa feat(eckhart): Add common keyboard functionality
- plus keyboard button styles
2025-05-30 17:38:16 +02:00
Lukas Bielesch
76ee57dd6c feat(eckhart): Add parametrized content offset to Button 2025-05-30 17:38:16 +02:00
Lukas Bielesch
36d1d6c4c3 chore(eckhart): Add dynamic padding option to vertical menu. Update rendering of separarators in vertical menu. 2025-05-30 17:38:16 +02:00
Lukas Bielesch
d270e3192a feat(eckhart): full-screen select word component 2025-05-30 17:38:16 +02:00
Lukas Bielesch
ced03df91a chore(eckhart): Remove redundant code 2025-05-30 17:38:16 +02:00
Lukas Bielesch
1992d41b00 chore(eckhart): Add dynamic padding option to vertical menu.
Update rendering of separarators in vertical menu.
2025-05-30 17:38:16 +02:00
Lukas Bielesch
da8effa3a3 chore(eckhart): fix button text and subtext rendering
- add new Button 'is_pressed' function
2025-05-30 17:38:16 +02:00
Lukas Bielesch
d7745d3d55 feat(eckhart): button styles for select word component 2025-05-30 17:38:16 +02:00
Lukas Bielesch
fa806f27eb feat(eckhart): ShareWords screen and flow 2025-05-30 17:38:16 +02:00
Lukas Bielesch
20a86432ce chore(eckhart): improve HTC animation 2025-05-30 17:38:16 +02:00
obrusvit
c74223ae88 feat(eckhart): expand touch area of ActionBar 2025-05-30 17:38:16 +02:00
obrusvit
f1e23d2e97 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-05-30 17:38:16 +02:00
obrusvit
00ec83af5e feat(eckhart): implement ScreenBorder overlay
- a static "custom shape" for eckhart layout which displays screen
overlay around the borders
2025-05-30 17:38:16 +02:00
Lukas Bielesch
4480a8ba59 feat(eckhart): Update vertical menu components 2025-05-30 17:38:16 +02:00
Lukas Bielesch
38613dbf46 feat(eckhart): Add new Back Header message type 2025-05-30 17:38:16 +02:00
Lukas Bielesch
1d8fa6930e feat(eckhart): VerticalMenuScreen improvements
- Add vertical menu button styles
- Add battery icons
- Add MenuItem button content type
2025-05-30 17:38:16 +02:00
obrusvit
1c0429f932 feat(eckhart): full-screen vertical menu component 2025-05-30 17:38:16 +02:00
obrusvit
0696090691 feat(eckhart): implement basic UiFirmware fns
- confirm_action, confirm_value
- few show_xyz
- provisional homescreen
2025-05-30 17:38:16 +02:00
obrusvit
ea4d704a8a feat(core): add color op to FormattedText
[no changelog]
2025-05-30 17:38:16 +02:00
obrusvit
9b25644c17 feat(eckhart): full-screen textual component
- TextScreen is a full-screen component for (paginated) texts
- it's supposed to wrap FormattedText or Paragraphs
2025-05-30 17:38:16 +02:00
obrusvit
17ba44d8c1 feat(eckhart): componets
- Header
- Hint
- ActionBar
2025-05-30 17:38:16 +02:00
obrusvit
c96dc29bff feat(eckhart): stylekit
- icons
- textstyles
- fonts
2025-05-30 17:38:16 +02:00
obrusvit
62933d2d62 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-05-30 17:38:16 +02:00
tychovrahe
80a18f1156 fix(core/prodtest): fix backlight setting in prodtest
[no changelog]
2025-05-30 14:39:10 +02:00
kopecdav
7d3d2e877f refactor(core): add power manager api comments
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
e01edaad4a feat(core/prodtest): add fuel gauge to prodtest welcome screen
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
c89ca35bbc feat(core): event polling for power manager
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
0cd38186bf fix(core): adjust to powerctl->power manager transition
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
4b9fb839cd refactor(core): split pmic as a separate feature
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
e1503eee53 fix(core): add power_manager into the prodtest
[no changelog]
2025-05-30 14:04:45 +02:00
Ioan Bizău
295717d34b fix(delizia): allow slightly longer header if there is a button
[no changelog]
2025-05-28 11:18:00 +02:00
Ioan Bizău
faf71b3cd8 fix(delizia): don't allow the title to grow indefinitely
[no changelog]
2025-05-28 11:18:00 +02:00
Ioan Bizău
661b817c82 chore(translations): shorten wipe code copy
[no changelog]
2025-05-28 11:18:00 +02:00
Ioan Bizău
ea38f998b8 fix(bolt): make account name fit on the fido page
[no changelog]
2025-05-28 11:18:00 +02:00
Ioan Bizău
926e2225b5 feat(core/ui): make Delizia subtitle adjust to longer text
[no changelog]
2025-05-28 11:18:00 +02:00
Ioan Bizău
83b86298bf fix(core/ui): use subtitle on Delizia confirm_properties
[no changelog]
2025-05-28 11:18:00 +02:00
Ioan Bizău
fea2591813 chore(core/ui): raise exception on text overflow
[no changelog]
2025-05-28 11:18:00 +02:00
Roman Zeyde
d52d4655d5 fix(core): don't confirm known Solana tokens' details 2025-05-27 15:32:15 +03:00
obrusvit
256d6d8ee7 fix(core/delizia): incorrect shares number input 2025-05-27 13:44:53 +02:00
obrusvit
0cd64d6a08 fix(core): fix Caesar PinEntry to use Title
- Title component uses Marquee internally which scrolls longer prompt
texts
- this fixes e.g. czech translations not fitting the screen
2025-05-26 01:32:55 +02:00
Ioan Bizău
b036345c5c feat(caesar): implement show_danger
[no changelog]
2025-05-23 14:31:11 +02:00
Roman Zeyde
946fc89449 feat(core): send address & public key response before showing StatusScreen
Co-authored-by: matejcik <ja@matejcik.cz>
2025-05-21 16:37:38 +03:00
Ioan Bizău
508248bcb7 fix(delizia): make chunkified text have the same color
[no changelog]
2025-05-21 11:54:21 +02:00
Ioan Bizău
eb395000dc fix(delizia): use "tap" instruction on warnings
[no changelog]
2025-05-21 11:54:21 +02:00
Ioan Bizău
0ba8173424 feat(core): introduce a flow for ethereum approve 2025-05-21 11:54:21 +02:00
Roman Zeyde
05f951784e fix(core): fix tutorial-related translations 2025-05-19 14:45:30 +03:00
matejcik
9fc0c5d82b docs: improve external definition documentation
and introduce the new URL scheme

[no changelog]
2025-05-19 11:14:20 +02:00
tychovrahe
0b7e53e72d fix(core/bootloader): increase c_laoyout_t buffer size
[no changelog]
2025-05-16 14:56:23 +02:00
Roman Zeyde
846e890327 feat(core): count per-line execution when profiling
[no changelog]
2025-05-15 19:52:33 +03:00
Roman Zeyde
3a7850f6a0 chore: remove BNB Beacon Chain support 2025-05-13 09:04:48 +03:00
tychovrahe
e641fb1c25 fix(core): fix sysevents polling deadlines
[no changelog]
2025-05-12 08:58:58 +02:00
tychovrahe
70014e103a feat(core/bootloader): add power-off item to the bootloader menu
[no changelog]
2025-05-07 15:23:46 +02:00
tychovrahe
37687f1815 feat(core): add BLE to bootloader 2025-05-07 14:54:28 +02:00
tychovrahe
8aaf68f39f feat(core): add BLE pairing complete event
[no changelog]
2025-05-07 14:54:28 +02:00
Roman Zeyde
5aa5d01c71 perf(core): use lookup tables for untranslated strings
Also, simplify `generated/translated_string.rs.mako` a bit.

[no changelog]
2025-05-07 14:15:22 +03:00
Roman Zeyde
2e9dfab8d1 style(core): simplify Rust translation conversions
[no changelog]
2025-05-07 12:40:42 +03:00
obrusvit
8ba5b4b6b2 fix(core): fix Delizia request_number dialog
- NumberInputDialog now reacts to tap to continue
- change the types there to u16 to be consistent with NumberInputSlider
2025-05-05 14:58:36 +02:00
Ioan Bizău
38f51f40b2 chore(core/ui): use better font on Delizia properties
[no changelog]
2025-04-29 16:09:28 +02:00
matejcik
c21cc2034b fix(core/protobuf): properly fail on wire type mismatch
otherwise we'd happily mis-parse a length-delimited field as a varint
one, accepting the length as the varint value and consuming garbage from
the length-delimited data for the next fields
2025-04-29 14:54:41 +02:00
matejcik
4e7d265312 fix(core/solana): fix UI for Solana transactions after recent changes 2025-04-29 14:54:41 +02:00
matejcik
7e10e25514 fix(core/solana): improve token info display 2025-04-29 14:54:41 +02:00
Eugene Rossokha
e3af93e89f feat(core): display correct rent information 2025-04-29 14:54:41 +02:00
obrusvit
71cc10a72a fix(delizia): fix a peek-a-boo label
- this commit fixes a minor UX bug in which "Tap to unlock" gesture
showed the device name label for a very brief moment before PIN keyboard
was rendered
- the label is now showed if a user taps outside the lockscreen circles,
"Tap to unlock" gesture is now registered only in the middle similarly
to "Tap to confirm"

[no changelog]
2025-04-29 12:52:05 +02:00
obrusvit
cdc08d1075 feat(delizia): homescreen improvements
- dim inner logo
- show "Unlocked" on Homescreen under device name
- show instruction "Continue in the app"
- register "Tap to unlock" gesture in the middle similarly to "Tap to
confirm". Tapping outside shows the label on lockscreen
- play haptic on "Tap to unlock"
2025-04-29 12:52:05 +02:00
Roman Zeyde
09a323e578 fix(core): remove debug-related data from PYOPT=1 firmware builds
It reduces T3T1 release universal firmware size by ~2kB:
```
Memory region         Used Size  Region Size  %age Used
           FLASH:     1580304 B      1664 KB     92.74%
```

Before this PR:
```
Memory region         Used Size  Region Size  %age Used
           FLASH:     1578256 B      1664 KB     92.62%
```

(Tested with `TREZOR_MODEL=T3T1 PYOPT=1 make -C core build_firmware`)

[no changelog]
2025-04-24 17:27:21 +03:00
Roman Zeyde
bd9d303310 perf(core): optimize AddressDetails::xpubs layout
[no changelog]
2025-04-24 16:17:17 +03:00
Roman Zeyde
46d6732462 feat(core): don't use heap for storing coverage data
[no changelog]
2025-04-24 07:39:46 +03:00
Roman Zeyde
2e635a04fc chore(core): fix a few clippy warnings
[no changelog]
2025-04-24 07:39:46 +03:00
Roman Zeyde
f20c2d551d perf(core): encode Timer using a single u32
[no changelog]
2025-04-23 12:38:34 +03:00
Roman Zeyde
f89e7670c5 fix(core): update EIP-1559 fee-related labels
Translations will be updated in a separate PR.
2025-04-18 20:29:47 +03:00
Martin Milata
2a40d91790 refactor(core): convert modtrezorio.ble to rust
[no changelog]
2025-04-15 13:08:37 +02:00
Martin Milata
b35d2f4000 refactor(core/rust): expose RuntimeError
[no changelog]
2025-04-15 13:08:37 +02:00
Roman Zeyde
6473b3ca48 feat(vendor): update MicroPython to support sorted qstr pools
Requires https://github.com/trezor/micropython/pull/20.

[no changelog]
2025-04-14 21:20:08 +03:00
Ioan Bizău
40756a0941 fix(core/ui): use "..." ellipsis in "show more" 2025-04-09 15:57:01 +02:00
obrusvit
ad9f85b21d chore(core): remove redundant Error messages
[no changelog]
2025-04-08 15:44:51 +02:00
cepetr
307ac2517d feat(core): introduce JpegOverlay shape
[no changelog]
2025-04-04 12:59:44 +02:00
cepetr
db057ff6ae feat(core): allow JPEG image to be decoded as Mono8 bitmap
[no changelog]
2025-04-04 12:59:44 +02:00
tychovrahe
1fc6feda80 fix(core): make ble_event upy api function optional
[no changelog]
2025-04-03 16:17:12 +02:00
tychovrahe
4adf6d087d feat(core): add BLE unpair command & message
[no changelog]
2025-04-03 16:17:12 +02:00
Martin Milata
469f093b8a feat(core): include pairing code in BLE_ALLOW_PAIRING command
[no changelog]
2025-04-02 17:08:34 +02:00
Roman Zeyde
ac0fc30ee9 perf(core): intern single-digit strings
[no changelog]
2025-03-26 21:16:06 +02:00
obrusvit
9a14654ff7 perf(core): improve render in Delizia button
- allcase_text_height unnecessarily loads GlyphData in this frequent
call, text_height just reads a constant

[no changelog]
2025-03-24 12:11:56 +01:00
obrusvit
079873ced7 feat(core): use newer version of Delizia fonts 2025-03-24 12:11:56 +01:00
Roman Zeyde
1e3b02771b fix(core): don't use 'static lifetime for BLEEvent
[no changelog]
2025-03-21 17:13:27 +02:00