matejcik
532d461a02
refactor(core/rust): introduce layout lifecycle states on Rust side
2024-10-16 16:23:45 +02:00
matejcik
2a896c44f6
feat(core/rust): introduce GcBox
2024-07-12 09:46:50 +02:00
matejcik
8134490e2e
feat(core): introduce uformat!, use uDebug in favor of Debug
...
now that we have ufmt, this is just much nicer
2024-06-19 09:14:51 +02:00
matejcik
b406fc22f3
refactor(core/rust): clean up macro namespace
2024-06-19 09:14:51 +02:00
matejcik
567de6579e
chore(core/rust): drop cstr_core dependency
...
now that we have c"..." literals in Rust
2024-06-19 09:14:51 +02:00
cepetr
06faae8f82
refactor(core/rust): replace panic! by fatal_error!
...
[no changelog]
2024-06-17 16:57:33 +02:00
matejcik
813d9b7687
feat(core/rust): add option to Gc-allocate with finaliser
...
[no changelog]
2024-06-03 19:43:08 +02:00
matejcik
5ec8b58772
style(core/rust): remove unreachable statement
2024-05-31 15:49:29 +02:00
matejcik
12ff2e4570
refactor(core/rust): allow Copy and Clone for Gc
...
This is legal for garbage-collected pointers and we only avoided the
implementation due to being careful.
Now is the first time we need that functionality.
[no changelog]
2024-05-17 09:17:37 +02:00
matejcik
39b7b22777
refactor(core/rust): Paragraph is now based on TString
2024-04-04 10:04:00 +02:00
matejcik
02557ad6c0
feat(core/rust): expose attrtuple to Rust
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
03298ca80f
docs(core/rust): improve safety comments in buffer.rs
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
grdddj
b8ea21d24a
feat(all): implement translations into Trezor
...
Co-authored-by matejcik <ja@matejcik.cz>
2024-02-12 14:49:32 +01: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
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