1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-02-24 21:32:03 +00:00
Commit Graph

898 Commits

Author SHA1 Message Date
Roman Zeyde
4cb9024090 feat(core): support extra info item in summary menu on Delizia
It will allow confirming the blockhash for Solana transactions.

Also, simplify arguments passing into `new_confirm_output()`.

[no changelog]
2025-02-23 13:56:14 +02:00
Roman Zeyde
0892c8971d feat(core): support description in Delizia flow_confirm_output()
It will allow confirming the vote account for Solana staking.

[no changelog]
2025-02-23 12:33:02 +02:00
Roman Zeyde
afb8963a40 feat(core): skip empty fee entry in UICaesar::confirm_summary
[no changelog]
2025-02-20 21:38:14 +02:00
Roman Zeyde
5d383275a6 feat(core): add new translation entries for Solana staking layouts
[no changelog]
2025-02-20 21:38:14 +02:00
matejcik
61a3382abd fix(core/rust): increase capacity of debug error message
slicing the str like before is wrong because we may just happen to hit
in the middle of an utf8 sequence, which will cause a silent panic.
this way we at least get a visible panic: either "Text too long: <full
text>", or "unwrap failed" if the text doesn't fit into the 128-byte
string instance
2025-02-20 16:09:14 +01:00
matejcik
68d979a513 fix(core): exclude unused strings from firmware
this will prevent Rust code from building if it relies on a removed
string, and raise an AttributeError in python
2025-02-20 16:09:14 +01:00
matejcik
ca78c01e28 build(core/rust): fix cargo build without envvars
...restoring functionality of rust-analyzer
2025-02-19 19:21:38 +01:00
obrusvit
45adcd963a refactor(core): remove unused delizia component
[no changelog]
2025-02-18 13:04:44 +01:00
Roman Zeyde
ae3b6434fc feat(core): allow more paragraphs in ShowInfoParams
Otherwise, it fails when showing 4 items.

Note that each item results in 2 paragraphs (key and value).
Also, items are separated by an empty paragraph.

So 3 items use 8 (2*3+2) paragraphs and 4 items use 11 (2*4+3) paragraphs.

[no changelog]
2025-02-18 12:32:35 +01:00
Roman Zeyde
0abfc7b1f9 fix(core): correct Delizia loader completion detection
This issue was found while debugging a flaky click test:
`tests/click_tests/test_lock.py::test_hold_to_lock`

Sample failures:
https://github.com/trezor/trezor-firmware/actions/runs/13209659963/job/36880750418
https://github.com/trezor/trezor-firmware/actions/runs/13189762414/job/36820368643
https://github.com/trezor/trezor-firmware/actions/runs/13146713535/job/36686537519
https://github.com/trezor/trezor-firmware/actions/runs/13124809110/job/36619045092
https://github.com/trezor/trezor-firmware/actions/runs/13103415015/job/36554567296
https://github.com/trezor/trezor-firmware/actions/runs/13093382180/job/36532710349

[no changelog]
2025-02-18 12:29:32 +01:00
tychovrahe
79d14b8907 fix(core): fix TS5 bootloader font
[no changelog]
2025-02-14 09:51:45 +01:00
Roman Zeyde
d38b52c0c4 refactor(core): simplify fade_backlight_duration
- IIUC, casting to and from `i32` can be removed.
- `timer.elapsed()` can be evaluated once per loop iteration.

[no changelog]
2025-02-12 12:33:14 +01:00
tychovrahe
57789c7121 refactor(core): remove fonts and no longer used drawing functions from C
[no changelog]
2025-02-11 11:25:18 +01:00
tychovrahe
c3981cdebe refactor(core): render prodtest UI in rust
[no changelog]
2025-02-11 11:25:18 +01:00
cepetr
7c7e8c8eb7 feat(core): add simple downscaling for bitmap copy ops
[no changelog]
2025-02-11 09:38:49 +01:00
cepetr
c2125f433e feat(core): implement rgba8888 canvas blur
[no changelog]
2025-02-11 09:38:49 +01:00
cepetr
0345c1dfed feat(core): introduce hardware jpeg decoder
[no changelog]
2025-02-11 09:38:49 +01:00
cepetr
e7c773bdd0 chore(core): remove unused code
[no changelog]
2025-02-11 09:38:49 +01:00
Roman Zeyde
e3a9f71069 fix(core): correct a small typo
[no changelog]
2025-02-08 19:39:54 +01:00
obrusvit
bfa73d615b refactor(core): feature-gate non-bootloader fonts
- a crutch to preserve code which depends on specific fonts
- see https://github.com/trezor/trezor-firmware/issues/4574

[no changelog]
2025-02-06 13:32:29 +01:00
obrusvit
626a56a702 refactor(core): remove unused fonts
[no changelog]
2025-02-06 13:32:29 +01:00
obrusvit
991b3662f0 refactor(core): do not expose fonts outside layouts
- common components now take Font as a parameter, e.g. shape::Text
- FormattedText now does not have `text_normal(txt)`, `text_bold(txt)`
methods etc. but we use `text(txt, font)` instead

[no changelog]
2025-02-06 13:32:29 +01:00
obrusvit
e73ca8b481 refactor(core): map FontInfo to translation idx
[no changelog]
2025-02-06 13:32:29 +01:00
obrusvit
be459019b8 refactor(core): switch fonts from C to Rust
- switch common and individual layout components to Rust fonts
- font usage changed from enum Font to pointers to FontInfo structs

[no changelog]
2025-02-06 13:32:29 +01:00
obrusvit
2e44bf07fd feat(core): add manual font mods to Rust font data
- see https://github.com/trezor/trezor-firmware/issues/3771

[no changelog]
2025-02-06 13:32:29 +01:00
obrusvit
9f9c640648 feat(core): add Rust font data
[no changelog]
2025-02-06 13:32:29 +01:00
obrusvit
cf5b89f90a refactor(core): get rid of font IDs in micropython
- application layer should not deal with fonts at all
- distinction between MONO and others is preserved by bool argument in
`should_show_more` interpreted as `is_data`

[no changelog]
2025-02-06 13:32:29 +01:00
tychovrahe
411e8779f7 fix(core): add fade-in to boot stage 2 screen if backlight was reset
[no changelog]
2025-02-02 22:41:17 +01:00
tychovrahe
06a722cc74 fix(core): fix boot screen background color when showing no-warning vendor info
[no changelog]
2025-01-31 10:04:06 +01:00
tychovrahe
671c3e2a65 fix(core): unify size of enums between rust and C
[no changelog]
2025-01-29 09:10:35 +01:00
tychovrahe
399aa4f2ea fix(core): adjust jpeg cache size to allow work on larger displays
[no changelog]
2025-01-29 09:10:10 +01:00
Roman Zeyde
96ac4e263c refactor(core): reduce ui::layout_delizia::component::header::Header size
[no changelog]
2025-01-28 14:21:43 +02:00
tychovrahe
5fd773757c fix(core): fix fading issues 2025-01-23 15:24:00 +01:00
tychovrahe
a5809c872e feat(core): add support for setting BLE name from Trezor firmware
[no changelog]
2025-01-23 13:27:59 +01:00
Ioan Bizău
5a13b4560d fix(core): get rid of colon in some TS5 descriptions
[no changelog]
2025-01-23 12:46:54 +01:00
Ioan Bizău
e99beaf486 refactor(core): merge confirm_blob and confirm_value
[no changelog]
2025-01-23 12:46:54 +01:00
tychovrahe
885c5b96d9 refactor(core/rust): move bindgen macros used for tests to model folder
[no changelog]
2025-01-23 10:22:00 +01:00
Roman Zeyde
e78f6d2d6d fix(core): fix a few "unused" Rust warnings
[no changelog]
2025-01-22 15:09:08 +02:00
Roman Zeyde
1dae795a94 feat(core): support per-layout untranslated text strings
[no changelog]
2025-01-22 10:41:35 +02:00
obrusvit
00740b560c refactor(core): consistent naming of UI layouts
- 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]
2025-01-20 12:29:24 +01:00
Ioan Bizău
30e88f4641 fix(core/ui): make button press cancel current hold 2025-01-17 13:04:56 +01:00
Ioan Bizău
dd3bf253f8 fix(core): disallow canceling on uncancelable pages 2025-01-16 13:54:13 +01:00
tychovrahe
8ca51be020 feat(core): expose BLE functionality to rust
[no changelog]
2025-01-14 09:15:12 +01:00
tychovrahe
eef2f4113f refactor(core): improve USB events handling, more extensible implementation
[no changelog]
2025-01-13 18:46:11 +01:00
Martin Milata
dadff32f39 build(core): use internal model names everywhere
TREZOR_MODEL=T and TREZOR_MODEL=R

no longer work, please use

  TREZOR_MODEL=T2T1 and TREZOR_MODEL=T2B1

[no changelog]
2025-01-13 16:24:35 +01:00
Lukas Bielesch
1ef62aaf0b fix(core): rework 'too many PIN attempts' RSOD
Also, allow multi-line title in `model_samson` `ErrorScreen`.

Co-authored-by: Roman Zeyde <roman.zeyde@satoshilabs.com>
2025-01-10 13:31:00 +01:00
Roman Zeyde
849af38f5e refactor(core): remove an unused member from ErrorScreen
Also, rename `ErrorScreen::place` argument to `_bounds`,
similarly to how it's done in `model_quicksilver` and `model_bolt`.
2025-01-10 13:31:00 +01:00
obrusvit
862c987779 refactor(core): consistent naming of UI layouts
- 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]
2025-01-09 22:57:14 +01:00
tychovrahe
b97390a73a refactor(core): make display resolution constants global, board specific
[no changelog]
2025-01-06 11:42:40 +01:00
tychovrahe
973d4ab2b2 fix(core): make TT UI homescreen respect screen size
[no changelog]
2025-01-06 11:42:40 +01:00