Lukas Bielesch
b569df7cbe
core(eckhart): Fix failing unit test and warnings
2025-04-08 12:33:57 +02:00
Lukas Bielesch
3e2af28523
feat(eckhart): Full-screen get count component
2025-04-08 12:33:57 +02:00
obrusvit
5edbf66c99
feat(eckhart): add easing and rollback to HtC anim
...
- also switch corner icons to 4px width
2025-04-08 12:33:57 +02:00
obrusvit
23b64e4287
feat(eckhart): add alpha to ScreenBorder
2025-04-08 12:33:57 +02:00
obrusvit
f57fd58377
chore(eckhart): fix some clippy warnings
2025-04-08 12:33:57 +02:00
Lukas Bielesch
a5dbbc74b1
feat(eckhart): Add SLIP39 input component
2025-04-08 12:33:56 +02:00
Lukas Bielesch
8c703c6bee
feat(eckhart): Add BIP39 input component
2025-04-08 12:33:56 +02:00
Lukas Bielesch
32101ca29b
feat(eckhart): full-screen mnemonic component
2025-04-08 12:33:56 +02:00
Lukas Bielesch
11346b5a3a
feat(eckhart): passphrase flow
2025-04-08 12:33:56 +02:00
Lukas Bielesch
9678ee3418
feat(eckhart): full-screen passphrase component
2025-04-08 12:33:56 +02:00
Lukas Bielesch
fbd3dffbc9
feat(eckhart): full-screen PIN keyboard component
2025-04-08 12:33:56 +02:00
Lukas Bielesch
db7ed7fda2
feat(eckhart): keypad component
2025-04-08 12:33:56 +02:00
Lukas Bielesch
41f235edd4
feat(ui): Add visibility-checking function to Maybe struct
2025-04-08 12:33:56 +02:00
Lukas Bielesch
7732efdbbb
feat(ui): Add function for expanding Button touch area
2025-04-08 12:33:56 +02:00
Lukas Bielesch
3f978ee50a
feat(eckhart): Add common keyboard functionality
2025-04-08 12:33:56 +02:00
Lukas Bielesch
bf22fd667d
feat(eckhart): keyboard button styles
2025-04-08 12:33:56 +02:00
Lukas Bielesch
9947d6ce57
feat(eckhart): Add parametrized content offset to Button
2025-04-08 12:33:56 +02:00
Lukas Bielesch
5dba4667b6
chore(eckhart): Add dynamic padding option to vertical menu. Update rendering of separarators in vertical menu.
2025-04-08 12:33:56 +02:00
Lukas Bielesch
2776aaa2f7
feat(eckhart): full-screen select word component
2025-04-08 12:33:56 +02:00
Lukas Bielesch
e3a01928b8
chore(eckhart): Remove redundant code
2025-04-08 12:33:56 +02:00
Lukas Bielesch
f49f9e4ea2
chore(eckhart): Add dynamic padding option to vertical menu.
...
Update rendering of separarators in vertical menu.
2025-04-08 12:33:56 +02:00
Lukas Bielesch
0f107f996d
feat(eckhart): Add new Button 'is_pressed' function
2025-04-08 12:33:56 +02:00
Lukas Bielesch
53ab600340
chore(eckhart): fix button text and subtext rendering
2025-04-08 12:33:56 +02:00
Lukas Bielesch
883d6e594e
feat(eckhart): button styles for select word component
2025-04-08 12:33:56 +02:00
Lukas Bielesch
db037229e3
feat(eckhart): share words flow
2025-04-08 12:33:56 +02:00
Lukas Bielesch
966951fb17
feat(eckhart): full-screen share words component
2025-04-08 12:33:56 +02:00
Lukas Bielesch
1b6dfb039e
chore(eckhart): improve HTC animation
2025-04-08 12:33:56 +02:00
obrusvit
12aff322aa
feat(eckhart): expand touch area of ActionBar
2025-04-08 12:33:56 +02:00
obrusvit
7a10216947
feat(eckhart): implement hold to confirm anim
...
- HoldToConfirmAnim is driven by the ActionBar in case the right_button
is configured with `long_press`
- HoldToConfirmAnim optionally draws an Header overaly with custom text
- disabling animations is respected
- easing function is not yet finalized
- a few minor fixes along the way
2025-04-08 12:33:56 +02:00
obrusvit
8d32d819f2
feat(eckhart): implement ScreenBorder overlay
...
- a static "custom shape" for eckhart layout which displays screen
overlay around the borders
2025-04-08 12:33:56 +02:00
Lukas Bielesch
822f4d250d
feat(eckhart): Update vertical menu components
2025-04-08 12:33:56 +02:00
Lukas Bielesch
98498bef9f
feat(eckhart): Add new Back Header message type
2025-04-08 12:33:56 +02:00
Lukas Bielesch
9491496ef5
feat(eckhart): Add MenuItem button content type
2025-04-08 12:33:56 +02:00
Lukas Bielesch
9de3109336
feat(eckhart): Add battery icons
2025-04-08 12:33:56 +02:00
Lukas Bielesch
c4ee0668ce
feat(eckhart): Add vertical menu button styles
2025-04-08 12:33:56 +02:00
obrusvit
2cb19582e9
feat(eckhart): full-screen vertical menu component
2025-04-08 12:33:56 +02:00
obrusvit
767dbc9058
feat(eckhart): implement a few show_xyz functions
2025-04-08 12:33:56 +02:00
obrusvit
818f95b046
feat(eckhart): implement confirm_value
2025-04-08 12:33:56 +02:00
obrusvit
59203e8e4b
feat(eckhart): implement confirm_action
2025-04-08 12:33:56 +02:00
obrusvit
c6fa187fc6
feat(core): add color op to FormattedText
...
[no changelog]
2025-04-08 12:33:56 +02:00
obrusvit
ebd112582a
feat(eckhart): full-screen textual component
...
- TextScreen is a full-screen component for (paginated) texts
- it's supposed to wrap FormattedText or Paragraphs
2025-04-08 12:33:56 +02:00
obrusvit
4b68983c3d
feat(eckhart): action bar component
2025-04-08 12:33:56 +02:00
obrusvit
836a1a1f30
feat(eckhart): hint component
2025-04-08 12:33:56 +02:00
obrusvit
7dc52abb22
feat(eckhart): header component
2025-04-08 12:33:56 +02:00
obrusvit
0f032a3031
feat(eckhart): provisional homescreen
2025-04-08 12:33:56 +02:00
obrusvit
c1bf3c2f38
feat(eckhart): text styles
2025-04-08 12:33:55 +02:00
obrusvit
70ef5effe1
feat(eckhart): add fonts
2025-04-08 12:33:55 +02:00
obrusvit
2089b4f206
feat(eckhart): icon set
2025-04-08 12:33:55 +02:00
obrusvit
cc60c81682
feat(eckhart): color palette
2025-04-08 12:33:55 +02:00
obrusvit
c442b30962
feat(eckhart): initial commit
...
- build
- directory structure
- bootloader UI and assets copied from delizia
- FirmwareUI trait functions are empty
- Python layout functions are copied from delizia except some of more
complicated ones which raise NotImplemented for now
2025-04-08 12:33:55 +02:00
Roman Zeyde
8df465d7e8
build(core): replace all_modules.py
by qstrdefsport.h
...
[no changelog]
2025-04-07 20:19:31 +03:00
Roman Zeyde
879cc69c63
perf(core): intern non-alphanumeric characters
...
It was found by running `micropython.mem_info()` with the following patch:
```diff
diff --git a/py/gc.c b/py/gc.c
index 604334c95..bff62b754 100644
--- a/py/gc.c
+++ b/py/gc.c
@@ -840,6 +840,7 @@ void gc_dump_info(void) {
(uint)info.total, (uint)info.used, (uint)info.free);
mp_printf(&mp_plat_print, " No. of 1-blocks: %u, 2-blocks: %u, max blk sz: %u, max free sz: %u\n",
(uint)info.num_1block, (uint)info.num_2block, (uint)info.max_block, (uint)info.max_free);
+ qstr_dump_data();
}
void gc_dump_alloc_table(void) {
```
New QSTR definitions:
```
$ tail -n4 ./core/build/unix/genhdr/qstrdefs.generated.h
QDEF(MP_QSTR__paren_close_, 46476, 1, ")")
QDEF(MP_QSTR__paren_open_, 46477, 1, "(")
QDEF(MP_QSTR__lt_, 46489, 1, "<")
QDEF(MP_QSTR__semicolon_, 46494, 1, ";")
```
[no changelog]
2025-04-07 20:19:31 +03:00
cepetr
b50e201ea5
fix(core): improve simulation of lost TOUCH_START events
...
[no changelog]
2025-04-07 17:49:04 +02:00
cepetr
a6bfe399ff
fix(core): ensure touch_get_event does not return zero after TOUCH_START
...
[no changelog]
2025-04-07 17:49:04 +02:00
cepetr
dd2af348dc
fix(core): ensure touch_get_state does not return 0
...
[no changelog]
2025-04-07 17:49:04 +02:00
cepetr
f46bfb4bfe
feat(core): fix out-of-range touch coordinates on T3W1
...
[no changelog]
2025-04-07 17:49:04 +02:00
tychovrahe
f1120d53c2
fix(core/prodtest): provide BLE driver with pairing code when accepting pairing
...
[no changelog]
2025-04-07 15:05:57 +02:00
tychovrahe
0355ea6dd3
feat(core): send pairing code to NRF when accepting pairing
...
[no changelog]
2025-04-07 15:05:57 +02:00
kopecdav
56bad5bd3a
feat(core): Update stwlc38 patching cut selection + new stwlc38 FW patch and configs [no changelog]
2025-04-07 13:42:10 +02:00
tychovrahe
3db788d80a
fix(core): fix NFC deinitialization
...
[no changelog]
2025-04-07 13:41:16 +02:00
tychovrahe
d506abd9db
fix(core/bootloader_ci): fix firmware upload
...
[no changelog]
2025-04-04 16:20:01 +02:00
cepetr
ced0a1462e
feat(core): emulate hw jpeg decoder using libjpeg
...
[no changelog]
2025-04-04 12:59:44 +02:00
cepetr
307ac2517d
feat(core): introduce JpegOverlay shape
...
[no changelog]
2025-04-04 12:59:44 +02:00
cepetr
db057ff6ae
feat(core): allow JPEG image to be decoded as Mono8 bitmap
...
[no changelog]
2025-04-04 12:59:44 +02:00
cepetr
622fa05e48
feat(core): improve blending of mono8 bitmaps
...
[no changelog]
2025-04-04 12:59:44 +02:00
matejcik
d900eb4c54
build(core): update build to newer libtropic
...
* update unix port filename
* update USE_TREZOR_CRYPTO flag to LT_USE_TREZOR_CRYPTO
2025-04-04 10:26:22 +02:00
tychovrahe
7e2847c357
fix(core): allow running firmware on locked bootloader device based on allow_run_with_secret flag
2025-04-03 18:59:52 +02:00
Martin Milata
199c02adb2
build(core): only include apps.management.ble when needed
...
[no changelog]
2025-04-03 16:17:12 +02:00
tychovrahe
1fc6feda80
fix(core): make ble_event upy api function optional
...
[no changelog]
2025-04-03 16:17:12 +02:00
tychovrahe
4adf6d087d
feat(core): add BLE unpair command & message
...
[no changelog]
2025-04-03 16:17:12 +02:00
tychovrahe
51ff4f5946
feat(core): add unpair command to BLE
...
[no changelog]
2025-04-03 16:17:12 +02:00
tychovrahe
8ea957b8e1
feat(core/prodtest): add hibernation on power button long-press
...
[no changelog]
2025-04-03 16:06:20 +02:00
tychovrahe
f579d31684
refactor(core/prodtest): make cli non-blocking, event-loop compatible
...
[no changelog]
2025-04-03 16:06:20 +02:00
Roman Zeyde
08bcedcaa5
fix(core): correct __main__
dict size retrieval in firmware
...
Otherwise, it fails to boot.
[no changelog]
2025-04-03 14:45:13 +03:00
Roman Zeyde
a91d18ba2c
perf(core): intern module presizing identifiers
...
[no changelog]
2025-04-03 12:58:43 +03:00
Roman Zeyde
9769109229
perf(core): add __init__.py
to apps.management
module
...
Otherwise, its name is not interned by `all_modules.py.mako`.
[no changelog]
2025-04-03 12:58:43 +03:00
Martin Milata
469f093b8a
feat(core): include pairing code in BLE_ALLOW_PAIRING command
...
[no changelog]
2025-04-02 17:08:34 +02:00
Martin Milata
88706d12f8
feat(core): ble: expose allow/reject pairing in micropython
...
[no changelog]
2025-04-02 17:08:34 +02:00
Roman Zeyde
14907ecd88
feat(tools): add an optional output argument to analyze-memory-dump.py
...
[no changelog]
2025-04-02 17:39:35 +03:00
Roman Zeyde
e6f96974de
feat(core): check for sys.modules
and main
globals reallocations
...
Rewrite the static comparison in `utils.unimport_end()` in C.
[no changelog]
2025-04-02 16:01:51 +03:00
Roman Zeyde
ec87d2d21d
fix(core): presize __main__
module to avoid heap fragmentation
...
[no changelog]
2025-04-02 16:01:51 +03:00
tychovrahe
101d584aa4
fix(core): fix BLE polling
...
[no changelog]
2025-04-01 21:53:30 +02:00
cepetr
7248bf2a48
fix(core): fix issue with frame buffer access on D001
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
cfea362cfc
fix(core): skip polling in storage callback (workaround)
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
7dcdb54262
feat(core): introduce new polling in coreapp event loop
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
7994a0b93b
feat(core): introduce kernel event loop
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
2dff869883
feat(core): add event polling to ble driver
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
edf3f19ef5
feat(core): add event polling to usb hid driver
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
97bb16776d
feat(core): add event polling to usb vcp driver
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
f61da5777a
feat(core): add event polling to usb webusb driver
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
cd97b8c55b
feat(core): add event polling to usb driver
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
4815118a6d
feat(core): add event polling to touch driver
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
8d7a25e5eb
feat(core): add event polling to button driver
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
b9d15cb343
feat(core): introduce system-level event polling
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
6b045dd43d
feat(core): introduce systask id & task count limit
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
24048d7094
fix(core): remove unused function declaration
...
[no changelog]
2025-04-01 10:00:26 +02:00
cepetr
271f029be7
fix(core): fix emulator build on macOS
...
[no changelog]
2025-04-01 10:00:26 +02:00
Roman Zeyde
ad73e41080
feat(core): support USB/BLE sessions
...
All interfaces are sharing a single 8kB buffer.
It is reallocated once per session and is acquired by the first active session.
Other concurrent sessions will respond with an "Another session in progress" error.
[no changelog]
2025-03-31 13:20:53 +03:00
Roman Zeyde
567de7e643
feat(core): increase MicroPython bytecode optimizations
...
[no changelog]
2025-03-28 19:46:24 +03:00
Roman Zeyde
cc416720f0
build(core): explicitly map PYOPT
to MicroPython bytecode optimization level
...
[no changelog]
2025-03-28 19:46:24 +03:00