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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Martin Milata
557e29769b
feat(core/ui): redesigned passphrase dialogs
...
[no changelog]
2023-02-28 23:30:38 +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
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
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
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
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
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
Martin Milata
e778ec4af4
chore(core/rust/ui): avoid nested Child as LayoutObj root
...
[no changelog]
2022-11-03 16:50:03 +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
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
Martin Milata
f956966fda
build(core/rust): workaround failing build_unix_debug
...
[no changelog]
2022-10-21 13:05:31 +02:00
tychovrahe
d3469f8310
fix(core/rust): optimize pin keyboard rendering for TT UI2
...
[no changelog]
2022-10-18 10:17:36 +02:00
matejcik
cac98ad7d4
feat(core/rust): implement storage wrapper layer
...
[no changelog]
2022-10-13 09:18:20 +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
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
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
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
Martin Milata
005e4203a7
refactor(core/rust/ui): text theme struct
...
[no changelog]
2022-08-25 16:33:41 +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
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
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
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
9f0ebf6d1a
refactor(core/rust/ui): arbitrary controls for Dialog component
...
[no changelog]
2022-06-28 18:01:02 +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
tychovrahe
61482d0795
feat(core/rust): expose raw pixel access to rust
2022-06-14 15:09:03 +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
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
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
grdddj
feb96c84b0
chore(core/rust): use clippy for all features
2022-05-16 10:49:04 +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
Martin Milata
18c8304339
fix(core): leftover TREZOR_MODEL defines
...
[no changelog]
2022-04-28 16:47:22 +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
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
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
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
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
Martin Milata
1734957685
build(core): update rust edition to 2021
...
[no changelog]
2021-12-07 17:12:43 +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
Ondřej Vejpustek
a924bd4dc6
build(core): do not link gen_context.o to trezor_lib
2021-10-25 14:41:28 +02:00
Jan Pochyla
901580817d
chore(core/rust): fixes and formatting
...
[no changelog]
2021-10-07 15:01:55 +02:00
Jan Pochyla
5eefcffc7c
chore(core): prepare for fuzzing targets
...
First, we change the Protobuf definition includes to use an exact path relative to our crate's directory, instead of the OUT_DIR. This fixes build when a combination of stable and nightly toolchains is used (nightly is needed for the fuzzing targets).
Another change is a slight fix in the panic handler conditional compilation. Fuzzing is using the crate with `features = ["test"]`, but doesn't turn on the `test` cfg.
[no changelog]
2021-10-07 15:01:55 +02:00
Jan Pochyla
2703d714c2
feat(core): add Rust UI components, layouts, text rendering
...
[no changelog]
2021-10-07 15:01:55 +02:00
Martin Milata
81e66cb024
style(core/rust): enable clippy lints
...
[no changelog]
2021-09-23 14:22:40 +02:00
Jan Pochyla
2c8dec93a6
feat(core): Split unix main, link core obj into Rust test target
2021-09-21 12:43:31 +02:00
matejcik
7a17124b43
refactor(core/rust): do not rely too much on new_exception helpers
2021-09-21 12:43:31 +02:00
matejcik
5e452dc57c
refactor(core/rust): propagate unsafety of raise_exception
2021-09-21 12:43:31 +02:00
matejcik
806beb77d2
feat(core/rust): improve catch_exception, make use of Rust 1.55
2021-09-21 12:43:31 +02:00
matejcik
795ed2d339
fix(core/rust): fix "unnecessary unsafe" warning
...
[no changelog]
2021-09-21 12:43:31 +02:00
matejcik
31de21718f
feat(core/rust): introduce Obj.is_null()
...
[no changelog]
2021-09-21 12:43:31 +02:00
matejcik
b666895303
feat(core/rust): catch, handle and propagate uPy exceptions
2021-09-21 12:43:31 +02:00
matejcik
8abcb6f8cc
chore(core/rust): allow unused macros
...
[no changelog]
2021-09-21 12:43:31 +02:00
Jan Pochyla
7c65f0357a
feat(core/rust): Implement exception catching in Rust
...
chore(core): Add test for Rust exc catching
chore(core): Document exception catching in Rust
[no changelog]
2021-09-21 12:43:31 +02:00
Martin Milata
a007e062ab
style(core): apply rustfmt
...
[no changelog]
2021-09-16 14:57:06 +02:00
Martin Milata
582e1318c4
feat(core/emulator): support protobuf messages in memory dumps
...
[no changelog]
2021-07-22 13:31:11 +02:00
Pavol Rusnak
8cfa5da1ce
docs: fix typos in comments
...
[skip_ci]
2021-06-30 15:41:55 +02:00
matejcik
c06a93cba5
feat(core/rust): propagate bitcoin_only flag to Rust build
2021-06-08 09:55:19 +02:00
Jan Pochyla
8a21e3fc73
feat(core): Add Rust Protobuf codec
2021-06-08 09:55:19 +02:00
Martin Milata
20fe8552ca
build(core/rust): use correct architecture for T1
...
TT is Cortex-M4 is Armv7E-M while T1 is Cortex-M3 is Armv7-M:
https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/armv6-m-vs-armv7-m---unpacking-the-microcontrollers
2021-05-21 13:49:42 +02:00
matejcik
e015bc0856
build(core/rust): disable nightly-only features
...
When we need them, we will re-enable.
2021-05-21 13:42:10 +02:00
Jan Pochyla
6257584951
feat(core): Add Rust bindings to MicroPython and trezorhal
...
core: Remove dangling module decls
core: Use new Cargo feature resolver, use external MacOS debug info
core: Rust docs improvements
core: Upgrade bindgen
core: Add test target to Rust
ci: build rust sources
build(core): .ARM.exidx.text.__aeabi_ui2f in t1 firmware size
It's an unwind table for softfloat function inserted by rustc, probably
can be removed to save 8 bytes:
599c58db70/link.x.in (L175-L182)
scons: Remove dead code
core: Move Rust target to build/rust
core: Replace extern with a FFI version
core: Add some explanatory Rust comments
core: Use correct path for the Rust lib
core: Remove Buffer::as_mut()
Mutable buffer access needs MP_BUFFER_WRITE flag. TBD in the Protobuf PR.
core: Improve docs for micropython::Buffer
core: Minor Rust docs changes
core: Rewrite trezor_obj_get_ll_checked
core: Fix incorrect doc comment
core: Remove cc from deps
fixup! core: Rewrite trezor_obj_get_ll_checked
core: update safety comments
2021-05-05 16:00:21 +02:00