1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-05-28 11:48:45 +00:00
Commit Graph

1083 Commits

Author SHA1 Message Date
Lukas Bielesch
480d07aaac chore(eckhart): update existing components accordint to new design 2025-05-15 12:40:15 +02:00
Lukas Bielesch
250709b5ee feat(eckahrt): implement show info UI trait function 2025-05-15 12:40:15 +02:00
Lukas Bielesch
0d4c23ff79 feat(eckhart): prompt backup flow 2025-05-15 12:40:15 +02:00
Lukas Bielesch
e9142c42c8 chore(eckhart): temporarily implement show progress UI trait function 2025-05-15 12:40:15 +02:00
Lukas Bielesch
eac88b5808 feat(eckhart): confirm reset flow 2025-05-15 12:40:15 +02:00
Lukas Bielesch
82c9907e68 chore(eckhart): add warning text styles 2025-05-15 12:40:15 +02:00
Lukas Bielesch
9939f29605 chore(eckhart): implement Swipable trait for vertical menu screen 2025-05-15 12:40:15 +02:00
Lukas Bielesch
5b3774d7fa core(eckhart): Fix failing unit test and warnings 2025-05-15 12:40:15 +02:00
Lukas Bielesch
7680babd3b feat(eckhart): Full-screen get count component 2025-05-15 12:40:15 +02:00
obrusvit
e8b112a1ca feat(eckhart): add easing and rollback to HtC anim
- also switch corner icons to 4px width
2025-05-15 12:40:15 +02:00
obrusvit
33578fd822 feat(eckhart): add alpha to ScreenBorder 2025-05-15 12:40:15 +02:00
obrusvit
131e356d8e chore(eckhart): fix some clippy warnings 2025-05-15 12:40:15 +02:00
Lukas Bielesch
0c033559a0 feat(eckhart): Add SLIP39 input component 2025-05-15 12:40:15 +02:00
Lukas Bielesch
a7ed42acf2 feat(eckhart): Add BIP39 input component 2025-05-15 12:40:15 +02:00
Lukas Bielesch
e66056d9d2 feat(eckhart): full-screen mnemonic component 2025-05-15 12:40:15 +02:00
Lukas Bielesch
deb3e42ef8 feat(eckhart): passphrase flow 2025-05-15 12:40:15 +02:00
Lukas Bielesch
399df669d7 feat(eckhart): full-screen passphrase component 2025-05-15 12:40:15 +02:00
Lukas Bielesch
a2eb2cd0d0 feat(eckhart): full-screen PIN keyboard component 2025-05-15 12:40:15 +02:00
Lukas Bielesch
2cfbef5f14 feat(eckhart): keypad component 2025-05-15 12:40:15 +02:00
Lukas Bielesch
a7c3e6c5db feat(ui): Add visibility-checking function to Maybe struct 2025-05-15 12:40:15 +02:00
Lukas Bielesch
28d9c8c7cd feat(ui): Add function for expanding Button touch area 2025-05-15 12:40:15 +02:00
Lukas Bielesch
a5aa78fd9d feat(eckhart): Add common keyboard functionality 2025-05-15 12:40:15 +02:00
Lukas Bielesch
c15888d374 feat(eckhart): keyboard button styles 2025-05-15 12:40:15 +02:00
Lukas Bielesch
d5b607668b feat(eckhart): Add parametrized content offset to Button 2025-05-15 12:40:15 +02:00
Lukas Bielesch
1672c5fa61 chore(eckhart): Add dynamic padding option to vertical menu. Update rendering of separarators in vertical menu. 2025-05-15 12:40:15 +02:00
Lukas Bielesch
3e34ba8e19 feat(eckhart): full-screen select word component 2025-05-15 12:40:15 +02:00
Lukas Bielesch
052b3c42d4 chore(eckhart): Remove redundant code 2025-05-15 12:40:15 +02:00
Lukas Bielesch
e21dab04aa chore(eckhart): Add dynamic padding option to vertical menu.
Update rendering of separarators in vertical menu.
2025-05-15 12:40:15 +02:00
Lukas Bielesch
2877355cca feat(eckhart): Add new Button 'is_pressed' function 2025-05-15 12:40:15 +02:00
Lukas Bielesch
67cb417a1e chore(eckhart): fix button text and subtext rendering 2025-05-15 12:40:15 +02:00
Lukas Bielesch
9a787e72bc feat(eckhart): button styles for select word component 2025-05-15 12:40:15 +02:00
Lukas Bielesch
3ec0d291ad feat(eckhart): share words flow 2025-05-15 12:40:15 +02:00
Lukas Bielesch
d8ee28f28d feat(eckhart): full-screen share words component 2025-05-15 12:40:15 +02:00
Lukas Bielesch
df3474dc95 chore(eckhart): improve HTC animation 2025-05-15 12:40:15 +02:00
obrusvit
f38d16cee5 feat(eckhart): expand touch area of ActionBar 2025-05-15 12:40:15 +02:00
obrusvit
25f52db8be 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-05-15 12:40:15 +02:00
obrusvit
8305e7d82d feat(eckhart): implement ScreenBorder overlay
- a static "custom shape" for eckhart layout which displays screen
overlay around the borders
2025-05-15 12:40:15 +02:00
Lukas Bielesch
269b9e496e feat(eckhart): Update vertical menu components 2025-05-15 12:40:15 +02:00
Lukas Bielesch
3f92623d44 feat(eckhart): Add new Back Header message type 2025-05-15 12:40:15 +02:00
Lukas Bielesch
bd224857b7 feat(eckhart): Add MenuItem button content type 2025-05-15 12:40:15 +02:00
Lukas Bielesch
cdc6cc8e3c feat(eckhart): Add battery icons 2025-05-15 12:40:14 +02:00
Lukas Bielesch
c234611625 feat(eckhart): Add vertical menu button styles 2025-05-15 12:40:14 +02:00
obrusvit
d380e1c258 feat(eckhart): full-screen vertical menu component 2025-05-15 12:40:14 +02:00
obrusvit
b200d3a43f feat(eckhart): implement a few show_xyz functions 2025-05-15 12:40:14 +02:00
obrusvit
48c9b4a3ea feat(eckhart): implement confirm_value 2025-05-15 12:40:14 +02:00
obrusvit
1f4e2d3f64 feat(eckhart): implement confirm_action 2025-05-15 12:40:14 +02:00
obrusvit
8a7ac14662 feat(core): add color op to FormattedText
[no changelog]
2025-05-15 12:40:14 +02:00
obrusvit
81226f14ac feat(eckhart): full-screen textual component
- TextScreen is a full-screen component for (paginated) texts
- it's supposed to wrap FormattedText or Paragraphs
2025-05-15 12:40:14 +02:00
obrusvit
25bba743ea feat(eckhart): action bar component 2025-05-15 12:40:14 +02:00
obrusvit
0803e3b79b feat(eckhart): hint component 2025-05-15 12:40:14 +02:00
obrusvit
0f60f009d6 feat(eckhart): header component 2025-05-15 12:40:14 +02:00
obrusvit
e9afd2167a feat(eckhart): provisional homescreen 2025-05-15 12:40:14 +02:00
obrusvit
12620db7d2 feat(eckhart): text styles 2025-05-15 12:40:14 +02:00
obrusvit
b73776f8ca feat(eckhart): add fonts 2025-05-15 12:40:14 +02:00
obrusvit
714b7d1e73 feat(eckhart): icon set 2025-05-15 12:40:14 +02:00
obrusvit
3da5b7e836 feat(eckhart): color palette 2025-05-15 12:40:14 +02:00
obrusvit
2e9314bbd7 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-05-15 12:40:14 +02:00
Roman Zeyde
3a7850f6a0 chore: remove BNB Beacon Chain support 2025-05-13 09:04:48 +03:00
tychovrahe
e641fb1c25 fix(core): fix sysevents polling deadlines
[no changelog]
2025-05-12 08:58:58 +02:00
tychovrahe
70014e103a feat(core/bootloader): add power-off item to the bootloader menu
[no changelog]
2025-05-07 15:23:46 +02:00
tychovrahe
37687f1815 feat(core): add BLE to bootloader 2025-05-07 14:54:28 +02:00
tychovrahe
8aaf68f39f feat(core): add BLE pairing complete event
[no changelog]
2025-05-07 14:54:28 +02:00
Roman Zeyde
5aa5d01c71 perf(core): use lookup tables for untranslated strings
Also, simplify `generated/translated_string.rs.mako` a bit.

[no changelog]
2025-05-07 14:15:22 +03:00
Roman Zeyde
2e9dfab8d1 style(core): simplify Rust translation conversions
[no changelog]
2025-05-07 12:40:42 +03:00
obrusvit
8ba5b4b6b2 fix(core): fix Delizia request_number dialog
- NumberInputDialog now reacts to tap to continue
- change the types there to u16 to be consistent with NumberInputSlider
2025-05-05 14:58:36 +02:00
Ioan Bizău
38f51f40b2 chore(core/ui): use better font on Delizia properties
[no changelog]
2025-04-29 16:09:28 +02:00
matejcik
c21cc2034b fix(core/protobuf): properly fail on wire type mismatch
otherwise we'd happily mis-parse a length-delimited field as a varint
one, accepting the length as the varint value and consuming garbage from
the length-delimited data for the next fields
2025-04-29 14:54:41 +02:00
matejcik
4e7d265312 fix(core/solana): fix UI for Solana transactions after recent changes 2025-04-29 14:54:41 +02:00
matejcik
7e10e25514 fix(core/solana): improve token info display 2025-04-29 14:54:41 +02:00
Eugene Rossokha
e3af93e89f feat(core): display correct rent information 2025-04-29 14:54:41 +02:00
obrusvit
71cc10a72a fix(delizia): fix a peek-a-boo label
- this commit fixes a minor UX bug in which "Tap to unlock" gesture
showed the device name label for a very brief moment before PIN keyboard
was rendered
- the label is now showed if a user taps outside the lockscreen circles,
"Tap to unlock" gesture is now registered only in the middle similarly
to "Tap to confirm"

[no changelog]
2025-04-29 12:52:05 +02:00
obrusvit
cdc08d1075 feat(delizia): homescreen improvements
- dim inner logo
- show "Unlocked" on Homescreen under device name
- show instruction "Continue in the app"
- register "Tap to unlock" gesture in the middle similarly to "Tap to
confirm". Tapping outside shows the label on lockscreen
- play haptic on "Tap to unlock"
2025-04-29 12:52:05 +02:00
Roman Zeyde
09a323e578 fix(core): remove debug-related data from PYOPT=1 firmware builds
It reduces T3T1 release universal firmware size by ~2kB:
```
Memory region         Used Size  Region Size  %age Used
           FLASH:     1580304 B      1664 KB     92.74%
```

Before this PR:
```
Memory region         Used Size  Region Size  %age Used
           FLASH:     1578256 B      1664 KB     92.62%
```

(Tested with `TREZOR_MODEL=T3T1 PYOPT=1 make -C core build_firmware`)

[no changelog]
2025-04-24 17:27:21 +03:00
Roman Zeyde
bd9d303310 perf(core): optimize AddressDetails::xpubs layout
[no changelog]
2025-04-24 16:17:17 +03:00
Roman Zeyde
46d6732462 feat(core): don't use heap for storing coverage data
[no changelog]
2025-04-24 07:39:46 +03:00
Roman Zeyde
2e635a04fc chore(core): fix a few clippy warnings
[no changelog]
2025-04-24 07:39:46 +03:00
Roman Zeyde
f20c2d551d perf(core): encode Timer using a single u32
[no changelog]
2025-04-23 12:38:34 +03:00
Roman Zeyde
f89e7670c5 fix(core): update EIP-1559 fee-related labels
Translations will be updated in a separate PR.
2025-04-18 20:29:47 +03: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