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
matejcik
6c8391ab18
feat(core/rust): introduce Pager
2025-02-26 01:17:11 +01:00
Ioan Bizău
6c38f0d63d
feat(core): friendlier way to confirm long messages
2025-02-25 22:51:16 +01:00
Ioan Bizău
64b9084b6c
feat(core/ui): ability to cancel recovery on word count selector
2025-02-25 20:30:39 +01:00
matejcik
6d7b039e6a
chore(core): update bundled bootloader for T3T1 to version 2.1.10
2025-02-25 18:53:21 +01:00
kopecdav
bdc8dbffe3
feat(core): Introduce nfc commands in prodtest & update NFC library [no changelog]
2025-02-25 18:29:54 +01:00
kopecdav
fc2cf1535e
feat(core): Update NFC library and introduce NDEF parser [no changelog]
2025-02-25 18:29:54 +01:00
kopecdav
3ff18fb9bc
refactor(core): Refactor DSI variable in RFAL library to avoid colision with STM HAL drivers. [no changelog]
2025-02-25 18:29:54 +01:00
kopecdav
e672cb08b4
feat(core): Introduce nfc module with rfal library [no changelog]
2025-02-25 18:29:54 +01:00
Roman Zeyde
19c9e502d7
feat(core): add new translation entries for Solana staking layouts
...
[no changelog]
2025-02-25 11:55:03 +01:00
Roman Zeyde
803955b047
feat(core): add description
to Delizia confirm_output()
...
It will allow confirming the vote account for Solana staking.
[no changelog]
2025-02-25 11:55:03 +01:00
Roman Zeyde
8a5373c733
feat(core): add extra info item to summary menu on Delizia
...
It will allow confirming the blockhash for Solana transactions.
Also, simplify arguments passing into `new_confirm_output()`.
[no changelog]
2025-02-25 11:55:03 +01:00
Roman Zeyde
2284b338c8
feat(core): skip empty fee entry in UICaesar::confirm_summary
...
Otherwise, we may get an additional empty confirmation screen.
[no changelog]
2025-02-25 11:55:03 +01:00
kopecdav
9f03e0c37b
feat(core): Add prodtest function which prints simple text log on the screen [no changelog]
2025-02-21 10:15:12 +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
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
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
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
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
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
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
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
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
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
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
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
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
tychovrahe
671c3e2a65
fix(core): unify size of enums between rust and C
...
[no changelog]
2025-01-29 09:10:35 +01:00