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