Lukas Bielesch
2971b508f7
feat(eckhart): Add new Button 'is_pressed' function
2025-03-11 23:56:18 +01:00
Lukas Bielesch
22da999a9b
chore(eckhart): fix button text and subtext rendering
2025-03-11 23:56:18 +01:00
Lukas Bielesch
f6c4e1e106
feat(eckhart): button styles for select word component
2025-03-11 23:56:18 +01:00
Lukas Bielesch
5d3fa2f725
feat(eckhart): share words flow
2025-03-11 23:56:18 +01:00
Lukas Bielesch
f3eb05d2ae
feat(eckhart): full-screen share words component
2025-03-11 23:56:18 +01:00
Lukas Bielesch
219de22f25
chore(eckhart): improve HTC animation
2025-03-11 23:56:18 +01:00
obrusvit
200eec4816
feat(eckhart): expand touch area of ActionBar
2025-03-11 23:56:18 +01:00
obrusvit
b01d89f44c
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-11 23:56:18 +01:00
obrusvit
c15b0d08a5
feat(eckhart): implement ScreenBorder overlay
...
- a static "custom shape" for eckhart layout which displays screen
overlay around the borders
2025-03-11 23:56:18 +01:00
Lukas Bielesch
4a385c8f0d
feat(eckhart): Update vertical menu components
2025-03-11 23:56:18 +01:00
Lukas Bielesch
c68bac55a1
feat(eckhart): Add new Back Header message type
2025-03-11 23:56:18 +01:00
Lukas Bielesch
c4e5f15ee0
feat(eckhart): Add MenuItem button content type
2025-03-11 23:56:18 +01:00
Lukas Bielesch
b19d040b66
feat(eckhart): Add battery icons
2025-03-11 23:56:18 +01:00
Lukas Bielesch
b789946d8e
feat(eckhart): Add vertical menu button styles
2025-03-11 23:56:18 +01:00
obrusvit
69efb9c1e6
feat(eckhart): full-screen vertical menu component
2025-03-11 23:56:18 +01:00
obrusvit
3cb669c19a
feat(eckhart): implement a few show_xyz functions
2025-03-11 23:56:18 +01:00
obrusvit
ade18e7208
feat(eckhart): implement confirm_value
2025-03-11 23:56:18 +01:00
obrusvit
407884c199
feat(eckhart): implement confirm_action
2025-03-11 23:56:18 +01:00
obrusvit
d91ec48995
feat(core): add color op to FormattedText
...
[no changelog]
2025-03-11 23:56:18 +01:00
obrusvit
6ed8a4b7b1
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-11 23:56:18 +01:00
obrusvit
031a1d42c6
feat(eckhart): action bar component
2025-03-11 23:56:18 +01:00
obrusvit
cbcd181ad7
feat(eckhart): hint component
2025-03-11 23:56:18 +01:00
obrusvit
1f8d271dde
feat(eckhart): header component
2025-03-11 23:56:18 +01:00
obrusvit
0a9b694fb2
feat(eckhart): provisional homescreen
2025-03-11 23:56:18 +01:00
obrusvit
9321a57529
feat(eckhart): text styles
2025-03-11 23:56:18 +01:00
obrusvit
59c3dfd044
feat(eckhart): add fonts
2025-03-11 23:56:17 +01:00
obrusvit
af838a1623
feat(eckhart): icon set
2025-03-11 23:56:17 +01:00
obrusvit
91e99595ea
feat(eckhart): color palette
2025-03-11 23:56:17 +01:00
obrusvit
28db570956
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-11 23:56:17 +01:00
tychovrahe
103568e2e5
feat(core/prodtest): show device ID in prodtest QR code
2025-03-08 12:26:41 +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
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
cepetr
2961f6caf9
refactor(core): improve frame buffer interface
...
[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
obrusvit
55101b8013
fix(core): fix delizia set brightness setting
...
[no changelog]
2025-03-03 15:59:59 +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
Roman Zeyde
9b11cc7577
feat(core): use SwipeFlow::add_page
to reduce stack usage
...
[no changelog]
2025-03-03 13:28:33 +02:00
tychovrahe
511a4f3b93
fix(core/prodtest): fix touch draw test
...
[no changelog]
2025-02-28 15:32:49 +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
ac49c3e284
fix(core): fix ExtraInfo
menu cancellation
...
[no changelog]
2025-02-28 13:51:37 +02:00
Roman Zeyde
674342b594
fix(core): use SwipeFlow::add_page
to save stack memory
...
[no changelog]
2025-02-27 18:20:20 +02:00
tychovrahe
323107e6a8
fix(core): fix jpeg blurring and dimming area
...
[no changelog]
2025-02-27 10:12:53 +01:00
tychovrahe
4af18b66eb
fix(core): fix rendering of outlined Bars
...
[no changelog]
2025-02-27 10:12:34 +01:00
tychovrahe
93f20bead1
feat(core/prodtest): add BLE testing
...
[no changelog]
2025-02-26 10:27:14 +01:00
cepetr
c57a59d123
feat(rust): introduce info overlay rendering
...
[no changelog]
2025-02-26 09:56:08 +01:00
cepetr
c72d85296d
refactor(rust): improve time module
...
[no changelog]
2025-02-26 09:56:08 +01:00
tychovrahe
10f3011663
feat(core/prodtest): add touch-draw command to prodtest
...
[no changelog]
2025-02-26 08:53:36 +01:00
matejcik
cd6ad7312e
fix(core): delizia tutorial should allow swipe-up from confirmation screens
2025-02-26 01:17:11 +01:00
matejcik
2dc14ad1e0
fix(core): modify Delizia tutorial to account for tap-to-continue
2025-02-26 01:17:11 +01:00
matejcik
6441d41646
fix(core): change "Swipe up" to "Tap to continue" everywhere
2025-02-26 01:17:11 +01:00
matejcik
f04b022662
refactor(core/rust): add a helper for a swipeup-footer
2025-02-26 01:17:11 +01:00
matejcik
b015eac9f7
style(core/rust): fix clippy complaints
2025-02-26 01:17:11 +01:00
matejcik
18fc7e1f82
refactor(core/rust): remove internal pager from SwipePage
2025-02-26 01:17:11 +01:00
matejcik
6906b532bb
feat(core/rust): enlarge delizia footer touch area to make it easier to hit
2025-02-26 01:17:11 +01:00
matejcik
1f0ec4d3c0
fix(core/rust): respond to the correct button in Address info
2025-02-26 01:17:11 +01:00
matejcik
741731638b
refactor(core/rust): force recalculate Paragraphs visibility when updating content
2025-02-26 01:17:11 +01:00
matejcik
2982f6db37
refactor(core/rust): propagate footer button message everywhere
...
this generally simplifies the mappings of Frame messages, but also
relies on the button actions being properly set up.
2025-02-26 01:17:11 +01:00
matejcik
f0746e44fe
feat(core/rust): delizia hotfix - make footer act as a swipe-up button
...
We introduce a new variant FlowMsg::Next, used only internally (for
now). Sending FlowMsg::Next indicates we want to proceed to the next
screen of the flow.
If there is internal pagination, Next will play a simulated swipe to the
child component.
2025-02-26 01:17:11 +01:00
matejcik
51e796ee30
feat(core/rust): introduce trait PaginateFull throughout Delizia
...
PaginateFull uses Pager instead of reporting just the total number of
pages. Delizia will rely on this trait; going forward, we'll want
PaginateFull to replace Paginate, but this refactor would be too big if
we also needed to include Caesar and Bolt in it
2025-02-26 01:17:11 +01:00
matejcik
6c8391ab18
feat(core/rust): introduce Pager
2025-02-26 01:17:11 +01:00
Ioan Bizău
6c38f0d63d
feat(core): friendlier way to confirm long messages
2025-02-25 22:51:16 +01:00
Ioan Bizău
64b9084b6c
feat(core/ui): ability to cancel recovery on word count selector
2025-02-25 20:30:39 +01:00
Roman Zeyde
19c9e502d7
feat(core): add new translation entries for Solana staking layouts
...
[no changelog]
2025-02-25 11:55:03 +01:00
Roman Zeyde
803955b047
feat(core): add description
to Delizia confirm_output()
...
It will allow confirming the vote account for Solana staking.
[no changelog]
2025-02-25 11:55:03 +01:00
Roman Zeyde
8a5373c733
feat(core): add extra info item to 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-25 11:55:03 +01:00
Roman Zeyde
2284b338c8
feat(core): skip empty fee entry in UICaesar::confirm_summary
...
Otherwise, we may get an additional empty confirmation screen.
[no changelog]
2025-02-25 11:55:03 +01: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