1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-28 09:08:07 +00:00
Commit Graph

1484 Commits

Author SHA1 Message Date
obrusvit
ed624e1cb8 feat(core/ui): use numerals in T3T1 checklist
[no changelog]
2024-06-19 16:02:24 +02:00
cepetr
bfedb96071 refactor(core/embed): prepare haptic driver for low power mode
[no changelog]
2024-06-19 14:05:35 +02:00
cepetr
3460c4b891 refactor(core/embed): prepare touch drivers for low power mode
[no changelog]
2024-06-19 14:03:38 +02:00
cepetr
089dc84f38 refactor(core/embed): remove unnecessary call to usb_stop
[no changelog]
2024-06-19 11:57:18 +02:00
cepetr
d8d6410284 refactor(core/embed): remove global deps from usb class drivers
[no changelog]
2024-06-19 11:57:18 +02:00
cepetr
baff1691a0 feat(core/embed): prepare usb driver for low power mode
[no changelog]
2024-06-19 11:57:18 +02:00
cepetr
a705335fe1 fix(core/embed): fix disc2 target build
[no changelog]
2024-06-19 11:57:18 +02:00
cepetr
0bc1d1f706 refactor(core/embed): refactor usb driver
[no changelog]
2024-06-19 11:48:06 +02:00
cepetr
8e429b0352 refactor(core/embed): move usb driver to its own folder
[no changelog]
2024-06-19 11:48:06 +02:00
cepetr
f5d35da635 fix(core/embed): fix random delays in usb driver
[no changelog]
2024-06-19 11:45:06 +02:00
obrusvit
a01a787113 refactor(core): remove StringType
This commit removes the last usage of StringType. In the future, we use
TString.

[no changelog]
2024-06-19 09:14:51 +02:00
matejcik
4e788aa2f5 fix(core/rust): more careful management of ShortString capacity 2024-06-19 09:14:51 +02:00
matejcik
8cf039740f style(core/rust): rustfmt 2024-06-19 09:14:51 +02:00
matejcik
8e52081d8a refactor(core/rust): unify String usage 2024-06-19 09:14:51 +02:00
matejcik
da37bce59d refactor(core/rust): drop ui::macros
removing inttostr!, build_string!, and relocating include_res!
2024-06-19 09:14:51 +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
ba56ff8483 refactor(core/embed): replace ensure(secfalse,... with error_shutdown
[no changelog]
2024-06-17 16:57:33 +02:00
cepetr
0f1cac9695 refactor(core): optimize assert/fatal_error for reduced flash footprint
[no changelog]
2024-06-17 16:57:33 +02:00
cepetr
06faae8f82 refactor(core/rust): replace panic! by fatal_error!
[no changelog]
2024-06-17 16:57:33 +02:00
cepetr
f5203011c5 feat(core/rust): introduce dbg_print and improve errors printing
[no changelog]
2024-06-17 16:57:33 +02:00
cepetr
5fc3c6e617 refactor(core): improve and simplify error handling
[no changelog]
2024-06-17 16:57:33 +02:00
Martin Milata
e7f083c3ca chore(core): bump version to 2.7.3
[no changelog]
2024-06-11 11:11:30 +00:00
tychovrahe
dfe6826101 fix(core): add missing swipe right to address QR screen - mercury ui 2024-06-10 14:50:28 +02:00
tychovrahe
84c182fdac fix(core): reduce animation frame requests when swiping
[no changelog]
2024-06-10 14:49:52 +02:00
matejcik
df051077ea chore(core/prodtest): bump version after release 2024-06-10 11:20:15 +02:00
matejcik
f556a1b4cc docs(core/prodtest): update changelog for v0.2.7 2024-06-10 11:17:20 +02:00
tychovrahe
b0b2ffd38f feat(core/prodtest): add reboot command 2024-06-10 11:10:33 +02:00
tychovrahe
000aa4ed21 fix(core/prodtest): fix touch_version command 2024-06-10 11:10:33 +02:00
tychovrahe
5a8989f00d fix(core): fix bootloader unlock check on STM32U5, fw only
[no changelog]
2024-06-07 14:24:20 +02:00
Martin Milata
eff46b0d5c chore(core): bump version to 2.7.2
[no changelog]
2024-06-06 21:17:54 +00:00
Ioan Bizău
b28e29cf4f chore(core): update copy and translate
[no changelog]
2024-06-06 21:29:29 +02:00
Martin Milata
3760dd307c fix(core/ui): T3T1: wrong XPUB title
[no changelog]
2024-06-06 14:43:51 +00:00
Martin Milata
e0dfa15e89 fix(core/ui): T3T1 confirm_action: hold implies prompt_screen 2024-06-06 14:00:13 +02:00
obrusvit
7b291725e2 fix: TypeError from SwipeUpScreen
This allows cancellable homescreen.

This commit also adds cancel to recovery homescreen.
2024-06-06 14:00:13 +02:00
obrusvit
e30de62adc tests: fix input_flows
Reset/recovery tests after adding Wallet created screen and separate
backup intro.

Regen signatures.json after rebase.

[no changelog]
2024-06-06 14:00:13 +02:00
obrusvit
fd59c2ce88 feat(core/ui): T3T1 backup cannot be skipped
This commit disallows the user to exit backup flow once initiated.

It also ensurer the  intro screen is shown when initiating backup via
protobuf msg after it was previously skipped during wallet creation.

[no changelog]
2024-06-06 14:00:13 +02:00
obrusvit
25a9ef3cf5 feat(core/ui): info screens before ShareWords
Inform the user about possible repeated words in 1-of-1 SLIP39.

Instruct the user to "repeat for all shares".

[no changelog]
2024-06-06 14:00:13 +02:00
obrusvit
dd70b438d3 feat(core/ui): default button active style
[no changelog]
2024-06-06 14:00:13 +02:00
obrusvit
5bd6996ae4 feat(core/ui): show success screens between shares
This commit also adds minor improvements to reset flow.

[no changelog]
2024-06-06 14:00:13 +02:00
Martin Milata
6911870654 fix(core/ui): T3T1: ethereum signtx hold
[no changelog]
2024-06-06 14:00:13 +02:00
Martin Milata
b567d15732 perf(core/ui): T3T1: reduce ParagraphSources to save flash
[no changelog]
2024-06-06 14:00:13 +02:00
Martin Milata
b64c8ef6a2 perf(core/ui): remove Child from T3T1 Frame
[no changelog]
2024-06-06 14:00:13 +02:00
Martin Milata
320fa06122 fix(core/ui): T3T1: prompt screen for confirm_action
[no changelog]
2024-06-06 14:00:13 +02:00
Martin Milata
4d6af487f4 fix(core/ui): T3T1: remove ButtonPage, Dialog, IconDialog
[no changelog]
2024-06-06 14:00:13 +02:00
Martin Milata
e268f79749 fix(core/ui): T3T1: improve passphrase prompt
[no changelog]
2024-06-06 14:00:13 +02:00
tychovrahe
9ee670a440 feat(core): change default homescreen image for mercury
the default homescreen is rendered algorithmically, when changing homescreen to default we now use text message due to lack of scaling

[no changelog]
2024-06-06 14:00:13 +02:00
tychovrahe
0cd36cd41b fix(core): fix lockscreen animation cutting from right and bottom
[no changelog]
2024-06-06 14:00:13 +02:00
tychovrahe
2f6ade5911 feat(core): word quiz enter animation
[no changelog]
2024-06-06 14:00:13 +02:00
tychovrahe
6ad41aa06e feat(core): improve hold to confirm animation
[no changelog]
2024-06-06 14:00:13 +02:00
tychovrahe
a66dd78ef7 fix(core): fix missing hold to confirm screen
[no changelog]
2024-06-06 14:00:13 +02:00
Martin Milata
9cd933b88e perf(core/ui): save flash by forbidding some inlining
[no changelog]
2024-06-06 14:00:13 +02:00
matejcik
d1cf36097a refactor(core): optimize repeated code for swipe directions 2024-06-06 14:00:13 +02:00
matejcik
fbfb000d62 refactor(core): optimize copyabilitity in swipe_detect 2024-06-06 14:00:13 +02:00
tychovrahe
a67bc19bac feat(core) screen transitions for mercury UI
[no changelog]
2024-06-06 14:00:13 +02:00
Ioan Bizău
ed58409888 chore(core): update tests 2024-06-05 12:35:09 +03:00
Ioan Bizău
8870869f93 chore(core): rename recovery type & kind and tweak feature flags 2024-06-05 12:35:09 +03:00
Ioan Bizău
8ef7dfab0d feat(core): implement repeated backup 2024-06-05 12:35:09 +03:00
tychovrahe
42e001e6d3 fix(core): fix boot flags evaluation with new rendering
[no changelog]
2024-06-03 19:43:08 +02:00
matejcik
4e1e3bc550 fix(core): revert bad renderer lifetime changes
[no changelog]
2024-06-03 19:43:08 +02:00
tychovrahe
f793e6d509 refactor(core): move mercury loader to cshape module
[no changelog]
2024-06-03 19:43:08 +02:00
tychovrahe
51c1ff728d refactor(core): remove lockscreen lifetimes
[no changelog]
2024-06-03 19:43:08 +02:00
tychovrahe
e03d404dca fix(core): ensure drop is called on layout objects
[no changelog]
2024-06-03 19:43:08 +02:00
matejcik
813d9b7687 feat(core/rust): add option to Gc-allocate with finaliser
[no changelog]
2024-06-03 19:43:08 +02:00
tychovrahe
288c855868 fix(core): prevent negative circle rendering
[no changelog]
2024-06-03 19:43:08 +02:00
tychovrahe
0c4b1d6213 fix(core): fix framebuffer switching, was too fast so the change was sometimes not visible
[no changelog]
2024-06-03 19:43:08 +02:00
tychovrahe
88078db700 feat(core): mercury ui homescreen
[no changelog]
2024-06-03 19:43:08 +02:00
tychovrahe
429a558d78 fix(core): mercury ui animations only ask for frame on timer event
[no changelog]
2024-06-03 19:43:08 +02:00
tychovrahe
e53e7cc13b refactor(core): mercury ui: downgraded homescreen module to file
[no changelog]
2024-06-03 19:43:08 +02:00
tychovrahe
a34c2cb9dd feat(core): animated lockscreen for mercury UI
[no changelog]
2024-06-03 19:43:08 +02:00
tychovrahe
b178c10e8b fix(core): prevent overloading app with touch events
[no changelog]
2024-06-03 19:43:08 +02:00
tychovrahe
17072faa65 feat(core): animate status screen in mercury ui
[no changelog]
2024-06-03 14:26:25 +02:00
tychovrahe
47a2661736 feat(core): respect disable animations in hold to confirm
[no changelog]
2024-06-03 14:26:25 +02:00
tychovrahe
c8c7001301 feat(core): implement tap to confirm in mercury UI
[no changelog]
2024-06-03 14:26:25 +02:00
tychovrahe
491aeaa0f5 feat(core): add value info to brightness dialog in mercury
[no changelog]
2024-06-03 14:26:25 +02:00
tychovrahe
3a8595b43a fix(core): ensure circles with radius zero are not rendered
[no changelog]
2024-06-03 14:26:25 +02:00
tychovrahe
67fe334dc2 feat(core): add hold-to-confirm animation to mercury UI
[no changelog]
2024-06-03 14:26:25 +02:00
cepetr
1f01150e7c feat(core): introduce a stopwatch
[no changelog]
2024-06-03 14:26:25 +02:00
cepetr
212391fc37 feat(core): add pareen & easer crates
[no changelog]
2024-06-03 14:26:25 +02:00
tychovrahe
b9a55cf2a7 feat(core): add settings to turn haptic on/off
[no changelog]
2024-06-03 14:26:25 +02:00
tychovrahe
2e10d440fa fix(core): add subtitle to confirm action
[no changelog]
2024-06-03 14:26:25 +02:00
matejcik
9bed793f68 refactor(core): provide backlight values from Rust 2024-06-03 14:26:25 +02:00
tychovrahe
a65511846b feat(core): added user adjustable brightness setting 2024-06-03 14:26:25 +02:00
matejcik
5ec8b58772 style(core/rust): remove unreachable statement 2024-05-31 15:49:29 +02:00
matejcik
dd0fe3d878 test(core/ui): fix Rust paragraph splitting unit tests on T3T1 2024-05-31 15:49:29 +02:00
matejcik
9a6f6c6b75 fix(core/ui): fix build of Rust unit tests on T3T1 2024-05-31 15:49:29 +02:00
matejcik
27fe6810c0 refactor(core/ui): better structured selection of render_on_display function
We should still get rid of this completely though 🤷
2024-05-31 15:49:29 +02:00
matejcik
e62f0b507a build(core): fix build for Rust unit tests on T3T1 2024-05-31 15:49:29 +02:00
Ondřej Vejpustek
67ac4078f7 feat(core): add AES-GCM in-place encryption and decryption
[no changelog]
2024-05-31 15:41:06 +02:00
Martin Milata
662f13136f fix(core/ui): T3T1: get rid of some of the remaining button dialogs 2024-05-31 11:59:52 +00:00
Martin Milata
69e406f7cf fix(core/ui): T3T1 device tests
[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
c03781aef9 fix(core/ui): T3T1: keep only lowercase letters in font_ttsatoshi_demibold_42
To save space.

[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
cde0dce3ef fix(core/ui): T3T1: rebase on main 2024-05-31 11:59:52 +00:00
obrusvit
27d733f89d feat(core/ui): T3T1 backup checklist
Also add subtitle to ShareWords.

[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
43eeccac59 feat(core/ui): T3T1 request number flow
[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
9c14cae656 fix(core/ui): allow component to terminate flow on swipe
[skip_ci]
2024-05-31 11:59:52 +00:00
Martin Milata
cbcd9dd8bd fix(core/ui): missing swipe event when animations disabled 2024-05-31 11:59:52 +00:00
Martin Milata
bd8ce6e55d fix(core/ui): T3T1 always detect swipes on entire screen
[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
d6152c02e9 refactor(core/ui): T3T1: drop duplicate Swipe implementation
[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
d2bfe56293 fix(core/ui): make it harder to accidentally close VerticalMenu 2024-05-31 11:59:52 +00:00
Martin Milata
30ca8bdd62 feat(core/ui): T3T1 share words animation
[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
e5e8e27abc feat(core/ui): T3T1 recovery keyboards
[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
3f0ab537af feat(core/ui): T3T1 passphrase keyboard
[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
f11c2891d8 feat(core/ui): allow rounded mercury button
[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
250593125c feat(core): update translation strings
Based on latest Figma designs.

[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
198693259d fix(core/ui): set page_count through rust ButtonRequest 2024-05-31 11:59:52 +00:00
Martin Milata
53609a85fd refactor(core/ui): fix clippy issues 2024-05-31 11:59:52 +00:00
Martin Milata
b16411631b fix(core/ui): T3T1 ButtonRequests from rust
[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
a212b325fe feat(core/ui): T3T1 send flow
[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
7bbfa64dbb fix(core/ui): re-export T3T1 icons
Commit re-exports T3T1 icons (mercury UI) in white color so that
applying color to them during rendering works as expected. Previously
they were grey and the desired color mixed with grey.

[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
11808a6f14 fix(core): rebase on drawlib 2024-05-31 11:59:52 +00:00
obrusvit
1ee36baea8 feat(core/ui): T3T1 confirm_action
Adds SwipeFlow for ConfirmAction or ConfirmActionSimple. Without
animation as of now.

[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
d8f20616be feat(core/ui): T3T1 set new PIN flow
[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
51a78dddee feat(core/ui): T3T1 PIN keyboard
[no changelog]
2024-05-31 11:59:52 +00:00
tychovrahe
3109001fa0 refactor(core): remove old homescreen rendering from mercury UI
[no changelog]
2024-05-31 11:59:52 +00:00
tychovrahe
0993ca0434 feat(core): lockscreen for mercury_ui
[no changelog]
2024-05-31 11:59:52 +00:00
tychovrahe
14c81f6860 feat(core): T3T1 loaders improvement
[no changelog]
2024-05-31 11:59:52 +00:00
tychovrahe
f3ced5e831 feat(core): expand menu button touch area a bit more
[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
e0fece2050 fix(core/ui): T3T1 UI tests: GetAddress
[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
6ddf1c849a fix(core/ui): respect animation_disabled() on T3T1 2024-05-31 11:59:52 +00:00
Martin Milata
091b51c9c4 fix(core/ui): T3T1 lints
[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
5020868c2c feat(core/ui): T3T1 receive flow
[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
1028c3500f feat(core/ui): T3T1 separate reset flows
Create separate flows for wallet creating, prompt of backup and
recovery.

Put more strings to copy.

Change style of Frame subheader.
2024-05-31 11:59:52 +00:00
obrusvit
4471281adc feat(core/ui): improve T3T1 recovery 2024-05-31 11:59:52 +00:00
obrusvit
6486b03248 feat(core/ui): T3T1 mnemonic keyboard
These are initial changes to the mnemonic keyboard designs. The designs
themselves from Figma are still WIP.
2024-05-31 11:59:52 +00:00
obrusvit
0566f0b7c3 feat(core/ui): T3T1 word count choice 2024-05-31 11:59:52 +00:00
obrusvit
8f4e0cc885 feat(core/ui): add text align to T3T1 button 2024-05-31 11:59:52 +00:00
Martin Milata
dc2525196b refactor(core/ui): T3T1 flow animation
[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
b05b54dfd8 refactor(core/ui): VerticalMenu flexibility 2024-05-31 11:59:52 +00:00
Martin Milata
cf53876292 refactor(core/ui): rust UI flow simplification 2024-05-31 11:59:52 +00:00
Martin Milata
1b6b2d2b9f chore(core/rust): fix formatting 2024-05-31 11:59:52 +00:00
Martin Milata
908f123dbf refactor(core/ui): fix bootloader build failure 2024-05-31 11:59:52 +00:00
obrusvit
23021c5152 fix(core/ui): remove border from T3T1 buttons
According to Figma designs, there will be no rounded buttons in T3T1, so
the ButtonStyle does not need these fields.

[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
0615b1bbc2 feat(core/ui): T3T1 confirm backup flow 2024-05-31 11:59:52 +00:00
obrusvit
7905770e7e feat(core/ui/): introduce SwipeUpScreen
A simple wrapper of a component which supports returning
PageMsg::Confirmed if swipe up action was detected.
2024-05-31 11:59:52 +00:00
obrusvit
6b76ec0413 feat(core/ui): add T3T1 Status/PromptScreen
StatusScreen serves to show a result of operation, typically a checkmark
with a circle around dismissed by swipe up gesture.

PromptScreen serves to confirm action, typically by holding a button.

Designs based on Figma.
So far without animation.
2024-05-31 11:59:52 +00:00
obrusvit
1882cc3a80 feat(core/ui): T3T1 Frame additions
This commit allows all combinations of Frame designs from Figma. This
includes adding icon_color to ButtonStyle and a small cleanup of
ButtonStyleSheets.
2024-05-31 11:59:52 +00:00
obrusvit
fd96ae5548 feat(core/emu): move btn swipe to middle
Swipe action initiated by arrow button press now starts in the middle of
the screen which should always be in the swipe area.
2024-05-31 11:59:52 +00:00
obrusvit
b8fd987dd8 feat(core/ui): add two more T3T1 icons
Icon named sign used in hold to confirm prompt screens.
2024-05-31 11:59:52 +00:00
obrusvit
8a56c393e2 feat(core/ui): T3T1 reset wallet screen
The first screen in wallet reset (onboarding or recovery) implemented as
a simple SwipeFlow to handle moving between Menu and back.
2024-05-31 11:59:52 +00:00
obrusvit
b87048e265 feat(core/ui): add Footer to T3T1 Frame 2024-05-31 11:59:52 +00:00
obrusvit
683ea6ed26 fix(core): rebase on drawlib
mercury theme.rs needs some cleanup after this action
2024-05-31 11:59:52 +00:00
Martin Milata
1363495165 feat(core/ui): GetAddress flow demo 2024-05-31 11:59:52 +00:00
Martin Milata
10234787a4 feat(core/ui): rust-based UI flows
[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
ac39b026cf fix(core): rebase on drawlib and TStringificaton
[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
8978f36096 feat(core): T3T1 ShareWords component 2024-05-31 11:59:52 +00:00
Martin Milata
8a5afbe585 style(core): fix formatting
[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
7ce980ca98 fix(core): port changes from drawlib to mercury
Again rebase on current drawlib
Move of canvas/Canvas to shape/Canvas.
Get rid of ui/shape/model.
A few other minor changes.

[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
9b98c8af11 feat(core): T3T1 corner highlight shape
Adds a new shape which serves to highlight information within a
rectangle.
2024-05-31 11:59:52 +00:00