1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-14 02:18:07 +00:00
Commit Graph

1808 Commits

Author SHA1 Message Date
Andrew Kozlik
15e02be4e4 fix(core): Clean up when constructor fails to reduce memory fragmentation.
[no changelog]
2024-04-03 10:26:46 +02:00
Andrew Kozlik
703ea32ceb feat(core): Add aesgcm class to trezor.crypto Python module.
[no changelog]
2024-04-03 10:26:46 +02:00
tychovrahe
89147ef493 refactor(core): improve flash api by introducing flash_area_write_data function
[no changelog]
2024-04-03 10:18:40 +02:00
tychovrahe
39cfa7087a fix(core): set proper GPIO speeds for T3T1
[no changelog]
2024-04-03 10:18:16 +02:00
matejcik
45a4a1da99 fix(core/translations): correctly rename previous symbol
[no changelog]
2024-04-02 11:10:24 +02:00
matejcik
1c36c0927c style(core): fix (hopefully) the weird clippy warning about HOMESCREEN_TOIF_X_OFFSET
[no changelog]
2024-03-30 12:10:59 +01:00
matejcik
de2fe3d6d6 feat(core/ui): unify progress.py code between models, implement storage translations
fixes #3520
2024-03-30 12:10:59 +01:00
matejcik
ed89215a79 feat(core): expose StorageMessage to micropython
[no changelog]
2024-03-30 12:10:59 +01:00
matejcik
b2649b0085 refactor(core): introduce Simplified trait
to abstract over some common operations between models

[no changelog]
2024-03-28 13:04:21 +01:00
tychovrahe
047c8a881b fix(core): fix order of loading BHK into SAES key register
[no changelog]
2024-03-28 13:02:17 +01:00
cepetr
1e3e7f808b fix(core): fix build on disc2 model 2024-03-27 10:44:56 +01:00
tychovrahe
a80959e50f feat(core): allow T3T1 to start without touch during testing
[no changelog]
2024-03-25 09:16:07 +01:00
tychovrahe
5e827e09c4 fix(core): fix haptic driver initialization
[no changelog]
2024-03-25 08:35:02 +01:00
obrusvit
54468abd89 feat(core/emu): handle arrow buttons as swipes
[no changelog]
2024-03-21 12:37:18 +01:00
cepetr
a1165d9326 feat(core): introduce skip function for UzlibContext
[no changelog]
2024-03-20 17:14:58 +01:00
cepetr
9575c81bd3 feat(core): introduce new color functions
[no changelog]
2024-03-20 17:14:58 +01:00
cepetr
474484d249 feat(core): introduce new toif functions
[no changelog]
2024-03-20 17:14:58 +01:00
cepetr
254de49a62 feat(core): introduce new point & rect functions
[no changelog]
2024-03-20 17:14:58 +01:00
cepetr
9d6827e2fb refactor(core): remove unused ui components
[no changelog]
2024-03-20 17:04:25 +01:00
cepetr
dc715d7c0d refactor(core): prepare for non mutable paint function
[no changelog]
2024-03-19 17:57:38 +01:00
cepetr
a54fe5e60f fix(core): fixed blurring algo panic in debug mode
[no changelog]
2024-03-19 14:54:54 +01:00
tychovrahe
70a673fabc feat(core): use flash bursts for faster flashing
[no changelog]
2024-03-19 13:17:25 +01:00
tychovrahe
e1161866da chore(core): fix typo 'capablities'
[no changelog]
2024-03-19 11:33:23 +01:00
tychovrahe
0a4a5feaa0 fix(core): fix TOCTOU in sd card bootloader update procedure
[no changelog]
2024-03-19 11:33:23 +01:00
tychovrahe
6e2f5ff27d fix(core): improve bhk handling on STM32U5
[no changelog]
2024-03-19 11:33:23 +01:00
tychovrahe
fb2868d297 fix(core): setup option bytes for STM32U5
[no changelog]
2024-03-19 11:33:23 +01:00
tychovrahe
43fa92d953 fix(docs): fix prodtest SBU command documentation
[no changelog]
2024-03-18 19:51:22 +01:00
tychovrahe
4fe9294377 fix(core): fix prodtest mpu setting on U5 - allow read of MCU ID
[no changelog]
2024-03-18 19:50:54 +01:00
dependabot[bot]
3dc5e9b2db chore(deps): bump shlex from 1.0.0 to 1.3.0 in /core/embed/rust/fuzz
Bumps [shlex](https://github.com/comex/rust-shlex) from 1.0.0 to 1.3.0.
- [Changelog](https://github.com/comex/rust-shlex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/comex/rust-shlex/commits)

---
updated-dependencies:
- dependency-name: shlex
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-18 11:49:06 +01:00
dependabot[bot]
bd3b070942 chore(deps): bump shlex from 1.1.0 to 1.3.0 in /core/embed/rust
Bumps [shlex](https://github.com/comex/rust-shlex) from 1.1.0 to 1.3.0.
- [Changelog](https://github.com/comex/rust-shlex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/comex/rust-shlex/commits)

---
updated-dependencies:
- dependency-name: shlex
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-18 10:41:53 +01:00
cepetr
ecd4465ab3 fix(core): fix mouse event processing in the simulator
[no changelog]
2024-03-17 14:04:33 +01:00
tychovrahe
e000b526cc refactor(core): extract common layout handling from bootloader ui implementations in rust
[no changelog]
2024-03-15 13:13:40 +01:00
tychovrahe
1909d1ebdb feat(core): improve flexibility of combine script, add combine fw make targets
[no changelog]
2024-03-13 22:12:57 +01:00
Martin Milata
ebb480ef29 fix(core): T3T1 emulator
[no changelog]
2024-03-12 20:55:23 +00:00
matejcik
17678ef38d fix(core/rust): exclude altcoin strings from generated code 2024-03-08 13:17:12 +01:00
matejcik
ccf4b7e9eb fix(core/rust): convert bitcoin_only to an additive feature
universal_fw enables more features, as opposed to bitcoin_only removing features
2024-03-08 13:17:12 +01:00
matejcik
34965ca2cb refactor(core/ui): use LayoutObj signatures in layout files
* make sure every confirm_* returns None
* prefer "def -> Awaitable[T]" to "async def -> T" everywhere (avoids one useless allocation per call)
* type-check return values from Rust layouts
2024-03-07 09:53:00 +01:00
matejcik
0304484ca6 docs(core): add method signatures for LayoutObj to mocks (fixes #2672)
feat(core): annotate CONFIRMED/CANCELLED/INFO as fake class UiResult
2024-03-07 09:53:00 +01:00
matejcik
99457bbcb0 refactor(core/ui): make request_number signature the same in TT and TR 2024-03-07 09:53:00 +01:00
tychovrahe
e736d389f2 fix(core): fix backlight reinitialization with maximum value
[no changelog]
2024-03-05 16:51:23 +01:00
tychovrahe
8ccd2cb048 feat(core): add support for T3T1 rev. E HW
[no changelog]
2024-03-05 16:51:23 +01:00
Martin Milata
bfacd07ed7 fix(core): add production pubkeys for translations
[no changelog]
2024-03-04 12:16:20 +00:00
Martin Milata
2b0ce0398c chore(core): bump version to 2.7.1
[no changelog]
2024-03-04 09:56:21 +00:00
tychovrahe
ffabee2e6a chore(core): bump fw and fix version due to storage migration
[no changelog]
2024-03-01 15:26:43 +00:00
tychovrahe
d69750fae4 refactor(core): do not use framebuffer dma copy in boardloader to safe flash space
[no changelog]
2024-02-29 23:40:17 +01:00
tychovrahe
f08bed363d refactor(core): extract framebuffer copy to separate bg_copy functionality
[no changelog]
2024-02-29 23:40:17 +01:00
tychovrahe
afefc17478 refactor(core): use internal framebuffer on T3T1 (with ST7789V display controller)
[no changelog]
2024-02-29 23:40:17 +01:00
tychovrahe
416794a463 fix(core): add missing refresh to boardloader startup
[no changelog]
2024-02-29 23:40:17 +01:00
tychovrahe
5c7726126f fix(core): fix bootloader jump to firmware through reset UI
[no changelog]
2024-02-29 23:40:17 +01:00
tychovrahe
66583f2ebf fix(core): fix missing refresh in progress layout
[no changelog]
2024-02-29 23:40:17 +01:00
tychovrahe
b62dc27f06 feat(core): add translations support for U5 models
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
7c800f183f refactor(core): make translations blob handling HW agnostic
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
eb6796059c fix(core): fix st7789v driver compilation for other than T models
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
8313c15f34 feat(core): allow SD card hotswap based on production date for Model T 2024-02-29 23:05:56 +01:00
tychovrahe
0e70fcdc6f feat(core): add haptic to prodtest
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
8c1425edd5 perf(core): optimize boot time by removing unnecessary touch initialization delays 2024-02-29 23:05:56 +01:00
tychovrahe
30edad0151 perf(core): optimize i2c initialization on U5 by statically defining timing constant
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
b3d1ba25d9 perf(core): optimize boot speed by checking empty image area by words
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
c3f84e2949 perf(core): optimize boot speed on U5 by using has processor to calculate image hashes, switches to sha256
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
95999623fc fix(core): fix STM32F4 display base address
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
653d73ee22 chore(core): optimize flash usage - backlight pwm
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
5e4e398f64 chore(core): optimize flash usage - SD card on U5
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
f83e33399f chore(core): optimize flash usage - tamper on U5
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
ce82f53010 feat(core): support SD card on STM32U5
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
5106ac7aa3 feat(core): support optiga handling on U5
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
72dc8f57e8 feat(core): add haptic feedback
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
a71a608ea7 feat(core): add basic support for T3T1 2024-02-29 23:05:56 +01:00
tychovrahe
7d7ccc9dde chore(core): unify i2c instances numbering
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
834693a115 fix(core): fix OTP programming on U5
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
cec0191360 fix(core): fix bootloader update on STM32U5
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
8815e764d2 feat(core): add support for STM32U585
[no changelog]
2024-02-29 23:05:56 +01:00
cepetr
4cf781abb2 chore(core, legacy, storage): refactor flash drivers
[no changelog]
2024-02-29 23:05:56 +01:00
cepetr
271bed8bf6 chore(core): use cortex-m33 stack protection 2024-02-29 23:05:56 +01:00
cepetr
7e427432ea chore(core): refactor trustzone initialization
[no changelog]
2024-02-29 23:05:56 +01:00
cepetr
b504baceda chore(core): refactor mpu initialization
[no changelog]
2024-02-29 23:05:56 +01:00
cepetr
c4c571d837 chore(core): refactor boot_args
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
353095ae95 feat(core): add support for STM32U5A9J-DK board
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
8150636a81 feat(core): add basic support for STM32U5 2024-02-29 23:05:56 +01:00
cepetr
937b7d34d0 feat(core): add STM32CubeU5 submodule
[no changelog]
2024-02-29 23:05:56 +01:00
Martin Milata
d790354667 fix(core): workaround umlauts not being cleared
[no changelog]
2024-02-29 11:22:35 +00:00
Martin Milata
e3207a9705 chore(core): bump version to 2.6.6
[no changelog]
2024-02-28 16:35:04 +00:00
matejcik
8c0e1e360e fix(core/translations): add indices to templates
so that we can change the template later without running into trouble

[no changelog]
2024-02-26 15:07:48 +01:00
obrusvit
ebcf3e2db2 feat(core): confirm ETH stake, unstake, claim 2024-02-23 18:09:43 +01:00
obrusvit
e1f696b4dd fix: remove clippy error for TS3
[no changelog]
2024-02-22 12:10:12 +01:00
grdddj
1ab2d843ab chore(core): add missing template to the variable name
[no changelog]
2024-02-21 12:44:40 +01:00
tychovrahe
8147b11345 fix(core): fix quadword-only storage
[no changelog]
2024-02-20 09:37:28 +01:00
Andrew Kozlik
440b1304c0 refactor(storage): Split implementations based on FLASH_BIT_ACCESS.
[no changelog]
2024-02-20 09:37:28 +01:00
Andrew Kozlik
b2f05f187f feat(storage): Work with generic flash blocks instead of quadwords.
[no changelog]
2024-02-20 09:37:28 +01:00
tychovrahe
743ed413f6 feat(core): add support for quad-word only storage
[no changelog]
2024-02-20 09:37:28 +01:00
grdddj
0579ba54fc feat(core): allow for going back to previous word in recovery process 2024-02-19 22:05:04 +01:00
matejcik
65178a6a36 refactor(core/rust): reuse the same component for "waiting for host" screen 2024-02-12 14:49:32 +01:00
matejcik
8471e0c455 refactor(core/rust): decouple Connect screen from bootloader theme 2024-02-12 14:49:32 +01:00
matejcik
02557ad6c0 feat(core/rust): expose attrtuple to Rust 2024-02-12 14:49:32 +01:00
matejcik
6af7b4a4b7 fix(core/rust): convert Qstr type to representation that matches C code 2024-02-12 14:49:32 +01:00
matejcik
ab3c62ae71 feat(core/rust): introduce SimpleTypeObj 2024-02-12 14:49:32 +01:00
matejcik
3e14937c8a feat(core/rust): add const Obj::small_int 2024-02-12 14:49:32 +01:00
matejcik
63360a7417 feat(core/rust): add Map::is_empty() 2024-02-12 14:49:32 +01:00
matejcik
9c72c7c99d feat(common): provide some useful paths for the mako templates 2024-02-12 14:49:32 +01:00
matejcik
03298ca80f docs(core/rust): improve safety comments in buffer.rs 2024-02-12 14:49:32 +01:00
matejcik
0c793084f8 chore(core/rust): move illustration outside src/ tree 2024-02-12 14:49:32 +01:00
matejcik
8bf5a72843 refactor(core/rust): move iter_into_array to micropython::utils 2024-02-12 14:49:32 +01:00
matejcik
3b88116bba feat(core/rust): add trezorcrypto bindings
for now, we use sha256 and a little of ed25519 for CoSi purposes

also add the Merkle root algorithm
2024-02-12 14:49:32 +01:00
matejcik
76296ad417 refactor(core/rust): move InputStream to its own module 2024-02-12 14:49:32 +01:00
grdddj
b8ea21d24a feat(all): implement translations into Trezor
Co-authored-by matejcik <ja@matejcik.cz>
2024-02-12 14:49:32 +01:00
Martin Milata
3c7a6dd68a fix(core): handle uncaught exceptions from main.py
[no changelog]
2024-02-05 16:53:49 +01:00
grdddj
dba4bf9e38 feat(core): improve the design of TT locking loader on homescreen
[no changelog]
2024-02-05 14:46:40 +01:00
grdddj
76c547bb91 feat(core): add loader to homescreen when locking the device for TS3 2024-02-05 14:46:40 +01:00
cepetr
5d8e56ac2a refactor(core): shrink size of Paragraphs struct
[no changelog]
2024-02-05 14:10:54 +01:00
cepetr
6331076444 refactor(core/embed): move TOIF format definition to rust
[no changelog]
2024-01-26 11:30:40 +01:00
cepetr
8eb1f9b309 refactor(core/embed): delete unused utf8 functions
[no changelog]
2024-01-26 11:30:40 +01:00
cepetr
3b9dd55788 refactor(core/embed): introduce display_utils.c
[no changelog]
2024-01-26 11:30:40 +01:00
cepetr
cc6ed93b32 refactor(core/embed): move toif image routines
[no changelog]
2024-01-26 11:30:40 +01:00
cepetr
446c3b77b4 refactor(core/embed): move&rename display terminal functions
[no changelog]
2024-01-26 11:30:40 +01:00
cepetr
139701fb1a refactor(core/embed): move&rename display_font_xxx routines
[no changelog]
2024-01-26 11:30:40 +01:00
cepetr
3031ec5d87 refactor(core/embed): move&rename display_utf8_substr()
[no changelog]
2024-01-26 11:30:40 +01:00
tychovrahe
63ee6f2ad2 perf(core): change 4bpp font format to allow dma2d rendering
[no changelog]
2024-01-11 12:22:08 +01:00
tychovrahe
1c0da78536 chore(core): fix rust warnings and clippy errors
[no changelog]
2024-01-09 21:39:58 +01:00
grdddj
c2eaaaf8b5 fix(core): add missing semicolon into the passphrase entry for TS3 2024-01-03 14:51:56 +01:00
Pavol Rusnak
b0fd7223ea
Merge branch 'matejcik/prodtest-23-12' 2023-12-20 17:12:10 +01:00
matejcik
b21d1b1f50 chore(core/prodtest): bump version after release 2023-12-20 15:50:46 +01:00
matejcik
8f19767285 chore(core): include production-signed prodtest vendor header 2023-12-20 09:46:52 +01:00
tychovrahe
fd5bfbf115 refactor(core): improve flexibility of sd card and touch driver pin selection, display rotation and touch coords transformation
[no changelog]
2023-12-18 14:41:44 +01:00
tychovrahe
d15ee71279 refactor(core): add flexible HSE settings
[no changelog]
2023-12-18 14:41:44 +01:00
tychovrahe
2fa69c3c0d refactor(core): extract backlight pwm settings to board definition
[no changelog]
2023-12-18 14:41:44 +01:00
cepetr
6e1fe31e3f chore(core): optimize stack usage during blurring
[no changelog]
2023-12-18 10:01:30 +01:00
Andrew Kozlik
c1fa1c0cbc chore(core): Fix common name in emulator device certificate.
[no changelog]
2023-12-15 11:18:22 +01:00
Andrew Kozlik
fb80dd5a36 fix(core/prodtest): Fix Optiga metadata version information handling.
[no changelog]
2023-12-15 11:18:22 +01:00
Andrew Kozlik
8de2d8989d feat(core/prodtest): Check device certificate chain integrity using authority key identifier.
[no changelog]
2023-12-15 11:18:22 +01:00
Andrew Kozlik
a1be6f8aef fix(core/prodtest): Configure metadata correctly before checking device certificate.
[no changelog]
2023-12-15 11:18:22 +01:00
tychovrahe
d0a702eef4 fix(core): fix large area marquee rendering
[no changelog]
2023-12-14 17:35:27 +01:00
Andrew Kozlik
cbea765e38 feat(core/prodtest): Verify device certificate chain in CERTDEV WRITE.
[no changelog]
2023-12-08 12:30:28 +01:00
Andrew Kozlik
3a5aecf6cd feat(core/prodtest): Add SEC READ command.
[no changelog]
2023-12-08 12:30:28 +01:00
Martin Milata
18ccbcddd4 chore(core): bump version to 2.6.5
[no changelog]
2023-12-07 14:10:07 +01:00
gabrielkerekes
a8096652e0 refactor(core): make ethereum summary reusable for more coins
- and use it for Solana
2023-12-05 22:11:41 +01:00
grdddj
747fd17214 fix(core): correct action of left button in Ethereum summary
[no changelog]
2023-12-05 18:22:58 +01:00
grdddj
9a53ba9f44 fix(core): unify button requests in modify amount flow
[no changelog]
2023-12-04 13:15:57 +01:00
grdddj
9db8ff1fae fix(core): unify sent button requests in ETH send flow
Makes sure T2B1 will send the same ButtonRequests as T2T1.
Does it by splitting the Rust layout into two separate dialogs.

[no changelog]
2023-12-04 13:15:57 +01:00
Andrew Kozlik
d670a0bdfa feat(core): Fix malformed signatures from Optiga. 2023-12-01 00:09:17 +01:00
tychovrahe
a2f72b1055 feat(core): optimize boot time by drawing full logo sooner and shortening the enforced delay proportionally
[no changelog]
2023-11-30 16:46:04 +01:00
tychovrahe
7b442a2b20 fix(core): improve T2B1 homescreen checks
[no changelog]
2023-11-30 13:42:02 +01:00
matejcik
ba6cce2bbc fix(core/rust): make Toif constructor return a Result instead of Option
which is slightly more correct
2023-11-30 13:42:02 +01:00
matejcik
d674634c86 chore(core/rust): bump cstr_core, enable nightly features
So that cstr! can be used in const contexts. This is not critical but it's nice-to-have as long as we are on nightly anyway.
2023-11-30 13:42:02 +01:00
grdddj
4b87bc56d8 feat(core): set maximum number of chunkified lines to 4
[no changelog]
2023-11-27 16:03:16 +01:00
tychovrahe
47f8a430e6 refactor(core): remove residual usage of old flash api
[no changelog]
2023-11-22 11:45:54 +01:00
tychovrahe
c48c86d61f fix(core): add missing display_refresh calls in TT UI
[no changelog]
2023-11-22 10:26:50 +01:00
tychovrahe
c2de5506bc fix(core): add boundaries check for icon rendering (framebuffer variant)
[no changelog]
2023-11-22 10:26:50 +01:00
grdddj
1968599bbc fix(core): fix the chunkification of longer Cardano addresses in send flow
[no changelog]
2023-11-22 09:00:58 +01:00
Martin Milata
5725050be1 build(core): fix CI bootloader build for T2B1
[no changelog]
2023-11-14 18:37:03 +01:00
tychovrahe
bf2697a619 feat(core): compress embedded bootloader
[no changelog]
2023-11-14 13:25:00 +01:00
Martin Milata
1c69644fe0 build(core): add flag for disabling optiga on debug builds
[skip_ci]
2023-11-14 12:47:22 +01:00
Martin Milata
ebeea4a209 build(core): more deterministic bootloader_hashes.py
[no changelog]
2023-11-08 15:39:24 +01:00
Martin Milata
ba25084904 chore(core): add unsafe vendor header for T2B1
[no changelog]
2023-11-03 14:50:39 +01:00
Martin Milata
0db3d7c12c chore(core): update btconly vendor header for T2B1
[no changelog]
2023-11-03 14:50:39 +01:00
Martin Milata
c61e2293ad chore(core): bump version to 2.6.4
[no changelog]
2023-11-03 13:00:02 +01:00
Martin Milata
b0ca820983 chore(core): add signed vendor headers for TS3 2023-11-02 12:17:13 +01:00
matejcik
e43b57f499 chore(core): add btc-only vendor header 2023-11-02 12:17:13 +01:00
matejcik
43ffbadbb9 chore(core): regenerate T2B1 vendor headers 2023-11-02 12:17:13 +01:00
matejcik
1df7428359 chore(core): update T2B1 vendor header configuration 2023-11-02 12:17:13 +01:00
Martin Milata
a6600fc7e9 feat(core): include signed bootloaders 2.1.4
For T2B1 and T2T1.
2023-11-02 11:53:53 +01:00
matejcik
3a28ab4c11 feat(core): make lockscreen blank for T2B1
also allow soft-locking even when PIN is not set
2023-11-01 16:45:29 +01:00
matejcik
1e29ce9fb4 chore(core/bootloader): bump version after release 2023-11-01 13:46:50 +01:00
matejcik
0953d2f6aa docs(core/bootloader): changelog for 2.1.4 2023-11-01 13:46:50 +01:00
matejcik
297b2bade7 feat(core/bootloader_emu): add ILU support 2023-10-31 14:57:05 +01:00
matejcik
5ee05ff391 feat(core/bootloader_emu): add support for setting device variant 2023-10-31 14:57:05 +01:00
tychovrahe
10021bf364 chore(core): fix gen and style problems
[no changelog]
2023-10-31 13:32:20 +01:00
matejcik
c5817bed6d chore(core): embed QA bootloaders 2.1.4 2023-10-27 16:46:22 +02:00
Ondrej Mikle
a4079d0cc5 chore(core/bootloader): make cstyle check work 2023-10-27 16:41:56 +02:00
Ondrej Mikle
6658ad84d1 fix(core/bootloader): explicit casts on version compare to control signed/unsigned arithmetic mix 2023-10-27 16:41:56 +02:00
cepetr
02f34a2748 feat(core/bootloader): check firmware padding 2023-10-27 16:41:56 +02:00
cepetr
da7125f427 feat(core/bootloader): make firmware flashing more safe 2023-10-27 16:41:56 +02:00
cepetr
ba83a7e644 feat(core): introduce interaction-less upgrade 2023-10-27 16:15:15 +02:00
Martin Milata
9c5d3b4831 fix(core/ui): T2T1: nudge page_prev_ellipsis to the right
[no changelog]
2023-10-27 11:50:12 +02:00
Martin Milata
18d6b4d647 fix(core/ui): T2T1: update sign message layout 2023-10-26 18:29:52 +02:00
Martin Milata
9e33eb3e48 fix(core/ui): T2T1: display coinjoin icon on lockscreen
[no changelog]
2023-10-26 13:35:43 +02:00
grdddj
02ec0ac43c feat(core): support recipient address chunkification in Ethereum sign flow
[no changelog]
2023-10-25 11:49:43 +02:00
grdddj
37fcbceded feat(core): make middle-click unlock the device for T2B1
[no changelog]
2023-10-23 14:53:01 +02:00
tychovrahe
8a4f376f20 refactor(core): prepare fw for differently sized fw chunks
[no changelog]
2023-10-20 16:33:53 +02:00
tychovrahe
a16fbe6237 fix(core/prodtest): fix failing optiga communication
[no changelog]
2023-10-18 13:15:49 +02:00
Martin Milata
f26a2e909e fix(core/ui): wording in recovery flow
[no changelog]
2023-10-18 12:04:52 +02:00
Martin Milata
a353c35b78 fix(core/ui): draw hold-to-confirm loader over dialog title
[no changelog]
2023-10-16 13:18:50 +02:00
Martin Milata
d99e1eedd2 refactor(core/ui): clear display on rust side
[no changelog]
2023-10-16 13:18:50 +02:00
Martin Milata
d8e7c00087 refactor(core/ui): pagination and buttons on TT 2023-10-16 13:18:50 +02:00
matejcik
4f2c639ed7 feat(core): T2B1 final design for emulator 2023-10-12 12:58:37 +02:00
Martin Milata
fca82273cf Merge branch 'release/23.09' 2023-10-11 23:34:06 +02:00
tychovrahe
df42c99bc9 feat(core): add basic support for efficient frame buffer graphics
[no changelog]
2023-10-10 19:01:43 +02:00
matejcik
d9112b5a8d chore(core/prodtest): bump version after release 2023-10-06 10:49:29 +02:00
matejcik
06f77f745f docs(core/prodtest): introduce changelog 2023-10-06 10:49:29 +02:00
matejcik
11b12ea258 chore(core/prodtest): bump prodtest version 2023-10-06 10:49:29 +02:00
cepetr
6668f47666 docs(prodtest): document prodtest protocol
[no changelog]
2023-10-06 10:03:29 +02:00
cepetr
03464bea4d feat(prodtest): make prodtest welcome screen white (T2B1 only)
[no changelog]
2023-10-06 10:03:29 +02:00
Andrew Kozlik
3ca8f26fd0 feat(core): Implement Optiga counter operations. 2023-10-04 11:22:46 +02:00
Andrew Kozlik
1fa2929607 feat(core): Distinguish Optiga errors from invalid PIN. 2023-10-04 11:22:46 +02:00
Andrew Kozlik
4c7979ae30 feat(core): Propagate Optiga errors. 2023-10-04 11:22:46 +02:00
matejcik
240f4f56cd fix(core/optiga): add correct key usage to OID_PIN_CMAC 2023-10-04 11:22:46 +02:00
matejcik
3c413ecf02 fix(storage): correctly fail when Optiga operations fail 2023-10-04 11:22:46 +02:00
tychovrahe
6e5967af25 fix(core): adjust T2B1 display SPI baudrate
[no changelog]
2023-10-02 22:14:58 +02:00
grdddj
532f368a14 feat(core): not allowing to send empty PIN in T2B1
[no changelog]
2023-10-02 22:14:58 +02:00
tychovrahe
c937f21447 refactor(core): change the way USE_OPTIGA is added to build
[no changelog]
2023-10-02 20:59:50 +02:00
Andrew Kozlik
cb21ca8dc5 feat(core): Implement Optiga counter operations. 2023-10-02 20:26:00 +02:00
Andrew Kozlik
aed5912fbf feat(core): Distinguish Optiga errors from invalid PIN. 2023-10-02 20:26:00 +02:00
Andrew Kozlik
68876170fe feat(core): Propagate Optiga errors. 2023-10-02 20:26:00 +02:00
Martin Milata
f226c9599b fix(core/ui): better contrast for bip39 keyboard button
[no changelog]
2023-10-02 19:04:28 +02:00
matejcik
e28dff677c fix(core/optiga): add correct key usage to OID_PIN_CMAC 2023-10-02 16:57:15 +02:00
matejcik
9d86352352 fix(storage): correctly fail when Optiga operations fail 2023-10-02 16:57:15 +02:00
matejcik
c6c8d85200 chore(core): embed signed bootloader 2.1.3 2023-10-02 16:57:15 +02:00
tychovrahe
e39ab74949 fix(core): adjust T2B1 display SPI baudrate
[no changelog]
2023-10-02 16:45:05 +02:00
grdddj
07fb451048 feat(core): not allowing to send empty PIN in T2B1
[no changelog]
2023-10-02 16:33:51 +02:00
Martin Milata
3021df8f65 chore(core): bump version to 2.6.3
[skip_ci]
2023-09-29 20:20:19 +02:00
Martin Milata
040f6c2c8e Merge branch 'master' into release/23.09 2023-09-29 16:42:23 +02:00
matejcik
193a53f22b feat(core/rust): use MODEL_FULL_NAME from build system
[no changelog]
2023-09-29 16:27:27 +02:00
matejcik
d913181079 docs(core): add docstrings to modtrezorutils constants
[no changelog]
2023-09-29 16:27:27 +02:00
matejcik
c892d4b0ba refactor(core): inject full model name from build script
so that we don't have to do awkward string operations when we need it

[no changelog]
2023-09-29 16:27:27 +02:00
grdddj
b07f4d938a fix(core): make the marquee take always 2 seconds to animate from end to end
[no changelog]
2023-09-29 14:19:38 +02:00
matejcik
ff4197c50a chore(core): generate changelog, bump bootloader version after release 2023-09-29 11:47:40 +02:00
Andrew Kozlik
b3d0fb68ff feat(core): Improve Optiga transport error handling. 2023-09-27 17:17:09 +02:00
Andrew Kozlik
7d92e70cc3 feat(core): Hide repetitions in Optiga logging. 2023-09-27 17:17:09 +02:00
Andrew Kozlik
dee559f4f9 feat(core): Integrate Optiga into PIN verification. 2023-09-27 17:17:09 +02:00
Andrew Kozlik
6ca1182d85 refactor(core): Add "META" to metadate-related Optiga constants.
[no changelog]
2023-09-27 17:17:09 +02:00
grdddj
046ff15275 feat(core): show the preview of default homescreen image
[no changelog]
2023-09-27 14:14:42 +02:00
matejcik
fbd5c466f0 chore(core): embed QA bootloader 2.1.3 2023-09-27 13:20:02 +02:00
matejcik
bb5b91b920 Merge branch 'master' into release/23.09 2023-09-27 12:58:22 +02:00
tychovrahe
5d017e928d fix(core): reset optiga during initialization
[no changelog]
2023-09-27 12:14:32 +02:00
tychovrahe
510281590f fix(core): add delays to optiga i2c communications
[no changelog]
2023-09-27 12:14:32 +02:00
Ondrej Mikle
36e4a444bb feat(core/bootloader): make bootloader more robust against glitches
[no changelog]
2023-09-27 12:14:13 +02:00
tychovrahe
a6d0842663 fix(core/bootloader): fix erroneous shutdown when rejecting firmware upload 2023-09-27 12:14:13 +02:00
grdddj
a3f137d488 feat(core): forcing the letter to always change after selection in T2B1 recovery
[no changelog]
2023-09-26 09:28:11 +02:00
grdddj
65c9380ab7 feat(core): triggering delete action in ChoicePage after 1 second even without release
[no changelog]
2023-09-26 08:07:32 +02:00
grdddj
e06335d877 feat(core/rust): differentiate between short and long button press
With the help of this, making long DELETE press delete all the
inputted characters in PIN or passphrase entries.

[no changelog]
2023-09-21 11:30:02 +02:00
tychovrahe
29c16c212d fix(core): fix T2B1 "restarting in" label capitalization
[no changelog]
2023-09-20 21:36:07 +02:00
grdddj
0c4540ae0a feat(core): show new homescreen preview for T2B1
[no changelog]
2023-09-20 13:58:05 +02:00
Andrew Kozlik
1f7c78a4ed test(core): Update emulator device certificate.
[no changelog]
2023-09-19 21:41:42 +02:00
grdddj
42a6a5ac9b chore(core): adjust the chunkification logic to account for really mono font
Also improving the positioning of prev/next page arrows when paginating.

[no changelog]
2023-09-19 11:48:58 +02:00
grdddj
ad5c1858c1 chore(core,font): change some glyphs in PixelOperatorMono8
This makes the font really "mono", as previously some characters were
wider than others (m, w, M or W), which did not look good when
relying on the mono properties.

[no changelog]
2023-09-19 11:48:58 +02:00
tychovrahe
3c1236bf82 refactor(core): setup single-place layout selection
[no changelog]
2023-09-18 18:05:37 +02:00
Martin Milata
b9dbdc7057 chore(core): bump version to 2.6.2
[no changelog]
2023-09-18 16:27:07 +02:00
Martin Milata
07027a69e9 Merge branch 'master' into release/23.09 2023-09-15 14:33:20 +02:00
matejcik
21959996bd feat(core/bootloader_emu): allow explicit bootloader locking from command line 2023-09-15 14:08:02 +02:00
Andrew Kozlik
c48b606867 feat(core): Add bootloader_locked flag to Features message.
[no changelog]
2023-09-15 14:08:02 +02:00
tychovrahe
f881fab797 fix(core): disable access to secret in flash after boot
[no changelog]
2023-09-15 13:31:24 +02:00
Andrew Kozlik
686aa78aa7 feat(core): Use Optiga as a source of randomness. 2023-09-15 11:16:57 +02:00
grdddj
8a9354cd85 chore(core): separate confirm_output for T2B1 into two layouts so we can send a button request in between
[no changelog]
2023-09-15 09:50:21 +02:00
grdddj
bcb353a4a1 feat(core): support optional chunkification of addresses in receive and send flows 2023-09-15 09:50:21 +02:00
grdddj
76c6e9cd9d feat(all): implement support information for T2B1
WIP - change trezor{1,2} to their internal names, add support for model R

WIP - add EOS and NEM features Capability only for TT

WIP - not include EOS and NEM into TR

WIP - choose between device models when generating coininfo

WIP - regenerate coininfo.py

WIP - skip NEM, EOS, Dash, BGold and Decred device tests for TR

WIP - fix python support

WIP - fix unit tests

WIP - import bitcoin-like code only when needed

WIP - remove ignored coins for TR in fixtures.json

WIP - make all the external references to models UPPERCASE

WIP - do the model separation in mako script also for tokens and networks

WIP - hot-fixing non-supporting RELEASES_URL for new model names

WIP - support.py releases CLI command takes a list of -r key-value pairs DEVICE=VERSION

WIP - run `python support.py release`

WIP - use utils.MODEL_IS_T2B1 to ignore NEM and EOS

WIP - change all the docs and commands to have UPPERCASE model names

[no changelog]
2023-09-14 13:54:09 +02:00
grdddj
4b9d22066c chore(core/rust): change the position of up arrow icon
[no changelog]
2023-09-14 11:43:43 +02:00
matejcik
efab85a963 chore(core): include signed and QA bootloaders 2023-09-14 10:13:38 +02:00
grdddj
568c5f135b feat(core/rust): add ChoicePage animation and hold-to-move functionality
[no changelog]
2023-09-13 17:12:51 +02:00
grdddj
272fb4842a feat(core/rust): show last entered passphrase character for T2B1
[no changelog]
2023-09-13 17:12:51 +02:00
matejcik
afa6f84174 feat(core): custom exception types for Optiga 2023-09-13 15:45:48 +02:00
tychovrahe
024ea604ca fix(core): fix optiga warm reset start-up time
[no changelog]
2023-09-13 15:45:48 +02:00
Andrew Kozlik
db6630a5a3 feat(core): Support Optiga in Trezor firmware. 2023-09-13 15:45:48 +02:00
Andrew Kozlik
8010cfb5b6 feat(core): Add utils.USE_OPTIGA. 2023-09-13 15:45:48 +02:00
grdddj
70fa46a318 chore(core/rust): decrease top margin over homescreen label in T2B1
[no changelog]
2023-09-12 13:44:21 +02:00
grdddj
623e0ce468 chore(core/rust): improve vertical centering in some screens
[no changelog]
2023-09-12 11:06:38 +02:00
grdddj
d2f67d48fa chore(core/rust): transform if-elif into match
[no changelog]
2023-09-12 11:06:38 +02:00
Martin Milata
7e9f127aec feat(core): revise path warning on model T 2023-09-12 00:39:08 +02:00
Martin Milata
58ffe95369 fix(core): display XPUBs in a similar way to addresses
[no changelog]
2023-09-12 00:39:08 +02:00
Ondrej Mikle
bf96c43d32 chore(core): cstyle reformat
DSVibram AR fix
2023-09-11 14:36:11 +02:00
Ondrej Mikle
ac64d2d2f1 fix(core): one forgotten ensure_compatible_settings 2023-09-11 14:36:11 +02:00
Ondrej Mikle
75a148e414 fix(core): clear memory when not going to use copy firmware header for bootloader 2023-09-11 14:36:11 +02:00
Ondrej Mikle
c0c544b7d8 fix(core): fix bootloader_ci startup, remove unused function from limited_util.s
Fix changelog messages
2023-09-11 14:36:11 +02:00
Ondrej Mikle
b69ef9d168 feat(core): Copy firmware image header to bootloader RAM to be able to skip directly to firmware install, jumping from firmware to bootloader
Change linking of util.s and limited version of util.s to avoid mistakes
with boardloader etc.
2023-09-11 14:36:11 +02:00
grdddj
84659dc904 feat(core/rust): show WRONG PIN header in PIN entry after bad previous PIN input
[no changelog]
2023-09-11 09:29:12 +02:00
matejcik
6e0937c1ce chore(core/bootloader): bump version after release 2023-09-07 11:32:48 +02:00
matejcik
965d3182a0 docs(core/bootloader): generate changelog for 2.1.2 2023-09-07 11:32:48 +02:00
matejcik
409ef8abcd chore(core/embed/boardloader): bump version after release 2023-09-06 11:28:34 +02:00
matejcik
636b964119 chore(core/embed/boardloader): generate changelog, set correct version 2023-09-06 11:28:34 +02:00
matejcik
34b1980893 docs(core/embed/boardloader): add missing changelog entry 2023-09-06 11:28:34 +02:00
matejcik
59d35c8652 chore(core/bootloader): bump version after release 2023-09-06 11:09:45 +02:00
grdddj
8956350aca feat(core): create new Ethereum send flow for TT
[no changelog]
2023-09-04 13:50:30 +02:00
grdddj
eed6e0b71c feat(core): create new Ethereum send flow for TR
[no changelog]
2023-09-04 13:50:30 +02:00
grdddj
492ff958a5 feat(core): improve sign message designs
[no changelog]
2023-09-01 13:30:29 +02:00
grdddj
09cd64123b feat(core): implement show_more dialogue for TR
[no changelog]
2023-09-01 13:30:29 +02:00
matejcik
0532585105 docs(core/bootloader): generate changelog for 2.1.2 2023-08-30 15:54:03 +02:00
tychovrahe
bd0b0b2d15 refactor(core): move model specific norcow config to model header
[no changelog]
2023-08-29 11:17:19 +02:00
tychovrahe
33fc64b629 refactor(core): remove universal DMA driver
[no changelog]
2023-08-29 11:17:03 +02:00
matejcik
04ea95777b chore(core/prodtest): enable Optiga locking 2023-08-29 10:59:34 +02:00
matejcik
f40feec4f9 chore(core): bump prodtest version 2023-08-29 10:59:34 +02:00
Andrew Kozlik
5898b16cd2 feat(core): Implement OPTIGA VerifySign command. 2023-08-29 10:59:34 +02:00
tychovrahe
5470304515 feat(core): Implement OPTIGA provisioning in prodtest.
[no changelog]
2023-08-29 10:59:34 +02:00
Andrew Kozlik
812e77cefd feat(core): Implement OPTIGA secure channel. 2023-08-29 10:59:34 +02:00
Andrew Kozlik
11e1795a89 refactor(core): optiga_execute_command()
- Remove presentation layer parameter.
- Use error-flushing command codes.
2023-08-29 10:59:34 +02:00
Andrew Kozlik
773f79251f feat(core): Implement comparison of OPTIGA metadata. 2023-08-29 10:59:34 +02:00
tychovrahe
ee34425062 feat(core): add install restricted screen on installation with locked bootloader
[no changelog]
2023-08-28 17:04:25 +02:00
grdddj
78d5abd9b1 chore(core): replace View full button text with Show all
[no changelog]
2023-08-28 12:09:58 +02:00
tychovrahe
6c97dfef78 feat(core): add vendor headers for devices with dev bootloader
[no changelog]
2023-08-25 18:54:34 +02:00
tychovrahe
6d9e4321fd feat(core): add install restricted screen on installation with locked bootloader
[no changelog]
2023-08-25 14:41:59 +02:00
grdddj
bb959892ac chore(core): improve the shamir info button handling, regenerate tests
[no changelog]
2023-08-23 11:03:09 +02:00
conduition
30ddabc15b fix(core): more info button on shamir recovery screen
chore(core): add changelog
2023-08-23 11:03:09 +02:00
tychovrahe
c9a657b074 feat(core): set final name for Safe 3
[no changelog]
2023-08-18 16:14:47 +02:00
matejcik
7cf3a655e5 docs(core/bootloader): add changelog entry 2023-08-18 16:13:58 +02:00
matejcik
c0fd783b06 feat(core/bootloader): always use empty logo
Now that the empty logo also shows model name, we do not need to draw
the full logo in bootloader at all.
2023-08-18 16:13:58 +02:00
matejcik
ae7a1c7d52 refactor(core): render full/empty logo same way as in TR 2023-08-18 16:13:58 +02:00
tychovrahe
5947f8a50d feat(core): add model name below empty logo on boot
[no changlog]
2023-08-18 16:13:58 +02:00
tychovrahe
90bdab6599 fix(core): fixed unwanted delays in T2B1
[no changelog]
2023-08-18 16:13:58 +02:00
matejcik
49bee50132 chore(core): add production-signed vendor headers for T2B1 2023-08-16 10:49:36 +02:00
matejcik
c0de11fbeb fix(core): use stm32f4 implementation of secret.c for unix too
(fixes bootloader_emu build because there was an error in the unix dummy
impl)
2023-08-16 10:32:25 +02:00
tychovrahe
17f13b4140 feat(core): design for T2B1 "unsafe, do not use" screen
[no changelog]
2023-08-15 22:08:11 +02:00
tychovrahe
5a86add884 refactor(core): differentiate models by internal name in python
[no changelog]
2023-08-15 22:08:11 +02:00
matejcik
a41a8c5f87 chore(core): regenerate vendor headers
[no changelog]
2023-08-15 09:37:38 +02:00
matejcik
df84d96244 feat(core): support checking generated vendor headers as part of make gen_check
[no changelog]
2023-08-15 09:37:38 +02:00
matejcik
ec06cc5c40 feat(core): change resolution of embedded prodtest images, bump versions
[no changelog]
2023-08-15 09:37:38 +02:00
tychovrahe
b369e3f4a7 feat(core): enable seamless build of bootloader using devkeys
[no changelog]
2023-08-15 09:37:38 +02:00
tychovrahe
e8281385f6 feat(core): implement secret handling in bootloader 2023-08-15 09:37:38 +02:00
grdddj
6f60462d12 fix(core/rust): do not increase margin of right choice items
[no changelog]
2023-08-09 13:57:09 +02:00
grdddj
5bcfd5709f chore(core/rust): change fonts in confirm_properties for TT
Making the key font NORMAL and the value MONO in all cases

[no changelog]
2023-08-09 10:50:57 +02:00
grdddj
8d78dd8872 chore(core): change some UI text and TR's screens to match the Figma designs
[no changelog]
2023-08-07 15:30:38 +02:00
Andrew Kozlik
74759310bb feat(core): Integrate OPTIGA Trust M
[no changelog]
2023-08-02 00:35:43 +02:00
grdddj
d48bae4598 chore(core/rust): delete unused NotificationFrame
[no changelog]
2023-07-28 09:41:04 +02:00
grdddj
463f0df22a chore(core): modify design of recovery flow
[no changelog]
2023-07-28 09:41:04 +02:00
grdddj
a8d57bf2c4 chore(core/rust): add missing traces to components
[no changelog]
2023-07-28 09:41:04 +02:00
tychovrahe
238e3fd7c1 refactor(core): add abstraction over flash memory layout
[no changelog]
2023-07-25 10:25:20 +02:00
tychovrahe
fa71c8244c fix(core): fix MPU settings
[no changelog]
2023-07-21 12:28:13 +02:00
tychovrahe
ad1f2360bd fix(core): replace systick based wait in display SPI with loop as systick does not work in fault handlers
[no changelog]
2023-07-21 12:27:54 +02:00
grdddj
4227b5c0b9 chore(core/rust): change design of TT's disabled confirm button
[no changelog]
2023-07-18 13:01:25 +02:00
grdddj
91740ae4aa chore(core): change title of Shamir wallet creation
[no changelog]
2023-07-18 10:09:35 +02:00
grdddj
e31eb9570b chore(core/rust): change design of TR's middle button
Move the text one pixel lower so the arms touch it in its center.
Decreasing the overall height by 2 pixels.

[no changelog]
2023-07-18 09:25:01 +02:00
grdddj
52c69de138 chore(all): small design fixes
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
bc502287fc feat(core): new design of recovery dialogs
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
03f77c50e9 feat(core/rust): new design of wallet creation dialogs
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
672d6b7d13 feat(core): new design of PIN dialogs
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
10449759bf chore(core): new designs of passphrase dialogs
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
3f6a55cc3a refactor(core/rust): replace Label::new with alignment-specific constructor
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
c04cd19c6c chore(core/rust): decrease margin space between key and value paragraphs in confirm_properties
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
b5226b55c8 feat(core/rust): use loaders in coinjoin screens
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
a318706145 feat(core/rust): introduce small indeterminate loader
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
b96b9d43bb feat(core/rust): improve and use coinjoin loading screens
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
245ab416cb feat(core): regenerate exclamation mark icons to be centered in warning dialogs
[no changelog]
2023-07-14 12:00:21 +02:00
matejcik
78a8b48f1e refactor(core): generate trezorproto module straight from Rust 2023-07-12 10:09:36 +02:00
tychovrahe
eca1fc381b refactor(core): rust bindgen mcu-type related arguments are taken from board definition
[no changelog]
2023-07-07 22:09:56 +02:00
tychovrahe
6dbeba9730 refactor(core/tools): add argument to jpg_to_h.py, move it to tools
[no changelog]
2023-07-07 22:09:56 +02:00
tychovrahe
ebbd7f9d35 refactor(core): restructure trezorhal, prepare to support more platforms
[no changelog]
2023-07-07 22:09:56 +02:00
tychovrahe
40b5fedbd2 fix(core): fix TT bootloader emulator backlight, fix rust warning
[no changelog]
2023-07-03 10:19:28 +02:00
Martin Milata
edcdb97613 fix(core): backlight on frozen emulator
[no changelog]
2023-06-29 12:10:41 +02:00
tychovrahe
671f23f1aa feat(core): support rev 10 of T2B1 HW
[no changelog]
2023-06-27 22:45:33 +02:00
tychovrahe
539420cac8 refactor(core): make backlight/fading optional
[no changelog]
2023-06-27 16:18:30 +02:00
tychovrahe
1f1680243f refactor(core): separate backlight pwm driver and display driver
[no changelog]
2023-06-27 16:18:30 +02:00
grdddj
f9f21176fd feat(core/rust): improve progress screen design
[no changelog]
2023-06-27 07:57:45 +02:00
grdddj
64236e699f feat(core/rust): add account and address labels into send flow
[no changelog]
2023-06-27 07:57:45 +02:00
grdddj
570ffe2c0d chore(core/rust): make info button wider
[no changelog]
2023-06-27 07:57:45 +02:00
tychovrahe
9cd59105c1 refactor(core): modify i2c driver to allow usage of more i2c peripherals
[no changelog]
2023-06-26 12:13:31 +02:00
tychovrahe
4cc6413a46 chore(core/rust): fix compilation warnings
[no changelog]
2023-06-23 19:13:47 +02:00
matejcik
0ef1d20062 style(core/rust): remove unused mut 2023-06-21 14:19:03 +02:00
matejcik
437b9e5991 feat(core/rust): allow debug feature in tests (means we can print things) 2023-06-21 14:19:03 +02:00
matejcik
5a83a7171d refactor(core/rust): improve ergonomy of IterBuf 2023-06-21 14:19:03 +02:00
matejcik
b91e225076 refactor(core/rust): expose obj types and (debug only) type names 2023-06-21 14:19:03 +02:00
matejcik
ccddc8f5f3 fix(core/rust): disable stack checking in tests (fixes spurious "recursion exceeded" errors) 2023-06-21 14:19:03 +02:00
Andrew Kozlik
21f4aec8de refactor: Unify secp256k1_zkp usage.
[no changelog]
2023-06-21 08:36:20 +02:00
tychovrahe
638ebbc0df fix(core): improve robustness of touch driver
[no changelog]
2023-06-20 23:06:10 +02:00
grdddj
b420064c08 feat(core/rust): improve the painting of TR's buttons + new inverse design
[no changelog]
2023-06-20 11:08:21 +02:00
grdddj
a6316f964e chore(core/rust): regenerate TR's icons based on new designs
[no changelog]
2023-06-20 11:08:21 +02:00
grdddj
13cb1ea4ce chore(core/rust): improve the design of TR's tutorial flow
[no changelog]
2023-06-20 11:08:21 +02:00
grdddj
947e2ee24f fix(core/rust): make vertical alignment for FormattedText work for paginated content
[no changelog]
2023-06-20 11:08:21 +02:00
tychovrahe
ef5469ad90 fix(core): removed no longer needed emulator gamma correction
[no changelog]
2023-06-20 10:58:09 +02:00
Jan Šetina
c85102494d feat(core/ui): update colors - grey_dark and green 2023-06-20 10:58:09 +02:00
tychovrahe
da4ce32b45 fix(core): fix gamma correction for Model T 2023-06-20 10:58:09 +02:00
Martin Milata
cf4dcfcbd4 refactor(core/ui): namespaced Alignment2D
[no changelog]
2023-06-19 19:34:16 +02:00
Martin Milata
3a5fdfedcc fix(core/ui): minor visual tweaks
- centered title for coinjoin loader
- make device label bold on label confirmation screen

[no changelog]
2023-06-19 19:34:16 +02:00
Martin Milata
312f6899c7 feat(core/ui): vertical alignment for FormattedText
[no changelog]
2023-06-19 19:34:16 +02:00
Pavol Rusnak
089ff76822
Merge branch 'matejcik/signed-vhs' 2023-06-15 22:41:12 +02:00
tychovrahe
cfb674cf01 feat(core): adjust bootloader screens to look better on rectangular screens
[no changelog]
2023-06-15 17:08:14 +02:00
tychovrahe
32a2b371bd feat(core): allow different screen sizes for TT UI
[no changelog]
2023-06-15 17:08:14 +02:00
tychovrahe
d3284baf21 feat(core): support STM32F429 discovery board 2023-06-15 17:08:14 +02:00
tychovrahe
8154e5103f refactor(core): make emulated dma2d usable outside of emulator
[no changelog]
2023-06-15 17:08:14 +02:00
grdddj
ef2d2a3e75 feat(core/rust): make font changes for TR
[no changelog]
2023-06-14 18:17:09 +02:00
grdddj
d199a17cfc feat(core): introduce FONT_BIG as a fifth optional font
[no changelog]
2023-06-14 18:17:09 +02:00
grdddj
359f6709b0 chore(core): remove unused model R icons
[no changelog]
2023-06-14 18:17:09 +02:00
grdddj
100e36ac20 feat(core/rust): randomize positions in passphrase input
[no changelog]
2023-06-14 17:27:44 +02:00
grdddj
eacc1a3826 feat(core/rust): randomize letter choice positions in recovery word entry + randomize the order of words
[no changelog]
2023-06-14 17:27:44 +02:00
grdddj
8c7ad72062 feat(core/rust): randomize PIN digits fully and show last digit to user
[no changelog]
2023-06-14 17:27:44 +02:00
grdddj
5efafce856 chore(core): modify Shamir backup flow design
[no changelog]
2023-06-14 16:44:02 +02:00
Martin Milata
732e2cc9b5 refactor(core): split tjpgdec into own crate
[no changelog]
2023-06-14 15:53:56 +02:00
grdddj
127e6f42cf chore(core/rust): center TR's input method vertically
[no changelog]
2023-06-14 15:23:40 +02:00
grdddj
55bff602fa fix(core): add dynamic title to the FIDO dialogue for model R
[no changelog]
2023-06-14 15:20:43 +02:00
matejcik
88f5f79315 docs(core/boardloader): generate first changelog, bump version to 2.1.0 2023-06-14 11:42:12 +02:00
matejcik
ef079f35e5 chore(core/bootloader): generate changelog and bump bootloader version 2023-06-14 11:42:12 +02:00
matejcik
d465a14850 chore(core): add signed bootloader and vendor headers for model R 2023-06-13 14:25:39 +02:00
tychovrahe
e24536971c test(core): prodtest for T2B1
[no changelog]
2023-06-11 20:54:29 +02:00
tychovrahe
8d812ca36e feat(core): support device variants
[no changelog]
2023-06-07 19:48:53 +02:00
tychovrahe
cd722f5126 fix(python): fix T2B1 keys in trezorlib
[no changelog]
2023-06-06 22:12:53 +02:00
grdddj
5258e9a307 feat(core/rust): use icon for displaying device name in welcome screen
[no changelog]
2023-06-06 17:49:53 +02:00
grdddj
88fd4cd11f chore(core/rust): mark icons with empty right column, delete unused ones
[no changelog]
2023-06-06 17:49:53 +02:00
grdddj
f27405109e feat(core/rust): add better support for odd-width icons
[no changelog]
2023-06-06 17:49:53 +02:00
tychovrahe
531511407b feat(core/rust): add bootloader design for T2B1
[no changelog]
2023-06-06 17:49:53 +02:00
Martin Milata
e928568339 build: emulator darwin fixes
[no changelog]
2023-06-06 11:32:02 +02:00
tychovrahe
a2f8cb9d1c feat(core): add internal model field to features
[no changelog]
2023-06-06 09:39:45 +02:00
Martin Milata
fee0d70211 fix(core/ui): workaround different TT and TR UI API
[no changelog]
2023-06-02 18:47:09 +02:00
Martin Milata
611d4edc32 fix(core/ui): clarify transaction replacement screens
[no changelog]
2023-06-02 18:47:09 +02:00
matejcik
45c1a4212d chore(core): add T2B1 keys to bootloader / boardloader 2023-06-02 14:48:59 +02:00
matejcik
319a665d0d chore(core): add T2B1 vendor header data 2023-06-02 14:43:19 +02:00
matejcik
b6c2f2e5ba feat(core): add hw_model field to vendor headers 2023-06-02 14:43:19 +02:00
grdddj
da14c22712 feat(all): add UI for Model R 2023-05-31 10:14:54 +02:00
grdddj
019a3ced7d fix(core): revert some UI changes for TT (PIN, wipecode, backup homescreen) 2023-05-16 09:25:56 +02:00
grdddj
74246150e5 fix(core/rust): allow for cycling through the last character in TT passphrase 2023-05-11 21:02:21 +02:00
grdddj
c4bbf17433 feat(core/rust): allow for margin between text and ellipsis icon 2023-05-11 21:02:21 +02:00
grdddj
1c698656c3 feat(core/rust): create common function for ellipsised text 2023-05-11 21:02:21 +02:00
grdddj
e00af4f7f3 chore(core/rust): use format_i64 to convert numbers to strings 2023-05-11 21:02:21 +02:00
grdddj
3bf3e4c38b feat(core/rust): introduce Wordlist component for both bip39 and slip39 2023-05-11 21:02:21 +02:00
grdddj
c291285927 chore(core/rust): make TextBox common component 2023-05-11 21:02:21 +02:00
grdddj
1bb6288512 chore(core/rust): move Font and Color into their own modules 2023-05-11 21:02:21 +02:00
grdddj
5940129bfc feat(core/rust): show fee rate in modify-fee dialogue 2023-05-11 21:02:21 +02:00
grdddj
db38b708b4 feat(core/rust): make Checklist component usable by more models 2023-05-11 21:02:21 +02:00
grdddj
610c832dee feat(core/rust): add useful macros 2023-05-11 21:02:21 +02:00
grdddj
73c493d118 chore(core/rust): tracing and other smaller improvements/clippy lints 2023-05-11 21:02:21 +02:00
matejcik
eee4c624f9 feat(core/rust): JSON output from component tracing 2023-05-11 21:02:21 +02:00
grdddj
b63b72ed90 chore(core/rust): flag or delete unused code 2023-05-11 21:02:21 +02:00
grdddj
0c0d74a501 feat(core/rust): create mako template for QSTR generation 2023-05-11 21:02:21 +02:00
grdddj
8ee4c41938 chore(crypto): refactor slip39 same way as bip39 2023-05-11 21:02:21 +02:00
tychovrahe
0c5db05357 feat(core): support 16bit i8080 display bus
[no changelog]
2023-04-27 12:36:12 +02:00
tychovrahe
09349c308a feat(core): support hw revision 6 of T2B1
[no changelog]
2023-04-26 14:15:00 +02:00
tychovrahe
0a8981d643 refactor(core): rewrite display_image into rust
[no changelog]
2023-04-25 10:28:33 +02:00
tychovrahe
e578f7f0f8 refactor(core): remove unused C display_icon and display_loader functions
[no changelog]
2023-04-25 10:28:33 +02:00
tychovrahe
69be9b1edf refactor(core): improve safety of buffer handling
[no changelog]
2023-04-25 10:28:33 +02:00
Martin Milata
3fb3f108cc chore(vendor): bump micropython to 1.19.1
Relevant micropython commits:
  01374d941f9d7398e35990b574769b20c6779457 py/mpconfig.h: Define initial templates for "feature levels".
  7b89ad8dbf432ab51eea6d138e179bf51394c786 py/vm: Add a fast path for LOAD_ATTR on instance types.
  68219a295c75457c096ac42dbe8411b84e1e1a51 stm32: Enable LOAD_ATTR fast path, and map lookup caching on >M0.
  e0bf4611c3a8b23b3c52e6a7804aac341ac3a87d py: Only search frozen modules when '.frozen' is found in sys.path.
  f2040bfc7ee033e48acef9f289790f3b4e6b74e5 py: Rework bytecode and .mpy file format to be mostly static data.
  926b554dafffa1e9bd80aa12fea5c621221c9d79 extmod/moduos: Create general uos module to be used by all ports.
  2b409ef8a46015f8f3bd20bc44e644637dbe9bd3 unix/moduos: Convert module to use extmod version.
  47f634300c5572571816817f16836113c98814ae py: Change makemoduledefs process so it uses output of qstr extraction.
  0e7bfc88c6ac6b5d64240f91183a3cfe2ab67ade all: Use mp_obj_malloc everywhere it's applicable.
  2a6ba47110be88ff1e1f5abd1bd76c353447884c py/obj: Add static safety checks to mp_obj_is_type().
2023-04-21 13:14:07 +02:00
tychovrahe
dd5468fe88 fix(core): fix homescreen shade positioning
[no changelog]
2023-04-21 09:07:18 +02:00
tychovrahe
33fb590f44 refactor(core): decouple i2c driver and touch driver
[no changelog]
2023-04-19 21:36:51 +02:00
tychovrahe
83500487b8 refactor(core): improve conditional compilations based on model
[no changelog]
2023-04-19 21:36:51 +02:00
tychovrahe
eb72fb4241 refactor(core): remove unused functions
[no changelog]
2023-04-19 21:36:51 +02:00
tychovrahe
6ea68baf34 refactor(core): move files out of extmod
[no changelog]
2023-04-19 21:36:51 +02:00
Martin Milata
7a3ab389f8 style(core/rust): fix indent
[no changelog]
2023-04-19 19:53:33 +02:00
Martin Milata
58be59529d style(core): fix clippy lints
[no changelog]
2023-04-19 13:05:03 +02:00
matejcik
37d0d91a84 chore: add production-signed prodtest header 2023-04-17 14:27:50 +02:00
matejcik
fa1925a9d8 chore(core/vendorheaders): generate vendor header for prodtest 2023-04-17 11:57:46 +02:00
matejcik
366d1cb125 chore(core/vendorheaders): bump versions of vendor headers after recent changes 2023-04-14 16:29:25 +02:00
matejcik
01b7cfd86f fix(core/prodtest): ensure the prodtest image is at least one chunk big 2023-04-14 16:20:49 +02:00
matejcik
dd4d020a76 fix(core/bootloader): correctly handle images smaller than one chunk 2023-04-14 16:20:49 +02:00
tychovrahe
44178514f3 feat(core): support differently sized homescreen
[no changelog]
2023-04-12 14:03:12 +02:00
Martin Milata
aa9f848b70 fix(core/ui): button text and warning style update
[no changelog]
2023-04-12 13:10:45 +02:00
Martin Milata
2456219d52 fix(core/ui): hold to confirm when finializing replacement transaction
[no changelog]
2023-04-10 18:42:38 +02:00
Martin Milata
46940521d8 chore(core/bootloader): bump version to 2.1.1
[skip_ci]
2023-04-09 12:37:18 +02:00
Martin Milata
81e5dbf301 chore(core): bump version to 2.6.1
[skip_ci]
2023-04-09 12:37:18 +02:00
matejcik
c38b39ee6e feat(core): include signed bootloader 2.1.0 2023-04-07 13:33:04 +02:00
matejcik
9d8cfbf680 chore(core): rebuild QA bootloader
[no changelog]
2023-04-05 16:36:29 +02:00
Martin Milata
69bc442c90 fix(core/ui): replace RobotoMono Regular with RobotoMono Medium
[no changelog]
2023-04-04 00:15:12 +02:00
Martin Milata
a44e738d31 feat(core/ui): sending transaction style update
[no changelog]
2023-04-04 00:15:12 +02:00
Martin Milata
229c81fa7e feat(core/ui): frames with title and subtitle
[no changelog]
2023-04-04 00:15:12 +02:00
matejcik
a09c404359 fix(core): restore original Label bounds checking
so that if the text does not vertically fit into the provided bounds,
it will only render part of itself (and an optional ellipse)
and remain properly vertically centered
2023-04-03 22:01:26 +02:00
matejcik
bd491bb2da docs(core/bootloader): changelog for bootloader 2.1.0 2023-04-03 22:01:26 +02:00
matejcik
744766a9c7 chore(core): rebuild QA bootloader 2023-04-03 22:01:26 +02:00
matejcik
ca5a68ebc5 fix(core): unify error strings 2023-04-03 22:01:26 +02:00
matejcik
38b6b9adc8 style(core/bootloader): unify import section 2023-04-03 22:01:26 +02:00
matejcik
a2f7d8395f fix(core/bootloader): erase the storage as soon as we know we should
This fixes a problem that would previously cause the storage to be
erased every time.
2023-04-03 22:01:26 +02:00
matejcik
ba112e6290 feat(core/bootloader): show whether the storage was erased in emu 2023-04-03 22:01:26 +02:00
matejcik
7638694484 chore: make fields on FirmwareRequest required (fixes #1941)
[no changelog]
2023-04-03 22:01:26 +02:00
matejcik
63c27bafd6 fix(core/bootloader): properly display upgrade/downgrade 2023-04-03 22:01:26 +02:00
matejcik
d1d373a51f refactor(core/bootloader): simplify Confirm arguments 2023-04-03 22:01:26 +02:00
matejcik
a9a18bf80d refactor(core/bootloader): make use of Label vertical alignment 2023-04-03 22:01:26 +02:00
matejcik
c3af3eafe2 refactor(core/bootloader): get rid of Paragraphs
for a ~10kB space saving
2023-04-03 22:01:26 +02:00
matejcik
14f0fba949 feat(core/bootloader): tweak initial screens
* do not wait for user touch when we know we are going to the welcome
  screen
* do not fade before the Trezor Model T screen
2023-04-03 22:01:26 +02:00
matejcik
839a940990 feat(core/bootloader): new style for result screens (fixes #2910) 2023-04-03 22:01:26 +02:00
matejcik
6d434122f7 feat(core/bootloader): emulator can now show custom error screens 2023-04-03 22:01:26 +02:00
matejcik
2dd44786d5 fix(core/emulator): use a gamma lookup table for better fadein/fadeout performance 2023-04-03 22:01:26 +02:00
matejcik
6e85d61688 feat(core): QA build for testing bootloaders / upgrades
[no changelog]
2023-04-03 22:01:26 +02:00
matejcik
56047bd34a chore(core): regenerate unsigned and dev-signed vendor headers 2023-04-03 22:01:26 +02:00
matejcik
25660144f0 chore(core): update vendor header definitions
* change version format to match the new code
* change devel vendor header size - fixes #659
* add definition for QA vendor header, with production-like flags but
  devel key

THIS QA VENDOR HEADER MUST NOT BE SIGNED BY PRODUCTION KEYS
2023-04-03 22:01:26 +02:00
matejcik
288cd11b2a refactor(core/bootloader): inline "wait for click" into ui_screen_boot_click 2023-04-03 22:01:26 +02:00
matejcik
e10b6ecc26 feat(core/rust): improve behavior of from_c_str / from_c_array 2023-04-03 22:01:26 +02:00
tychovrahe
7e96b96d00 feat(core/bootloader): remove different logo color when firmware present 2023-04-03 22:01:26 +02:00
matejcik
ae9960ca61 feat(core): introduce bootloader emulator 2023-04-03 22:01:26 +02:00
matejcik
af6c6d43ed fix(core/unix): add miscellaneous missing header entries 2023-04-03 22:01:26 +02:00
matejcik
07addae05f feat(core/unix): add blocking reads and deinit code to emulated UDP-USB 2023-04-03 22:01:26 +02:00
matejcik
497ead7111 feat(core/unix): fill out (non-persistent) OTP functionality 2023-04-03 22:01:26 +02:00
tychovrahe
9b8984896e refactor(core): unify error screens
[no changelog]
2023-04-03 22:01:26 +02:00
tychovrahe
64bc94cbc9 feat(core): uninitialized welcome flow
[no changelog]
2023-04-03 22:01:26 +02:00
tychovrahe
2537436211 feat(core): update bootloader style
[no changelog]
2023-04-03 22:01:26 +02:00
tychovrahe
6e0c2578f8 fix(core): fix FMC initialization
[no changelog]
2023-03-31 22:34:14 +02:00
tychovrahe
dcda5e0142 feat(core): support old homescreen format
[no changelog]
2023-03-30 19:06:35 +02:00
Martin Milata
2388a8edea style(core/rust/ui): rename Map to MsgMap
[no changelog]
2023-03-30 13:55:54 +02:00
Martin Milata
08cad2f909 fix(core/ui): coinjoin layouts style update
[no changelog]
2023-03-30 13:55:54 +02:00
tychovrahe
0fb55553b7 fix(core): increase work buffer size for jpeg decompression
[no changelog]
2023-03-29 21:39:05 +02:00
grdddj
d8cad1f4a9 chore(core): bump bootloader version to 2.1.0
[no changelog]
2023-03-28 15:34:06 +02:00
grdddj
26edb42979 chore(core): bump version to 2.6.0
[no changelog]
2023-03-28 15:34:06 +02:00
matejcik
9244522721 fix(core): remove shutdown()
In a very weird situation, our declaration of `shutdown()` shadows a
function `shutdown(int, int)` from sys/socket, which _just happens_ to
be called by libxcb when closing the sdl window. This calls
`main_clean_exit` which calls into micropython and causes at best an
uncaught NLR and at worst an outright segfault because by that time the
micropython environment doesn't exist anymore.

I didn't think this sort of thing would be possible but here we are??

Fixed by removing `__shutdown()` and replacing `shutdown` with
`trezor_shutdown`
2023-03-24 13:24:46 +01:00
Martin Milata
e60ed788f2 fix(core/rust/ui): add cargo flag for Component::bounds() support
Rarely used debugging feature.

[no changelog]
2023-03-23 20:16:22 +01:00
Martin Milata
afe965687f fix(core/ui): style update: frame and corner button
[no changelog]
2023-03-23 20:16:22 +01:00
Martin Milata
670cbd7a1d fix(core/ui): style update: paging
[no changelog]
2023-03-23 20:16:22 +01:00
Martin Milata
19a2ea21b6 fix(core/ui): Model T style update
[no changelog]
2023-03-23 20:16:22 +01:00
Martin Milata
3623f966dc fix(core/rust/ui): fix text baseline calculation
[no changelog]
2023-03-23 20:16:22 +01:00
Martin Milata
4199d4ad41 fix(core/ui): style update: fonts
[no changelog]
2023-03-23 20:16:22 +01:00
grdddj
31ef923e15 fix(core): create separate display buffer for gamma correction
So that the screenshots in UI tests are not affected by it.
Also not doing the gamma correction in case of SDL_VIDEODRIVER=dummy.

[no changelog]
2023-03-23 17:35:09 +01:00
grdddj
70120b72cc feat(core): allow for changing the emulator gamma correction value by keyboard arrows
[no changelog]
2023-03-23 09:37:59 +01:00
grdddj
a1974f6953 feat(core): perform 0.55 gamma correction on emulator display
[no changelog]
2023-03-23 09:37:59 +01:00
tychovrahe
3f54b84aef fix(core/bootloader): fix retries when reading from USB 2023-03-22 15:09:39 +01:00
Martin Milata
dce876069b Merge branch 'release/23.03'
Conflicts:
	legacy/firmware/version.h
	tests/ui_tests/fixtures.json
2023-03-20 13:02:35 +01:00
Jan Šetina
04964dc2e8 feat(core/ui): change GREY_DARK and GREY_MEDIUM
[no changelog]
2023-03-13 01:34:14 +01:00
Martin Milata
b8abccbc94 feat(core/rust/ui): implement Clone for StrBuffer
[no changelog]
2023-03-09 23:36:36 +01:00
Martin Milata
4af5939a0b feat(core/ui): redesigned receive flow
[no changelog]
2023-03-09 23:36:36 +01:00
Martin Milata
1b94a7cb7b feat(core/ui): page break icons
Co-authored-by: grdddj <jiri.musil06@seznam.cz>

[no changelog]
2023-03-09 23:36:36 +01:00
Martin Milata
4622aec0f1 refactor(core): switch to Rust implementation of QR-Code-generator
[no changelog]
2023-03-09 23:36:36 +01:00
tychovrahe
d633fa885b feat(core/rust): model R bootloader implementation in rust 2023-03-09 16:14:36 +01:00
tychovrahe
659c939080 fix(core/rust): fix glyph positioning in TextOverlay 2023-03-09 16:14:36 +01:00
tychovrahe
e30fdddd83 fix(core): clear model R display before turning it on 2023-03-09 16:14:36 +01:00
tychovrahe
5a991f3244 feat(core/rust): bootloader implementation in rust 2023-03-09 16:14:36 +01:00
matejcik
f9612898ab feat(core/rust): improved error reporting 2023-03-09 16:14:36 +01:00
matejcik
e0bcdb16e0 refactor(core/rust): clarify safety of StrBuffer creation 2023-03-09 16:14:36 +01:00
matejcik
b864ad58b2 feat(core/rust): cleaner backlight functions 2023-03-09 16:14:36 +01:00
tychovrahe
9b9443ead7 feat(core/rust): added color constructor from rgba format, added text display functions using top-left coordinates 2023-03-09 16:14:36 +01:00
tychovrahe
a1312d8453 feat(core/rust): added button with icon and text 2023-03-09 16:14:36 +01:00
tychovrahe
e75f112ec2 feat(core/rust): expose touch processing functions to rust 2023-03-09 16:14:36 +01:00
tychovrahe
cacae36c73 feat(core/rust): bootloader compilation with rust 2023-03-09 16:14:36 +01:00
tychovrahe
3b23621bea feat(core): modify bootloader linkerscript to support rust 2023-03-09 16:14:36 +01:00
Jan Šetina
d540c52c0c chore(core): change the homescreen 2023-03-09 14:03:48 +01:00
Jan Šetina
30b636079e chore(core): change the color definitions 2023-03-09 14:03:48 +01:00
grdddj
1215268ae9 chore(rust): decrease icon top margin on welcome screen to 48 px
[no changelog]
2023-03-02 15:58:58 +01:00
tychovrahe
ead61d1e90 refactor(core): improve flexibility of build, allow different touch panel driver, allow STM32F429
[no changelog]
2023-03-02 15:56:33 +01:00
Martin Milata
557e29769b feat(core/ui): redesigned passphrase dialogs
[no changelog]
2023-02-28 23:30:38 +01:00
Martin Milata
233a292fd2 Merge branch 'master' into secfix/23.03
Conflicts:
	core/Makefile
	core/SConscript.firmware
	core/embed/firmware/bootloader.bin
	core/embed/firmware/bootloaders/bootloader_T.bin
	core/embed/firmware/bootloaders/bootloader_T2T1.bin
	python/src/trezorlib/firmware/core.py
	python/src/trezorlib/firmware/models.py
2023-02-28 15:20:36 +01:00
Andrew Kozlik
9528e2f9eb feat(common): Add Apple to known FIDO services. 2023-02-28 10:54:48 +01:00
grdddj
acec852aa4 feat(core): show welcome screen after device is connected
[no changelog]
2023-02-27 13:22:09 +01:00
Martin Milata
afb5c55416 feat(core/ui): reset_device copy change
[no changelog]
2023-02-17 12:35:19 +01:00
tychovrahe
9f7edf210e feat(core/rust): basic marquee implementation
[no changelog]
2023-02-10 19:33:12 +01:00
tychovrahe
9aa8662ba9 feat(core): implement loaders for T2B1
[no changelog]
2023-02-08 12:18:33 +01:00
tychovrahe
52cd43bf29 fix(core): improve tearing effect prevention
[no changelog]
2023-02-07 19:05:01 +01:00
Martin Milata
099d00de84 perf(core/rust): use less Button instances in PassphraseKeyboard
[no changelog]
2023-02-06 17:35:31 +01:00
Martin Milata
0df81b18e3 perf(core/rust): parse Toif metadata on demand
[no changelog]
2023-02-06 17:35:31 +01:00
Martin Milata
194868438a perf(core/rust): drop NamedToif
Makes structs larger despite only being used in panic.

[no changelog]
2023-02-06 17:35:31 +01:00
tychovrahe
8f7cbf7b9d fix(core): update fat fs library to R0.15 2023-02-02 16:22:23 +01:00
grdddj
f8c432e955 chore(core/rust): delete model_1 code - it should use model_r
[no changelog]
2023-01-31 10:55:12 +01:00
tychovrahe
236396338c refactor(core/rust): introduce icon/image type
[no changelog]
2023-01-30 12:33:39 +01:00
tychovrahe
461f566777 fix(core/bootloader): fix detection of installed firmware
[no changelog]
2023-01-26 11:56:08 +01:00
grdddj
571bb79e33 chore(core): delete unused bip39/slip39 micropython/C bindings
[no changelog]
2023-01-25 19:17:56 +01:00
tychovrahe
4603b9ee74 build(core): embed bootloader according to trezor model
[no changelog]
2023-01-20 19:47:12 +01:00
tychovrahe
1359b21508 feat(core): confirm homescreen image with thumbnail
[no changelog]
2023-01-19 14:11:42 +01:00
tychovrahe
d00e87ea80 feat(core/rust): homescreen background image
[no changelog]
2023-01-19 14:11:42 +01:00
tychovrahe
12f87aa01e fix(core): fix usb disconnected warning in new homescreen
[no changelog]
2023-01-19 14:11:42 +01:00
tychovrahe
02e2b50d3f feat(core/rust): tjpgd in rust
[no changelog]
2023-01-19 14:11:42 +01:00
matejcik
497285f9a1 feat(core): make first steps to unify Rust API for both models
wip: unify confirm_action

wip: unify confirm_fido

wip: unify request_pin, clean up prompts

wip: unify select_word

wip: unify request_number

refactor(core/reset): refactor confirm_share_words

[no changelog]
2023-01-13 17:09:25 +01:00
tychovrahe
115f7daaaa feat(core): prevent installing and running of incompatible firmware, prevent bootloader downgrade 2023-01-12 15:38:36 +01:00
tychovrahe
99d4b0185a fix(core): fix model T display reinitialization crash
[no changelog]
2023-01-11 16:19:02 +01:00
tychovrahe
3cc66301c3 fix(core): fix model T FMC timing
[no changelog]
2023-01-04 13:04:57 +01:00
tychovrahe
3cd47f85af feat(legacy): qa build for upgrade testing 2023-01-02 11:03:38 +01:00
tychovrahe
305b7fe84d fix(core/rust): fix position calculation from center and size
[no changelog]
2022-12-16 16:41:24 +01:00
Martin Milata
bdec3f3979 fix(core/rust/ui): polish confirm_fido
[no changelog]
2022-12-15 17:24:15 +01:00
Martin Milata
2a3aabb57e refactor(core/rust/ui): avoid homescreen flicker during workflow restarts
[no changelog]
2022-12-13 17:15:15 +01:00
Martin Milata
5b3db7eca1 refactor(core/rust/ui): homescreen layouts
[no changelog]
2022-12-13 17:15:15 +01:00
tychovrahe
12b3dc23db fix(core/rust): fix bip39 input not recognizing three-letter words that could continue
[no changelog]
2022-12-13 00:38:23 +01:00
Martin Milata
1b4dff6275 fix(core/rust/ui): respect DISABLE_ANIMATION
[no changelog]
2022-12-12 16:00:42 +01:00
Martin Milata
95d8a21294 feat(core/rust/ui): progress indicators
[no changelog]
2022-12-12 16:00:42 +01:00
Martin Milata
11ffee0b45 refactor(core/rust/ui): use AsRef instead of Deref
[no changelog]
2022-12-12 16:00:42 +01:00
tychovrahe
387af03842 fix(core/rust): optimize keyboard behavior
[no changelog]
2022-12-09 22:35:39 +01:00
Martin Milata
701d75d6d8 fix(core/rust/ui): handle very long scrollbars on Model T
[no changelog]
2022-12-07 16:47:30 +01:00
Martin Milata
4135b00708 refactor(core/rust): support for StrBuffer slicing
[no changelog]
2022-12-06 10:40:32 +01:00
Martin Milata
452857757a feat(core/rust/ui): support ask_pagination flag in confirm_blob
[no changelog]
2022-12-06 00:26:25 +01:00
tychovrahe
38548f02f2 feat(core/rust): special shape erase button
[no changelog]
2022-11-30 13:49:12 +01:00
Martin Milata
a61a46808e fix(core/rust/ui): no hyphens when breaking monospace lines
[no changelog]
2022-11-29 21:03:06 +01:00
Martin Milata
3b92923caa feat(core/rust/ui): on-the-fly conversion of bytes to hexadecimal representation
[no changelog]
2022-11-29 21:03:06 +01:00
tychovrahe
4c7060186a fix(core): fix display blinking by increasing backlight pwm frequency 2022-11-24 13:22:30 +01:00
grdddj
61277bd80a feat(core/ui): implement webauthn layouts for UI2
[no changelog]
2022-11-24 13:03:34 +01:00
matejcik
e80712f4d9 chore(core/rust/ui): workaround for "re-enter wipe code"
[no changelog]
2022-11-24 13:03:34 +01:00
matejcik
4200539546 refactor(core/rust/ui): redesign Label to make use of TextLayout machinery
also replace LabelStyle with TextStyle

[no changelog]
2022-11-24 13:03:34 +01:00
matejcik
3f6ea00e02 feat(core/rust/ui): expose text_max_height and baseline
[no changelog]
2022-11-24 13:03:34 +01:00
matejcik
615c8a0e64 fix(core/embed): better clamping of coordinates
[no changelog]
2022-11-24 13:03:34 +01:00
matejcik
9708175d19 fix(core/rust): improve & document safety of slice operations
[no changelog]
2022-11-24 13:03:34 +01:00
tychovrahe
0d733d8e22 feat(core): change display type for model R
[no changelog]
2022-11-24 11:37:52 +01:00
tychovrahe
1bad41ddb0 fix(core/rust): fix success animation
[no changelog]
2022-11-21 22:20:35 +01:00
matejcik
d1126b85be feat(rust): expose micropython lists as slices
[no changelog]
2022-11-21 18:15:48 +01:00
grdddj
f48890afb3 chore(tests): make all the device tests work with UI2 2022-11-21 14:08:47 +01:00
grdddj
ae525fed26 chore(core/ui): delete unused arguments to layouts 2022-11-21 14:08:47 +01:00
matejcik
f1c7129d06 feat(core/model_r): only refresh screen on display_refresh
Given that on Model R we have a frame buffer, let's not push out pixels
one by one.

[no changelog]
2022-11-08 15:03:21 +01:00
tychovrahe
a89d139dc9 feat(core): increase clock frequency to 180 MHz 2022-11-04 15:10:55 +01:00
Martin Milata
e778ec4af4 chore(core/rust/ui): avoid nested Child as LayoutObj root
[no changelog]
2022-11-03 16:50:03 +01:00
Martin Milata
bf7587574d chore(core): bump version to 2.5.4
[skip_ci]
2022-11-01 14:03:31 +01:00
tychovrahe
6e36f479db fix(core/rust): fix prompt rendering over warning in pin keyboard
[no changelog]
2022-10-31 22:23:26 +01:00
Martin Milata
40a405abea fix(core/rust/ui): remove extraneous Child wrappers
[no changelog]
2022-10-31 14:40:40 +01:00
Andrew Kozlik
627ef9748f feat(core): Remove coin name from CoinJoin confirmation dialog.
[no changelog]
2022-10-26 14:02:03 +02:00
Dusan Klinec
26711857e8 refactor(xmr): remove old BP code 2022-10-25 21:36:03 +02:00
grdddj
8668eba936 feat(core/ui): implement altcoin screens for UI2
[no changelog]
2022-10-24 13:38:31 +02:00
grdddj
23a0a37a45 feat(core/rust/ui): support longer passphrases
[no changelog]
2022-10-22 17:01:09 +02:00
tychovrahe
da83d98539 refactor(core/rust): use icon blending for three-color icons
[no changelog]
2022-10-22 12:20:42 +02:00
Martin Milata
18352acce8 feat(core/rust/ui): replace TT Hoves Medium with DemiBold style
[no changelog]
2022-10-22 01:39:53 +02:00
Martin Milata
be7f1c3f7e fix(core/rust/ui): avoid flickering in hold to confirm
[no changelog]
2022-10-21 21:02:39 +02:00
Martin Milata
a7c3a07ef1 refactor(core/rust/ui): implement confirm_properties layout
[no changelog]
2022-10-21 21:02:39 +02:00
tychovrahe
86f2dacc6e fix(core): re-introduce touch event filtering
[no changelog]
2022-10-21 14:24:10 +02:00
Martin Milata
f956966fda build(core/rust): workaround failing build_unix_debug
[no changelog]
2022-10-21 13:05:31 +02:00
tychovrahe
d0f1095842 fix(core): expose USB_CHECK for all models
[no changelog]
2022-10-19 11:31:03 +02:00
tychovrahe
d3469f8310 fix(core/rust): optimize pin keyboard rendering for TT UI2
[no changelog]
2022-10-18 10:17:36 +02:00
Andrew Kozlik
d815a7d6de chore(core): Use C implementation of Bech32 decode. 2022-10-17 15:20:46 +02:00
matejcik
cac98ad7d4 feat(core/rust): implement storage wrapper layer
[no changelog]
2022-10-13 09:18:20 +02:00
tychovrahe
99eaaae28e build(core): redistribute content in flash
[no changelog]
2022-10-03 09:43:53 +02:00
tychovrahe
fb08536b6a feat(core): icon and images using new format 2022-09-29 21:50:10 +02:00
tychovrahe
f7b9bb4ef8 feat(core/rust): use dma2d to improve rendering performance, implement text over image and icon over icon functions 2022-09-29 21:50:10 +02:00
tychovrahe
223d1b20fb refactor(core): change fonts organization 2022-09-29 21:50:10 +02:00
tychovrahe
b9647d1296 fix(core): fix flashing usb disconnected error
[no changelog]
2022-09-26 13:31:04 +02:00
tychovrahe
a4d0ec3926 fix(core/rust): fix flickering in UI2 hold to confirm screen
[no changelog]
2022-09-22 10:03:56 +02:00
Martin Milata
7c11dec7f6 refactor(core/rust/ui): Font as repr(u8) enum
[no changelog]
2022-09-16 13:57:32 +02:00
Martin Milata
ef504d40fc perf(core/rust/ui): use 16-bit coordinates
[no changelog]
2022-09-16 13:57:32 +02:00
tychovrahe
e3d5c178f1 feat(core): enable bus fault and usage fault handlers
[no changelog]
2022-09-13 15:04:40 +02:00
Martin Milata
5a9c2a1363 feat(core/rust/ui): recovery layouts
[no changelog]
2022-09-07 16:46:47 +02:00
Martin Milata
5052594789 refactor(core/rust/ui): simplify button height computation
[no changelog]
2022-09-07 16:46:47 +02:00
Martin Milata
885ae2a943 refactor(core/rust/ui): add should_show_more
[no changelog]
2022-09-07 16:46:47 +02:00
Martin Milata
a5cff25209 fix(core/rust/ui): expose method for completely repainting layout
[no changelog]
2022-09-07 16:46:47 +02:00
Martin Milata
3b629a1ea4 refactor(core/rust/ui): layouts for SLIP-39 backups
[no changelog]
2022-09-07 16:46:47 +02:00
Martin Milata
4782afbae3 refactor(core/rust/ui): layouts for BIP-39 backups
[no changelog]
2022-09-07 16:46:47 +02:00
Martin Milata
4ff2c99f0a refactor(core/rust/ui): add show_info and show_error
[no changelog]
2022-09-07 16:46:47 +02:00
Martin Milata
f0d5f9069a refactor(core/rust/ui): text centering in Paragraphs
Only works for paragraphs, not formatted text.

[no changelog]
2022-09-07 16:46:47 +02:00
Martin Milata
247d9d267a feat(core/rust/ui): explicit breaks for Paragraphs
[no changelog]
2022-09-07 16:46:47 +02:00
matejcik
7ba7eff118 refactor(core/rust): more explicit buffer semantics, StrBuffer::alloc
[no changelog]
2022-09-06 16:27:22 +02:00
Ondrej Mikle
77cdf4b43c fix(core): consider device in USB suspend connected if it was configured before
[no changelog]
2022-09-05 09:36:32 +02:00
tychovrahe
837988f61e fix(core/rust): fix uzlib window allocation
[no changelog]
2022-08-29 10:11:45 +02:00
tychovrahe
dd823097b4 fix(core/rust): fix UI2 loader position
[no changelog]
2022-08-26 09:56:43 +02:00
Ondrej Mikle
72228e35cf feat(core): show red error header when USB data not connected 2022-08-25 16:42:29 +02:00
Ondrej Mikle
a0287698d5 feat(core): show blue dot when USB data not connected 2022-08-25 16:42:29 +02:00
Martin Milata
005e4203a7 refactor(core/rust/ui): text theme struct
[no changelog]
2022-08-25 16:33:41 +02:00
Pavol Rusnak
c962d3520b
Merge branch 'release/22.08' 2022-08-22 11:10:45 +02:00
matejcik
0b4ccf45fc style(core/rust): less expensive conversion from known good utf8 string 2022-08-18 15:22:48 +02:00
matejcik
0fb66d3527 feat(core/rust): unwrap! macro to trigger nicer behavior than the built-in 2022-08-18 15:22:48 +02:00
matejcik
0b52ffb914 feat(core/rust): const geometry
Make sure all geometry functions are const. This seems semantically correct and achieves a small space saving.
2022-08-18 15:22:48 +02:00
tychovrahe
6cf92fd748 feat(core): Introduce stack overflow detection by moving stack to the start of RAM 2022-08-16 17:03:06 +02:00
tychovrahe
cc2bfd9c39 feat(core/rust): autoclosing popup for Model R with success animation 2022-08-12 13:30:24 +02:00
tychovrahe
1697be2de8 feat(core/rust): added success animation and rust icon rendering 2022-08-12 13:30:24 +02:00
tychovrahe
820182c6b0 feat(core/rust): expose uzlib functions to rust 2022-08-12 13:30:24 +02:00
tychovrahe
68598f00af feat(core/rust): hold to confirm animation for Model R 2022-08-12 13:30:24 +02:00
tychovrahe
107e22c814 feat(core/rust): glyph and text rendering in rust 2022-08-12 13:30:24 +02:00
tychovrahe
af77816c2f feat(core/rust): expose display offset handling to rust 2022-08-12 13:30:24 +02:00
tychovrahe
29a5b0a770 feat(core/rust): implement interpolate color and color table functions in rust 2022-08-12 13:30:24 +02:00
tychovrahe
7f2a995c54 refactor(core/rust): separate lerp and animations 2022-08-12 13:30:24 +02:00
tychovrahe
ce142ffe08 feat(core/rust): make ButtonPos hit function public to enable reuse 2022-08-12 13:30:24 +02:00
tychovrahe
f538547d5b feat(core): optimize touch controller communication 2022-08-08 15:52:26 +02:00
matejcik
ef47c26272 chore(core,legacy): bump versions
[skip_ci]
[no changelog]
2022-08-03 13:10:05 +02:00
Andrew Kozlik
fa5e7feda6 fix(crypto): Fix nonce bias in CoSi signing. 2022-08-02 20:38:04 +02:00
matejcik
a6410693b3 Revert "feat(core): implement firmware dumping"
This reverts commit 37c61c1381.
2022-08-02 17:12:07 +02:00
TychoVrahe
a762e75fee
fix(core): reintroduce touch controller initialization without power down/up in firmware, fix model R firmware initialization 2022-07-26 15:09:43 +02:00
Ondrej Mikle
4d3d9f5d7e docs(core): documentation on embedded C+Rust debug 2022-07-26 11:24:27 +02:00
grdddj
38f7d32d94 feat(rust): add more details into panic handler 2022-07-20 12:46:01 +02:00
grdddj
9dc73427fb feat(rust): add print! macro for logging into terminal 2022-07-20 12:46:01 +02:00
Christian Reitter
c5d22b4395 fix(core): correct range in error message 2022-07-01 14:50:19 +02:00
matejcik
c7b6e8986e fix(core/rust): fix overflow in tests by properly using 0-terminated strings
[no changelog]
2022-06-29 09:24:54 +02:00
matejcik
fce188fb96 fix(core/ui): fix char boundary bug in Rust layout 2022-06-28 18:01:02 +02:00
Martin Milata
c9ca7cd544 feat(core/rust/ui): bitcoin layouts
[no changelog]
2022-06-28 18:01:02 +02:00
Martin Milata
dd9a7d30e5 refactor(core/rust/ui): expose page count to python
[no changelog]
2022-06-28 18:01:02 +02:00
Martin Milata
ee1497b87e refactor(core/rust/ui): hold-to-confirm for paged content
[no changelog]
2022-06-28 18:01:02 +02:00
Martin Milata
24a1f2e25e refactor(core): remove unused parameter from display_qrcode
[no changelog]
2022-06-28 18:01:02 +02:00
Martin Milata
9f0ebf6d1a refactor(core/rust/ui): arbitrary controls for Dialog component
[no changelog]
2022-06-28 18:01:02 +02:00
Andrew Kozlik
892f3e348d fix(crypto): Remove public key from the ed25519 signing API.
[no changelog]
2022-06-27 18:59:08 +02:00
tychovrahe
c33f92bd72 feat(core): add RGB LED driver for Model R 2022-06-22 09:28:31 +02:00
matejcik
2aa427a6e3 feat(core/rust): make Rust buildable without Micropython
Features `micropython` and `protobuf` are defined. Protobuf implies micropython
because our protobuf impl is pretty much _for_ micropython.

The respective subdirs are included only if the matching feature is defined.

util.rs is moved to micropython because it mostly concerns micropython interop

ResultExt, useful only for ui_debug, is moved to ui::util.

A new module `trezorhal::time` is provided. It mirrors functionality of
`micropython::time` via stmlib functions.  The intended use is to always use
functions from `trezorhal::time`. The right micropython variants are used when
micropython is available, otherwise the pure stmlib versions are called.

ui::*::layout is conditional for micropython feature, because it only concerns
micropython layouts. If we want to reuse layouts defined there, we will need to
export them to not depend on Objs and Qstrs etc.
2022-06-16 13:08:07 +02:00
matejcik
37d5597965 feat(core/rust): direct write to display memory for better performance on TT hardware 2022-06-14 15:09:03 +02:00
matejcik
57b12c2807 feat(core): expose display pixeldata accessors from C 2022-06-14 15:09:03 +02:00
tychovrahe
61482d0795 feat(core/rust): expose raw pixel access to rust 2022-06-14 15:09:03 +02:00
Ondrej Mikle
7b7318c3aa feat(core/boardloader): add fixed-address boardloader capablities field 2022-06-13 18:18:25 +02:00
Jan Pochyla
c3b82fd651 feat(core/rust): add trezorhal bindings 2022-06-08 14:42:04 +02:00
dependabot[bot]
cc795407d0 build(deps): bump regex from 1.5.4 to 1.5.6 in /core/embed/rust/fuzz
Bumps [regex](https://github.com/rust-lang/regex) from 1.5.4 to 1.5.6.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.5.4...1.5.6)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-07 12:20:02 +02:00
dependabot[bot]
3c31d24f50 build(deps): bump regex from 1.5.4 to 1.5.6 in /core/embed/rust
Bumps [regex](https://github.com/rust-lang/regex) from 1.5.4 to 1.5.6.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.5.4...1.5.6)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-07 11:18:41 +02:00
Martin Novak
2663801108 perf(firmware): do not initialize touch controller in firmware 2022-06-02 10:30:53 +02:00
matejcik
c77066065e chore(core/rust): bump cty to 0.2.2
this fixes signedness of char on Mac M1
2022-06-01 16:35:33 +02:00
matejcik
38a36a131f chore: rename BIP39_WORDS to BIP39_WORD_COUNT 2022-06-01 16:35:33 +02:00
matejcik
6319a5a9d0 feat(core/rust): BIP-39 wordlist operations in Rust 2022-06-01 16:35:33 +02:00
Ondrej Mikle
60db3e3e52 fix(core/bootloader): do not wait for touch if we know we are staying in bootloader 2022-06-01 14:50:59 +02:00
Ondrej Mikle
49462dc283 chore(core/bootloader): bump over unreleased version 2022-06-01 14:50:59 +02:00
Ondrej Mikle
c563c987e1 feat(core): jump back and stay in bootloader for TT via reverse SVC call trampoline 2022-06-01 14:50:59 +02:00
matejcik
187ca8ad50 feat(core/rust): List::from_iter
[no changelog]
2022-05-17 15:56:26 +02:00
matejcik
b3b3e0efa4 tests(core/rust): ability to set up MicroPython env for testing
warning: super hacky!
[no changelog]
2022-05-17 15:56:26 +02:00
Ondřej Vejpustek
db0da196a8 chore(vendor): update secp256k1-zkp to latest 2022-05-16 16:23:18 +02:00
Martin Milata
c257a8a687 fix(core/ui/rust): painting of overlapping Maybe<T> components
[no changelog]
2022-05-16 13:54:43 +02:00
Martin Milata
b5dfda6a1d fix(core/rust/ui): support longer PIN
[no changelog]
2022-05-16 13:54:43 +02:00
Martin Milata
31e63f688e fix(core/rust/ui): implement warning for PIN dialog
[no changelog]
2022-05-16 13:54:43 +02:00
Martin Milata
3dcdffe203 refactor(core/rust/ui): emit event when component tree is initialized
[no changelog]
2022-05-16 13:54:43 +02:00
Martin Milata
7b5c618576 refactor(core/rust/ui): erase button clears PIN after 2s
[no changelog]
2022-05-16 13:54:43 +02:00
Martin Milata
e58736f746 feat(core/rust/ui): show PIN digits when touched
[no changelog]
2022-05-16 13:54:43 +02:00
Dusan Klinec
14e08ca9db fix(xmr): remove 8192B from firmware image so it can fit to the memory
- old BP GI, HI constants are shortened to reduce firmware size
2022-05-16 12:37:24 +02:00
Dusan Klinec
25d32a8144 feat(xmr): implement bp+, refactor, code cleanup
- implement BulletProof plus verifier and prover
- use bulletproof exception to signalize proof generation failed and should be tried again. More robust, fixes bug that was not triggered yet (return tuple did not work properly in all situations)
- precomputed 2**i vector is removed as it can be easily computed
- BP code cleanup, minor optimizations, comments
2022-05-16 12:37:24 +02:00
Dusan Klinec
33c174491f refactor(core/monero): Monero code cleanup
* remove support for HF12 and below
* remove MLSAG support
* clean up monero cryptography naming
* get rid of "optional first argument" pattern, in favor of mandatory argument that is allowed to be None
  (and fix several bugs related to this feature)

Co-authored-by: grdddj <jiri.musil06@seznam.cz>
Co-authored-by: Martin Milata <martin@martinmilata.cz>
Co-authored-by: matejcik <ja@matejcik.cz>
2022-05-16 12:37:24 +02:00
matejcik
99c817bad4 fix(core/emulator): make sure SDL keyboard and quit events are always processed
fixes #973
2022-05-16 10:59:48 +02:00
grdddj
feb96c84b0 chore(core/rust): use clippy for all features 2022-05-16 10:49:04 +02:00
tychovrahe
8a092bde21 feat(core): add smaller loader for model R 2022-05-10 16:49:23 +02:00
tychovrahe
bd476769cc feat(core): add reset state on display clear on model R. Added to rest of the models as noop. 2022-05-10 16:49:23 +02:00
tychovrahe
58041036f5 feat(core): set colors for monochromatic displays 2022-05-10 16:49:23 +02:00
tychovrahe
0e778cf16d fix(core): fix display_icon function - incorrect boundaries checks 2022-05-10 16:49:23 +02:00
tychovrahe
f7a3aad9bd feat(core): initial Model R display implementation with framebuffer 2022-05-10 16:49:23 +02:00
tychovrahe
936c84bac6 feat(core): added button support for Model R 2022-05-10 16:49:23 +02:00
grdddj
7804893179 feat(core/rust): create model_tr feature
Make event.rs shared among all features, under src/ui/event.rs.

[no changelog]
2022-05-06 11:44:52 +02:00
grdddj
12da7f301d feat(core): allow for model R in firmware build
As model R will run on the same computational hardware as model T,
memory_R.ld is just a symbolic link to memory_T.ld.

[no changelog]
2022-05-06 11:44:52 +02:00
grdddj
6b5f578d02 feat(core): implement basic R emulator
Can be built by `TREZOR_MODEL=R make build_unix`, `make build_unix_frozen` does not work yet.

All the dialogs are not very pretty, they are just meant to work.
2022-05-06 11:44:52 +02:00
Martin Milata
692ea1415e chore(core): bump version to 2.5.2
[skip_ci]
2022-05-04 12:09:14 +02:00
matejcik
37c61c1381 feat(core): implement firmware dumping 2022-05-03 19:00:04 +02:00
Andrew Kozlik
485ee6e209 feat(core): Show progress in GetFirmwareHash. 2022-05-03 19:00:04 +02:00
Andrew Kozlik
822b1c344f feat(core): Return fw_vendor in firmware Features message. 2022-05-03 19:00:04 +02:00
Andrew Kozlik
1da446a8fb refactor: Move flash_init to emulator main. 2022-05-03 19:00:04 +02:00
Andrew Kozlik
106ab65e21 feat(core): Implement GetFirmwareHash message. 2022-05-03 19:00:04 +02:00
Martin Milata
18c8304339 fix(core): leftover TREZOR_MODEL defines
[no changelog]
2022-04-28 16:47:22 +02:00
TychoVrahe
7912a7d0d3
build(core,storage): fix conditional compilation for different Trezor models
* build(core,storage) - Fix conditional compilation for different trezor models

* build(core) - Rename MODEL_* macro to TREZOR_MODEL_*, remove the original TREZOR_MODEL macro (replaced by conditional compilation for QSTR generation)

* build(core) - fixed missing TREZOR_MODEL to TREZOR_MODEL_x changes

[no changelog]
2022-04-26 13:47:40 +02:00
matejcik
a9b46f0249 fix(core/rust): be more defensive about strings coming in from uPy 2022-04-11 16:49:58 +02:00
matejcik
8dd7a22f8b refactor(core/rust): disallow creating byte buffers from &str 2022-04-11 16:49:58 +02:00
matejcik
32c3320f07 refactor(core/rust): pass around &str instead of [u8] in most places 2022-04-11 16:49:58 +02:00
matejcik
785dc7f4d7 feat(core/rust): introduce StrBuffer
it is a variant of Buffer specifically for accepting python `str`
2022-04-11 16:49:58 +02:00
Martin Milata
1f612580f7 feat(core): enable UI tests for redesigned UI
[no changelog]
2022-04-07 17:58:41 +02:00
Martin Milata
38f4ab0983 feat(core/rust/ui): return Layout results as singleton objects
[no changelog]
2022-04-04 13:32:07 +02:00
Jan Pochyla
36829cfa8f feat(core/rust): Add obj_module! macro
[no changelog]

Co-authored-by: Martin Milata <martin@martinmilata.cz>
2022-04-04 13:32:07 +02:00
Martin Milata
30ec1802f4 chore(core): bump version to 2.5.1
[skip_ci]
2022-03-30 21:57:54 +02:00
Pavol Rusnak
9a8e257619 fix(core): fix SDL2 include path
[no changelog]
2022-03-29 12:22:11 +02:00
Martin Milata
4eefaffac9 fix(core/rust/ui): recovery/passphrase keyboard fixes
[no changelog]
2022-03-23 13:40:45 +01:00
Martin Milata
efe25a6ab4 fix(core/rust/ui): pin keyboard tweaks
[no changelog]
2022-03-23 13:40:45 +01:00
Martin Milata
d51072b8c1 refactor(core/rust/ui): unhardcode screen size
[no changelog]
2022-03-23 13:40:45 +01:00
Jan Pochyla
801679bccf chore(core/rust): Add dynamic place system 2022-03-22 16:08:50 +01:00
Pavol Rusnak
6052e71bbb fix(core): fix build with FEATURE_FLAGS.SECP256K1_ZKP=False
[no changelog]
2022-03-18 12:03:41 +01:00
Jan Pochyla
4c027a688c chore(core/rust): Simplify LayoutObj 2022-02-18 11:27:23 +01:00
Jan Pochyla
2b6f1a4d5c chore(core/rust): Use MultiTapKeyboard in passphrase 2022-02-17 15:17:11 +01:00
Jan Pochyla
3c337723b2 chore(core/rust): Add mnemonic keyboards 2022-02-17 15:17:11 +01:00
Pavol Rusnak
c6667fa0c2 feat(core): verify bip340 pubkeys used in p2tr addresses
Co-Authored-By: Ondřej Vejpustek <ondrej.vejpustek@satoshilabs.com>
2022-02-16 10:25:15 +01:00
Martin Milata
80655747d0 test(core/rust/ui): pagination unit test
[no changelog]
2022-02-10 14:57:42 +01:00
Martin Milata
ab0eef5de0 fix(core/rust/ui): adjust spacing for confirm_action
[no changelog]
2022-02-10 14:57:42 +01:00
Martin Milata
5378492ea9 chore(core/rust): wireframe rendering for ui debugging
[no changelog]
2022-02-10 14:57:42 +01:00
Martin Milata
10650af1fa refactor(core/rust/ui): paragraphs breaking
Also fix corner case.

[no changelog]
2022-02-10 14:57:42 +01:00
Martin Milata
b5da6dc911 refactor(core/rust): geometry/display API improvements
[no changelog]
2022-02-10 14:57:42 +01:00
Martin Milata
f2b8822d76 refactor(core): improve build-time option for old/new UI
[no changelog]
2022-02-10 14:57:42 +01:00
Martin Milata
b64c69c3ff feat(core/rust/ui): implement confirm_action
[no changelog]
2022-02-10 14:57:42 +01:00
Martin Milata
6d1227d839 feat(core/rust/ui): SwipePage: add buttons, auto-disable scrolling
[no changelog]
2022-02-10 14:57:42 +01:00
Martin Milata
695d80bf54 refactor(core/rust/ui): uPy buffer support for TT buttons
[no changelog]
2022-02-10 14:57:42 +01:00
Martin Milata
f167a2bef2 feat(core/rust/ui): add model T title bar
[no changelog]
2022-02-10 14:57:42 +01:00
Martin Milata
c7b33e2bc0 feat(core/rust/ui): add new icons
[no changelog]
2022-02-10 14:57:42 +01:00
Martin Milata
b46901bc8b feat(core): add TT Hoves fonts, introduce medium variant
Co-authored-by: Pavol Rusnak <pavol@rusnak.io>

[no changelog]
2022-02-10 14:57:42 +01:00
Jan Pochyla
d979efc3ca chore(core/rust): Try to simplify pagination a bit
[no changelog]
2022-02-08 15:40:37 +01:00
Martin Milata
8fb28e4af5 feat(core/rust): impl Paginate for Paragraphs
[no changelog]
2022-02-08 15:40:37 +01:00
Martin Milata
f29ccf6009 fix(core/rust): UI tweaks
[no changelog]
2022-02-08 15:40:37 +01:00
Martin Milata
48f29ee0b9 refactor(core/rust): return bounding box after laying out text
[no changelog]
2022-02-08 15:40:37 +01:00
Martin Milata
bea696dfc9 feat(core/rust): Paginated for T1
[no changelog]
2022-02-08 15:40:37 +01:00
Martin Milata
19b2358084 refactor(core/rust): T1 title bar
[no changelog]
2022-02-08 15:40:37 +01:00
Martin Milata
7f224ab36d refactor(core/rust): model-agnostic Paginated
[no changelog]
2022-02-08 15:40:37 +01:00
Jan Pochyla
a3c79bf4f7 feat(core/rust): Add Paginated component 2022-02-01 10:51:02 +01:00
Jan Pochyla
a7a305d34d fix(core/rust): Fix request_complete_repaint for components without any Child descendants 2022-02-01 10:51:02 +01:00
Jan Pochyla
129363f080 feat(core/rust): Add Trace to Paragraph[s], improve size calculation 2022-02-01 10:51:02 +01:00
Jan Pochyla
d2c8c66385 feat(core/rust): First shot at Paragraphs API 2022-02-01 10:51:02 +01:00
Jan Pochyla
8c47b94b79 feat(core/rust): Add experimental LinearLayout 2022-02-01 10:51:02 +01:00
Jan Pochyla
3dd3d7f87b feat(core): Add HoldToConfirm example, improve Loader and animation frame support 2022-02-01 10:51:02 +01:00
Jan Pochyla
117a0bd518 feat(core): Add preliminary anim frame support 2022-02-01 10:51:02 +01:00
Jan Pochyla
be3e99b96d feat(core): Add WiP Loader & generic Animation type 2022-02-01 10:51:02 +01:00
matejcik
87a7e94f5c feat(core/rust): add saturating multiplication by f32 to Duration 2022-02-01 10:51:02 +01:00
Jan Pochyla
baffe8fdf3 chore(core/rust): Add int variant to tracing 2022-01-28 09:58:49 +01:00
Jan Pochyla
5b0686f09a chore(core/rust): Forbid unsafe in components
To be expanded to other modules.
2022-01-28 09:58:49 +01:00
Jan Pochyla
12deedf3f6 chore(core/rust): Add backlight fading fn 2022-01-28 09:58:49 +01:00
Jan Pochyla
a54ca9cb05 chore(core/rust): Add micropython::time::sleep 2022-01-28 09:58:49 +01:00
Jan Pochyla
334a143b76 chore(core/rust): Split FormattedText into separate mod 2022-01-28 09:58:49 +01:00
Jan Pochyla
d5a74a8614 chore(core/rust): Rename Text to FormattedText 2022-01-28 09:58:49 +01:00
Jan Pochyla
39263144b7 chore(core): Various little improvements in Rust UI 2022-01-28 09:58:49 +01:00
Jan Pochyla
998210d569 feat(core): Add Instant and Duration types 2022-01-28 09:58:49 +01:00
Pavol Rusnak
37bd121394 chore(core/embed): check for negative values in trezor_get_uint
[no changelog]
2022-01-26 16:22:50 +01:00
Andrew Kozlik
49ae8848db fix(core): Fix memory leaks in emulator.
[no changelog]
2022-01-19 15:22:03 +01:00
Andrew Kozlik
39b64b8569 fix(core): Fix stack-use-after-scope in display.c.
[no changelog]
2022-01-19 15:22:03 +01:00
Pavol Rusnak
4a71d15b1d chore(core/embed): refactor trezor_obj_get_uint64 into trezorobj.h
[no changelog]
2022-01-19 11:16:47 +01:00
matejcik
45787307ca style(core): support AnyStr in all hash function arguments 2022-01-07 21:41:17 +01:00
grdddj
9fc5bb546b style(core): full pyright-based type-checking
Changes many fields to required -- as far as we were able to figure out,
signing would fail if these fields aren't provided anyway, so this
should not pose a compatibility problem.

Co-authored-by: matejcik <ja@matejcik.cz>
2022-01-07 21:41:17 +01:00
Pavol Rusnak
b0e0280465 chore: drop obsolete fw_vendor_keys field from Features
[no changelog]
2022-01-03 14:23:58 +01:00
Pavol Rusnak
35d40cc164 fix(core): change logic of vendor header comparison
Previously we checked whether the current vendor header and
the new vendor header are the same by comparing the embedded keyset.

What originally looked like a good idea is not that good, because
this disallows us from ever changing the vendor header signing keys
without causing erasure of the storage during the version update.

This commit fixes that by changing the logic to comparing just the
vendor string.

Change of function names is purely cosmetic:
* vendor_keys_hash -> vendor_header_hash
* check_vendor_keys_lock -> check_vendor_header_lock
2022-01-03 14:23:58 +01:00
Pavol Rusnak
56f0e2c5de
fix(core): add missing include
we were using `FILE` and `fprintf` without including the stdio header
2021-12-14 19:57:21 +01:00
Pavol Rusnak
30a77a76bc
chore(legacy): rename MEMORY_PROTECT flag to PRODUCTION to match core naming (#2003) 2021-12-12 15:45:10 +01:00
Martin Milata
1734957685 build(core): update rust edition to 2021
[no changelog]
2021-12-07 17:12:43 +01:00
Martin Milata
38c526719c chore(core): bump version to 2.4.4
[skip_ci]
2021-12-01 14:45:47 +01:00
Martin Milata
7cc9f13605 refactor(core/rust): allow model_t1 and model_tt at once
[no changelog]
2021-11-24 15:36:34 +01:00
Martin Milata
afd7cb3b01 feat(core/rust): add example layout for T1
[no changelog]
2021-11-24 15:36:34 +01:00
Martin Milata
4d60c10330 feat(core/rust): add support for T1 UI
[no changelog]
2021-11-24 15:36:34 +01:00
Martin Milata
3c49ef2f62 feat(core/rust): exposing vararg functions to uPy
[no changelog]
2021-11-24 15:36:34 +01:00