1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-07-21 14:08:13 +00:00
Commit Graph

5175 Commits

Author SHA1 Message Date
cepetr
1cf9dc4d62 refactor(core): simplify linker scripts II
[no changelog]
2025-06-04 16:58:15 +02:00
cepetr
aa5ba7aba6 refactor(core): simplify linker scripts
[no changelog]
2025-06-04 16:58:15 +02:00
cepetr
5b537103bd feat(core): improve post mortem info for secure fault
[no changelog]
2025-06-04 16:58:15 +02:00
cepetr
05acc1599b fix(core): enable SecureFault handling
[no changelog]
2025-06-04 16:58:15 +02:00
cepetr
a7466298ff refactor(core): prepare for secure/non-secure memory layout
[no changelog]
2025-06-04 16:58:15 +02:00
cepetr
1a372b5019 feat(core): allow passing postmortem info in bootargs
[no changelog]
2025-06-04 16:58:15 +02:00
Lukas Bielesch
cafed0d02b chore(core/eckhart): Unify usage of ParagraphVecShort
[no changelog]
2025-06-04 12:47:50 +02:00
Lukas Bielesch
3f14cd1d27 chore(eckhart): replace-by-fee update
[no changelog]
2025-06-04 12:47:50 +02:00
Lukas Bielesch
17f2d05baa fix(core): clippy warning
[no changelog]
2025-06-04 12:47:50 +02:00
tychovrahe
ec4e6de040 fix(core/prodtest): fix bolt welcome screen without power manager
[no changelog]
2025-06-04 08:12:48 +02:00
tychovrahe
7294cc62fb feat(core/prodtest): separate prodtest UI implementation for Eckhart
[no changelog]
2025-06-04 08:12:48 +02:00
tychovrahe
d5a9b7ee58 fix(core/prodtest): show homescreen after fuel gauge monitor ends
[no changelog]
2025-06-04 08:12:48 +02:00
Lukas Bielesch
d91923b999 chore(core/eckhart): Update passphrase-related flows
[no changelog]
2025-06-03 18:59:37 +02:00
Lukas Bielesch
41a852c675 chore(core/eckhart): Update ConfirmAction button styling logic 2025-06-03 18:59:37 +02:00
Lukas Bielesch
1f69975ba9 chore(core/eckhart): Allow TextScreen to be used without a header
[no changelog]
2025-06-03 18:59:37 +02:00
Roman Zeyde
c01b56a5a0 fix(core): Eckhart doesn't have a separate confirm page
[no changelog]
2025-06-03 18:10:35 +03:00
Lukas Bielesch
9643253630 feat(eckhart): implement FW update UI trait function
[no changelog]
2025-06-03 17:02:20 +02:00
kopecdav
32a830da1c fix(core/prodtest): fix vcp jamming when USB unplugged.
[no changelog]
2025-06-03 15:11:15 +02:00
Ioan Bizău
98aa195443 fix(core/ui): confirm_output subtitle
[no changelog]
2025-06-03 15:06:29 +02:00
Ioan Bizău
d65b4f0e86 fix(core): warnings in device build
[no changelog]
2025-06-03 14:18:47 +02:00
tychovrahe
0081788d48 fix(core/prodtest): fix prodtest emulator build for T3W1
[no changelog]
2025-06-03 09:24:57 +02:00
tychovrahe
0ac3dec433 fix(core): fix pm_get_state syscall stub
[no changelog]
2025-06-03 09:24:40 +02:00
Lukas Bielesch
fea8031c96 chore(translations): drop turkish translations 2025-06-02 11:42:34 +02:00
tychovrahe
9683efb5b9 feat(core/prodtest): add prodtest emulator
[no changelog]
2025-06-02 09:16:53 +02:00
tychovrahe
9e8f989c80 fix(core): implement reboot_to_bootloader for unix
[no changelog]
2025-06-02 09:16:53 +02:00
tychovrahe
fb61ea0ce8 feat(core/unix): add board capabilities basic implementation for unix
[no changelog]
2025-06-02 09:16:53 +02:00
tychovrahe
803baf7fcd feat(core/unix): implement USB VCP emulation
[no changelog]
2025-06-02 09:16:53 +02:00
tychovrahe
c0c5003e08 chore(core): replace itoa with portable function
[no changelog]
2025-06-02 09:16:53 +02:00
tychovrahe
1bd4d17d0e refactor(core): implement cpuid as separate module
[no changelog]
2025-06-02 09:16:53 +02:00
tychovrahe
5a3156d782 refactor(core/unix): use unix common files in scons
[no changelog]
2025-06-02 09:16:53 +02:00
Roman Zeyde
cec282993a refactor(core): simplify per-model imports using cfg-if macro
[no changelog]
2025-06-01 14:31:43 +03:00
tychovrahe
baa6317113 fix(core): fix lockable bootloader logic in secret and MPU
Also, fix firmware build with `DISABLE_OPTIGA=1`.

[no changelog]
2025-05-30 19:28:46 +03:00
Roman Zeyde
64241033cb chore(core): move coverage-related Rust code into a separate module
Also, exclude it from non-debug builds.

[no changelog]
2025-05-30 19:26:51 +03:00
Roman Zeyde
1b8116129a chore(core): add a missing Map import for obj_module macro
[no changelog]
2025-05-30 19:26:51 +03:00
Roman Zeyde
7f5b71817f fix(core): fix DeprecationWarning for datetime.datetime.utcnow()
[no changelog]
2025-05-30 18:55:08 +03:00
obrusvit
341cc54071 chore: regenerate langs/signatures/qstr/fixtures 2025-05-30 17:38:16 +02:00
obrusvit
1efdad0aab feat(eckhart): port recent functionaliy
- ETH approve, #4958
- success screens after BR, #4882 and #5068
- do not confirm known SOL token, #5086
- fail on text overflow, #4767
2025-05-30 17:38:16 +02:00
obrusvit
0f695b55a9 refactor(core): fn plural_form will never panic
- also minor adjustment where the function is used in Eckahrt
2025-05-30 17:38:16 +02:00
obrusvit
10e88c870e chore(eckhart): improve DeviceMenu
- show BackupFailed correctly based on storage conditions
- separate autolock duration formatting to a separate function in
`trezor/strings.py`
2025-05-30 17:38:16 +02:00
obrusvit
d73f0dc79d perf(core/eckhart): constructing MenuItems
- self-referential builder pattern is easier on the stack memory usage
than consuming builder pattern
- store ButtonStyleSheet as a static ref
2025-05-30 17:38:16 +02:00
obrusvit
bd89e13493 refactor(core): return uPy Obj from DeviceMenu
[no changelog]
2025-05-30 17:38:16 +02:00
Roman Zeyde
3aab117046 refactor(core): unify menu and about Eckhart screens into an enum
[no changelog]
2025-05-30 17:38:16 +02:00
obrusvit
482b442c8e feat(eckhart): remove label shadow on default hs 2025-05-30 17:38:16 +02:00
Lukas Bielesch
a57fc3f8ed feat(core): update number input screen
- add time-handling functions
- add option to show time units
- add hold functionality to increment/decrement buttons
- add new device-menu actions
2025-05-30 17:38:16 +02:00
Lukas Bielesch
b8f018a419 fix(eckhart): fix failing tests: homescreen, fido, solana 2025-05-30 17:38:16 +02:00
obrusvit
12e1c456c7 feat(eckhart): port bootloader ble handling 2025-05-30 17:38:16 +02:00
obrusvit
0afc97227f fix(eckhart): a few alignment and style issues
- fix pyright
2025-05-30 17:38:16 +02:00
Lukas Bielesch
c66b435212 fix(eckhart): fix unstable click tests
- Differentiate input vectors for Eckhart due to different screen size
- paginate, where possible
2025-05-30 17:38:16 +02:00
Lukas Bielesch
2963065afc feat(eckhart): confirm_signverify, confirm_blob, ethereum, solana and nostr support 2025-05-30 17:38:16 +02:00
Lukas Bielesch
b45865a808 chore(eckhart): use dedicated function for menu buttons creation 2025-05-30 17:38:16 +02:00
Lukas Bielesch
40d9b049b8 chore(eckhart): update show_mismatch, confirm_output and confirm_value and progress_screen functions 2025-05-30 17:38:16 +02:00
Lukas Bielesch
4eb872e1c8 feat(eckhart): implement trait functions: confirm_value_intro,
confirm_modify_output, confirm_modify_fee, confirm_with_menu,
show_info_with_cancel and confirm_props
2025-05-30 17:38:16 +02:00
Lukas Bielesch
edfec4f407 feat(eckhart): update request number trait function
add request number flow instead of screen only
add updatable info screen to show extra information
2025-05-30 17:38:16 +02:00
Lukas Bielesch
da319daccb chore(eckhart): update get_address flow to use xpubs
- remove line ending hyphens from mono fonts
- update test to scroll through an entire page
2025-05-30 17:38:16 +02:00
Lukas Bielesch
b77db55330 chore(eckhart): TextScreen improvements
update page count for the content,
add page limit,
enable subtitle to have two lines
2025-05-30 17:38:16 +02:00
obrusvit
04b61ea6af feat(eckhart): render_loader and ProgressScreen
- `render_loader` shows classic circular loader going around the
display, implemented by rendering `ScreenBorder` and hiding it by 5
black rectangles which progressively diminish
- `render_loader_indeterminate` shows progress loader without known
duration, implemented by rendering `ScreenBorder` in clip which travels
around the SCREEN in an octagonal shape. This achieves an effect of a
constant length line going around the screen shape
- implement `show_progress` and `show_progress_coinjoin` FirmwareUI
functions

chore(eckhart): remove animation code from Header
2025-05-30 17:38:16 +02:00
obrusvit
843ef7d441 feat(eckhart): extract tile pattern constants 2025-05-30 17:38:16 +02:00
obrusvit
ad94f5e0a5 feat(core): animate ProgressLayout in Python
- the commit allows for smoother animation of the `ProgressLayout` by
stepping through the reported progress
2025-05-30 17:38:16 +02:00
obrusvit
f77ca411b2 chore(eckhart): re-export new Close icon 2025-05-30 17:38:16 +02:00
Lukas Bielesch
11d780a337 feat(eckhart): add FIDO2 support
- enable vertical menu swipe without animations
- FidoCredential component, confirm_fido flow and icons
- Fix show_error action bar and header colors
- Implement AllowedTextContent for FidoCredential
- Add new return type for VerticalMenuScreen
- provide short and long vertical menu
2025-05-30 17:38:16 +02:00
Lukas Bielesch
b3a114ee67 chore(eckhart): Implement new struct for word-selection menu
This simplifies the implementation of the verical menu
2025-05-30 17:38:16 +02:00
Lukas Bielesch
7e7015734d core(eckhart): Update Vertical Menu
Leave event processing to the Vertical Menu
Disable scrolling when the menu fits the screen
2025-05-30 17:38:16 +02:00
obrusvit
ae02d77852 feat(eckhart): use gradients in ActionBar 2025-05-30 17:38:16 +02:00
obrusvit
c48e8f8a90 feat(eckhart): fix hint padding 2025-05-30 17:38:16 +02:00
Lukas Bielesch
994b61e38b fix(eckhart): fix failing gen_check and rust tests 2025-05-30 17:38:16 +02:00
Martin Milata
39a1c81154 refactor(core): device menu modules
[no changelog]
2025-05-30 17:38:16 +02:00
Ioan Bizău
b1dce3974f feat(eckhart): introduce the device menu
- also add layouts for device pairing
- send device name and version to the device menu
2025-05-30 17:38:16 +02:00
obrusvit
6a208e9efa feat(eckhart): gradient buttons 2025-05-30 17:38:16 +02:00
obrusvit
5f13250963 chore(eckhart): remove Hint animation code 2025-05-30 17:38:16 +02:00
Lukas Bielesch
418ae5d4cd fix(eckhart): Fix behavior of set brightness screen:
Do not confirm brightness by releasing finger, but by pressing the cross button.
2025-05-30 17:38:16 +02:00
obrusvit
19b116894e feat(eckhart): improve confirmations 2025-05-30 17:38:16 +02:00
obrusvit
0bc1f2f44d feat(eckhart): auto PaginateOnly for TextScreen
- make sure that TextScreen has at least PaginateOnly ActionBar if the
content doesn't fit
2025-05-30 17:38:16 +02:00
obrusvit
53fbe51595 feat(eckhart): improve pagination of ActionBar
- Single mode now handles pagination with the right_button shown at the
last page
- new PaginateOnly mode to only render navigation buttons without
cancel/confirm buttons
2025-05-30 17:38:16 +02:00
Lukas Bielesch
3f1b5a9e28 chore(eckhart): minor improvements
- update trace function for firmware components
- add missing button requests
- update get address flow
- require long press to lock even with disabled animations
2025-05-30 17:38:16 +02:00
Lukas Bielesch
fa8e93d64a fix(eckhart): fix last pending char for max len passphrase 2025-05-30 17:38:16 +02:00
Lukas Bielesch
43cd9b4c10 feat(eckhart): set brightness screen 2025-05-30 17:38:16 +02:00
Lukas Bielesch
ad9002307e chore(eckhart): Update warnings title 2025-05-30 17:38:16 +02:00
Lukas Bielesch
51147804c9 feat(eckhart): confirm summary and output 2025-05-30 17:38:16 +02:00
Lukas Bielesch
5ac9457b0c chore(eckhart): TextScreen improvements
- add mono light font + remove trailing hyphen from mono style
- text screen subtitle
2025-05-30 17:38:16 +02:00
Lukas Bielesch
aee3b2b6ac fix(eckhart): minor fixes for recovery and reset screens
correct placement of numbers on the keypad,
fix number input screen for double-digit numbers,
remove unused menu button, use double action bar instead,
fix inconsistent hint use
update warning titles
2025-05-30 17:38:16 +02:00
Lukas Bielesch
0f4a64eea6 feat(eckahrt): continue_recovery and show_success
- make recovery notifications layout-specific
2025-05-30 17:38:16 +02:00
Lukas Bielesch
a465bfdb2e chore(eckhart): implement checklist screen & flow 2025-05-30 17:38:16 +02:00
obrusvit
24b4048916 feat(eckhart): default homescreen
- make homescreen hold to lock, lock the device by long-pressing the homescreen anywhere but the
action bar
2025-05-30 17:38:16 +02:00
obrusvit
9e92a23190 feat(eckhart): implement several FirmwareUI fns
- confirm_emphasize
- show_error
- homescreen ButtonContent
- homescreen and lockscreen
- HomeScreen, ConfirmHomescreen full-screen components
- confirm_set_new_pin
- fix clippy and style
2025-05-30 17:38:16 +02:00
obrusvit
7da1f732d8 feat(eckhart): implement BootloaderUI
- skimmed variants of Header, ActionBar, TextScreen, Menu
- implement ErrorScreen
- implement WelcomeScreen
- implement bootloader loader
- the implementation sits in the separate file `ui_bootloader.rs`
2025-05-30 17:38:16 +02:00
obrusvit
73ccb96fe6 chore(eckhart): cleanup code
- feature-gate non-bootloader fonts
- delete old bootloader components
- cleanup theme module
2025-05-30 17:38:16 +02:00
Lukas Bielesch
c777caf087 feat(eckhart): receive address flow
- add new action bar mode
- full-screen QR screen component
- show danger flow
- update address warnings
2025-05-30 17:38:16 +02:00
Lukas Bielesch
5cc3a0dfdb refactor(eckhart): update fonts and disabled button style
- Fix translation pattern
2025-05-30 17:38:16 +02:00
obrusvit
fee5624590 refactor(eckhart): ignore empty description
- don't show empty text in confirm_action
2025-05-30 17:38:16 +02:00
obrusvit
f6c0d0e87d feat(eckhart): improve ActionBar content
- button content is moved towards the center a bit
- shrink left button at the last page of paginated component
- change the order of render in `TextScreen` to account for Header
overlay. If the main content reaches the Header area, we do not want to
overlay it during Hold to Confirm animation
2025-05-30 17:38:16 +02:00
obrusvit
7a364fa215 refactor(eckhart): separate FW comps and theme 2025-05-30 17:38:16 +02:00
Lukas Bielesch
72640f3518 feat(eckhart): full-screen input number component 2025-05-30 17:38:16 +02:00
Lukas Bielesch
c9d8203fa4 chore(eckhart): update existing components accordint to new design 2025-05-30 17:38:16 +02:00
Lukas Bielesch
cf29524525 feat(eckahrt): implement show info UI trait function 2025-05-30 17:38:16 +02:00
Lukas Bielesch
cff6a498a2 feat(eckhart): prompt backup flow
- implement provisional show progress UI trait function
2025-05-30 17:38:16 +02:00
Lukas Bielesch
714e09383f feat(eckhart): confirm reset flow 2025-05-30 17:38:16 +02:00
Lukas Bielesch
fac1979d64 chore(eckhart): VerticalMenuScreen improvements
- implement Swipable trait for vertical menu screen
- add warning text styles
2025-05-30 17:38:16 +02:00
Lukas Bielesch
7663a3a20d core(eckhart): Fix failing unit test and warnings 2025-05-30 17:38:16 +02:00
Lukas Bielesch
57fe0e3e39 feat(eckhart): Full-screen get count component 2025-05-30 17:38:16 +02:00
obrusvit
66ecccda54 feat(eckhart): add easing and rollback to HtC anim
- also switch corner icons to 4px width
2025-05-30 17:38:16 +02:00
obrusvit
a2f618bd94 feat(eckhart): add alpha to ScreenBorder 2025-05-30 17:38:16 +02:00
obrusvit
d109a5b352 chore(eckhart): fix some clippy warnings 2025-05-30 17:38:16 +02:00
Lukas Bielesch
db8e8cd2b8 feat(eckhart): Add mnemonic input component
- BIP39 & SLIP39
2025-05-30 17:38:16 +02:00
Lukas Bielesch
f859c0bc6c feat(eckhart): full-screen mnemonic component 2025-05-30 17:38:16 +02:00
Lukas Bielesch
b95aebd2fc feat(eckhart): full-screen passphrase component
- and flow
2025-05-30 17:38:16 +02:00
Lukas Bielesch
547a4c357e feat(eckhart): full-screen PIN keyboard component 2025-05-30 17:38:16 +02:00
Lukas Bielesch
106b16191b feat(eckhart): keypad component 2025-05-30 17:38:16 +02:00
Lukas Bielesch
d1ad96426c feat(ui): Add visibility-checking function to Maybe struct 2025-05-30 17:38:16 +02:00
Lukas Bielesch
4a7148b349 feat(ui): Add function for expanding Button touch area 2025-05-30 17:38:16 +02:00
Lukas Bielesch
d3015dc2aa feat(eckhart): Add common keyboard functionality
- plus keyboard button styles
2025-05-30 17:38:16 +02:00
Lukas Bielesch
76ee57dd6c feat(eckhart): Add parametrized content offset to Button 2025-05-30 17:38:16 +02:00
Lukas Bielesch
36d1d6c4c3 chore(eckhart): Add dynamic padding option to vertical menu. Update rendering of separarators in vertical menu. 2025-05-30 17:38:16 +02:00
Lukas Bielesch
d270e3192a feat(eckhart): full-screen select word component 2025-05-30 17:38:16 +02:00
Lukas Bielesch
ced03df91a chore(eckhart): Remove redundant code 2025-05-30 17:38:16 +02:00
Lukas Bielesch
1992d41b00 chore(eckhart): Add dynamic padding option to vertical menu.
Update rendering of separarators in vertical menu.
2025-05-30 17:38:16 +02:00
Lukas Bielesch
da8effa3a3 chore(eckhart): fix button text and subtext rendering
- add new Button 'is_pressed' function
2025-05-30 17:38:16 +02:00
Lukas Bielesch
d7745d3d55 feat(eckhart): button styles for select word component 2025-05-30 17:38:16 +02:00
Lukas Bielesch
fa806f27eb feat(eckhart): ShareWords screen and flow 2025-05-30 17:38:16 +02:00
Lukas Bielesch
20a86432ce chore(eckhart): improve HTC animation 2025-05-30 17:38:16 +02:00
obrusvit
c74223ae88 feat(eckhart): expand touch area of ActionBar 2025-05-30 17:38:16 +02:00
obrusvit
f1e23d2e97 feat(eckhart): implement hold to confirm anim
- HoldToConfirmAnim is driven by the ActionBar in case the right_button
is configured with `long_press`
- HoldToConfirmAnim optionally draws an Header overaly with custom text
- disabling animations is respected
- easing function is not yet finalized
- a few minor fixes along the way
2025-05-30 17:38:16 +02:00
obrusvit
00ec83af5e feat(eckhart): implement ScreenBorder overlay
- a static "custom shape" for eckhart layout which displays screen
overlay around the borders
2025-05-30 17:38:16 +02:00
Lukas Bielesch
4480a8ba59 feat(eckhart): Update vertical menu components 2025-05-30 17:38:16 +02:00
Lukas Bielesch
38613dbf46 feat(eckhart): Add new Back Header message type 2025-05-30 17:38:16 +02:00
Lukas Bielesch
1d8fa6930e feat(eckhart): VerticalMenuScreen improvements
- Add vertical menu button styles
- Add battery icons
- Add MenuItem button content type
2025-05-30 17:38:16 +02:00
obrusvit
1c0429f932 feat(eckhart): full-screen vertical menu component 2025-05-30 17:38:16 +02:00
obrusvit
0696090691 feat(eckhart): implement basic UiFirmware fns
- confirm_action, confirm_value
- few show_xyz
- provisional homescreen
2025-05-30 17:38:16 +02:00
obrusvit
ea4d704a8a feat(core): add color op to FormattedText
[no changelog]
2025-05-30 17:38:16 +02:00
obrusvit
9b25644c17 feat(eckhart): full-screen textual component
- TextScreen is a full-screen component for (paginated) texts
- it's supposed to wrap FormattedText or Paragraphs
2025-05-30 17:38:16 +02:00
obrusvit
17ba44d8c1 feat(eckhart): componets
- Header
- Hint
- ActionBar
2025-05-30 17:38:16 +02:00
obrusvit
c96dc29bff feat(eckhart): stylekit
- icons
- textstyles
- fonts
2025-05-30 17:38:16 +02:00
obrusvit
62933d2d62 feat(eckhart): initial commit
- build
- directory structure
- bootloader UI and assets copied from delizia
- FirmwareUI trait functions are empty
- Python layout functions are copied from delizia except some of more
complicated ones which raise NotImplemented for now
2025-05-30 17:38:16 +02:00
tychovrahe
80a18f1156 fix(core/prodtest): fix backlight setting in prodtest
[no changelog]
2025-05-30 14:39:10 +02:00
tychovrahe
b8b2d7cf13 feat(core/bootloader): add separate bootloader-entry haptic effect
[no changelog]
2025-05-30 14:38:56 +02:00
tychovrahe
a688bae64b fix(core/bootloader): fix entering bootloader on battery powered devices
[no changelog]
2025-05-30 14:38:56 +02:00
kopecdav
7d3d2e877f refactor(core): add power manager api comments
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
b97d05247c fix(core/prodtest): fix power off led signalization
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
378b81b663 feat(core/prodtest): add command to adjust SOC limit
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
7de6e438eb fix(core/prodtest): adjust power manager command documentation
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
33b8b2c8f7 fix(core): fix kernel power manager initialization
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
b634eaca91 feat(core/bootloader): adjust boot sequence for battery devices
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
a4eaf4dc27 feat(core): respect manufacturing mode in power on sequence
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
2e23349419 feat(core/prodtest): limit charging in prodtest to 70% SOC
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
278a09f4c5 fix(core): improve robustness of device power on check
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
e01edaad4a feat(core/prodtest): add fuel gauge to prodtest welcome screen
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
26dc39b941 feat(core/bootloader): add power management to bootloader
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
c63ff3bf44 feat(core): implement reboot command to bypass button check
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
7fa4e2d510 fix(core/prodtest): fix power management initialization in prodtest
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
c89ca35bbc feat(core): event polling for power manager
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
e3be94d599 feat(core): add pm_get_events syscall
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
6e82c2415f refactor(core): refactor power manager syscalls
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
0cd38186bf fix(core): adjust to powerctl->power manager transition
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
48ef573649 refactor(core): remove recursion from power manager state machine automat
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
a530fb2c76 feat(core): add pm_charging_set_max_current function to API
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
e1e6d77ba5 feat(core): update fuel gauge parameters + agressive regions at charging profiles boundry
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
56c55cf69d feat(core): add charging profiles forced bounderies [no changelog] 2025-05-30 14:04:45 +02:00
kopecdav
b4fc523711 fix(core): fix power_manager dependencies
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
0e228caac1 feat(core) add prodtest precharge test [no changelog] 2025-05-30 14:04:45 +02:00
kopecdav
46272a854e fix(core) fuel gauge not updated while charging is IDLE.
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
4b9fb839cd refactor(core): split pmic as a separate feature
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
58e31be4ec feat(core): add power_state into prodtest pm_report
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
892a1b8171 style(core): fix cstyles [no changelog] 2025-05-30 14:04:45 +02:00
kopecdav
a3ab75b5aa fix(core): fix prodtest to not hibernate with external power source [no changelog] 2025-05-30 14:04:45 +02:00
kopecdav
f31e190795 feat(core): disclose full power manager state machine to app [no changelog] 2025-05-30 14:04:45 +02:00
kopecdav
6ba574cd82 feat(core): add pm stabilization in init function [no changelog] 2025-05-30 14:04:45 +02:00
kopecdav
f050136abb feat(core): store fuel gauge covariance into backup ram [no changelog] 2025-05-30 14:04:45 +02:00
kopecdav
ac65d1f59d chore(core): put soc recovery inside the pm_init [no changelog] 2025-05-30 14:04:45 +02:00
kopecdav
f6bb7684cc chore(core): add machine readable output of pm report [no changelog] 2025-05-30 14:04:45 +02:00
kopecdav
b3e76e557e fix(core): fix async pmic variable reading [no changelog] 2025-05-30 14:04:45 +02:00
kopecdav
17031852cf feat(core): add pm_wait_until_active function [no changelog] 2025-05-30 14:04:45 +02:00
kopecdav
704bf3ed7c feat(core): improve power_manager backup ram data check [no changelog] 2025-05-30 14:04:45 +02:00
kopecdav
7acac1a0fd fix(core): remove reduntant store to backup ram function [no changelog] 2025-05-30 14:04:45 +02:00
kopecdav
63b374067c fix(core) fix fuel gauge sampling period calculation [no changelog] 2025-05-30 14:04:45 +02:00
kopecdav
3beebe5956 fix(core): remove ULTRA_POWER_SAVE and STARTUP_REJECTED states, improve battery low state detection [no changelog] 2025-05-30 14:04:45 +02:00
kopecdav
19948372c7 feat(core): extend power manager backup ram data with battery critical flag
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
8e7d5a2a01 chore(core): unify prodtests under power_manager
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
3795ba9fc4 fix(core): fix wakeup flags in nrf lib [no changelog] 2025-05-30 14:04:45 +02:00
kopecdav
39c5c9b068 feat(core): remove powerctl, transfer all subordinate libraries into power manager
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
68d26f0c79 fix(core): fix styles
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
79f53f0c45 feat(core): add store_data_to_backup function
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
32e28246c7 feat(core): introduce power_control.c with hibernate function
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
ae92ae09d5 feat(core): integrate data recovery from backup ram
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
e1503eee53 fix(core): add power_manager into the prodtest
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
ebbe158dea feat(core): change event/state report structure
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
737526f431 feat(core): remove error event
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
5dd7fe334a refactor(core): rename REPORT_LOW_BATTERY state to REJECT_STARTUP
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
614528acb6 refactor(core): refactor pm prodtest to new namespace, add watch test
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
9c8db0bcba refactor(core): rename power_manager items to shorter pm
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
0fc4ad037e feat(core): Add power manager watch prodtest [no changelog] 2025-05-30 14:04:45 +02:00
kopecdav
6745cf01a5 feat(core): add battery SoC into power manager report [no changelog] 2025-05-30 14:04:45 +02:00
kopecdav
020b0ab3f6 feat(core): Add charging enable/disable functions [no changelog] 2025-05-30 14:04:45 +02:00
kopecdav
763d95dd4f feat(core): Add SoC settter to fuel gauge library [no changelog] 2025-05-30 14:04:45 +02:00
kopecdav
90468a2220 feat(core): add power manager to revison C [no changelog] 2025-05-30 14:04:45 +02:00
kopecdav
311a8f8d7c feat(core): Add Fuel gauge estimator into power_manager
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
936b46fa71 feat(core):Introduce charging controller [no changelog] 2025-05-30 14:04:45 +02:00
kopecdav
5b3c46c81f feat(core): Add power manager prodtest
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
32fea3855a feat(core): Introduce power_manager library [no changelog] 2025-05-30 14:04:45 +02:00
tychovrahe
a6fda4d814 feat(core/prodtest): add reboot to bootloader command
[no changelog]
2025-05-30 13:34:21 +02:00
tychovrahe
5c3cf0004e chore(core): bump FW and fix version due to storage migration
[no changelog]
2025-05-30 13:12:58 +02:00
tychovrahe
7fb272bade chore(core): remove unprivileged SAES on U5G models
[no changelog]
2025-05-30 13:12:58 +02:00
tychovrahe
6bb3c0cf1d feat(core): update storage to use privileged BHK 2025-05-30 13:12:58 +02:00
Ioan Bizău
295717d34b fix(delizia): allow slightly longer header if there is a button
[no changelog]
2025-05-28 11:18:00 +02:00
Ioan Bizău
faf71b3cd8 fix(delizia): don't allow the title to grow indefinitely
[no changelog]
2025-05-28 11:18:00 +02:00
Ioan Bizău
f6a41d2163 chore(translations): shorten tutorial string
[no changelog]
2025-05-28 11:18:00 +02:00
Ioan Bizău
e3b7e4fe8d chore(translations): shorten copy for re-enter new PIN
[no changelog]
2025-05-28 11:18:00 +02:00
Ioan Bizău
661b817c82 chore(translations): shorten wipe code copy
[no changelog]
2025-05-28 11:18:00 +02:00
Ioan Bizău
ea38f998b8 fix(bolt): make account name fit on the fido page
[no changelog]
2025-05-28 11:18:00 +02:00
Ioan Bizău
926e2225b5 feat(core/ui): make Delizia subtitle adjust to longer text
[no changelog]
2025-05-28 11:18:00 +02:00
Ioan Bizău
83b86298bf fix(core/ui): use subtitle on Delizia confirm_properties
[no changelog]
2025-05-28 11:18:00 +02:00
Ioan Bizău
fea2591813 chore(core/ui): raise exception on text overflow
[no changelog]
2025-05-28 11:18:00 +02:00
tychovrahe
6f96174c65 chore(core): regenerate bootloader hashes for U5G models
[no changelog]
2025-05-27 17:49:23 +02:00
tychovrahe
4f5b671283 feat(core/tools): adjust bootloader hashes to take account real bootloader max size
[no changelog]
2025-05-27 17:49:23 +02:00
Roman Zeyde
d52d4655d5 fix(core): don't confirm known Solana tokens' details 2025-05-27 15:32:15 +03:00
obrusvit
256d6d8ee7 fix(core/delizia): incorrect shares number input 2025-05-27 13:44:53 +02:00
tychovrahe
70e5561c3f feat(core): adjust bootloader locking for tropic-enabled models
[no changelog]
2025-05-27 13:38:56 +02:00
tychovrahe
539a0d08c8 fix(core/bootloader): fix BLE communication error message
[no changelog]
2025-05-27 13:01:29 +02:00
obrusvit
27d0190c99 fix(core/delizia): remove redundant workflow call
[no changelog]
2025-05-26 22:19:05 +02:00
obrusvit
0cd64d6a08 fix(core): fix Caesar PinEntry to use Title
- Title component uses Marquee internally which scrolls longer prompt
texts
- this fixes e.g. czech translations not fitting the screen
2025-05-26 01:32:55 +02:00
M1nd3r
60129f8369 fix(core): add MP_ERROR_TEXT to elligator2
[no changelog]
2025-05-25 14:45:09 +02:00
Ioan Bizău
b036345c5c feat(caesar): implement show_danger
[no changelog]
2025-05-23 14:31:11 +02:00
Ioan Bizău
8a5f599522 Merge branch 'release/25.05' into ibz/merge-release-25.05 2025-05-23 11:05:50 +02:00
cepetr
7983fdfd8d fix(core): fix truncated strings in rsod on emulator
[no changelog]
2025-05-22 16:05:12 +02:00
Roman Zeyde
1bdc48a73f feat(core): add success screen to transactions' signature flow 2025-05-22 16:22:04 +03:00
Roman Zeyde
946fc89449 feat(core): send address & public key response before showing StatusScreen
Co-authored-by: matejcik <ja@matejcik.cz>
2025-05-21 16:37:38 +03:00
Ioan Bizău
5a684cd5e3 fix(core): address later comments on ETH approve flow
[no changelog]
2025-05-21 14:13:10 +02:00
Ioan Bizău
508248bcb7 fix(delizia): make chunkified text have the same color
[no changelog]
2025-05-21 11:54:21 +02:00
Ioan Bizău
eb395000dc fix(delizia): use "tap" instruction on warnings
[no changelog]
2025-05-21 11:54:21 +02:00
Ioan Bizău
0ba8173424 feat(core): introduce a flow for ethereum approve 2025-05-21 11:54:21 +02:00
Roman Zeyde
05f951784e fix(core): fix tutorial-related translations 2025-05-19 14:45:30 +03:00
M1nd3r
df28c84e0b chore(storage): rename DEVICE_SECRET and CRED_AUTH_KEY_COUNTER
[no changelog]
2025-05-19 13:33:17 +02:00
M1nd3r
f190830fb7 chore(storage): make device secret and credential key counter persist reset
[no changelog]
2025-05-19 13:33:17 +02:00
tychovrahe
6bdac7614f feat(core): support handling of tropic keys in secret sector
[no changelog]
2025-05-19 11:41:36 +02:00
tychovrahe
9708d329e1 chore(core): introduce basic logical operations on secbool
[no changelog]
2025-05-19 11:41:36 +02:00
matejcik
9fc0c5d82b docs: improve external definition documentation
and introduce the new URL scheme

[no changelog]
2025-05-19 11:14:20 +02:00
tychovrahe
e4a31ab0e3 feat(core/prodtest): report build version in prodtest intro and version 2025-05-19 09:34:26 +02:00
tychovrahe
13a576c556 feat(core): add bin to hex conversion to Makefile
[no changelog]
2025-05-17 07:03:26 +02:00
tychovrahe
0b7e53e72d fix(core/bootloader): increase c_laoyout_t buffer size
[no changelog]
2025-05-16 14:56:23 +02:00
tychovrahe
048970d059 fix(core/bootloader): fix reboot trezor when called from waiting for host
[no changelog]
2025-05-16 14:56:23 +02:00
Roman Zeyde
7ebb00ff55 fix(core): handle DebugLink.input_wait_type when return_empty_state is set
Also, simplify `tests/upgrade_tests/recovery_old.py`.

[no changelog]
2025-05-16 11:57:55 +02:00
Roman Zeyde
d91822938a feat(core): annotate Python code with execution stats
[no changelog]
2025-05-15 19:52:33 +03:00
Roman Zeyde
846e890327 feat(core): count per-line execution when profiling
[no changelog]
2025-05-15 19:52:33 +03:00
Roman Zeyde
556e29b068 perf(core): enable MICROPY_ROM_TEXT_COMPRESSION
Also, use `__builtin_strcmp` instead of `strcmp`.

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

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

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

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

[no changelog]
2025-05-10 10:28:23 +03:00
tychovrahe
a15d2f621f feat(core): increase BLE TX packet size to 244B
[no changelog]
2025-05-07 17:08:40 +02:00
tychovrahe
c319e5fa20 refactor(core/bootloader): streamline initializing & deinitializing communication interfaces in bootloader
[no changelog]
2025-05-07 17:08:40 +02:00
tychovrahe
755cb359bd feat(core): suspend NRF&BLE driver, with or without connection
[no changelog]
2025-05-07 17:08:40 +02:00
tychovrahe
3f6a82ab67 feat(core): add wake up from suspend on NRF/BLE request
[no changelog]
2025-05-07 17:08:40 +02:00
tychovrahe
4f783c0a45 fix(core/prodtest): fix nrf communication tests
[no changelog]
2025-05-07 17:08:40 +02:00
tychovrahe
3fe0c90c1c feat(core): change internal communication with NRF to SPI only
[no changelog]
2025-05-07 16:36:40 +02:00
tychovrahe
54202b9f53 feat(nordic): send busy response when trezor is not listening to BLE messages
[no changelog]
2025-05-07 16:08:46 +02:00
tychovrahe
70014e103a feat(core/bootloader): add power-off item to the bootloader menu
[no changelog]
2025-05-07 15:23:46 +02:00
tychovrahe
37687f1815 feat(core): add BLE to bootloader 2025-05-07 14:54:28 +02:00
tychovrahe
8aaf68f39f feat(core): add BLE pairing complete event
[no changelog]
2025-05-07 14:54:28 +02:00
Roman Zeyde
5aa5d01c71 perf(core): use lookup tables for untranslated strings
Also, simplify `generated/translated_string.rs.mako` a bit.

[no changelog]
2025-05-07 14:15:22 +03:00
Roman Zeyde
2e9dfab8d1 style(core): simplify Rust translation conversions
[no changelog]
2025-05-07 12:40:42 +03:00
Roman Zeyde
7661c13a22 feat(vendor): reimplement utils.presize_module() in C
[no changelog]
2025-05-07 12:18:52 +03:00
Roman Zeyde
ffea765a85 fix(core): disable check_free_heap also in debug firmware
Currently, it may misdetect on-heap buffers' data as valid heap
pointers (resulting in `gc_mark_subtree` false-positives).

[no changelog]
2025-05-07 10:37:38 +03:00
cepetr
010c5adf89 refactor(core): remove firmware_calc_hash callback
[no changelog]
2025-05-06 16:33:36 +02:00
obrusvit
4005e136e0 feat(emu): add LED capability to emulator
[no changelog]
2025-05-06 15:47:04 +02:00
tychovrahe
50411367af refactor(core): unify button polling functionality
[no changelog]
2025-05-06 12:57:39 +02:00
tychovrahe
6860c4be0a refactor(core): unify touch polling functionality
[no changelog]
2025-05-06 12:57:39 +02:00
obrusvit
2a65d18200 fix(core): fix Delizia request_number dialog
- NumberInputDialog now reacts to tap to continue
- change the types there to u16 to be consistent with NumberInputSlider

(cherry picked from commit 8ba5b4b6b2)
2025-05-06 08:45:16 +02:00
Roman Zeyde
ed89a99fa6 fix(core): handle empty 'info_items' in Caesar 'confirm_value'
[no changelog]

(cherry picked from commit bf2a588a25)
2025-05-06 08:41:40 +02:00
Roman Zeyde
749c0bc8b2 chore(core): use systick_us for mp_hal_ticks_us
[no changelog]
2025-05-06 09:37:17 +03:00
Martin Milata
8a0cf0e29a build(core): remove LD_LIBRARY_PATH workaround from Makefile
Normal CI workflows seem to work fine with it and it broke
`make upload` on some setups.

[no changelog]
2025-05-05 18:14:03 +02:00
obrusvit
8ba5b4b6b2 fix(core): fix Delizia request_number dialog
- NumberInputDialog now reacts to tap to continue
- change the types there to u16 to be consistent with NumberInputSlider
2025-05-05 14:58:36 +02:00
Roman Zeyde
bf2a588a25 fix(core): handle empty 'info_items' in Caesar 'confirm_value'
[no changelog]
2025-05-05 15:31:11 +03:00
Roman Zeyde
d3df16e84e fix(core): propagate exceptions via unimport.__exit__
[no changelog]
2025-05-02 10:45:55 +03:00
tychovrahe
c6dedea7b3 chore(core/prodtest): improve CLI parameter documentation
[no changelog]
2025-05-01 19:53:00 +02:00
tychovrahe
e9b47d1116 chore(core/prodtest): fix time units in readme for NFC commands
[no changelog]
2025-05-01 19:53:00 +02:00
tychovrahe
a22563c01a chore(core/prodtest): fix typos in prodtest
[no changelog]
2025-05-01 19:53:00 +02:00
tychovrahe
3a9315cc58 feat(core/prodtest): allow infinite testing of NFC functionalities
[no changelog]
2025-05-01 19:53:00 +02:00
Ioan Bizău
8ad1069166 chore(core): bump version to 2.8.11
[no changelog]
2025-05-01 08:53:26 +02:00
Ioan Bizău
1dc9942acf docs: add Solana to changelogs 2025-04-30 15:47:54 +02:00
kopecdav
aa16fa71d6 fix(core): remove backup ram deinit outside of FIXED_HW_DEINIT
[no changelog]
2025-04-30 15:18:02 +02:00
kopecdav
ab8aeaa102 fix(core): let LDO selection to sattle before BREN bit is being set [no changelog] 2025-04-30 15:18:02 +02:00
kopecdav
c9984fabb2 fix(core): fix backup ram prodtest argument parsing
[no changelog]
2025-04-30 15:18:02 +02:00
kopecdav
ae02677ca2 feat(core): add backup ram global initialization in bootloader, prodtest and kernel
[no changelog]
2025-04-30 15:18:02 +02:00
kopecdav
dec252df77 fix(core): Enable Backup SRAM in VBAT mode [no changelog] 2025-04-30 15:18:02 +02:00
kopecdav
dba76ea3e8 feat(core): Add backup ram driver to T3W1 rev A and B [no changelog] 2025-04-30 15:18:02 +02:00
kopecdav
bece935d67 refactor(core): Remove backup ram section from linker [no changelog] 2025-04-30 15:18:02 +02:00
kopecdav
eea75534e5 fix(core): Remove initialized check from backup ram erase function [no changelog] 2025-04-30 15:18:02 +02:00
kopecdav
5ae5d97328 feat(core): Add backup_ram header, version and consistency checks + minor refactor [no changelog] 2025-04-30 15:18:02 +02:00
kopecdav
7f27730b5d feat(core): Add backup driver prodtest [no changelog] 2025-04-30 15:18:02 +02:00
kopecdav
edd72eeaa0 feat(core): Introduce backup_ram driver [no changelog] 2025-04-30 15:18:02 +02:00
Martin Milata
e21c80bfcb docs: fix changelogs 2025-04-30 14:18:26 +02:00
kopecdav
bfd78c8d6e feat(core): Update fuel gauge charging mode + Update battery model to separate battery data in standalone header file. [no changelog] 2025-04-30 12:55:49 +02:00
kopecdav
3b407e8dc8 feat(core): Add fuel_gauge prodtest [no changelog] 2025-04-30 12:55:49 +02:00
kopecdav
76cffbc5c6 feat(core): Introduce fuel gauge library [no changelog] 2025-04-30 12:55:49 +02:00
Ioan Bizău
de81d59aca chore(build): changelog 2025-04-30 09:58:21 +02:00
Ioan Bizău
23058e10df chore(build): update definitions timestamps 2025-04-30 09:15:20 +02:00
Martin Milata
ac9dec3eb7 chore(core): update bundled bootloader for T3B1 to version 2.1.10 2025-04-29 19:03:09 +02:00
Ioan Bizău
38f51f40b2 chore(core/ui): use better font on Delizia properties
[no changelog]
2025-04-29 16:09:28 +02:00
matejcik
17990e1c80 style: fix linter complaints 2025-04-29 14:54:41 +02:00
matejcik
ff1c9b9f9a tests(core): run make test headless
don't spam the emulator window ^_^
2025-04-29 14:54:41 +02:00
matejcik
f10588b2b6 tests(core): split up definition unit tests and add Solana cross-parseability check 2025-04-29 14:54:41 +02:00
matejcik
c21cc2034b fix(core/protobuf): properly fail on wire type mismatch
otherwise we'd happily mis-parse a length-delimited field as a varint
one, accepting the length as the varint value and consuming garbage from
the length-delimited data for the next fields
2025-04-29 14:54:41 +02:00
matejcik
4e7d265312 fix(core/solana): fix UI for Solana transactions after recent changes 2025-04-29 14:54:41 +02:00
matejcik
7e10e25514 fix(core/solana): improve token info display 2025-04-29 14:54:41 +02:00
matejcik
dd5a3365a9 fix(core/solana): avoid looking at not-exposed instruction ids 2025-04-29 14:54:41 +02:00
matejcik
e4e6d60e64 refactor(core/solana): restructure programs.json and related code 2025-04-29 14:54:41 +02:00
Eugene Rossokha
e3af93e89f feat(core): display correct rent information 2025-04-29 14:54:41 +02:00
Eugene Rossokha
ffbdea202a feat(core): add loadable solana tokens 2025-04-29 14:54:41 +02:00
Eugene Rossokha
1d444c3845 fix(core): add display_name for missing token_mint 2025-04-29 14:54:41 +02:00
obrusvit
71cc10a72a fix(delizia): fix a peek-a-boo label
- this commit fixes a minor UX bug in which "Tap to unlock" gesture
showed the device name label for a very brief moment before PIN keyboard
was rendered
- the label is now showed if a user taps outside the lockscreen circles,
"Tap to unlock" gesture is now registered only in the middle similarly
to "Tap to confirm"

[no changelog]
2025-04-29 12:52:05 +02:00
obrusvit
cdc08d1075 feat(delizia): homescreen improvements
- dim inner logo
- show "Unlocked" on Homescreen under device name
- show instruction "Continue in the app"
- register "Tap to unlock" gesture in the middle similarly to "Tap to
confirm". Tapping outside shows the label on lockscreen
- play haptic on "Tap to unlock"
2025-04-29 12:52:05 +02:00
M1nd3r
10f9254f7a chore(core): remove wire_log from non-debug builds
[no changelog]
2025-04-28 23:52:47 +02:00
M1nd3r
b420f1d434 chore(core): add wire logging with interface
[no changelog]
2025-04-28 23:52:47 +02:00
M1nd3r
b6e0940ad7 chore(core): simplify exception func in log.py
[no changelog]
2025-04-28 23:52:47 +02:00
obrusvit
be3a7cec62 chore(core): shorten some foreign copy
- shorten some strings related to reset/recovery flows of Delizia

[no changelog]
2025-04-28 19:53:43 +02:00
Roman Zeyde
09a323e578 fix(core): remove debug-related data from PYOPT=1 firmware builds
It reduces T3T1 release universal firmware size by ~2kB:
```
Memory region         Used Size  Region Size  %age Used
           FLASH:     1580304 B      1664 KB     92.74%
```

Before this PR:
```
Memory region         Used Size  Region Size  %age Used
           FLASH:     1578256 B      1664 KB     92.62%
```

(Tested with `TREZOR_MODEL=T3T1 PYOPT=1 make -C core build_firmware`)

[no changelog]
2025-04-24 17:27:21 +03:00
Roman Zeyde
65e8f96428 chore(core): update main_clean_exit comment
We are not using `atexit()` handler following #4892.

[no changelog]
2025-04-24 16:26:36 +03:00
Roman Zeyde
41db573ef9 feat(core): check that GC restores free heap memory
Enabled only for frozen debug builds.

[no changelog]
2025-04-24 16:26:36 +03:00
Roman Zeyde
a787d21b3f fix(core): preallocate save_screen_directory to allow heap checking
Otherwise, free heap memory will decrease after handling `DebugLinkRecordScreen`.

[no changelog]
2025-04-24 16:26:36 +03:00
Roman Zeyde
bd9d303310 perf(core): optimize AddressDetails::xpubs layout
[no changelog]
2025-04-24 16:17:17 +03:00
kopecdav
f9dfb3ef1b feat(core): Add max backlight limit to backlight driver. [no changelog] 2025-04-24 12:19:57 +02:00
Roman Zeyde
46d6732462 feat(core): don't use heap for storing coverage data
[no changelog]
2025-04-24 07:39:46 +03:00
Roman Zeyde
2e635a04fc chore(core): fix a few clippy warnings
[no changelog]
2025-04-24 07:39:46 +03:00
cepetr
8b0736c360 fix(prodtest): increase vcp ring buffer size
[no changelog]
2025-04-23 13:32:21 +02:00
Roman Zeyde
f20c2d551d perf(core): encode Timer using a single u32
[no changelog]
2025-04-23 12:38:34 +03:00
Pavol Rusnak
9037c398eb
chore(crypto): use new email for stick 2025-04-20 22:04:38 +02:00
Roman Zeyde
f89e7670c5 fix(core): update EIP-1559 fee-related labels
Translations will be updated in a separate PR.
2025-04-18 20:29:47 +03:00