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
grdddj
da14c22712
feat(all): add UI for Model R
2023-05-31 10:14:54 +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
Martin Milata
58be59529d
style(core): fix clippy lints
...
[no changelog]
2023-04-19 13:05:03 +02:00
Martin Milata
b8abccbc94
feat(core/rust/ui): implement Clone for StrBuffer
...
[no changelog]
2023-03-09 23:36:36 +01:00
tychovrahe
5a991f3244
feat(core/rust): bootloader implementation in rust
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
grdddj
acec852aa4
feat(core): show welcome screen after device is connected
...
[no changelog]
2023-02-27 13:22:09 +01:00
tychovrahe
d00e87ea80
feat(core/rust): homescreen background image
...
[no changelog]
2023-01-19 14:11:42 +01:00
Martin Milata
4135b00708
refactor(core/rust): support for StrBuffer slicing
...
[no changelog]
2022-12-06 10:40:32 +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
matejcik
9708175d19
fix(core/rust): improve & document safety of slice operations
...
[no changelog]
2022-11-24 13:03:34 +01:00
matejcik
d1126b85be
feat(rust): expose micropython lists as slices
...
[no changelog]
2022-11-21 18:15:48 +01:00
matejcik
7ba7eff118
refactor(core/rust): more explicit buffer semantics, StrBuffer::alloc
...
[no changelog]
2022-09-06 16:27:22 +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
grdddj
9dc73427fb
feat(rust): add print! macro for logging into terminal
2022-07-20 12:46:01 +02:00
Martin Milata
c9ca7cd544
feat(core/rust/ui): bitcoin layouts
...
[no changelog]
2022-06-28 18:01:02 +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
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
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
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
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
Jan Pochyla
801679bccf
chore(core/rust): Add dynamic place system
2022-03-22 16:08:50 +01:00
Jan Pochyla
a54ca9cb05
chore(core/rust): Add micropython::time::sleep
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
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
Jan Pochyla
901580817d
chore(core/rust): fixes and formatting
...
[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
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
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
Pavol Rusnak
8cfa5da1ce
docs: fix typos in comments
...
[skip_ci]
2021-06-30 15:41:55 +02:00
Jan Pochyla
8a21e3fc73
feat(core): Add Rust Protobuf codec
2021-06-08 09:55:19 +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