1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-06-30 03:42:34 +00:00
Commit Graph

4946 Commits

Author SHA1 Message Date
M1nd3r
df28c84e0b chore(storage): rename DEVICE_SECRET and CRED_AUTH_KEY_COUNTER
[no changelog]
2025-05-19 13:33:17 +02:00
M1nd3r
f190830fb7 chore(storage): make device secret and credential key counter persist reset
[no changelog]
2025-05-19 13:33:17 +02:00
tychovrahe
6bdac7614f feat(core): support handling of tropic keys in secret sector
[no changelog]
2025-05-19 11:41:36 +02:00
tychovrahe
9708d329e1 chore(core): introduce basic logical operations on secbool
[no changelog]
2025-05-19 11:41:36 +02:00
matejcik
9fc0c5d82b docs: improve external definition documentation
and introduce the new URL scheme

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[no changelog]
2025-04-16 17:27:11 +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
Martin Milata
8f37578408 ci(nix): update to latest nixpkgs-unstable, rustc
[no changelog]
2025-04-16 17:27:11 +02:00
Martin Milata
04b9768faa build(core): allow passing HW_REVISION to make 2025-04-16 15:36:05 +02:00
Roman Zeyde
c48cfbc59e chore(core): update coverage to 5.5
Because `coverage` 4.5.4 requires Python <=3.8 (EOL).

[no changelog]
2025-04-16 15:14:53 +03: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
04f9ada9bc style(core): annotate prof.py
Also, fix a few style lints.

[no changelog]
2025-04-14 22:39:24 +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
Roman Zeyde
07ad01220c perf(core): remove imports from hot path
[no changelog]
2025-04-10 14:19:34 +03:00
Martin Milata
3c08ce62b3 build(core): default T3W1 to revision C
[no changelog]
2025-04-09 23:44:12 +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
93f23e6318 feat(core): start BLE advertising on boot
[no changelog]
2025-04-09 21:25:37 +02:00
Martin Milata
c5a4eddfc9 build(core): enable button feature in T3W1 emulator
[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
Roman Zeyde
893bd1e69b chore(core): remove unused all_modules.py
[no changelog]
2025-04-08 17:48:15 +03: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
matejcik
d900eb4c54 build(core): update build to newer libtropic
* update unix port filename
* update USE_TREZOR_CRYPTO flag to LT_USE_TREZOR_CRYPTO
2025-04-04 10:26:22 +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
Martin Milata
199c02adb2 build(core): only include apps.management.ble when needed
[no changelog]
2025-04-03 16:17:12 +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
Roman Zeyde
a91d18ba2c perf(core): intern module presizing identifiers
[no changelog]
2025-04-03 12:58:43 +03:00
Roman Zeyde
9769109229 perf(core): add __init__.py to apps.management module
Otherwise, its name is not interned by `all_modules.py.mako`.

[no changelog]
2025-04-03 12:58:43 +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
14907ecd88 feat(tools): add an optional output argument to analyze-memory-dump.py
[no changelog]
2025-04-02 17:39:35 +03: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
Roman Zeyde
567de7e643 feat(core): increase MicroPython bytecode optimizations
[no changelog]
2025-03-28 19:46:24 +03:00
Roman Zeyde
cc416720f0 build(core): explicitly map PYOPT to MicroPython bytecode optimization level
[no changelog]
2025-03-28 19:46:24 +03:00
tychovrahe
9d46ad259c fix(core/prodtest): remove final wait from report commands
[no changelog]
2025-03-27 18:25:46 +01:00
tychovrahe
aa682bcc6e fix(core): generate coin support for discovery kits
[no changelog]
2025-03-27 15:46: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
aecaf306f3 fix(core): don't handle nostr-related messages in BTC-only firmware
[no changelog]
2025-03-27 12:30:02 +02:00
Roman Zeyde
63a17ea0f9 chore(core): exclude all_modules.py bytecode from frozen_mpy.c
See `all_modules.py.mako` for more details.

[no changelog]
2025-03-27 10:22:44 +02: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
3a24945de9 fix(core): allow firmware upgrade even if language change failed 2025-03-26 13:12:38 +02:00
Ioan Bizău
b1cd4cb469 chore(core/build): don't build with Tropic by default
[no changelog]

Co-authored-by: Martin Milata <martin@martinmilata.cz>
2025-03-26 10:32:31 +01:00
obrusvit
419737db7c chore(core): remove obsolete font names from blobs
[no changelog]
2025-03-25 18:26:15 +01:00
Roman Zeyde
8b4936926c fix(core): preallocate storage.debug.reset_internal_entropy
It should allow GC to cleanup `int_entropy`, which can be
allocated in random heap position, causing fragmentation.

[no changelog]
2025-03-25 12:05:52 +02:00
Roman Zeyde
f942d13748 fix(core): alloc GC to free _previous_remaining in trezor.pin
[no changelog]
2025-03-25 12:05:52 +02: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
tychovrahe
283561c073 fix(core: fix homescreen ble checker task
[no changelog]
2025-03-23 17:04:05 +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
52f5593f28 feat(core): add BLE checker task to Homescreen
[no changelog]
2025-03-20 15:22:32 +02:00
Roman Zeyde
4c2c6f13e7 fix(core): add BLE feature flag to MicroPython build sed scripts
[no changelog]
2025-03-20 15:22:32 +02: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
Roman Zeyde
90d7713592 build(core): fix RUST_PRINT_TYPES_SIZES passing to SConscript.firmware
Use a list to collect RUSTFLAGS, to prevent overwriting them.

Also:
- fix a typo in `SConscript.unix` (it was using `firmware` build directory)
- use keyword arguments for better readability
- reformat Rust library build command string

[no changelog]
2025-03-13 18:18:48 +02:00
Ioan Bizău
c9c543443d feat(core/tests): add smoke test for libtropic
[no changelog]
2025-03-13 15:08:48 +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
21ad24fc31 style(core): add spaces around LOG_STACK_USAGE in SConscript.firmware
[no changelog]
2025-03-13 16:07:09 +02:00
Roman Zeyde
41096b5ffd
fix(core): use smaller button for upgrade cancellation 2025-03-13 12:07:07 +01: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
obrusvit
29d69db300 Merge branch 'release/25.03' into obrusvit/merge-release-25.03 2025-03-10 11:17:26 +01:00
Roman Zeyde
2400fcb95d fix(core): scope Cardano confirmation to allow GC
Otherwise, we may run out of heap due to recursion.

[no changelog]
2025-03-09 21:48:30 +02: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
obrusvit
813620a4c5 chore(core): include signed translations for 2.8.9 2025-03-06 16:10:20 +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
Andrew Kozlik
b2701596cc chore: Add emulator warnings.
[no changelog]
2025-03-04 12:49:30 +01: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
Roman Zeyde
7be53c4172 fix(core): update Czech translations for Ethereum
* "Přednostní poplatek" -> "Poplatek za prioritu"
* "Zrušit stakování" -> "Zrušit stakování"

[no changelog]
2025-03-04 12:45:21 +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
cepetr
c0134518da fix(core): fix t3w1 revA prodtest build
[no changelog]
2025-03-04 08:07:56 +01:00
obrusvit
fad9682201 fix(core): fix delizia set brightness setting
[no changelog]

(cherry picked from commit 55101b8013)
2025-03-03 16:00:31 +01:00
obrusvit
55101b8013 fix(core): fix delizia set brightness setting
[no changelog]
2025-03-03 15:59:59 +01:00
matejcik
5f94715ca7 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.

(cherry picked from commit f59deebfba)
2025-03-03 15:55:15 +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
tychovrahe
a77f1f1a99 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]

(cherry picked from commit 0536ed6f50)
2025-02-28 15:22:32 +01:00
Ioan Bizău
dcf65b1d8f chore(core): remove unnecessary check
[no changelog]
2025-02-28 14:15:45 +01:00
Ioan Bizău
d0681212b0 fix(core): use BIP-340 to sign Nostr events
[no changelog]
2025-02-28 14:15:45 +01:00
Ioan Bizău
50879cd4da chore(core/nostr): remove Nostr from production build
[no changelog]
2025-02-28 14:15:45 +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
0b5dbcae1b feat(core): confirm multiple Solana Deactivate/Withdraw instructions
[no changelog]

(cherry picked from commit 1954c7cbc2)
2025-02-28 12:56:10 +01:00
Roman Zeyde
9321227ddb fix(core): fix ExtraInfo menu cancellation
[no changelog]

(cherry picked from commit ac49c3e284)
2025-02-28 12:55:47 +01:00
Roman Zeyde
1954c7cbc2 feat(core): confirm multiple Solana Deactivate/Withdraw instructions
[no changelog]
2025-02-28 13:51:37 +02:00
Roman Zeyde
ac49c3e284 fix(core): fix ExtraInfo menu cancellation
[no changelog]
2025-02-28 13:51:37 +02:00
Roman Zeyde
da6d4afc7d fix(core): use SwipeFlow::add_page to save stack memory
[no changelog]

(cherry picked from commit bd496a9e95)
2025-02-27 18:25:54 +01: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
Roman Zeyde
8568378a8a fix(core): confirm only visible Solana staking instructions
[no changelog]

(cherry picked from commit ee1cc4ae81)
2025-02-26 20:47:18 +01:00
Andrew Kozlik
91ee49c20b chore(core, crypto): Remove unused function mnemonic_generate().
[no changelog]
2025-02-26 17:20:58 +01:00
Roman Zeyde
ee1cc4ae81 fix(core): confirm only visible Solana staking instructions
[no changelog]
2025-02-26 15:25:31 +02: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
obrusvit
2c94dc24df docs(core): fix entries in changelog 2025-02-26 02:03:27 +01:00
obrusvit
f88ce9ac9a docs(core): changelog for 2.8.9
- command: ./tools/changelog.py generate --date "19th March 2025" core
2.8.9
2025-02-26 01:47:11 +01:00
obrusvit
331f71dc91 chore(common): set definitions timestamp 2025-02-26 01:24:30 +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
1857612a37 feat(core): add Solana staking layouts 2025-02-25 11:55:03 +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