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
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
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
Ondřej Vejpustek
adc7cef49c
feat(core): display sortedmulti
2024-12-02 12:21:24 +01:00
Ondřej Vejpustek
4dce3d0099
feat(core):: support sortedmulti
2024-12-02 12:21:24 +01:00
Ondřej Vejpustek
94cf3a29a0
feat(core,python,rust): add autogenerated files
2024-12-02 12:21:24 +01:00
Ondřej Vejpustek
0a9c4ba4ec
feat(core)): forbid multisig to singlesig change outputs
2024-12-02 12:21:24 +01:00
Ondřej Vejpustek
53b5d62623
fix(core): make sorting of pubkeys fully deterministic
2024-12-02 12:21:24 +01:00
Ondřej Vejpustek
f3983486d1
feat(core): remove deprecated path
2024-12-02 12:21:24 +01:00
Ondřej Vejpustek
d8c15837cb
test(core): add unit tests for ChangeDetector
2024-12-02 12:21:24 +01:00