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