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
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
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
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