tychovrahe
ee9f42a8b2
fix(core/prodtest): add early return in case of otp batch reading error
...
[no changelog]
2025-03-08 12:26:41 +01:00
tychovrahe
6db5eaf850
fix(core/prodtest): fix otp device variant lock check
...
[no changelog]
2025-03-08 12:26:41 +01:00
kopecdav
f2054ff409
feat(core/prodtest): Introduce unit test extension into prodtest [no changelog]
2025-03-07 17:24:24 +01:00
obrusvit
acdf549fc4
chore(core): bump version to 2.8.10
...
[no changelog]
2025-03-07 11:44:29 +01:00
obrusvit
813620a4c5
chore(core): include signed translations for 2.8.9
2025-03-06 16:10:20 +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
tychovrahe
46ec7298af
chore(core): drop support for T3W1 rev A0 board
...
[no changelog]
2025-03-05 09:19:27 +01:00
tychovrahe
9c451bd6ea
fix(core): fix BLE issue command return value
...
[no changelog]
2025-03-05 09:19:16 +01:00
cepetr
486bbca959
feat(core): double glyphs on t3w1 terminal
...
[no changelog]
2025-03-05 08:33:15 +01:00
Roman Zeyde
6f3e5a6cd7
feat(core): estimate workflow stack usage
...
By zeroing the stack memory before the workflow runs,
we can estimate how much of it has been used (by reading
the stack memory and looking for the first non-zero value).
[no changelog]
2025-03-04 14:18:15 +02:00
Andrew Kozlik
b2701596cc
chore: Add emulator warnings.
...
[no changelog]
2025-03-04 12:49:30 +01: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
Roman Zeyde
7be53c4172
fix(core): update Czech translations for Ethereum
...
* "Přednostní poplatek" -> "Poplatek za prioritu"
* "Zrušit stakování" -> "Zrušit stakování"
[no changelog]
2025-03-04 12:45:21 +02:00
tychovrahe
4394992b81
chore(core): unify comment style in startup_init.c
...
[no changelog]
2025-03-04 11:23:55 +01:00
tychovrahe
4de403bbe1
feat(core): enable LSE on T3W1
...
[no changelog]
2025-03-04 11:23:55 +01:00
tychovrahe
d1c1503fa4
feat(core/prodtest): add tamper testing function
...
[no changelog]
2025-03-04 11:23:55 +01:00
tychovrahe
d535e725c0
fix(core): fix tamper setting
...
[no changelog]
2025-03-04 11:23:55 +01:00
cepetr
bf119fbee4
feat(core): improve display/dma2d syscall verifiers
...
[no changelog]
2025-03-04 08:08:10 +01:00
cepetr
8574289493
chore(core): remove unused display function
...
[no changelog]
2025-03-04 08:08:10 +01:00
cepetr
45417bf3bd
feat(core): reduce overhead of syscall invocation
...
[no changelog]
2025-03-04 08:08:10 +01:00
cepetr
19ba854c69
feat(code): introduce dma2d syscalls
...
[no changelog]
2025-03-04 08:08:10 +01:00
cepetr
39245206f4
fix(core): fix coreapp applet memory definition
...
[no changelog]
2025-03-04 08:08:10 +01:00
cepetr
2961f6caf9
refactor(core): improve frame buffer interface
...
[no changelog]
2025-03-04 08:08:10 +01:00
cepetr
8b525de3c9
fix(core): fix jpeg decoder syscalls verifiers
...
[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
cepetr
c0134518da
fix(core): fix t3w1 revA prodtest build
...
[no changelog]
2025-03-04 08:07:56 +01:00
obrusvit
fad9682201
fix(core): fix delizia set brightness setting
...
[no changelog]
(cherry picked from commit 55101b8013
)
2025-03-03 16:00:31 +01:00
obrusvit
55101b8013
fix(core): fix delizia set brightness setting
...
[no changelog]
2025-03-03 15:59:59 +01:00
matejcik
5f94715ca7
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.
(cherry picked from commit f59deebfba
)
2025-03-03 15:55:15 +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
tychovrahe
dcf9002f00
feat(core/prodtest): add hw-revision command and driver
2025-03-03 13:28:10 +01:00
tychovrahe
a22c15663c
chore(core): fix typo
...
[no changelog]
2025-03-03 13:28:10 +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
587b5e8eb8
fix(core): fix jump to old bootloader
...
Initialize systick before jump, as the old bootloaders may not initialize systick on start and rely on systick running from boardloader or firmware. Only relevant for F4, otherwise we are jumping through reset.
[no changelog]
2025-02-28 16:17:06 +01:00
tychovrahe
511a4f3b93
fix(core/prodtest): fix touch draw test
...
[no changelog]
2025-02-28 15:32:49 +01:00
tychovrahe
a77f1f1a99
fix(core): fix jump to old bootloader
...
Initialize systick before jump, as the old bootloaders may not initialize systick on start and rely on systick running from boardloader or firmware. Only relevant for F4, otherwise we are jumping through reset.
[no changelog]
(cherry picked from commit 0536ed6f50
)
2025-02-28 15:22:32 +01:00
Ioan Bizău
dcf65b1d8f
chore(core): remove unnecessary check
...
[no changelog]
2025-02-28 14:15:45 +01:00
Ioan Bizău
d0681212b0
fix(core): use BIP-340 to sign Nostr events
...
[no changelog]
2025-02-28 14:15:45 +01:00
Ioan Bizău
50879cd4da
chore(core/nostr): remove Nostr from production build
...
[no changelog]
2025-02-28 14:15:45 +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
0b5dbcae1b
feat(core): confirm multiple Solana Deactivate/Withdraw instructions
...
[no changelog]
(cherry picked from commit 1954c7cbc2
)
2025-02-28 12:56:10 +01:00
Roman Zeyde
9321227ddb
fix(core): fix ExtraInfo
menu cancellation
...
[no changelog]
(cherry picked from commit ac49c3e284
)
2025-02-28 12:55:47 +01:00
Roman Zeyde
1954c7cbc2
feat(core): confirm multiple Solana Deactivate/Withdraw instructions
...
[no changelog]
2025-02-28 13:51:37 +02:00
Roman Zeyde
ac49c3e284
fix(core): fix ExtraInfo
menu cancellation
...
[no changelog]
2025-02-28 13:51:37 +02:00
Roman Zeyde
da6d4afc7d
fix(core): use SwipeFlow::add_page
to save stack memory
...
[no changelog]
(cherry picked from commit bd496a9e95
)
2025-02-27 18:25:54 +01: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
Roman Zeyde
8568378a8a
fix(core): confirm only visible Solana staking instructions
...
[no changelog]
(cherry picked from commit ee1cc4ae81
)
2025-02-26 20:47:18 +01:00
Andrew Kozlik
91ee49c20b
chore(core, crypto): Remove unused function mnemonic_generate().
...
[no changelog]
2025-02-26 17:20:58 +01:00
Roman Zeyde
ee1cc4ae81
fix(core): confirm only visible Solana staking instructions
...
[no changelog]
2025-02-26 15:25:31 +02:00
cepetr
f5a51b0671
feat(core): enable hw decoding of grayscale JPEGs
...
[no changelog]
2025-02-26 12:06:44 +01:00
tychovrahe
4221b8514b
feat(core/prodtest): implement NRF test functions
...
[no changelog]
2025-02-26 10:27:14 +01:00
tychovrahe
c97dd18c2d
fix(core): fix NRF communication long message check
...
[no changelog]
2025-02-26 10:27:14 +01:00
tychovrahe
93f20bead1
feat(core/prodtest): add BLE testing
...
[no changelog]
2025-02-26 10:27:14 +01:00
tychovrahe
1fd83a9584
fix(core): fix nrf reboot function
...
[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
tychovrahe
32bf5d82ff
feat(core/prodtest): add tropic01 HAL integration and basic production tests
...
[no changelog]
2025-02-26 08:53:16 +01:00
obrusvit
2c94dc24df
docs(core): fix entries in changelog
2025-02-26 02:03:27 +01:00
obrusvit
f88ce9ac9a
docs(core): changelog for 2.8.9
...
- command: ./tools/changelog.py generate --date "19th March 2025" core
2.8.9
2025-02-26 01:47:11 +01:00
obrusvit
331f71dc91
chore(common): set definitions timestamp
2025-02-26 01:24:30 +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
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
1857612a37
feat(core): add Solana staking layouts
2025-02-25 11:55:03 +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
Roman Zeyde
d33244912b
refactor(core): separate base and priority Solana fees
...
Move fee calculation into `Transaction` class.
Also, replace floating-point division by integer division in fee calculation.
[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
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
obrusvit
fa9e5338c3
chore(common): set definition timestamps
...
[no changelog]
2025-01-29 11:55:35 +01:00
tychovrahe
671c3e2a65
fix(core): unify size of enums between rust and C
...
[no changelog]
2025-01-29 09:10:35 +01:00
tychovrahe
399aa4f2ea
fix(core): adjust jpeg cache size to allow work on larger displays
...
[no changelog]
2025-01-29 09:10:10 +01:00
Roman Zeyde
5cdd0e7e74
feat(python): check that translations are using correct layout names
...
[no changelog]
2025-01-28 15:18:12 +02:00
tomasklim
78768950fd
chore(core): use label for evm networks generation
2025-01-28 14:17:46 +01:00
Roman Zeyde
96ac4e263c
refactor(core): reduce ui::layout_delizia::component::header::Header
size
...
[no changelog]
2025-01-28 14:21:43 +02:00
Roman Zeyde
830f038360
build(core): allow printing Rust types' sizes during build
...
https://nnethercote.github.io/perf-book/type-sizes.html#measuring-type-sizes
[no changelog]
2025-01-28 14:21:43 +02:00
Roman Zeyde
5e71ea355c
chore(core): remove unused scons variable
...
Following #4337 .
[no changelog]
2025-01-28 14:21:43 +02:00
Martin Milata
7c06363fea
chore(core/prodtest): bump version to 0.2.13
...
[no changelog]
2025-01-28 12:27:05 +01:00
Martin Milata
b0e39dbe6f
chore(core): bump version to 2.8.8
...
[no changelog]
2025-01-28 12:27:05 +01:00
obrusvit
15967a312b
fix(core): explicitly delete keyboard layout
...
- seems that keyboard LayoutObj was not properly deallocated resulting
in MemoryError. Fix by calling the dunder `del` method explicitly fixes
the issue
- the problem was on Model T (Bolt), but applying it for all layouts to
prevent similar problem
2025-01-27 23:43:33 +01:00
tychovrahe
8bad0c8675
fix(core): fix flashing old display content on model T
...
[no changelog]
2025-01-24 21:59:01 +01:00
Andrew Kozlik
27ed1fd49e
fix(core): Fix displayed batch number in prodtest.
...
[no changelog]
2025-01-23 16:48:00 +01:00
tychovrahe
69a61e98e0
feat(core): adjust codec_v1 to work with differently sized RX and TX packets
...
[no changelog]
2025-01-23 16:46:12 +01:00
tychovrahe
a682555574
fix(core): add missing interrupt disable to NRF driver
...
[no changelog]
2025-01-23 16:46:12 +01:00
tychovrahe
e8eb48cd0d
chore(core): add T3W1 production keys vendorheaders
...
[no changelog]
2025-01-23 15:42:56 +01:00
tychovrahe
5fd773757c
fix(core): fix fading issues
2025-01-23 15:24:00 +01:00
tychovrahe
a5809c872e
feat(core): add support for setting BLE name from Trezor firmware
...
[no changelog]
2025-01-23 13:27:59 +01:00
Ioan Bizău
5a13b4560d
fix(core): get rid of colon in some TS5 descriptions
...
[no changelog]
2025-01-23 12:46:54 +01:00
Ioan Bizău
e99beaf486
refactor(core): merge confirm_blob and confirm_value
...
[no changelog]
2025-01-23 12:46:54 +01:00
tychovrahe
885c5b96d9
refactor(core/rust): move bindgen macros used for tests to model folder
...
[no changelog]
2025-01-23 10:22:00 +01:00
tychovrahe
bdc054235c
refactor(core): define model-specific include files in site-scons
...
[no changelog]
2025-01-23 10:22:00 +01:00
tychovrahe
26bde15429
refactor(core): extract model specific definitions from Makefile
...
[no changelog]
2025-01-23 10:22:00 +01:00
cepetr
a920b92ad3
fix(core): fix gfx_bitblt initialization
...
[no changelog]
2025-01-22 17:21:41 +01:00
Roman Zeyde
e78f6d2d6d
fix(core): fix a few "unused" Rust warnings
...
[no changelog]
2025-01-22 15:09:08 +02:00
Martin Milata
ae853bb821
Merge branch 'release/25.01'
2025-01-22 12:14:10 +01:00
Roman Zeyde
b9c98dba30
feat(core): allow splitting/merging translations for Crowdin
...
This way, each layout could be translated independently.
[no changelog]
2025-01-22 12:46:50 +02:00
Roman Zeyde
1dae795a94
feat(core): support per-layout untranslated text strings
...
[no changelog]
2025-01-22 10:41:35 +02:00
Roman Zeyde
8bccc7fd0a
chore(core): resort translation JSONs by keys
...
Done by:
```
cd core/translations
python ./cli.py merge ??.json
```
[no changelog]
2025-01-22 10:41:35 +02:00
Roman Zeyde
7ee1259aaa
refactor(core): use layout name for translation font keys
...
It would simplify `TranslationsDir.load_lang` method.
[no changelog]
2025-01-22 10:41:35 +02:00
Roman Zeyde
e9aca68612
docs: make sure changelog fragments end with a period
...
Also, run `generate-changelog.py` over prodtest changelog.
[no changelog]
2025-01-20 14:54:27 +02:00
obrusvit
00740b560c
refactor(core): consistent naming of UI layouts
...
- follow-up on 862c987779
- layout_bolt stays the same
- layout_samson -> layout_caesar
- layout_quicksilver -> layout_delizia
- use super for importing rust modules in layout code
[no changelog]
2025-01-20 12:29:24 +01:00
Ioan Bizău
30e88f4641
fix(core/ui): make button press cancel current hold
2025-01-17 13:04:56 +01:00
matejcik
38e362cd5b
fix(core): improve ButtonRequest.name in backup confirmation
...
[no changelog]
2025-01-17 11:28:12 +01:00
matejcik
8b6d8e7572
fix(all): make more protobuf fields required
...
[no changelog]
2025-01-17 11:28:12 +01:00
Ioan Bizău
dd3bf253f8
fix(core): disallow canceling on uncancelable pages
2025-01-16 13:54:13 +01:00
tychovrahe
8207b9ffe5
feat(core): add BLE to t3w1 board
...
[no changelog]
2025-01-14 09:15:12 +01:00
tychovrahe
b2a4db1463
feat(core): expose BLE functionality to micropython
...
[no changelog]
2025-01-14 09:15:12 +01:00
tychovrahe
8ca51be020
feat(core): expose BLE functionality to rust
...
[no changelog]
2025-01-14 09:15:12 +01:00
tychovrahe
3fae6b23cf
feat(core:): introduce BLE driver
...
[no changelog]
2025-01-14 09:15:12 +01:00
tychovrahe
34e033fd4e
fix(core): fix wrong RSOD color on some older Model T devices
2025-01-14 08:21:37 +01:00
kopecdav
b726e1e203
fix(core/prodtest): add missing source file for revA0
...
[no changelog]
2025-01-14 07:52:15 +01:00
cepetr
280b1e9b79
fix(core): reset peripherals in emergency mode
...
[no changelog]
2025-01-14 07:52:15 +01:00
cepetr
2426e637b3
feat(core): introduce optiga deinit and suspending
...
[no changelog]
2025-01-14 07:52:15 +01:00
cepetr
80e2cea2b5
feat(core): improve button driver init/deinit
...
[no changelog]
2025-01-14 07:52:15 +01:00
cepetr
fc2f9c5949
feat(core): add powerctl_suspend syscall
...
[no changelog]
2025-01-14 07:52:15 +01:00
cepetr
f3793fd8c4
fix(core): panic on invalid syscall number
...
[no changelog]
2025-01-14 07:52:15 +01:00
cepetr
63fe21b6cb
feat(core): improve dma2d/gfx_bitblt init/deinit
...
[no changelog]
2025-01-14 07:52:15 +01:00
cepetr
3165443dfe
feat(core): improve t3w1 display driver init/deinit
...
[no changelog]
2025-01-14 07:52:15 +01:00
cepetr
1f3e640dd9
feat(core): add display_init return value
...
[no changelog]
2025-01-14 07:52:15 +01:00
cepetr
47f618c640
feat(core): decrease t3w1 backlight pwm frequency
...
[no changelog]
2025-01-14 07:52:15 +01:00
cepetr
7a603b8717
feat(core): improve haptic driver peripherals init/deinit
...
[no changelog]
2025-01-14 07:52:15 +01:00
cepetr
a881401e4d
feat(core): improve pwm backlight driver peripherals init/deinit
...
[no changelog]
2025-01-14 07:52:15 +01:00
cepetr
22f132c935
fix(core): fix suspending to STOP2 mode
...
[no changelog]
2025-01-14 07:52:15 +01:00
cepetr
4fda1c4dfb
feat(core): introduce USE_USB feature
...
[no changelog]
2025-01-14 07:52:15 +01:00
cepetr
27e37de695
fix(core): fix incorrect macro name
...
[no changelog]
2025-01-13 19:03:28 +01:00
tychovrahe
eef2f4113f
refactor(core): improve USB events handling, more extensible implementation
...
[no changelog]
2025-01-13 18:46:11 +01:00
tychovrahe
e4f4985584
refactor(core): split polling can_read and reading from USB
...
[no changelog]
2025-01-13 17:42:30 +01:00
Martin Milata
dadff32f39
build(core): use internal model names everywhere
...
TREZOR_MODEL=T and TREZOR_MODEL=R
no longer work, please use
TREZOR_MODEL=T2T1 and TREZOR_MODEL=T2B1
[no changelog]
2025-01-13 16:24:35 +01:00
Lukas Bielesch
1ef62aaf0b
fix(core): rework 'too many PIN attempts' RSOD
...
Also, allow multi-line title in `model_samson` `ErrorScreen`.
Co-authored-by: Roman Zeyde <roman.zeyde@satoshilabs.com>
2025-01-10 13:31:00 +01:00
Roman Zeyde
849af38f5e
refactor(core): remove an unused member from ErrorScreen
...
Also, rename `ErrorScreen::place` argument to `_bounds`,
similarly to how it's done in `model_quicksilver` and `model_bolt`.
2025-01-10 13:31:00 +01:00
tychovrahe
43721ab396
feat(core/prodtest): add RGB LED test
...
[no changelog]
2025-01-10 11:32:49 +01:00
obrusvit
862c987779
refactor(core): consistent naming of UI layouts
...
- UI layouts name changes:
- model_tt -> layout_bolt
- model_tr -> layout_samson
- model_mercury -> layout_quicksilver
- rust features `model_xyz` freed for different use, now it's
`layout_xyz`
- input_flow function names are based on UI layout and not internal
model name (i.e. quicksilver instead of t3t1)
- directory names and commentary changed accordingly
[no changelog]
2025-01-09 22:57:14 +01:00
Martin Milata
57fa995b28
chore(core): include signed translations for 2.8.7
2025-01-09 14:49:04 +01:00
tychovrahe
22ab7e98f5
perf(core): optimize LTDC-DSI ram usage by properly utilizing LTDC window
...
[no changelog]
2025-01-06 11:42:40 +01:00
tychovrahe
1c59442f89
feat(core): use lx250a2401a display panel on T3W1
...
[no changelog]
2025-01-06 11:42:40 +01:00
tychovrahe
b97390a73a
refactor(core): make display resolution constants global, board specific
...
[no changelog]
2025-01-06 11:42:40 +01:00
tychovrahe
6e2486a2e2
feat(core): add LX250A2401A panel to ltdc_dsi display driver
...
[no changelog]
2025-01-06 11:42:40 +01:00
tychovrahe
33bb7ef410
fix(core): increase framebuffer section size on U5G models
...
[no changelog]
2025-01-06 11:42:40 +01:00
tychovrahe
d235ed3d3d
fix(core): properly limit the display area used in application (ltdc_dsi driver)
...
[no changelog]
wip: use only part of display area
2025-01-06 11:42:40 +01:00
tychovrahe
36d0ce79f9
refactor(core): use function to get GFXMMU LUT in ltdc_dsi driver
...
[no changelog]
2025-01-06 11:42:40 +01:00
tychovrahe
b76a2161a1
fix(core): fix terminal background for unaligned display size
...
[no changelog]
2025-01-06 11:42:40 +01:00
tychovrahe
973d4ab2b2
fix(core): make TT UI homescreen respect screen size
...
[no changelog]
2025-01-06 11:42:40 +01:00
tychovrahe
2d051ffefd
fix(core): fix jpeg size parsing
...
[no changelog]
2025-01-06 11:42:40 +01:00
Martin Milata
8a254aa8ea
chore(core): add signed bootloader 2.1.8 for T2T1, T2B1
2025-01-03 19:47:34 +01:00
Martin Milata
f2aeea159f
docs(core/prodtest): changelog for 0.2.12
2025-01-03 17:35:34 +01:00
Martin Milata
e02fd0b698
docs(core): changelog for 2.8.7
2025-01-03 17:30:08 +01:00
kopecdav
35c0ada42b
refactor(core/prodtest): Put patch_and_update function to separate source file
2025-01-03 16:30:14 +01:00
kopecdav
4c312aabfe
feat(core/prodtest): Add stwlc38 update from host feature [no changelog]
2025-01-03 16:30:14 +01:00
Martin Milata
f2718b60be
Merge branch 'release/24.12'
2025-01-03 15:08:09 +01:00
tychovrahe
20aad3ef8d
feat(core/prodtest): change resolution of TOUCH_POWER command parameter to milliseconds.
2025-01-03 14:29:20 +01:00
matejcik
897f5b355f
fix(core/ui): fix a bug causing marquee on model TR to not start
2025-01-03 14:24:32 +01:00
matejcik
e0b4cab2db
fix(core): retry creation of homescreen layout
...
For reasons unknown, a previous homescreen layout can sometimes survive
a GC cycle in main's unimport loop. Two homescreen layouts can't exist
simultaneously, so creating a new one would fail.
It _seems_ that after restarting the session, the homescreen object
still exists but is not reachable anymore, so a second GC cycle properly
disposes of it.
So what we do is simply catch the possible MemoryError, invoke GC
explicitly, and try again.
2025-01-03 14:15:14 +01:00
matejcik
e424fd8d3b
refactor(core): make imagebuffer allocation fallible
2025-01-03 14:15:14 +01:00
Andrew Kozlik
83a96f7a5a
feat(core): Randomize SCM_REVISION address in firmware
...
[no changelog]
2025-01-03 10:23:41 +01:00
Ondřej Vejpustek
1a62cc8a59
fix(core): fix serialization of signatures and witnesses in multisig
...
[no changelog]
2025-01-02 15:07:25 +01:00
Andrew Kozlik
01a1f479a0
feat(core): Implement entropy check workflow in ResetDevice.
2025-01-02 13:44:36 +01:00
Andrew Kozlik
df97d8d958
feat(common): Add messages for entropy check workflow.
...
[no changelog]
2025-01-02 13:44:36 +01:00
tychovrahe
c26d9f4227
chore(core): increase size of assets area for U5G models
...
[no changelog]
2025-01-02 11:42:00 +01:00
tychovrahe
04a1b3943f
chore(core): re-balance distribution in flash on F4 models
...
[no changelog]
2025-01-02 11:41:48 +01:00
tychovrahe
594445c1f9
fix(core): TS5 - wait for frame to appear on display before raising backlight
...
[no changelog]
2025-01-02 11:41:33 +01:00
Martin Milata
2f20cba314
docs(core): fix changelog
2024-12-19 13:00:31 +01:00
obrusvit
e9ecbbc5e8
refactor(core): consistent use of confirm_address
...
- use `confirm_address` trait fn in both `confirm_output` and
`confirm_address` layout functions
[no changelog]
2024-12-19 00:09:20 +01:00
obrusvit
7e1f160dba
refactor(core): consistent naming for UI traits
...
[no changelog]
2024-12-19 00:09:20 +01:00
obrusvit
0e1696b3ed
chore(core): cleanup warnings and clippy errors
...
[no changelog]
2024-12-19 00:09:20 +01:00
obrusvit
9caf540e16
refactor(core): remove trezorui2 module
...
- also remove "check" scripts which seem outdated
[no changelog]
2024-12-19 00:09:20 +01:00
obrusvit
ad9618c282
refactor(core): cleanup layout.rs
...
- last functions of all models moved out
- imports formatted
- tests moved
[no changelog]
2024-12-19 00:09:20 +01:00
obrusvit
dd9ac038d0
refactor(core): port functions to FirmwareUI
...
- keyboards
- standalone functions
- disable_animations
- check_homescreen_format
- confirm_action
- selectors
- confirm_firmware_update
- show_homescreen/lockscreen
- confirm_homescreen
- confirm_homescreen of mercury changed according to Figma
- set_brightness
- show_wait_text
- show_progress
- request_number
- show_checklist
- show_mismatch
- confirm_reset
- tutorial
- confirm_coinjoin
- confirm_modify_output/fee
- show_group_share_success
- show_remaining_shares
- show_success/warning/error/danger
- show_simple
- continue_recovery
- confirm_recovery of model_t and model_r merged with
flow_continue_recovery of mercury into a continue_recovery_homepage
trait function, parameters renamed to be more descriptive
- show_share_words moved and refactored
- model_t version was moved from using plain Paragraph to a dedicated
component `ShareWords` so that it's consistent with other models. This
allowed to move formatting to Rust and allowed the trait function to
have `words` parameter of type `Vec<TString, 33>`
- model_r ShareWords::render slightly refactored to be consistent with
the new model_t version
- mercury uses a unique version. The reason is that mercury SwipeFlow
contains also the initial screen with instructions and prompt screen at
the end.
- confirm_with_info
- show_info_with_cancel
- confirm_blob
- confirm_value
- confirm_properties
- confirm_more
- confirm_address
- prompt_backub
- confirm_emphasized
- show_address_details
- confirm_summary
- TR removed:
- confirm_output_address and confirm_output_amount replaced with
confirm_blob. UI diff is minimal.
- confirm_joint_total, replaced a TR-specific function with a generic
`confirm_properties` with no UI changes
- confirm_multiple_pages_texts
- the function is TR specific and is used only in confirm_set_new_pin,
it would be better to use something different
- remaining mercury flows with no counterpart
- confirm_blob_intro
- flow_confirm_set_new_pin
- flow_confirm_output
- flow_get_address
[no changelog]
2024-12-19 00:09:20 +01:00
obrusvit
b2c6b09bfc
feat(core): introduce FirmwareUI trait
...
- the commit introduces a trait defining high level UI building blocks,
common for all models.
- trezorui_api module exposes these functions to MicroPython world.
- `show_info` is implemented as a first function.
[no changelog]
2024-12-19 00:09:20 +01:00
obrusvit
091a0e8550
feat(core): introduce trezorui_api
...
- the new module is the place for type definitions of the interface
between rust and micropython world.
- the new module will replace `trezorui2` with `trezorui_api`
[no changelog]
2024-12-19 00:09:20 +01:00
obrusvit
78cce0ba04
fix(core): font generator padding
...
[no changelog]
2024-12-16 13:54:27 +01:00
obrusvit
5d1401ef4f
refactor(core): safe iface for get_glyph_data
...
[no changelog]
2024-12-16 13:54:27 +01:00
obrusvit
5a9c8c81ae
refactor(core): remove UTF-8 support from C
...
- re-implement some fonts handling functions in Rust and delete them
from C
- C code only needs to handle ASCII characters
[no changelog]
2024-12-16 13:54:27 +01:00
obrusvit
0c4225491b
refactor(core): change gen_font.py and regen fonts
...
Change to the new structures and preserve manual changes. This commit
also removes duplicated definition of nonprintable glyph for _UPPER
fonts.
[no changelog]
2024-12-16 13:54:27 +01:00
obrusvit
db0e8e8421
refactor(core): simplify font handling
...
This commit removes the usage of macros for font data definitions.
Instead, it includes data as const structs of newly introduced
font_info_t type.
[no changelog]
refactor(core): use font_id_t instead of plain int
[no changelog]
2024-12-16 13:54:27 +01:00
obrusvit
b5ea26eb7a
refactor(core): separate concerns of FONT macros
...
Introduce a new flag `_NAME` for each font and reduce the usage of
`_ENABLE` flag to purely compilation guard.
[no changelog]
2024-12-16 13:54:27 +01:00
cepetr
e196413bb7
feat(core): initialize powerclt in boardloader
...
[no changelog]
2024-12-13 17:24:03 +01:00
tychovrahe
3bc13b5707
refactor(core): switch DISC2 display driver to universal LTDC DSI implementation
...
[no changelog]
2024-12-13 17:24:03 +01:00
tychovrahe
03a296f815
feat(core): display driver for T3W1
...
[no changelog]
2024-12-13 17:24:03 +01:00
tychovrahe
dac6c17f73
refactor(core): extract framebuffer queue for reuse
...
[no changelog]
2024-12-13 17:24:03 +01:00
tychovrahe
791340cc6b
fix(core): restore RSOD info
...
[no changelog]
2024-12-13 10:35:03 +01:00
tychovrahe
0bc729a3da
refactor(core): streamline RAM layout
...
[no changelog]
2024-12-11 21:41:52 +01:00
tychovrahe
0d3407b075
fix(core): resolve crashes when running without display or with uninitialized display
...
[no changelog]
2024-12-11 21:41:36 +01:00
Ioan Bizău
e6802bdd09
fix(core/ui): don't swipe left if there is no menu
2024-12-11 16:33:15 +02:00
cepetr
a0bd4860ca
feat(core/prodtest): add npm1300 buck control commands
...
[no changelog]
2024-12-11 14:45:16 +01:00
cepetr
9d2d96f832
feat(core): add npm1300 buck regulator control
...
[no changelog]
2024-12-11 14:45:16 +01:00
cepetr
27b27df17d
feat(core/prodtest): add suspend command
...
[no changelog]
2024-12-11 14:45:16 +01:00
cepetr
dda9d2ba36
feat(core/prodtest): add wpc control commands
...
[no changelog]
2024-12-11 14:45:16 +01:00
cepetr
bfe36fd8db
feat(core/prodtest): add pmic control commands
...
[no changelog]
2024-12-11 14:45:16 +01:00
cepetr
a6acabd917
refactor(core): introduce drivers init/deinit in boot/boardloader
...
[no changelog]
2024-12-11 14:45:16 +01:00
cepetr
e456e2ad27
feat(core): add power button wakeup functionality
...
[no changelog]
2024-12-11 14:45:16 +01:00
cepetr
519a1a0f7b
feat(core): introduce powerctl module
...
[no changelog]
2024-12-11 14:45:16 +01:00
cepetr
97dbf2fab3
feat(core): introduce stwlc38 driver
...
[no changelog]
2024-12-11 14:45:16 +01:00
cepetr
1da149f129
feat(core): introduce npm1300 driver
...
[no changelog]
2024-12-11 14:45:16 +01:00
Lukas Bielesch
6de0e5de0f
chore(core): change display orientation labels [no changelog]
2024-12-09 15:03:57 +01:00
Martin Milata
dd27166dcb
chore(core): include signed translations for 2.8.6.1
2024-12-09 12:37:51 +01:00
Ondřej Vejpustek
8bf23696e1
style(core/tests): apply formatting
...
[no changelog]
2024-12-06 16:14:54 +01:00
Ondřej Vejpustek
97b2e6c751
style(core/tests): fix warnings
...
[no changelog]
2024-12-06 16:14:54 +01:00
Ondřej Vejpustek
345eaf79f9
style(core/tests): silent star import warnings
...
[no changelog]
2024-12-06 16:14:54 +01:00
tychovrahe
17f2a3256b
fix(core): fix translation area access from coreapp applet
...
[no changelog]
(cherry picked from commit b4ba056a39
)
2024-12-05 17:20:12 +01:00
tychovrahe
b4ba056a39
fix(core): fix translation area access from coreapp applet
...
[no changelog]
2024-12-05 17:17:08 +01:00
Martin Milata
768f86f56f
chore(core): bump version to 2.8.6.1
2024-12-05 17:01:30 +01:00
Martin Milata
99b2c2a820
chore(core): include signed translations for 2.8.6
2024-12-05 12:52:18 +01:00
Martin Milata
0d90b510e7
build(core): use deterministic git rev-parse
...
The output may differ in shallow vs. full repo.
[no changelog]
(cherry picked from commit 2635e4c7fd
)
2024-12-04 16:37:32 +01:00
Martin Milata
2635e4c7fd
build(core): use deterministic git rev-parse
...
The output may differ in shallow vs. full repo.
[no changelog]
2024-12-04 16:36:19 +01:00
obrusvit
61ebb19515
refactor(core): mercury confirm_summary
...
- old confirm_total removed
- flow_confirm_summary refactored to confirm_summary
[no changelog]
2024-12-04 14:47:53 +01:00
obrusvit
af6240b52c
refactor(core): model_r confirm_summary
...
- altcoin_tx_summary removed and replaced with confirm_summary
[no changelog]
2024-12-04 14:47:53 +01:00
obrusvit
6e94748e92
refactor(core): model_t confirm_summary
...
- model_t confirm_total refactored to confirm_summary
- parameter set changed to pave the way for unification across models
[no changelog]
2024-12-04 14:47:53 +01:00
matejcik
ef02c4de5d
feat(core): introduce storage insecure mode
...
reduces the number of PIN iterations and avoids erasing the other
storage bank -- if a test ever overruns, it will probably RSOD out, but
that's unlikely to happen
2024-12-03 11:02:17 +01:00
matejcik
835f7087c6
build(core): correctly propagate DISABLE_OPTIGA to kernel
2024-12-03 11:02:17 +01:00
matejcik
331e07b1e0
feat(core): disable animations in debug firmware by default
...
This makes it possible to run HW tests on the T3T1 where animations mess
things up. It also speeds up HW tests on other models slightly.
export TREZOR_DISABLE_ANIMATION=0 to build a debug firmware with
animations enabled
2024-12-03 11:02:17 +01:00
Ioan Bizău
13df961317
refactor(core/ui): introduce show_danger
...
This is a unified interface for flow_warning_hi_prio,
which was available only on Mercury before.
[no changelog]
2024-12-02 22:28:00 +01:00
Ioan Bizău
aa58ea7158
fix(core/ui): make cancel the last menu item
...
[no changelog]
2024-12-02 19:52:56 +01:00
Ioan Bizău
5c8ee873c6
chore(core/ui): remove new_confirm_address on Mercury
...
[no changelog]
2024-12-02 19:52:56 +01:00
obrusvit
deb5ce3f48
refactor(core): remove flow confirm_with_info
...
- usage of `flow::confirm_with_info` is replaced with
`flow::confirm_action` which is parameterized accordingly
[no changelog]
2024-12-02 19:52:56 +01:00
tychovrahe
ef5ed2ee72
fix(core): fix haptic driver with reset pin initialization
...
[no changelog]
2024-12-02 17:18:59 +01:00
tychovrahe
8f4268229a
feat(core): use SMPS on T3W1
...
[no changelog]
2024-12-02 15:06:32 +01:00
tychovrahe
2c87d43b51
fix(core): fix option bytes settings for U5G models
...
[no changelog]
2024-12-02 15:06:09 +01:00
tychovrahe
46eebd23a4
fix(core/prodtest): fix BOOTLOADER VERSION command
2024-12-02 15:05:55 +01:00
M1nd3r
01cf58f2a1
docs(core): add and modify docs to context and cache
...
[no changelog]
2024-12-02 12:39:15 +01:00
M1nd3r
2eab963862
test(core): replace __init__ in unit tests with setUpClass and tearDownClass
...
[no changelog]
2024-12-02 12:39:15 +01:00
M1nd3r
22a7ba7070
test(core): add setUpClass and tearDownClass to core unit tests
...
[no changelog]
2024-12-02 12:39:15 +01:00
M1nd3r
b1f07fec4f
chore(core): update core to reflect cache and context refactor
...
[no changelog]
2024-12-02 12:39:15 +01:00
M1nd3r
8eb62fdeca
refactor(core): abstract cache and context
...
[no changelog]
2024-12-02 12:39:15 +01:00
M1nd3r
0643d95a67
style: fix article
...
[no changelog]
2024-12-02 12:39:15 +01:00
M1nd3r
a3c275f19a
test(core): update tests to reflect cache refactor
...
[no changelog]
2024-12-02 12:39:15 +01:00
Ondřej Vejpustek
ae32a23002
fix(core): disallow per-node paths in change outputs
2024-12-02 12:21:24 +01:00
Ondřej Vejpustek
45a029edcc
fix(core): disallow per-node paths in getaddress
2024-12-02 12:21:24 +01:00