1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-07-24 15:38:22 +00:00
Commit Graph

4708 Commits

Author SHA1 Message Date
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
556e29b068 perf(core): enable MICROPY_ROM_TEXT_COMPRESSION
Also, use `__builtin_strcmp` instead of `strcmp`.

[no changelog]
2025-05-15 09:55:40 +03:00
Roman Zeyde
1010be428a chore(core): use MP_ERROR_TEXT() macro for exception messages
[no changelog]
2025-05-15 09:55:40 +03:00
Martin Milata
5ac2660003 refactor(core): don't close tasks when changing language
Since global layout this should no longer be required.
2025-05-14 23:57:03 +02:00
Martin Milata
241fcc0044 feat(core): homescreen streaming
[no changelog]
2025-05-14 23:57:03 +02:00
Martin Milata
846dd3b934 refactor(common/protob): rename TranslationDataRequest to DataChunkRequest
[no changelog]
2025-05-14 23:57:03 +02:00
Roman Zeyde
bd87ebd4b0 chore(core): use -ffreestanding for SOURCE_MOD_CRYPTO and SOURCE_MOD_SECP256K1_ZKP
[no changelog]
2025-05-13 20:17:41 +03:00
Roman Zeyde
ca943aeb8b chore(core): don't use main() in core/embed/projects/firmware/main.c
It would allow compile it without `-ffreestanding`.

[no changelog]
2025-05-13 20:17:41 +03:00
Roman Zeyde
7cdb0cf244 feat(vendor): update MicroPython to allow excluding line numbers from bytecode
Setting `MICROPY_ENABLE_SOURCE_LINE=0` helps reducing the debug firmware size by ~2%:
```
$ TREZOR_MODEL=T3T1 MICROPY_ENABLE_SOURCE_LINE=0 PYOPT=0 make -C core build_firmware
<snip>
           FLASH:     1,629,456 B      1664 KB     95.63%
```

Before this PR:
```
           FLASH:     1,662,224 B      1664 KB     97.55%
```

[no changelog]
2025-05-13 17:07:37 +03:00
Roman Zeyde
78227ed20f perf(core): remove more local imports from Bitcoin signing flow
[no changelog]
2025-05-13 11:58:36 +03:00
Roman Zeyde
65c34774a1 ci(core): run click tests in parallel
[no changelog]
2025-05-13 11:57:06 +03:00
Martin Milata
46c53bc30c feat(core): add Capability.NFC to Features 2025-05-13 10:48:13 +02:00
Martin Milata
a04525c6de feat(core): add Capability.BLE to Features 2025-05-13 10:48:13 +02:00
Roman Zeyde
3a7850f6a0 chore: remove BNB Beacon Chain support 2025-05-13 09:04:48 +03:00
tychovrahe
a71fe4a66e fix(core): fix nrf start/stop, service listener registration
[no changelog]
2025-05-12 08:59:11 +02:00
tychovrahe
e641fb1c25 fix(core): fix sysevents polling deadlines
[no changelog]
2025-05-12 08:58:58 +02:00
tychovrahe
d6220d72a5 fix(core/bootloader): fix null ios handling in host control
[no changelog]
2025-05-12 08:58:46 +02:00
tychovrahe
597b888963 fix(core): fix VCP polling
[no changelog]
2025-05-12 08:58:35 +02:00
cepetr
e17ec25e77 fix(core): fix backup ram address in non-secure mode
[no changelog]
2025-05-12 07:57:46 +02:00
cepetr
b9bb71a243 refactor(core): prepare board_capabilities for secmon api
[no changelog]
2025-05-12 07:57:46 +02:00
cepetr
0f0c28404b fix(core): fix exc_return codes for non-secure world
[no changelog]
2025-05-12 07:57:46 +02:00
cepetr
9df360785e fix(core): fix incorrect constants use
[no changelog]
2025-05-12 07:57:46 +02:00
cepetr
1415c40e80 chore(core): remove unnecessary definitions
[no changelog]
2025-05-12 07:57:46 +02:00
cepetr
9fb71f8f81 fix(core): disable MSPLIM before entering next boot stage
[no changelog]
2025-05-12 07:57:46 +02:00
cepetr
adf9872988 refactor(core): prevent incomplete mpu driver build
[no changelog]
2025-05-12 07:57:46 +02:00
cepetr
8a9de0ebec feat(core): add applet feature to SConscript
[no changelog]
2025-05-12 07:57:46 +02:00
cepetr
452e63c4fb feat(core): add display feature to SConscript
[no changelog]
2025-05-12 07:57:46 +02:00
cepetr
daa6ea25fb feat(core): add powerctl feature to SConscript
[no changelog]
2025-05-12 07:57:46 +02:00
Roman Zeyde
bff1ba454b fix(core): clear loop.this_task before restart
[no changelog]
2025-05-10 11:19:51 +03:00
Roman Zeyde
1f8ebc3562 fix(core): use bool for _ignore_loader_messages
Since `trezor.pin` is persisted across sessions, it should use constant-size globals.

[no changelog]
2025-05-10 10:28:23 +03:00
tychovrahe
a15d2f621f feat(core): increase BLE TX packet size to 244B
[no changelog]
2025-05-07 17:08:40 +02:00
tychovrahe
c319e5fa20 refactor(core/bootloader): streamline initializing & deinitializing communication interfaces in bootloader
[no changelog]
2025-05-07 17:08:40 +02:00
tychovrahe
755cb359bd feat(core): suspend NRF&BLE driver, with or without connection
[no changelog]
2025-05-07 17:08:40 +02:00
tychovrahe
3f6a82ab67 feat(core): add wake up from suspend on NRF/BLE request
[no changelog]
2025-05-07 17:08:40 +02:00
tychovrahe
4f783c0a45 fix(core/prodtest): fix nrf communication tests
[no changelog]
2025-05-07 17:08:40 +02:00
tychovrahe
3fe0c90c1c feat(core): change internal communication with NRF to SPI only
[no changelog]
2025-05-07 16:36:40 +02:00
tychovrahe
54202b9f53 feat(nordic): send busy response when trezor is not listening to BLE messages
[no changelog]
2025-05-07 16:08:46 +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
Roman Zeyde
7661c13a22 feat(vendor): reimplement utils.presize_module() in C
[no changelog]
2025-05-07 12:18:52 +03:00
Roman Zeyde
ffea765a85 fix(core): disable check_free_heap also in debug firmware
Currently, it may misdetect on-heap buffers' data as valid heap
pointers (resulting in `gc_mark_subtree` false-positives).

[no changelog]
2025-05-07 10:37:38 +03:00
cepetr
010c5adf89 refactor(core): remove firmware_calc_hash callback
[no changelog]
2025-05-06 16:33:36 +02:00
obrusvit
4005e136e0 feat(emu): add LED capability to emulator
[no changelog]
2025-05-06 15:47:04 +02:00
tychovrahe
50411367af refactor(core): unify button polling functionality
[no changelog]
2025-05-06 12:57:39 +02:00
tychovrahe
6860c4be0a refactor(core): unify touch polling functionality
[no changelog]
2025-05-06 12:57:39 +02:00
Roman Zeyde
749c0bc8b2 chore(core): use systick_us for mp_hal_ticks_us
[no changelog]
2025-05-06 09:37:17 +03:00
Martin Milata
8a0cf0e29a build(core): remove LD_LIBRARY_PATH workaround from Makefile
Normal CI workflows seem to work fine with it and it broke
`make upload` on some setups.

[no changelog]
2025-05-05 18:14:03 +02: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
Roman Zeyde
bf2a588a25 fix(core): handle empty 'info_items' in Caesar 'confirm_value'
[no changelog]
2025-05-05 15:31:11 +03:00
Roman Zeyde
d3df16e84e fix(core): propagate exceptions via unimport.__exit__
[no changelog]
2025-05-02 10:45:55 +03:00
tychovrahe
c6dedea7b3 chore(core/prodtest): improve CLI parameter documentation
[no changelog]
2025-05-01 19:53:00 +02:00
tychovrahe
e9b47d1116 chore(core/prodtest): fix time units in readme for NFC commands
[no changelog]
2025-05-01 19:53:00 +02:00
tychovrahe
a22563c01a chore(core/prodtest): fix typos in prodtest
[no changelog]
2025-05-01 19:53:00 +02:00
tychovrahe
3a9315cc58 feat(core/prodtest): allow infinite testing of NFC functionalities
[no changelog]
2025-05-01 19:53:00 +02:00
Ioan Bizău
8ad1069166 chore(core): bump version to 2.8.11
[no changelog]
2025-05-01 08:53:26 +02:00
kopecdav
aa16fa71d6 fix(core): remove backup ram deinit outside of FIXED_HW_DEINIT
[no changelog]
2025-04-30 15:18:02 +02:00
kopecdav
ab8aeaa102 fix(core): let LDO selection to sattle before BREN bit is being set [no changelog] 2025-04-30 15:18:02 +02:00
kopecdav
c9984fabb2 fix(core): fix backup ram prodtest argument parsing
[no changelog]
2025-04-30 15:18:02 +02:00
kopecdav
ae02677ca2 feat(core): add backup ram global initialization in bootloader, prodtest and kernel
[no changelog]
2025-04-30 15:18:02 +02:00
kopecdav
dec252df77 fix(core): Enable Backup SRAM in VBAT mode [no changelog] 2025-04-30 15:18:02 +02:00
kopecdav
dba76ea3e8 feat(core): Add backup ram driver to T3W1 rev A and B [no changelog] 2025-04-30 15:18:02 +02:00
kopecdav
bece935d67 refactor(core): Remove backup ram section from linker [no changelog] 2025-04-30 15:18:02 +02:00
kopecdav
eea75534e5 fix(core): Remove initialized check from backup ram erase function [no changelog] 2025-04-30 15:18:02 +02:00
kopecdav
5ae5d97328 feat(core): Add backup_ram header, version and consistency checks + minor refactor [no changelog] 2025-04-30 15:18:02 +02:00
kopecdav
7f27730b5d feat(core): Add backup driver prodtest [no changelog] 2025-04-30 15:18:02 +02:00
kopecdav
edd72eeaa0 feat(core): Introduce backup_ram driver [no changelog] 2025-04-30 15:18:02 +02:00