1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-07-19 04:58:11 +00:00
Commit Graph

1184 Commits

Author SHA1 Message Date
Lukas Bielesch
c66b435212 fix(eckhart): fix unstable click tests
- Differentiate input vectors for Eckhart due to different screen size
- paginate, where possible
2025-05-30 17:38:16 +02:00
Lukas Bielesch
2963065afc feat(eckhart): confirm_signverify, confirm_blob, ethereum, solana and nostr support 2025-05-30 17:38:16 +02:00
Lukas Bielesch
b45865a808 chore(eckhart): use dedicated function for menu buttons creation 2025-05-30 17:38:16 +02:00
Lukas Bielesch
40d9b049b8 chore(eckhart): update show_mismatch, confirm_output and confirm_value and progress_screen functions 2025-05-30 17:38:16 +02:00
Lukas Bielesch
4eb872e1c8 feat(eckhart): implement trait functions: confirm_value_intro,
confirm_modify_output, confirm_modify_fee, confirm_with_menu,
show_info_with_cancel and confirm_props
2025-05-30 17:38:16 +02:00
Lukas Bielesch
edfec4f407 feat(eckhart): update request number trait function
add request number flow instead of screen only
add updatable info screen to show extra information
2025-05-30 17:38:16 +02:00
Lukas Bielesch
da319daccb chore(eckhart): update get_address flow to use xpubs
- remove line ending hyphens from mono fonts
- update test to scroll through an entire page
2025-05-30 17:38:16 +02:00
Lukas Bielesch
b77db55330 chore(eckhart): TextScreen improvements
update page count for the content,
add page limit,
enable subtitle to have two lines
2025-05-30 17:38:16 +02:00
obrusvit
04b61ea6af feat(eckhart): render_loader and ProgressScreen
- `render_loader` shows classic circular loader going around the
display, implemented by rendering `ScreenBorder` and hiding it by 5
black rectangles which progressively diminish
- `render_loader_indeterminate` shows progress loader without known
duration, implemented by rendering `ScreenBorder` in clip which travels
around the SCREEN in an octagonal shape. This achieves an effect of a
constant length line going around the screen shape
- implement `show_progress` and `show_progress_coinjoin` FirmwareUI
functions

chore(eckhart): remove animation code from Header
2025-05-30 17:38:16 +02:00
obrusvit
843ef7d441 feat(eckhart): extract tile pattern constants 2025-05-30 17:38:16 +02:00
obrusvit
f77ca411b2 chore(eckhart): re-export new Close icon 2025-05-30 17:38:16 +02:00
Lukas Bielesch
11d780a337 feat(eckhart): add FIDO2 support
- enable vertical menu swipe without animations
- FidoCredential component, confirm_fido flow and icons
- Fix show_error action bar and header colors
- Implement AllowedTextContent for FidoCredential
- Add new return type for VerticalMenuScreen
- provide short and long vertical menu
2025-05-30 17:38:16 +02:00
Lukas Bielesch
b3a114ee67 chore(eckhart): Implement new struct for word-selection menu
This simplifies the implementation of the verical menu
2025-05-30 17:38:16 +02:00
Lukas Bielesch
7e7015734d core(eckhart): Update Vertical Menu
Leave event processing to the Vertical Menu
Disable scrolling when the menu fits the screen
2025-05-30 17:38:16 +02:00
obrusvit
ae02d77852 feat(eckhart): use gradients in ActionBar 2025-05-30 17:38:16 +02:00
obrusvit
c48e8f8a90 feat(eckhart): fix hint padding 2025-05-30 17:38:16 +02:00
Lukas Bielesch
994b61e38b fix(eckhart): fix failing gen_check and rust tests 2025-05-30 17:38:16 +02:00
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
kopecdav
7d3d2e877f refactor(core): add power manager api comments
[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
c89ca35bbc feat(core): event polling for power manager
[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
4b9fb839cd refactor(core): split pmic as a separate feature
[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
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
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
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
Ioan Bizău
b036345c5c feat(caesar): implement show_danger
[no changelog]
2025-05-23 14:31:11 +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
matejcik
9fc0c5d82b docs: improve external definition documentation
and introduce the new URL scheme

[no changelog]
2025-05-19 11:14:20 +02:00
tychovrahe
0b7e53e72d fix(core/bootloader): increase c_laoyout_t buffer size
[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
3a7850f6a0 chore: remove BNB Beacon Chain support 2025-05-13 09:04:48 +03:00
tychovrahe
e641fb1c25 fix(core): fix sysevents polling deadlines
[no changelog]
2025-05-12 08:58:58 +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
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
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
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
bd9d303310 perf(core): optimize AddressDetails::xpubs layout
[no changelog]
2025-04-24 16:17:17 +03: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
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
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
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
Ioan Bizău
40756a0941 fix(core/ui): use "..." ellipsis in "show more" 2025-04-09 15:57:01 +02:00
obrusvit
ad9f85b21d chore(core): remove redundant Error messages
[no changelog]
2025-04-08 15:44:51 +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
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
Martin Milata
469f093b8a feat(core): include pairing code in BLE_ALLOW_PAIRING command
[no changelog]
2025-04-02 17:08:34 +02:00
Roman Zeyde
ac0fc30ee9 perf(core): intern single-digit strings
[no changelog]
2025-03-26 21:16:06 +02: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
Roman Zeyde
1e3b02771b fix(core): don't use 'static lifetime for BLEEvent
[no changelog]
2025-03-21 17:13:27 +02:00
Roman Zeyde
9926df6ab5 fix(core): add LayoutObj.ble_event mock
[no changelog]
2025-03-20 15:22:32 +02:00
tychovrahe
6fb65bcfd9 refactor(core): refactor button events
[no changelog]
2025-03-20 11:07:34 +01: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
Ioan Bizău
3efa0480c6 feat(core): add libtropic to the unix build
[no changelog]
2025-03-13 15:08:48 +01:00