matejcik
9f083c1865
refactor(core/rust): replace TouchAbort event with explicit abort via a detected swipe
...
worth considering:
pub enum Phase {
Start,
Move,
End,
}
pub enum TouchEvent {
Touch(Phase, Point),
Swipe(Phase, Point),
}
(Swipe needs its own Phase because it needs a progress on the Move, but
otherwise...)
2024-09-26 10:00:48 +02:00
matejcik
943d6d9b30
refactor(core/rust): use separate files for button and touch events
...
this makes it easier to feature-gate them
2024-09-26 10:00:48 +02:00
matejcik
e049efd171
refactor(core/rust): move ui::component::SwipeDirection to ui::geometry::Direction
...
it's a rather general thing, no reason to tie its existence to Swipe
2024-09-26 10:00:48 +02:00
matejcik
48edb483a0
refactor(core/rust): streamline FlowState handling
...
* use the freed-up FlowState name for an alias to &'static dyn
FlowController
* replace StateChange with raw Decision
* move FlowState into Decision::Transition (the other Decisions should
not have the ability to change state
* also rename `transit` to `goto` which is a much better name
2024-09-26 10:00:48 +02:00
matejcik
9cc03c91d1
refactor(core/rust): rename the FlowState trait to FlowController
...
so that we can use the FlowState name for a type alias
2024-09-26 10:00:48 +02:00
matejcik
30c08b6442
refactor(core/rust): simplify code for internal paging events
...
[no changelog]
2024-09-26 10:00:48 +02:00
cepetr
a5ddd13e8f
fix(core): fix handover to bootloader
...
[no changelog]
2024-09-26 09:55:21 +02:00
tychovrahe
2530312091
fix(core): reboot immediately in boardloader if BHK is locked
...
[no changelog]
2024-09-26 09:54:45 +02:00
cepetr
454b8140ec
fix(core): fix slow jpeg decoding
...
[no changelog]
2024-09-25 12:46:57 +02:00
tychovrahe
e13d4a45a6
chore(core): remove residual support for T1B1 in core
...
[no changelog]
2024-09-25 09:18:01 +02:00
cepetr
ab96ce7954
fix(core/embed): fix firmware invalidation
...
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
dfd17578b6
refactor(core): migrate coreapp into firmware
...
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
0c98f578ad
fix(core): support 32 bit colors in terminal
...
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
e9c025751c
fix(core): fix storage offsets
...
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
57f72d5aa7
fix(core): use secure-unprivileged SAES XOR key for storage encryption
...
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
28f420189a
refactor(core): combined build of coreapp + kernel, linker scripts refactoring
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
35c6f52133
refactor(core/embed): introduce system, tasks, applets and emergency mode
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
1c991339ce
refactor(core/embed): split firmware into kernel & coreapp
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
7f3cff04f1
refactor(core/embed): introduce new mpu driver
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
8fab22522a
refactor(core/embed): moving specific algorithms into fwutils
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
ae4e195d6e
refactor(core/embed): simplify bootutils api
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
33a94d945d
chore(core/embed): remove unused legacy i2c driver
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
2540b91823
refactor(core/embed): use new i2c driver in stmpe811 touch driver
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
fdd6a2a40e
refactor(core/embed): use new i2c driver in sitronix touch driver
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
b93c16d8a7
refactor(core/embed): use new i2c driver in optiga driver
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
caede8e3ee
refactor(core/embed): use new i2c driver in drv2625 driver
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
35937a9bfe
refactor(core/embed): use new i2c driver in ft6x36 driver
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
ed74f8302f
refactor(embed/core): replace enable/disable_irq by irq_lock/unlock
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
91649dc7cb
feat(core/embed): introduce non-blocking i2c drivers
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
9e4a6d08e5
feat(code/embed): introduce ARRAY_LENGTH macro
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
a6741556d0
fix(core/embed): fix prodtest build
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
5210d2fa50
fix(embed/core): fix stack protection on STM32U5
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
0b93d0d848
fix(core/embed): make HardFault processing safer
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
2bb5b5c0ce
refactor(core/embed): introduce fwutils module
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
0e45f92d3b
refactor(core/embed): move __stack_chk_fail to a better location
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
b1a41ded79
refactor(core/embed): improve bootuils api
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
0666e6ea9a
refactor(core/embed): rename boot_args to bootuils
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
5f97f5a8ea
refactor(core/embed): make i2c header common for all platforms
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
741b30f7a2
chore(embed/core): add include guard to translations.h
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
2fd5aca05c
refactor(core/embed): remove supervise module
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
1443f86983
feat(core/embed): introduce systick and systimer drivers
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
58d9f6115e
fix(core/embed): fix aborting of bg_copy operation
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
d7462e93bb
refactor(core/embed): remove FlashOTP module
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
a3fcc62655
refactor(core/build): remove hardcoded build path
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
4312c08612
refactor(core/embed): extract hw entropy logic to its own module
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
d87a250905
fix(core/embed): fix display initialization on T3T1 in boardloader
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
e106df766e
refactor(core/embed): add initialized flag to display drivers
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
3f0770b4e1
fix(core/embed): fix backlight pwm settings during display deinit
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
33c2bcbe52
refactor(core/embed): simplify ensure_compatible_settings
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
1d8b29e746
refactor(core/embed): improve display driver init/deinit
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
d558950950
refactor(core/embed): simplify irq priorities
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
3fb55a373d
refactor(core/embed): remove unnecessary sync from sdcard driver
...
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
20814f7ae6
refactor(core/embed): remove unnecessary pendsv exception handling
...
[no changelog]
2024-09-24 12:21:53 +02:00
Ioan Bizău
6da38f4cf3
feat(core): show account info in ETH send/stake flow
2024-09-24 11:57:34 +03:00
matejcik
53c52cbf48
chore(core/bootloader): bump version
2024-09-23 09:32:57 +02:00
matejcik
33519dac50
docs(core/bootloader): changelog for bl 2.1.9
2024-09-23 09:32:57 +02:00
tychovrahe
c67d185da5
fix(core/bootloader): fix ignoring disconnected touch in production mode
...
[no changelog]
2024-09-20 15:13:36 +02:00
tychovrahe
12c3dc5ff8
chore(core): fix typos in touch.h
...
[no changelog]
2024-09-20 15:13:36 +02:00
tychovrahe
02533aa27a
fix(core): fix bootloader_ci production build
...
[no changelog]
2024-09-18 08:27:32 +02:00
tychovrahe
6658c42a95
fix(core): use new rendering in changing_text
...
[no changelog]
2024-09-17 17:46:11 +02:00
tychovrahe
23d68eb0bb
fix(core): fix model T new-rendering loader
...
[no changelog]
2024-09-17 17:46:11 +02:00
tychovrahe
c6a1eba4b6
fix(core): fix fading on model T bootloader
...
[no changelog]
2024-09-17 17:46:11 +02:00
tychovrahe
1dc5c4c03f
fix(core): fix model_tr icons for new rendering
...
[no changelog]
2024-09-17 17:46:11 +02:00
tychovrahe
41273a25ed
fix(core): fix blending mono 4 on mono 8 canvas
...
[no changelog]
2024-09-17 17:46:11 +02:00
Ioan Bizău
32be89a29a
refactor(core): use code to append colon to strings
...
[no changelog]
2024-09-17 01:44:20 +02:00
Ioan Bizău
1c7bfdb04c
refactor(core): use a template to add colon to strings
...
[no changelog]
2024-09-17 01:44:20 +02:00
Martin Milata
24a15c3a05
Merge branch 'release/24.09'
2024-09-16 13:43:03 +02:00
tychovrahe
8507335806
fix(core): fix f4 monoctr in non-production builds
...
[no changelog]
2024-09-15 20:15:21 +02:00
Martin Milata
95fe6edb2d
chore(core): bump core, core/bootloader, core/prodtest versions
...
core: 2.8.4
bootloader: 2.1.9
prodtest: 0.2.10
[no changelog]
2024-09-13 20:04:04 +02:00
obrusvit
8d1a9bc17f
chore(core): remove duplicated FlowMsg conversion
...
[no changelog]
2024-09-13 12:08:42 +02:00
obrusvit
9b4b1203b6
refactor(core/mercury): remove some unused code
...
[no changelog]
2024-09-12 21:26:45 +02:00
obrusvit
aab68b9dfa
feat(core/mercury): impl footer in RemainingShares
2024-09-12 21:26:45 +02:00
obrusvit
d15ecfb859
refactor(core/mercury): self-updating footer
...
This commit enables registering function for updating footer and header
based on the content. This eliminates the need to create wrappers around
Frame to update them.
[no changelog]
2024-09-12 21:26:45 +02:00
Ondřej Vejpustek
fb471a96f2
refactor(crypto): adapt ripemd160 implementation
2024-09-12 14:44:33 +02:00
Ioan Bizău
f6aa7cbb08
fix(core): tweak swipes in ETH staking flow
2024-09-12 11:45:30 +03:00
Martin Milata
b30d60d946
chore(core): bump version to 2.8.3
2024-09-09 15:06:29 +02:00
Martin Milata
5d8461969a
chore(core): add hashes for 2.1.8 bootloader
2024-09-09 14:21:38 +02:00
Martin Milata
37006592db
chore(core): add signed bootloader 2.1.8 for T3B1 and T3T1
2024-09-09 12:12:39 +02:00
tychovrahe
656a86b8a0
chore(core): generate bootloader and prodtest changelogs
...
[no changelog]
2024-09-07 08:35:10 +02:00
tychovrahe
5eb68975d9
fix(core/prodtest): fix prodtest run with unlocked bootloader
...
[no changelog]
2024-09-07 08:35:10 +02:00
tychovrahe
be9255ae04
fix(core/bootloader): fix unlocking bootloader granting HDP access on U5
...
[no changelog]
2024-09-07 08:35:10 +02:00
tychovrahe
422b376ebd
fix(core/bootloader): reporting bootloader lock state on U5
...
[no changelog]
2024-09-07 08:35:10 +02:00
tychovrahe
f3b78e9c7a
fix(core/bootloader): fix firmware downgrade protection
...
[no changelog]
2024-09-07 08:35:10 +02:00
Martin Milata
cb76e1351d
chore(core): changelog for bootloader and prodtest
2024-09-05 15:11:42 +02:00
Martin Milata
777ad11bec
feat(core/translations): add it, pt
...
Partially added TR.
2024-09-03 21:58:09 +02:00
Ioan Bizău
ba8f0ea4bc
feat(core): use new ETH send flow also for staking
2024-09-03 18:59:53 +03:00
obrusvit
c5f9fadbd1
fix(core/mercury): show remaining shares
...
This commit enables showing "Remaining shares" from the context menu
during recovery process. This is only shown during super-shamir.
2024-09-03 14:20:34 +02:00
tychovrahe
708b0274f5
chore(core): bump monotonic versions
...
[no changelog]
2024-09-03 13:07:34 +02:00
tychovrahe
b685820fb3
feat(core): implement firmware downgrade protection
2024-09-03 13:07:34 +02:00
tychovrahe
395a4af9be
refactor(core): extract monotonic version to model specific headers
...
[no changelog]
2024-09-03 13:07:34 +02:00
tychovrahe
c1864a2a91
refactor(core): enclose monotonic counter to platform specific module
...
[no changelog]
2024-09-03 13:07:34 +02:00
tychovrahe
d334b92073
feat(core): add bootloader unlocking functionality to U5 optiga models
2024-09-03 13:07:34 +02:00
tychovrahe
491647085f
fix(core/bootloader): fix vendor image with new rendering
...
[no changelog]
2024-09-03 08:39:42 +02:00
tychovrahe
ee6410acdd
fix(core/bootloader): fix repeated firmware upload
...
[no changelog]
2024-09-03 08:39:42 +02:00
tychovrahe
b8c27d5fd6
feat(core/bootloader): only allow confirm-less firmware installation for full-trust images
2024-09-03 08:39:42 +02:00
Martin Milata
7db1529533
refactor(core/ui): alternative multipage footer
2024-09-02 19:36:25 +02:00
Martin Milata
2572705d1f
refactor(core/ui/mercury): delete CancelInfoConfirm
...
[no changelog]
2024-09-02 19:36:25 +02:00
Martin Milata
7c8be6f0ea
fix(core/ui/mercury): FIDO2 layouts
2024-09-02 19:36:25 +02:00
tychovrahe
167f567ab0
fix(core/prodtest): T3B1 welcome screen changed to full white screen to match T2B1
2024-09-02 15:50:51 +02:00
tychovrahe
6caafd6642
fix(core/bootloader): fix T3B1 bootloader UI - unsafe screen, boot image
2024-09-02 15:50:51 +02:00
obrusvit
9e18e72a2c
feat(core): ask for 20/33 words to unlock backup
...
Unlocking repeated backup is only possible with SLIP-39 extendable
backup which contains shares of 20 or 33 words. It is UI bug to have the
user choose from all options (12, 18, 20, 24, 33). This commit reduces
the choices when unlocking repeated backup to (20, 33) for all models.
2024-08-29 16:01:13 +02:00
tychovrahe
3bfc0b61e5
feat(core/tests): add core bootloader hashes to make gen and gen_check targets
...
[no changelog]
2024-08-29 12:47:24 +02:00
tychovrahe
7275a5544e
refactor(core): move embedded bootloaders and their hashes to model folders
...
[no changelog]
2024-08-29 12:47:24 +02:00
tychovrahe
384615c047
fix(core): fix button alignment in T3T1 bootloader
...
[no changelog]
2024-08-29 10:49:32 +02:00
obrusvit
f0989e20b8
fix(core/ui): fix persistent word during recovery
...
Remove the current word from recovery progress if a user goes to
previous word.
[no changelog]
2024-08-28 14:33:02 +02:00
obrusvit
65d3fd00f1
fix(core/ui): fix mnemonic keys availability
...
This commit disables keys of mnemonic keyboard if their press cannot
lead to a valid word if the keyboard is initialized with a pre-filled
word. This is useful to get valid keyboard state when going to a
previous word during recovery.
[no changelog]
2024-08-28 14:33:02 +02:00
obrusvit
e2022db8fa
feat(core/mercury): use less severe icon color
...
Not using danger color during onboarding.
[no changelog]
2024-08-28 14:21:07 +02:00
tychovrahe
c7eabe3088
fix(core): update display initialization sequence on T3T1
...
[no changelog]
2024-08-28 11:03:20 +02:00
Andrew Kozlik
2a567f3a0c
feat: Remove display_random feature.
2024-08-27 19:33:23 +02:00
Ioan Bizău
b747a5bcc9
refactor(core): merge confirm_summary flow into confirm_output flow
2024-08-27 16:21:03 +03:00
Ioan Bizău
692eee3e07
feat(core): add progress to Ethereum transaction signing
2024-08-27 16:21:03 +03:00
Ioan Bizău
09d3301785
feat(core): improve ETH send flow
2024-08-27 16:21:03 +03:00
cepetr
c0b295a9b1
fix(core/prodtest): fix prodtest build with NEW_RENDERING on
...
[no changelog]
2024-08-22 14:28:54 +02:00
obrusvit
e19138cdc8
chore(core): remove unused mercury ButtonContent
...
[no changelog]
2024-08-22 08:58:10 +02:00
obrusvit
50dc265162
feat(core/mercury): impl flow_request_passphrase
...
This commit replaces request_passphrase with flow_request_passphrase.
The added benefit is that the user is prompted for confirmation if they
want to proceed with an empty passphrase.
2024-08-22 00:47:15 +02:00
obrusvit
60ad7219fe
refactor(core): use PromptMsg instead of Option<>
...
PromptScreen now uses dedicated PromptMsg with Confirmed and Cancelled
values instead of empty Option<>. This change affects only mercury code.
This is more explicit and enables "yes" or "no" prompts screens.
Otherwise, the "no" option was handled by the 'x' button handled by
Frame.
[no changelog]
2024-08-22 00:47:15 +02:00
obrusvit
2b4d6eb798
feat(core/mercury): passphrase confirm empty btn
...
[no changelog]
2024-08-22 00:47:15 +02:00
obrusvit
15526343c9
feat(core/mercury): introduce binary_selection
...
This commit adds a Component which prompts a user with a pair of two
buttons - left and right. The Component is parametrized by the buttons
contents and styles.
[no changelog]
2024-08-22 00:47:15 +02:00
obrusvit
d99a94758b
feat(core/mercury): allow passphrase in FlowStore
...
[no changelog]
2024-08-22 00:47:15 +02:00
obrusvit
2203d9be1a
feat(core/ui): introduce FlowMsg::Text option
...
This commit allows flows to work with ShortString which can be converted
to micropython as str.
[no changelog]
2024-08-22 00:47:15 +02:00
Ondřej Vejpustek
5912c1e820
refactor(crypto): use boolean to indicate public key is set
...
[no changelog]
2024-08-21 17:19:24 +02:00
tychovrahe
dc276d1520
fix(core/bootloader): fix firmware update on stm32u5a
...
[no changelog]
2024-08-20 13:12:18 +02:00
tychovrahe
a265b0f176
fix(core/bootloader): evaluate model before vendor header signature when installing firmware
2024-08-20 12:22:35 +02:00
tychovrahe
5417ec15df
fix(core): introduce ui_overlay feature - fixes T3T1 bootloader compilation with new rendering
...
[no changelog]
2024-08-19 12:17:11 +02:00
tychovrahe
77eeabf7f5
fix(core/prodtest): fix expected param numbers for TOUCH_IDLE command
...
[no changelog]
2024-08-19 12:16:58 +02:00
tychovrahe
4b68431f7c
feat(core): tune consumption mask protection on T3B1
...
[no changelog]
2024-08-07 18:11:43 +02:00
tychovrahe
c42c268e05
fix(core): fix dma2d includes and initialization with respect to new rendering
...
[no changelog]
2024-08-07 18:11:29 +02:00
tychovrahe
171961829a
fix(core): fix gfx_clear
...
[no changelog]
2024-08-07 18:11:29 +02:00
tychovrahe
182f8d9774
chore(core): fix unused warning
...
[no changelog]
2024-08-01 16:17:12 +02:00
tychovrahe
effd81ed3b
chore(core): fix xframebuffer conditionals
...
[no changelog]
2024-08-01 16:17:12 +02:00
tychovrahe
4397978563
chore(core): add T3B1 binaries
...
[no changelog]
2024-08-01 13:29:38 +02:00
Martin Milata
c3161f8b18
chore(core): bump version to 2.8.2
...
[no changelog]
2024-07-31 14:15:42 +00:00
Ondřej Vejpustek
52437b1fc8
feat(core): improve optiga initialization error handling
...
[no changelog]
2024-07-31 14:55:30 +02:00
Andrew Kozlik
13de099bc1
refactor(core): Improve parameter naming in ed25519_sign_ext().
...
[no changelog]
2024-07-31 13:34:34 +02:00
Andrew Kozlik
6ed8aad608
fix(core): Remove bias in ed25519.generate_secret()
...
[no changelog]
2024-07-31 13:34:34 +02:00
tychovrahe
b37971eea4
feat(core/prodtest): add commands to read bootloader and boardloader versions
2024-07-31 13:05:06 +02:00
tychovrahe
e30fe7769a
feat(core/prodtest): add more touch layer tests
2024-07-31 13:05:06 +02:00
obrusvit
fbf380caba
refactor(core/mercury): init Paragraphs from Vec
...
[no changelog]
2024-07-31 11:52:47 +02:00
obrusvit
71b2c986f8
feat(core/ui): send BR from rust during recovery
...
[no changelog]
2024-07-31 11:36:32 +02:00
obrusvit
510230628b
feat(core): allow BR from rust on every Attach
...
This commit allows creating a rust flow in which a component sends the
configured ButtonRequest repeatedly on every Event::Attach.
This is necessary in recovery homescreen flow where we want to send
ButtonRequest also after restarting the device.
[no changelog]
2024-07-31 11:36:32 +02:00
obrusvit
11308f578d
feat(core/ui): T3T1 instruction screens between shares
...
Changes the content and visual appearance of the screens between shares
during multi-share (shamir) recovery. Context menu with the option to
cancel is added to the screen.
2024-07-31 11:36:32 +02:00
Ioan Bizău
5188dfc83d
feat(core): deal with non-breaking spaces
...
[no changelog]
2024-07-30 18:48:01 +03:00
cepetr
470d6ec24e
fix(core/embed): fix too frequent reading of touch panel registers
...
[no changelog]
2024-07-30 16:53:52 +02:00
Ioan Bizău
33f5d47330
chore(core): rename "hidden wallet" -> "passphrase wallet"
...
[no changelog]
2024-07-29 17:45:28 +03:00
tychovrahe
79feb690ad
fix(core/mercury): prefer vertical swipes over horizontal
2024-07-29 15:47:24 +02:00
Ioan Bizău
6f96585d4b
feat(core): make brightness an u8
...
[no changelog]
2024-07-29 13:30:34 +03:00
tychovrahe
a15dd6598f
fix(core/mercury): improve share words swiping animation
2024-07-29 09:07:35 +02:00
obrusvit
008490bf4b
refactor(core/mercury): unify confirm TOS
...
[no changelog]
2024-07-28 23:14:12 +02:00
obrusvit
f41176af02
feat(core/mercury): change FW update UI
...
This commit changes the UI of confirming interaction-less firmware
update.
2024-07-28 22:11:30 +02:00
Martin Milata
888e384f79
refactor(core/mercury): remove unnecessary Child
...
[no changelog]
2024-07-25 21:09:43 +00:00