1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-05-17 06:18:48 +00:00
Commit Graph

1051 Commits

Author SHA1 Message Date
obrusvit
42d37de9fa chore(eckhart): fix some clippy warnings 2025-04-16 17:11:07 +02:00
Lukas Bielesch
92f374b57b feat(eckhart): Add SLIP39 input component 2025-04-16 17:11:07 +02:00
Lukas Bielesch
f0a43e4cdd feat(eckhart): Add BIP39 input component 2025-04-16 17:11:07 +02:00
Lukas Bielesch
6d50deb5c2 feat(eckhart): full-screen mnemonic component 2025-04-16 17:11:07 +02:00
Lukas Bielesch
dc91cd6cf7 feat(eckhart): passphrase flow 2025-04-16 17:11:07 +02:00
Lukas Bielesch
85fdb09dd1 feat(eckhart): full-screen passphrase component 2025-04-16 17:11:07 +02:00
Lukas Bielesch
953c22234d feat(eckhart): full-screen PIN keyboard component 2025-04-16 17:11:07 +02:00
Lukas Bielesch
fead59d7b4 feat(eckhart): keypad component 2025-04-16 17:11:07 +02:00
Lukas Bielesch
6db3ce4d84 feat(ui): Add visibility-checking function to Maybe struct 2025-04-16 17:11:07 +02:00
Lukas Bielesch
3820c1ae9e feat(ui): Add function for expanding Button touch area 2025-04-16 17:11:07 +02:00
Lukas Bielesch
83103ecb67 feat(eckhart): Add common keyboard functionality 2025-04-16 17:11:07 +02:00
Lukas Bielesch
ed7d562a53 feat(eckhart): keyboard button styles 2025-04-16 17:11:07 +02:00
Lukas Bielesch
9eb4cc37bc feat(eckhart): Add parametrized content offset to Button 2025-04-16 17:11:07 +02:00
Lukas Bielesch
05d61962da chore(eckhart): Add dynamic padding option to vertical menu. Update rendering of separarators in vertical menu. 2025-04-16 17:11:07 +02:00
Lukas Bielesch
e527ed0253 feat(eckhart): full-screen select word component 2025-04-16 17:11:07 +02:00
Lukas Bielesch
eb782da19a chore(eckhart): Remove redundant code 2025-04-16 17:11:07 +02:00
Lukas Bielesch
c46be8a6a9 chore(eckhart): Add dynamic padding option to vertical menu.
Update rendering of separarators in vertical menu.
2025-04-16 17:11:07 +02:00
Lukas Bielesch
08389a3ea9 feat(eckhart): Add new Button 'is_pressed' function 2025-04-16 17:11:07 +02:00
Lukas Bielesch
06096ddf29 chore(eckhart): fix button text and subtext rendering 2025-04-16 17:11:06 +02:00
Lukas Bielesch
e772677b06 feat(eckhart): button styles for select word component 2025-04-16 17:11:06 +02:00
Lukas Bielesch
39b81b9d2d feat(eckhart): share words flow 2025-04-16 17:11:06 +02:00
Lukas Bielesch
93c78b548b feat(eckhart): full-screen share words component 2025-04-16 17:11:06 +02:00
Lukas Bielesch
9c4cf034db chore(eckhart): improve HTC animation 2025-04-16 17:11:06 +02:00
obrusvit
82e58ced3b feat(eckhart): expand touch area of ActionBar 2025-04-16 17:11:06 +02:00
obrusvit
a5bb525c73 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:11:06 +02:00
obrusvit
13009079e7 feat(eckhart): implement ScreenBorder overlay
- a static "custom shape" for eckhart layout which displays screen
overlay around the borders
2025-04-16 17:11:06 +02:00
Lukas Bielesch
8761702970 feat(eckhart): Update vertical menu components 2025-04-16 17:11:06 +02:00
Lukas Bielesch
0a49c0f8e0 feat(eckhart): Add new Back Header message type 2025-04-16 17:11:06 +02:00
Lukas Bielesch
1cfedce1ce feat(eckhart): Add MenuItem button content type 2025-04-16 17:11:06 +02:00
Lukas Bielesch
f0b8d4a342 feat(eckhart): Add battery icons 2025-04-16 17:11:06 +02:00
Lukas Bielesch
894e13fd35 feat(eckhart): Add vertical menu button styles 2025-04-16 17:11:06 +02:00
obrusvit
7fb08ce429 feat(eckhart): full-screen vertical menu component 2025-04-16 17:11:06 +02:00
obrusvit
35b91b6718 feat(eckhart): implement a few show_xyz functions 2025-04-16 17:11:06 +02:00
obrusvit
ffb3be40e7 feat(eckhart): implement confirm_value 2025-04-16 17:11:06 +02:00
obrusvit
73e1f8d44c feat(eckhart): implement confirm_action 2025-04-16 17:11:06 +02:00
obrusvit
b28b6acae2 feat(core): add color op to FormattedText
[no changelog]
2025-04-16 17:11:06 +02:00
obrusvit
1e402975b9 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:11:06 +02:00
obrusvit
bf0ad662f3 feat(eckhart): action bar component 2025-04-16 17:11:06 +02:00
obrusvit
9f9f2deaed feat(eckhart): hint component 2025-04-16 17:11:06 +02:00
obrusvit
5612d62767 feat(eckhart): header component 2025-04-16 17:11:06 +02:00
obrusvit
501cd26f63 feat(eckhart): provisional homescreen 2025-04-16 17:11:06 +02:00
obrusvit
285ac80b16 feat(eckhart): text styles 2025-04-16 17:11:06 +02:00
obrusvit
87e997e9a4 feat(eckhart): add fonts 2025-04-16 17:11:06 +02:00
obrusvit
abd54c7afe feat(eckhart): icon set 2025-04-16 17:11:06 +02:00
obrusvit
2c379a6c58 feat(eckhart): color palette 2025-04-16 17:11:06 +02:00
obrusvit
3a7e275fce 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:11:06 +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