matejcik
0c77c5102a
fix(core): update translated strings to fit the button on Delizia
2025-02-20 16:09:14 +01:00
matejcik
61a3382abd
fix(core/rust): increase capacity of debug error message
...
slicing the str like before is wrong because we may just happen to hit
in the middle of an utf8 sequence, which will cause a silent panic.
this way we at least get a visible panic: either "Text too long: <full
text>", or "unwrap failed" if the text doesn't fit into the 128-byte
string instance
2025-02-20 16:09:14 +01:00
matejcik
68d979a513
fix(core): exclude unused strings from firmware
...
this will prevent Rust code from building if it relies on a removed
string, and raise an AttributeError in python
2025-02-20 16:09:14 +01:00
matejcik
02190b5871
fix(core): do not repeat "cancel backup check" twice on screen
2025-02-20 16:09:14 +01:00
matejcik
87b7eccb6a
fix(core): do not use local import for RecoveryAborted
...
This side-steps a double-import problem that is triggered when we
perform an unimport in a particularly unfortunate order. (don't ask)
The root cause of the problem still exists: we can get into a situation
where a live recovery_homescreen is running from an unimported module,
meaning that any new import of anything from the recovery_device
namespace will _also_ be a double-import. We don't have a fix for that
situation yet, so instead we avoid this particular local import, which
would cause homescreen_dialog to have its own copy of the `recover`
module.
2025-02-20 16:09:14 +01:00
matejcik
2ee0f7028c
fix(core): update exception name in layout shutdown reporting
...
also return after the exception branch, so that the "value" is not
reported twice, once as an exception and a second time as a "non-none
return"
2025-02-20 16:09:14 +01:00
Martin Milata
d375db9fc2
fix(tools): changelog.py: stricter model list format
2025-02-19 22:05:32 +01:00
matejcik
ca78c01e28
build(core/rust): fix cargo build
without envvars
...
...restoring functionality of rust-analyzer
2025-02-19 19:21:38 +01:00
Ioan Bizău
609e14264f
fix(core/ui): back button
...
[no changelog]
2025-02-19 16:14:08 +01:00
obrusvit
45adcd963a
refactor(core): remove unused delizia component
...
[no changelog]
2025-02-18 13:04:44 +01:00
Roman Zeyde
ae3b6434fc
feat(core): allow more paragraphs in ShowInfoParams
...
Otherwise, it fails when showing 4 items.
Note that each item results in 2 paragraphs (key and value).
Also, items are separated by an empty paragraph.
So 3 items use 8 (2*3+2) paragraphs and 4 items use 11 (2*4+3) paragraphs.
[no changelog]
2025-02-18 12:32:35 +01:00
Roman Zeyde
0abfc7b1f9
fix(core): correct Delizia loader completion detection
...
This issue was found while debugging a flaky click test:
`tests/click_tests/test_lock.py::test_hold_to_lock`
Sample failures:
https://github.com/trezor/trezor-firmware/actions/runs/13209659963/job/36880750418
https://github.com/trezor/trezor-firmware/actions/runs/13189762414/job/36820368643
https://github.com/trezor/trezor-firmware/actions/runs/13146713535/job/36686537519
https://github.com/trezor/trezor-firmware/actions/runs/13124809110/job/36619045092
https://github.com/trezor/trezor-firmware/actions/runs/13103415015/job/36554567296
https://github.com/trezor/trezor-firmware/actions/runs/13093382180/job/36532710349
[no changelog]
2025-02-18 12:29:32 +01:00
Roman Zeyde
ffc4b57e70
docs(core): fix micropython GC arena analysis tool name
...
[no changelog]
2025-02-18 11:56:42 +01:00
Roman Zeyde
f4ebc0d9d8
docs(core): fix get_bytes_as_str
docstring
...
[no changelog]
2025-02-18 11:56:42 +01:00
tychovrahe
13c078f8af
fix(core): bump T3W1 revB revision
...
[no changelog]
2025-02-15 18:44:48 +01:00
cepetr
aa29681939
doc(prodtest): document pmic and wpc commands
...
[no changelog]
2025-02-14 22:22:33 +01:00
cepetr
de73b38aae
feat(core): introduce hibernate mode
...
[no changelog]
2025-02-14 16:43:22 +01:00
tychovrahe
79d14b8907
fix(core): fix TS5 bootloader font
...
[no changelog]
2025-02-14 09:51:45 +01:00
tychovrahe
e47b604c48
fix(core): fix stwlc38 deinitialization
...
[no changelog]
2025-02-13 13:25:34 +01:00
obrusvit
612d20b535
Merge branch 'release/translations/25.02' into obrusvit/merge-release-25.02
2025-02-13 11:42:08 +01:00
obrusvit
c69d2c9aff
Merge branch 'release/25.02' into obrusvit/merge-release-25.02
2025-02-13 11:42:08 +01:00
cepetr
ef51ea7801
fix(core): fix touch activity detection in bootloader
...
[no changelog]
2025-02-13 11:21:04 +01:00
cepetr
850b52c1fe
fix(core): fix hw jpegdec issue with grayscale images
...
[no changelog]
2025-02-13 08:28:08 +01:00
obrusvit
45394f2b26
chore(core): bump bootloader version to 2.1.11
...
[no changelog]
2025-02-12 14:25:26 +01:00
obrusvit
2d20d43944
chore(core): bump version to 2.8.9
...
[no changelog]
2025-02-12 14:25:26 +01:00
Roman Zeyde
ae9e0281df
refactor(core): separate clear_unused_stack()
from sys/linker
module
...
Following https://github.com/trezor/trezor-firmware/pull/4595#pullrequestreview-2609833271 .
[no changelog]
2025-02-12 12:53:27 +01:00
Roman Zeyde
d38b52c0c4
refactor(core): simplify fade_backlight_duration
...
- IIUC, casting to and from `i32` can be removed.
- `timer.elapsed()` can be evaluated once per loop iteration.
[no changelog]
2025-02-12 12:33:14 +01:00
kopecdav
f1db0e6906
feat(core/prodtest): Allow prodtest to exit from interactive mode [no changelog]
2025-02-12 10:50:48 +01:00
cepetr
0456fdb826
fix(core): fix reboot_device function behaviour
...
[no changelog]
2025-02-11 17:02:31 +01:00
Ioan Bizău
b8e2709ca8
fix(core): fix br_code inconsistency in sign-tx
...
[no changelog]
2025-02-11 16:10:58 +01:00
Ioan Bizău
c8210056da
fix(core/ui): fix back button
...
[no changelog]
2025-02-11 16:10:58 +01:00
Ioan Bizău
d487f97ecf
feat(core): show ETH account info on model T
2025-02-11 16:10:58 +01:00
obrusvit
0d24ac4d79
refactor(core): remove C fonts generator
...
[no changelog]
2025-02-11 13:19:39 +01:00
tychovrahe
2774fb19de
fix(core): enforce bolt UI for delizia-based models in prodtest
...
[no changelog]
2025-02-11 11:25:18 +01:00
tychovrahe
57789c7121
refactor(core): remove fonts and no longer used drawing functions from C
...
[no changelog]
2025-02-11 11:25:18 +01:00
tychovrahe
c3981cdebe
refactor(core): render prodtest UI in rust
...
[no changelog]
2025-02-11 11:25:18 +01:00
tychovrahe
1700841856
refactor(core): unify way how rust is added to build
...
[no changelog]
2025-02-11 11:25:18 +01:00
cepetr
7c7e8c8eb7
feat(core): add simple downscaling for bitmap copy ops
...
[no changelog]
2025-02-11 09:38:49 +01:00
cepetr
c2125f433e
feat(core): implement rgba8888 canvas blur
...
[no changelog]
2025-02-11 09:38:49 +01:00
cepetr
0345c1dfed
feat(core): introduce hardware jpeg decoder
...
[no changelog]
2025-02-11 09:38:49 +01:00
cepetr
e7c773bdd0
chore(core): remove unused code
...
[no changelog]
2025-02-11 09:38:49 +01:00
cepetr
08d55ea3f4
refactor(core): improve dma2d driver init/deinit
...
[no changelog]
2025-02-11 09:38:49 +01:00
tychovrahe
92da4d5d5a
fix(core): fix default (out of range) color used by gfxmmu
...
[no changelog]
2025-02-10 15:58:22 +01:00
obrusvit
bd304138a3
chore(core): include signed translations for 2.8.8
2025-02-10 15:39:21 +01:00
cepetr
ee13872e90
fix(prodtest): remove haptic-test duration limit
...
[no changelog]
2025-02-10 14:12:15 +01:00
cepetr
117eec798c
fix(core): fix optiga pairing issue
...
[no changelog]
2025-02-10 10:43:54 +01:00
cepetr
d35f062866
fix(prodtest): fix haptic test
...
[no changelog]
2025-02-10 08:12:38 +01:00
obrusvit
8fcf8b67a8
fix(core): fix italian copy for word quiz
...
- shortening the title ensures that instruction fits on the screen
[no changelog]
2025-02-08 22:14:49 +01:00
Roman Zeyde
e3a9f71069
fix(core): correct a small typo
...
[no changelog]
2025-02-08 19:39:54 +01:00
cepetr
e23074f9d3
fix(core): wakeup touch controller from monitor mode
...
[no changelog]
2025-02-07 19:03:06 +01:00
obrusvit
592590cf66
docs(core): changelog for bootloader 2.1.10
2025-02-07 17:13:45 +01:00
Roman Zeyde
061e71213e
test(core): don't fetch full DebugLinkState
by default
...
In case the main workflow is restarting after a `DebugLinkDecision`,
sending the response of `DebugLinkGetState` may get interrupted.
We are making the state fetching explicit, in order to avoid the
"restart" race condition (as described in #4401 ).
Following the above change, text-based layout recording is removed.
[no changelog]
2025-02-07 11:21:44 +01:00
tychovrahe
85bbc89eed
fix(core): don't use RSOD_INFINITE_LOOP on models using DSI/LTDC displays
...
[no changelog]
2025-02-06 13:53:31 +01:00
cepetr
ef1f44cb38
feat(core): extra clear of memory during device halt
...
[no changelog]
2025-02-06 13:53:31 +01:00
tychovrahe
0dbb31f04a
fix(core): fully initialize display driver at the start of bootloader
...
[no changelog]
2025-02-06 13:53:31 +01:00
tychovrahe
0b9d2e3ac9
feat(core): lazy initialize display driver in boardloader
...
[no changelog]
2025-02-06 13:53:31 +01:00
tychovrahe
6102e10e91
refactor(core): reorganize boardloader code
...
[no changelog]
2025-02-06 13:53:31 +01:00
obrusvit
bfa73d615b
refactor(core): feature-gate non-bootloader fonts
...
- a crutch to preserve code which depends on specific fonts
- see https://github.com/trezor/trezor-firmware/issues/4574
[no changelog]
2025-02-06 13:32:29 +01:00
obrusvit
626a56a702
refactor(core): remove unused fonts
...
[no changelog]
2025-02-06 13:32:29 +01:00
obrusvit
991b3662f0
refactor(core): do not expose fonts outside layouts
...
- common components now take Font as a parameter, e.g. shape::Text
- FormattedText now does not have `text_normal(txt)`, `text_bold(txt)`
methods etc. but we use `text(txt, font)` instead
[no changelog]
2025-02-06 13:32:29 +01:00
obrusvit
e73ca8b481
refactor(core): map FontInfo to translation idx
...
[no changelog]
2025-02-06 13:32:29 +01:00
obrusvit
be459019b8
refactor(core): switch fonts from C to Rust
...
- switch common and individual layout components to Rust fonts
- font usage changed from enum Font to pointers to FontInfo structs
[no changelog]
2025-02-06 13:32:29 +01:00
obrusvit
9638c7e28a
refactor(core): remove some fonts from C and build
...
- the C fonts handling will be private impl used only in `prodtest` and
`bootloader_ci`
- use "bootloader_ci" as a separate stage to distinguish fonts
[no changelog]
2025-02-06 13:32:29 +01:00
obrusvit
2e44bf07fd
feat(core): add manual font mods to Rust font data
...
- see https://github.com/trezor/trezor-firmware/issues/3771
[no changelog]
2025-02-06 13:32:29 +01:00
obrusvit
9f9c640648
feat(core): add Rust font data
...
[no changelog]
2025-02-06 13:32:29 +01:00
obrusvit
8c52f0d5e8
feat(core): add arg to gen_font.py to gen C data
...
- usage with `--gen-c`
- default is now Rust
[no changelog]
2025-02-06 13:32:29 +01:00
obrusvit
5bef8574b0
feat(core): add arg to gen_font.py to pick layout
...
[no changelog]
2025-02-06 13:32:29 +01:00
obrusvit
cf5b89f90a
refactor(core): get rid of font IDs in micropython
...
- application layer should not deal with fonts at all
- distinction between MONO and others is preserved by bool argument in
`should_show_more` interpreted as `is_data`
[no changelog]
2025-02-06 13:32:29 +01:00
tychovrahe
566f82ccd8
refactor(core): make homescreen max size model dependent
...
[no changelog]
2025-02-06 12:40:23 +01:00
tychovrahe
3bdd7f661e
fix(core/prodtest): fix QR code display
2025-02-06 07:56:15 +01:00
tychovrahe
148c11d9e5
fix(core/prodtest): fix text rendering
2025-02-06 07:56:15 +01:00
Martin Milata
bb5972b7e2
test(core): update monero tests binary
...
[no changelog]
2025-02-05 16:25:53 +01:00
tychovrahe
ad8c34e825
feat(core): introduce TPS61062 backlight driver
...
[no changelog]
2025-02-02 22:41:17 +01:00
tychovrahe
a70c57d228
fix(core/bootloader): add fade-out before jumping to FW if backlight will be reset
...
[no changelog]
2025-02-02 22:41:17 +01:00
tychovrahe
411e8779f7
fix(core): add fade-in to boot stage 2 screen if backlight was reset
...
[no changelog]
2025-02-02 22:41:17 +01:00
tychovrahe
e2035e1c06
refactor(core): introduce separate backlight pin driver
...
[no changelog]
2025-02-02 22:41:17 +01:00
tychovrahe
368d41902d
refactor(core): cleaner backlight switch-off in PVD IRQ
...
[no changelog]
2025-02-02 22:41:17 +01:00
tychovrahe
4e74d2852b
refactor(core): extract backlight driver to separate module
...
[no changelog]
2025-02-02 22:41:17 +01:00
tychovrahe
64d8c18865
fix(core): adjust T3W1 display refresh rate
...
[no changelog]
2025-01-31 10:04:26 +01:00
tychovrahe
06a722cc74
fix(core): fix boot screen background color when showing no-warning vendor info
...
[no changelog]
2025-01-31 10:04:06 +01:00
cepetr
2eb1e5b3ca
feat(prodtest): refactor and improve prodtest
2025-01-31 08:15:20 +01:00
Roman Zeyde
2a19b35f3e
build(core): export Rust functions' stack sizes
...
It is useful to find the top-most stack consuming functions:
```
$ make build_firmware
$ arm-none-eabi-size -A build/firmware/firmware.elf | grep .stack_sizes
.stack_sizes 7523 0
$ cargo install stack-sizes@0.4.0
$ stack-sizes build/firmware/firmware.elf | grep trezor_lib | sort -k2 -n | tail -n10
0x081c1721 3536 trezor_lib::ui::api::firmware_micropython::new_confirm_properties::h2ab0feebaf154486
0x081c0e7d 3560 trezor_lib::ui::api::firmware_micropython::new_confirm_modify_output::h04465b97d57fafb6
0x081c6161 3688 trezor_lib::ui::api::firmware_micropython::new_show_checklist::he16b109bc4dff398
0x081c4089 4240 trezor_lib::ui::api::firmware_micropython::new_request_pin::h3280c5eff8900a22
0x081be3e1 4960 trezor_lib::ui::api::firmware_micropython::new_confirm_action::h860f874d714ace74
0x081bf545 5096 trezor_lib::ui::api::firmware_micropython::new_confirm_emphasized::h9ade56f5c88001c0
0x081c1ded 5736 trezor_lib::ui::api::firmware_micropython::new_confirm_summary::he2e1274bbc07703e
0x081c7ee9 6760 trezor_lib::ui::api::firmware_micropython::new_show_remaining_shares::h1f67cbfdfeb4c683
0x081c127d 6768 trezor_lib::ui::api::firmware_micropython::new_confirm_more::h107a4be9b5431bb4
0x081c5441 8312 trezor_lib::ui::api::firmware_micropython::new_show_address_details::h352e0b87c58914ce
```
[no changelog]
2025-01-31 06:28:15 +01:00
cepetr
5adb8ef997
refactor(core): rename memory_area to applet_memory
...
[no changelog]
2025-01-30 14:07:25 +01:00
cepetr
f99030938e
feat(core): reset peripherals during handovers
...
[no changelog]
2025-01-30 14:07:25 +01:00
cepetr
236c377e20
refactor(core): remove unused linker script symbols
...
[no changelog]
2025-01-30 14:07:25 +01:00
cepetr
6719eeb376
refactor(core): simplify shutdown/handover code
...
[no changelog]
2025-01-30 14:07:25 +01:00
cepetr
2697c06642
refactor(core): rewrite rescue code in C
...
[no changelog]
2025-01-30 14:07:25 +01:00
cepetr
95afa34f27
refactor(core): rewrite startup code in C
...
[no changelog]
2025-01-30 14:07:25 +01:00
cepetr
70c577b67b
refactor(core): add new linker scripts consts for memory cleanup
...
[no changelog]
2025-01-30 14:07:25 +01:00
cepetr
7613fe310a
refactor(core): rename linker script section constants
...
[no changelog]
2025-01-30 14:07:25 +01:00
cepetr
2671404e44
refactor(core): rename stack related linker script symbols
...
[no changelog]
2025-01-30 14:07:25 +01:00
cepetr
bdb3d486e3
refactor(core): rename jump_to function
...
[no changelog]
2025-01-30 14:07:25 +01:00
cepetr
2ecf335349
refactor(core): use memset_reg in asm code only
...
[no changelog]
2025-01-30 14:07:25 +01:00
cepetr
c30233b832
refactor(core): stop using shutdown_privileged directly
...
[no changelog]
2025-01-30 14:07:25 +01:00
cepetr
d8e7dc8cd9
chore(core): remove unused secure_shutdown syscall
...
[no changelog]
2025-01-30 14:07:25 +01:00
tychovrahe
d9c547c590
fix(core): calculate image hash including padding between header and code
...
[no changelog]
2025-01-29 16:56:11 +01:00
tychovrahe
b75c0a844d
feat(core): set haptic actuator for T3W1
...
[no changelog]
2025-01-29 16:55:56 +01:00
tychovrahe
4ad326aa73
chore(core): add support for T3W1 revB
...
[no changelog]
2025-01-29 16:55:56 +01:00
tychovrahe
7f53b34b8e
feat(core): introduce RGB LED driver with low power TIM
...
[no changelog]
2025-01-29 16:55:56 +01:00
obrusvit
b8cf9daa2e
docs(core): changelog for 2.8.8
2025-01-29 16:02:48 +01:00