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
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
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
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
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
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
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
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
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
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
241fcc0044
feat(core): homescreen streaming
...
[no changelog]
2025-05-14 23:57:03 +02: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
3a7850f6a0
chore: remove BNB Beacon Chain support
2025-05-13 09:04:48 +03: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
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
452e63c4fb
feat(core): add display feature to SConscript
...
[no changelog]
2025-05-12 07:57:46 +02: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
749c0bc8b2
chore(core): use systick_us
for mp_hal_ticks_us
...
[no changelog]
2025-05-06 09:37:17 +03: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
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
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
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
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
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
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
Eugene Rossokha
e3af93e89f
feat(core): display correct rent information
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
b420f1d434
chore(core): add wire logging with interface
...
[no changelog]
2025-04-28 23:52:47 +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
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
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
Roman Zeyde
75700d9f7f
fix(core): dump allocated QSTRs also in debug firmware
...
Otherwise, it's hard to understand which QSTR causes the assertion error.
[no changelog]
2025-04-17 15:59:08 +03:00
cepetr
a05ce8aa70
fix(core): fix USB VCP freeze on T3W1 in prodtest
...
[no changelog]
2025-04-17 11:45:26 +02:00
Martin Milata
0ec2dbd583
fix(core/unix): HIDPI on macOS 15
...
[no changelog]
2025-04-16 17:27:11 +02:00
Martin Milata
e81617e1c6
build(core): fix build for GCC14
...
[no changelog]
2025-04-16 17:27:11 +02:00
Roman Zeyde
d50181b7f9
fix(core): check QSTR run-time allocations only for frozen debug builds
...
[no changelog]
2025-04-15 14:22:47 +03:00
Martin Milata
2a40d91790
refactor(core): convert modtrezorio.ble to rust
...
[no changelog]
2025-04-15 13:08:37 +02:00
Martin Milata
b35d2f4000
refactor(core/rust): expose RuntimeError
...
[no changelog]
2025-04-15 13:08:37 +02:00
Martin Milata
1c09490f3b
refactor(core/io): add pairing_code to ble_command_data_t
...
[no changelog]
2025-04-15 13:08:37 +02:00
matejcik
a50e49afa9
chore(core): include T3B1 certificate for the emulator
2025-04-15 12:37:25 +02:00
matejcik
0db727b21b
chore(core): include T3W1 certificate for the emulator
2025-04-15 12:37:25 +02:00
Roman Zeyde
9bd81926af
feat(core): check for runtime QSTR allocations
...
[no changelog]
2025-04-14 22:42:16 +03:00
Roman Zeyde
2975a07f1f
chore(core): remove unused path
definitions from MicroPython emulator
...
[no changelog]
2025-04-14 22:42:05 +03:00
Roman Zeyde
c2dd63a6bd
chore(core): move core/prof
into core/src/prof
...
It would allow interning profiling-related QSTRs in debug emulator builds.
[no changelog]
2025-04-14 22:40:52 +03:00
Roman Zeyde
c90b30fbf7
chore(core): intern Monero-related QSTRs
...
[no changelog]
2025-04-14 22:39:24 +03:00
Roman Zeyde
599c17cd29
build(core): refactor qstrdefsport.h
generation
...
Allow excluding debug-related QSTRs.
[no changelog]
2025-04-14 22:39:24 +03:00
Roman Zeyde
6473b3ca48
feat(vendor): update MicroPython to support sorted qstr pools
...
Requires https://github.com/trezor/micropython/pull/20 .
[no changelog]
2025-04-14 21:20:08 +03:00
Andrew Kozlik
e80e979fdd
docs(core): Document Optiga configuration.
...
[no changelog]
2025-04-14 17:10:07 +02:00
cepetr
8a636bd9cf
fix(core): make mod_trezorio_poll return False only on timeout
...
[no changelog]
2025-04-14 12:30:52 +02:00
cepetr
75f9821cf1
fix(core): improve rgb_led driver deinitialization
...
[no changelog]
2025-04-09 22:10:11 +02:00
cepetr
0b673c2772
fix(core): fix ft6x36 interrupt pin deinitialization
...
[no changelog]
2025-04-09 22:10:11 +02:00
cepetr
ad80d5c1de
fix(core): fix tropic driver deinitialization
...
[no changelog]
2025-04-09 22:10:11 +02:00
cepetr
47d1378d28
refactor(core): simplify display driver deinitialization
...
[no changelog]
2025-04-09 22:10:11 +02:00
cepetr
2017c5931e
feat(core): optimize pmic power consumption
...
[no changelog]
2025-04-09 22:10:11 +02:00
cepetr
9537c8a80d
feat(core): deinitialize tropic driver before suspending
...
[no changelog]
2025-04-09 22:10:11 +02:00
Martin Milata
23cc83f3ba
refactor(core): ble: expose connection state in micropython
...
[no changelog]
2025-04-09 21:25:37 +02:00
Martin Milata
fe20466ed7
fix(core): modtrezorio-ble cleanup
...
[no changelog]
2025-04-09 21:25:37 +02:00
Martin Milata
0ecff7182b
build(core): allow ble feature in emulator
...
[no changelog]
2025-04-09 21:25:37 +02:00
Ioan Bizău
40756a0941
fix(core/ui): use "..." ellipsis in "show more"
2025-04-09 15:57:01 +02:00
Martin Milata
828e1868ab
docs: fix broken changelog links
2025-04-09 10:11:21 +02:00
obrusvit
ad9f85b21d
chore(core): remove redundant Error messages
...
[no changelog]
2025-04-08 15:44:51 +02:00
Roman Zeyde
8df465d7e8
build(core): replace all_modules.py
by qstrdefsport.h
...
[no changelog]
2025-04-07 20:19:31 +03:00
Roman Zeyde
879cc69c63
perf(core): intern non-alphanumeric characters
...
It was found by running `micropython.mem_info()` with the following patch:
```diff
diff --git a/py/gc.c b/py/gc.c
index 604334c95..bff62b754 100644
--- a/py/gc.c
+++ b/py/gc.c
@@ -840,6 +840,7 @@ void gc_dump_info(void) {
(uint)info.total, (uint)info.used, (uint)info.free);
mp_printf(&mp_plat_print, " No. of 1-blocks: %u, 2-blocks: %u, max blk sz: %u, max free sz: %u\n",
(uint)info.num_1block, (uint)info.num_2block, (uint)info.max_block, (uint)info.max_free);
+ qstr_dump_data();
}
void gc_dump_alloc_table(void) {
```
New QSTR definitions:
```
$ tail -n4 ./core/build/unix/genhdr/qstrdefs.generated.h
QDEF(MP_QSTR__paren_close_, 46476, 1, ")")
QDEF(MP_QSTR__paren_open_, 46477, 1, "(")
QDEF(MP_QSTR__lt_, 46489, 1, "<")
QDEF(MP_QSTR__semicolon_, 46494, 1, ";")
```
[no changelog]
2025-04-07 20:19:31 +03:00
cepetr
b50e201ea5
fix(core): improve simulation of lost TOUCH_START events
...
[no changelog]
2025-04-07 17:49:04 +02:00
cepetr
a6bfe399ff
fix(core): ensure touch_get_event does not return zero after TOUCH_START
...
[no changelog]
2025-04-07 17:49:04 +02:00
cepetr
dd2af348dc
fix(core): ensure touch_get_state does not return 0
...
[no changelog]
2025-04-07 17:49:04 +02:00
cepetr
f46bfb4bfe
feat(core): fix out-of-range touch coordinates on T3W1
...
[no changelog]
2025-04-07 17:49:04 +02:00
tychovrahe
f1120d53c2
fix(core/prodtest): provide BLE driver with pairing code when accepting pairing
...
[no changelog]
2025-04-07 15:05:57 +02:00
tychovrahe
0355ea6dd3
feat(core): send pairing code to NRF when accepting pairing
...
[no changelog]
2025-04-07 15:05:57 +02:00
kopecdav
56bad5bd3a
feat(core): Update stwlc38 patching cut selection + new stwlc38 FW patch and configs [no changelog]
2025-04-07 13:42:10 +02:00
tychovrahe
3db788d80a
fix(core): fix NFC deinitialization
...
[no changelog]
2025-04-07 13:41:16 +02:00
tychovrahe
d506abd9db
fix(core/bootloader_ci): fix firmware upload
...
[no changelog]
2025-04-04 16:20:01 +02:00
cepetr
ced0a1462e
feat(core): emulate hw jpeg decoder using libjpeg
...
[no changelog]
2025-04-04 12:59:44 +02:00
cepetr
307ac2517d
feat(core): introduce JpegOverlay shape
...
[no changelog]
2025-04-04 12:59:44 +02:00
cepetr
db057ff6ae
feat(core): allow JPEG image to be decoded as Mono8 bitmap
...
[no changelog]
2025-04-04 12:59:44 +02:00
cepetr
622fa05e48
feat(core): improve blending of mono8 bitmaps
...
[no changelog]
2025-04-04 12:59:44 +02:00
tychovrahe
7e2847c357
fix(core): allow running firmware on locked bootloader device based on allow_run_with_secret flag
2025-04-03 18:59:52 +02:00
tychovrahe
1fc6feda80
fix(core): make ble_event upy api function optional
...
[no changelog]
2025-04-03 16:17:12 +02:00
tychovrahe
4adf6d087d
feat(core): add BLE unpair command & message
...
[no changelog]
2025-04-03 16:17:12 +02:00
tychovrahe
51ff4f5946
feat(core): add unpair command to BLE
...
[no changelog]
2025-04-03 16:17:12 +02:00
tychovrahe
8ea957b8e1
feat(core/prodtest): add hibernation on power button long-press
...
[no changelog]
2025-04-03 16:06:20 +02:00
tychovrahe
f579d31684
refactor(core/prodtest): make cli non-blocking, event-loop compatible
...
[no changelog]
2025-04-03 16:06:20 +02:00
Roman Zeyde
08bcedcaa5
fix(core): correct __main__
dict size retrieval in firmware
...
Otherwise, it fails to boot.
[no changelog]
2025-04-03 14:45:13 +03:00
Martin Milata
469f093b8a
feat(core): include pairing code in BLE_ALLOW_PAIRING command
...
[no changelog]
2025-04-02 17:08:34 +02:00
Martin Milata
88706d12f8
feat(core): ble: expose allow/reject pairing in micropython
...
[no changelog]
2025-04-02 17:08:34 +02:00
Roman Zeyde
e6f96974de
feat(core): check for sys.modules
and main
globals reallocations
...
Rewrite the static comparison in `utils.unimport_end()` in C.
[no changelog]
2025-04-02 16:01:51 +03:00
Roman Zeyde
ec87d2d21d
fix(core): presize __main__
module to avoid heap fragmentation
...
[no changelog]
2025-04-02 16:01:51 +03:00
tychovrahe
101d584aa4
fix(core): fix BLE polling
...
[no changelog]
2025-04-01 21:53:30 +02:00
cepetr
7248bf2a48
fix(core): fix issue with frame buffer access on D001
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
cfea362cfc
fix(core): skip polling in storage callback (workaround)
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
7dcdb54262
feat(core): introduce new polling in coreapp event loop
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
7994a0b93b
feat(core): introduce kernel event loop
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
2dff869883
feat(core): add event polling to ble driver
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
edf3f19ef5
feat(core): add event polling to usb hid driver
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
97bb16776d
feat(core): add event polling to usb vcp driver
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
f61da5777a
feat(core): add event polling to usb webusb driver
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
cd97b8c55b
feat(core): add event polling to usb driver
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
4815118a6d
feat(core): add event polling to touch driver
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
8d7a25e5eb
feat(core): add event polling to button driver
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
b9d15cb343
feat(core): introduce system-level event polling
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
6b045dd43d
feat(core): introduce systask id & task count limit
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
24048d7094
fix(core): remove unused function declaration
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
271f029be7
fix(core): fix emulator build on macOS
...
[no changelog]
2025-04-01 10:00:26 +02:00
Roman Zeyde
ad73e41080
feat(core): support USB/BLE sessions
...
All interfaces are sharing a single 8kB buffer.
It is reallocated once per session and is acquired by the first active session.
Other concurrent sessions will respond with an "Another session in progress" error.
[no changelog]
2025-03-31 13:20:53 +03:00
tychovrahe
9d46ad259c
fix(core/prodtest): remove final wait from report commands
...
[no changelog]
2025-03-27 18:25:46 +01:00
tychovrahe
b7b8e77ccb
feat(core): enable tropic in firmware/kernel on hw
...
[no changelog]
2025-03-27 11:59:10 +01:00
Roman Zeyde
ac0fc30ee9
perf(core): intern single-digit strings
...
[no changelog]
2025-03-26 21:16:06 +02:00
Roman Zeyde
bafad6e453
chore(core): remove unused function from modtrezorutils-meminfo.h
...
[no changelog]
2025-03-26 21:16:06 +02:00
Roman Zeyde
48b2f07ad3
fix(core): correct dump_qstr_pool()
...
[no changelog]
2025-03-26 21:16:06 +02:00
tychovrahe
4fce1f55ee
fix(core): fix bootloader build for models with HW keys but without optiga
...
[no changelog]
2025-03-26 14:59:19 +01:00
Roman Zeyde
19f576123c
feat(core): enable GC map dump on debug firmware
...
[no changelog]
2025-03-25 12:05:52 +02:00
tychovrahe
3bccf2d8f7
fix(core): fix emulator usb polling
...
[no changelog]
2025-03-24 14:31:14 +01:00
tychovrahe
4d48fbf845
fix(core): fix emulator usb deinitialization
...
[no changelog]
2025-03-24 14:31:14 +01:00
tychovrahe
8e0e3a1787
refactor(core): complete bootloader refactoring
2025-03-24 14:31:14 +01:00
obrusvit
9a14654ff7
perf(core): improve render in Delizia button
...
- allcase_text_height unnecessarily loads GlyphData in this frequent
call, text_height just reads a constant
[no changelog]
2025-03-24 12:11:56 +01:00
obrusvit
079873ced7
feat(core): use newer version of Delizia fonts
2025-03-24 12:11:56 +01:00
cepetr
5b9caf1ac6
fix(core): enable shsi clock after resuming from suspend mode
...
[no changelog]
2025-03-24 10:38:53 +01:00
Roman Zeyde
1e3b02771b
fix(core): don't use 'static
lifetime for BLEEvent
...
[no changelog]
2025-03-21 17:13:27 +02:00
matejcik
acc584ce25
fix(core/rust): fix quotes in bindgen macros for T2B1
2025-03-21 12:16:23 +01:00
Roman Zeyde
9926df6ab5
fix(core): add LayoutObj.ble_event
mock
...
[no changelog]
2025-03-20 15:22:32 +02:00
Roman Zeyde
fabb5e8c6c
perf(core): don't allocate if BLE event data is empty
...
BLE event data is not empty only on pairing:
```
core/embed/io/ble/stm32/ble.c
176: ble_event_t event = {.type = BLE_CONNECTED};
182: ble_event_t event = {.type = BLE_DISCONNECTED};
227: ble_event_t event = {.type = BLE_PAIRING_REQUEST, .data_len = 6};
244: ble_event_t event = {.type = BLE_PAIRING_CANCELLED, .data_len = 0};
```
[no changelog]
2025-03-20 15:22:32 +02:00
tychovrahe
cf00130409
feat(core): add support T3W1 rev C board
...
[no changelog]
2025-03-20 11:07:49 +01:00
tychovrahe
6fb65bcfd9
refactor(core): refactor button events
...
[no changelog]
2025-03-20 11:07:34 +01:00
tychovrahe
36a047cd30
feat(core): stm32u5 i2c driver - support up to 5 i2c busses
...
[no changelog]
2025-03-20 10:33:44 +01:00
tychovrahe
8e4ed1181e
feat(core): increase the number of available systimers
...
[no changelog]
2025-03-20 10:33:44 +01:00
Roman Zeyde
f4328acfd6
fix(core): don't invoke dump_meminfo_json
on emulator
...
[no changelog]
2025-03-20 11:05:01 +02:00
Roman Zeyde
566b69fb24
perf(core): simplify Button struct to save RAM
...
[no changelog]
2025-03-20 09:29:56 +02:00
Roman Zeyde
611d74c1b3
fix(core): correct confirmation fonts in Bolt
2025-03-18 13:23:39 +02:00
Roman Zeyde
2f97b61870
fix(core): correct confirmation title on Caesar
2025-03-18 12:32:36 +02:00
Roman Zeyde
5fd168c363
feat(core): dump GC arena on OOM
...
Enabled for debug firmware and non-frozen emulator.
JSON dump can be extracted from debug log and analyzed using:
$ awk '/^\[$/,/^\]$/' <debug.log >dump.json
$ core/tools/analyze-memory-dump.py dump.json
[no changelog]
2025-03-17 20:17:42 +02:00
Roman Zeyde
2333a6a262
feat(core): log GC info in case of OOM
...
Enabled on debug firmware and non-frozen emulator.
[no changelog]
2025-03-17 20:17:42 +02:00
cepetr
0fb1693ea8
feat(code): introduce dbg_printf for kernel debugging
...
[no changelog]
2025-03-14 14:17:27 +01:00
Ioan Bizău
3efa0480c6
feat(core): add libtropic to the unix build
...
[no changelog]
2025-03-13 15:08:48 +01:00
Roman Zeyde
c95158751a
build(core): allow increasing VCP write timeout
...
It should allow us exporting larger amounts of debug data.
[no changelog]
2025-03-13 16:07:09 +02:00
Roman Zeyde
6bf11ab29f
chore(core): use smaller vectors for ShowInfoParams
...
[no changelog]
2025-03-12 08:12:54 +02:00
cepetr
b5053d9f6e
fix(core): add kernel access to assets by default ( #4759 )
...
[no changelog]
2025-03-11 07:58:57 +01:00
tychovrahe
103568e2e5
feat(core/prodtest): show device ID in prodtest QR code
2025-03-08 12:26:41 +01:00
tychovrahe
661a30e390
feat(core/prodtest): support writing device ID into OTP memory
2025-03-08 12:26:41 +01:00
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
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
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
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
obrusvit
55101b8013
fix(core): fix delizia set brightness setting
...
[no changelog]
2025-03-03 15:59:59 +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
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
ac49c3e284
fix(core): fix ExtraInfo
menu cancellation
...
[no changelog]
2025-02-28 13:51:37 +02: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
Andrew Kozlik
91ee49c20b
chore(core, crypto): Remove unused function mnemonic_generate().
...
[no changelog]
2025-02-26 17:20:58 +01: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
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
19c9e502d7
feat(core): add new translation entries for Solana staking layouts
...
[no changelog]
2025-02-25 11:55:03 +01:00
Roman Zeyde
803955b047
feat(core): add description
to Delizia confirm_output()
...
It will allow confirming the vote account for Solana staking.
[no changelog]
2025-02-25 11:55:03 +01:00
Roman Zeyde
8a5373c733
feat(core): add extra info item to summary menu on Delizia
...
It will allow confirming the blockhash for Solana transactions.
Also, simplify arguments passing into `new_confirm_output()`.
[no changelog]
2025-02-25 11:55:03 +01:00
Roman Zeyde
2284b338c8
feat(core): skip empty fee entry in UICaesar::confirm_summary
...
Otherwise, we may get an additional empty confirmation screen.
[no changelog]
2025-02-25 11:55:03 +01:00
kopecdav
9f03e0c37b
feat(core): Add prodtest function which prints simple text log on the screen [no changelog]
2025-02-21 10:15:12 +01:00
matejcik
61a3382abd
fix(core/rust): increase capacity of debug error message
...
slicing the str like before is wrong because we may just happen to hit
in the middle of an utf8 sequence, which will cause a silent panic.
this way we at least get a visible panic: either "Text too long: <full
text>", or "unwrap failed" if the text doesn't fit into the 128-byte
string instance
2025-02-20 16:09:14 +01:00
matejcik
68d979a513
fix(core): exclude unused strings from firmware
...
this will prevent Rust code from building if it relies on a removed
string, and raise an AttributeError in python
2025-02-20 16:09:14 +01:00
Martin Milata
d375db9fc2
fix(tools): changelog.py: stricter model list format
2025-02-19 22:05:32 +01:00
matejcik
ca78c01e28
build(core/rust): fix cargo build
without envvars
...
...restoring functionality of rust-analyzer
2025-02-19 19:21:38 +01:00
obrusvit
45adcd963a
refactor(core): remove unused delizia component
...
[no changelog]
2025-02-18 13:04:44 +01:00
Roman Zeyde
ae3b6434fc
feat(core): allow more paragraphs in ShowInfoParams
...
Otherwise, it fails when showing 4 items.
Note that each item results in 2 paragraphs (key and value).
Also, items are separated by an empty paragraph.
So 3 items use 8 (2*3+2) paragraphs and 4 items use 11 (2*4+3) paragraphs.
[no changelog]
2025-02-18 12:32:35 +01:00
Roman Zeyde
0abfc7b1f9
fix(core): correct Delizia loader completion detection
...
This issue was found while debugging a flaky click test:
`tests/click_tests/test_lock.py::test_hold_to_lock`
Sample failures:
https://github.com/trezor/trezor-firmware/actions/runs/13209659963/job/36880750418
https://github.com/trezor/trezor-firmware/actions/runs/13189762414/job/36820368643
https://github.com/trezor/trezor-firmware/actions/runs/13146713535/job/36686537519
https://github.com/trezor/trezor-firmware/actions/runs/13124809110/job/36619045092
https://github.com/trezor/trezor-firmware/actions/runs/13103415015/job/36554567296
https://github.com/trezor/trezor-firmware/actions/runs/13093382180/job/36532710349
[no changelog]
2025-02-18 12:29:32 +01:00
Roman Zeyde
ffc4b57e70
docs(core): fix micropython GC arena analysis tool name
...
[no changelog]
2025-02-18 11:56:42 +01:00
cepetr
aa29681939
doc(prodtest): document pmic and wpc commands
...
[no changelog]
2025-02-14 22:22:33 +01:00
cepetr
de73b38aae
feat(core): introduce hibernate mode
...
[no changelog]
2025-02-14 16:43:22 +01:00
tychovrahe
79d14b8907
fix(core): fix TS5 bootloader font
...
[no changelog]
2025-02-14 09:51:45 +01:00
tychovrahe
e47b604c48
fix(core): fix stwlc38 deinitialization
...
[no changelog]
2025-02-13 13:25:34 +01:00
obrusvit
c69d2c9aff
Merge branch 'release/25.02' into obrusvit/merge-release-25.02
2025-02-13 11:42:08 +01:00
cepetr
ef51ea7801
fix(core): fix touch activity detection in bootloader
...
[no changelog]
2025-02-13 11:21:04 +01:00
cepetr
850b52c1fe
fix(core): fix hw jpegdec issue with grayscale images
...
[no changelog]
2025-02-13 08:28:08 +01:00
obrusvit
45394f2b26
chore(core): bump bootloader version to 2.1.11
...
[no changelog]
2025-02-12 14:25:26 +01:00
obrusvit
2d20d43944
chore(core): bump version to 2.8.9
...
[no changelog]
2025-02-12 14:25:26 +01:00
Roman Zeyde
ae9e0281df
refactor(core): separate clear_unused_stack()
from sys/linker
module
...
Following https://github.com/trezor/trezor-firmware/pull/4595#pullrequestreview-2609833271 .
[no changelog]
2025-02-12 12:53:27 +01:00
Roman Zeyde
d38b52c0c4
refactor(core): simplify fade_backlight_duration
...
- IIUC, casting to and from `i32` can be removed.
- `timer.elapsed()` can be evaluated once per loop iteration.
[no changelog]
2025-02-12 12:33:14 +01:00
kopecdav
f1db0e6906
feat(core/prodtest): Allow prodtest to exit from interactive mode [no changelog]
2025-02-12 10:50:48 +01:00
cepetr
0456fdb826
fix(core): fix reboot_device function behaviour
...
[no changelog]
2025-02-11 17:02:31 +01:00
tychovrahe
57789c7121
refactor(core): remove fonts and no longer used drawing functions from C
...
[no changelog]
2025-02-11 11:25:18 +01:00
tychovrahe
c3981cdebe
refactor(core): render prodtest UI in rust
...
[no changelog]
2025-02-11 11:25:18 +01:00
cepetr
7c7e8c8eb7
feat(core): add simple downscaling for bitmap copy ops
...
[no changelog]
2025-02-11 09:38:49 +01:00
cepetr
c2125f433e
feat(core): implement rgba8888 canvas blur
...
[no changelog]
2025-02-11 09:38:49 +01:00
cepetr
0345c1dfed
feat(core): introduce hardware jpeg decoder
...
[no changelog]
2025-02-11 09:38:49 +01:00
cepetr
e7c773bdd0
chore(core): remove unused code
...
[no changelog]
2025-02-11 09:38:49 +01:00
cepetr
08d55ea3f4
refactor(core): improve dma2d driver init/deinit
...
[no changelog]
2025-02-11 09:38:49 +01:00
tychovrahe
92da4d5d5a
fix(core): fix default (out of range) color used by gfxmmu
...
[no changelog]
2025-02-10 15:58:22 +01:00
cepetr
ee13872e90
fix(prodtest): remove haptic-test duration limit
...
[no changelog]
2025-02-10 14:12:15 +01:00
cepetr
117eec798c
fix(core): fix optiga pairing issue
...
[no changelog]
2025-02-10 10:43:54 +01:00
cepetr
d35f062866
fix(prodtest): fix haptic test
...
[no changelog]
2025-02-10 08:12:38 +01:00
Roman Zeyde
e3a9f71069
fix(core): correct a small typo
...
[no changelog]
2025-02-08 19:39:54 +01:00