1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-05-25 18:28:47 +00:00
Commit Graph

1050 Commits

Author SHA1 Message Date
Lukas Bielesch
3e42d9e311 feat(eckhart): Add SLIP39 input component 2025-04-16 17:44:24 +02:00
Lukas Bielesch
2de1585d16 feat(eckhart): Add BIP39 input component 2025-04-16 17:44:24 +02:00
Lukas Bielesch
d2fc0c94c7 feat(eckhart): full-screen mnemonic component 2025-04-16 17:44:24 +02:00
Lukas Bielesch
2f2d19d4d5 feat(eckhart): passphrase flow 2025-04-16 17:44:24 +02:00
Lukas Bielesch
3d0016b433 feat(eckhart): full-screen passphrase component 2025-04-16 17:44:24 +02:00
Lukas Bielesch
5ebf8f7b74 feat(eckhart): full-screen PIN keyboard component 2025-04-16 17:44:24 +02:00
Lukas Bielesch
910aa77cd6 feat(eckhart): keypad component 2025-04-16 17:44:24 +02:00
Lukas Bielesch
e98b90645c feat(ui): Add visibility-checking function to Maybe struct 2025-04-16 17:44:24 +02:00
Lukas Bielesch
c1814c22c0 feat(ui): Add function for expanding Button touch area 2025-04-16 17:44:24 +02:00
Lukas Bielesch
52e7e39cbe feat(eckhart): Add common keyboard functionality 2025-04-16 17:44:24 +02:00
Lukas Bielesch
33348477b4 feat(eckhart): keyboard button styles 2025-04-16 17:44:24 +02:00
Lukas Bielesch
14f478e04f feat(eckhart): Add parametrized content offset to Button 2025-04-16 17:44:24 +02:00
Lukas Bielesch
453774be36 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
50e0807307 feat(eckhart): full-screen select word component 2025-04-16 17:44:24 +02:00
Lukas Bielesch
4f60e6d0bf chore(eckhart): Remove redundant code 2025-04-16 17:44:24 +02:00
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