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