Lukas Bielesch
204c8cc0e4
chore(eckhart): Add dynamic padding option to vertical menu.
...
Update rendering of separarators in vertical menu.
2025-04-16 17:44:24 +02:00
Lukas Bielesch
c78bdf4ef3
feat(eckhart): Add new Button 'is_pressed' function
2025-04-16 17:44:24 +02:00
Lukas Bielesch
a6301acbcc
chore(eckhart): fix button text and subtext rendering
2025-04-16 17:44:24 +02:00
Lukas Bielesch
dad0722dac
feat(eckhart): button styles for select word component
2025-04-16 17:44:24 +02:00
Lukas Bielesch
b54ed8d629
feat(eckhart): share words flow
2025-04-16 17:44:24 +02:00
Lukas Bielesch
6ac3752386
feat(eckhart): full-screen share words component
2025-04-16 17:44:24 +02:00
Lukas Bielesch
68a8fbca68
chore(eckhart): improve HTC animation
2025-04-16 17:44:24 +02:00
obrusvit
acc9add7cd
feat(eckhart): expand touch area of ActionBar
2025-04-16 17:44:24 +02:00
obrusvit
2dcd0b1876
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-04-16 17:44:24 +02:00
obrusvit
318a6e2386
feat(eckhart): implement ScreenBorder overlay
...
- a static "custom shape" for eckhart layout which displays screen
overlay around the borders
2025-04-16 17:44:24 +02:00
Lukas Bielesch
88bb6e7f67
feat(eckhart): Update vertical menu components
2025-04-16 17:44:24 +02:00
Lukas Bielesch
9bbb98fbee
feat(eckhart): Add new Back Header message type
2025-04-16 17:44:24 +02:00
Lukas Bielesch
02f13699ec
feat(eckhart): Add MenuItem button content type
2025-04-16 17:44:23 +02:00
Lukas Bielesch
4af10f48b1
feat(eckhart): Add battery icons
2025-04-16 17:44:23 +02:00
Lukas Bielesch
37953577dc
feat(eckhart): Add vertical menu button styles
2025-04-16 17:44:23 +02:00
obrusvit
022b03c7a2
feat(eckhart): full-screen vertical menu component
2025-04-16 17:44:23 +02:00
obrusvit
11894a2492
feat(eckhart): implement a few show_xyz functions
2025-04-16 17:44:23 +02:00
obrusvit
7314fd77a2
feat(eckhart): implement confirm_value
2025-04-16 17:44:23 +02:00
obrusvit
957e6b0ecd
feat(eckhart): implement confirm_action
2025-04-16 17:44:23 +02:00
obrusvit
ce279e80d7
feat(core): add color op to FormattedText
...
[no changelog]
2025-04-16 17:44:23 +02:00
obrusvit
38c7cd80a5
feat(eckhart): full-screen textual component
...
- TextScreen is a full-screen component for (paginated) texts
- it's supposed to wrap FormattedText or Paragraphs
2025-04-16 17:44:23 +02:00
obrusvit
663e734f72
feat(eckhart): action bar component
2025-04-16 17:44:23 +02:00
obrusvit
b5336527b4
feat(eckhart): hint component
2025-04-16 17:44:23 +02:00
obrusvit
bdf09f8547
feat(eckhart): header component
2025-04-16 17:44:23 +02:00
obrusvit
f6dd8acb1e
feat(eckhart): provisional homescreen
2025-04-16 17:44:23 +02:00
obrusvit
0ae16d21f6
feat(eckhart): text styles
2025-04-16 17:44:23 +02:00
obrusvit
71a512f1b9
feat(eckhart): add fonts
2025-04-16 17:44:23 +02:00
obrusvit
bb1e666245
feat(eckhart): icon set
2025-04-16 17:44:23 +02:00
obrusvit
19cb7dabaf
feat(eckhart): color palette
2025-04-16 17:44:23 +02:00
obrusvit
e33457c10a
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-04-16 17:44:23 +02: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
Roman Zeyde
9926df6ab5
fix(core): add LayoutObj.ble_event
mock
...
[no changelog]
2025-03-20 15:22:32 +02:00
tychovrahe
6fb65bcfd9
refactor(core): refactor button events
...
[no changelog]
2025-03-20 11:07:34 +01:00
Roman Zeyde
566b69fb24
perf(core): simplify Button struct to save RAM
...
[no changelog]
2025-03-20 09:29:56 +02: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
Ioan Bizău
3efa0480c6
feat(core): add libtropic to the unix build
...
[no changelog]
2025-03-13 15:08:48 +01:00
Roman Zeyde
6bf11ab29f
chore(core): use smaller vectors for ShowInfoParams
...
[no changelog]
2025-03-12 08:12:54 +02: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