1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-13 18:08:10 +00:00
Commit Graph

1828 Commits

Author SHA1 Message Date
matejcik
0e8dcbb498 feat(core): unify RustLayout, implement single global layout 2024-11-12 16:55:17 +01:00
matejcik
df368413c6 refactor(core/rust): introduce layout lifecycle states on Rust side 2024-11-12 16:55:17 +01:00
matejcik
c8f3ebfa21 refactor(core/ui): improve LayoutObj initialization
* RequestPaint message is sent at construction time to force calculation
  of number of pages
* given that Attach corresponds to "start the layout" message, Child now
  responds to Attach the same way it responds to RequestPaint, by
  force-repainting everything.
2024-11-12 16:55:17 +01:00
tychovrahe
1efb684544 refactor(core): expose USE_TOUCH and USE_BUTTON to uPy
[no changelog]
2024-11-12 16:55:17 +01:00
matejcik
dbe6c1c664 refactor(core/rust): create a single code path allowed to modify SwipeFlow state 2024-11-12 16:55:17 +01:00
tychovrahe
0d3af6a96a fix(core): fix firmware hashing on U5
[no changelog]
2024-11-12 12:55:36 +01:00
cepetr
79cf4959d3 refactor(core): improve button driver (add interrupt support)
[no changelog]
2024-11-07 08:48:21 +01:00
tychovrahe
375a27978f feat(core): switch screenshot button to 's'
[no changelog]
2024-11-07 08:48:21 +01:00
tychovrahe
435fbd6e8c feat(core): add power button to button driver
[no changelog]
2024-11-07 08:48:21 +01:00
Lukas Bielesch
7a61d8e858 chore(core) Translate hard-coded 'Enable labeling' string 2024-11-06 18:34:05 +01:00
Martin Milata
e558ec1c98 chore(core): bump version to 2.8.6
[no changelog]
2024-11-06 15:57:31 +01:00
Martin Milata
e379f472c9 chore(core/prodtest): bump version to 0.2.12
[no changelog]
2024-11-06 15:57:31 +01:00
cepetr
a1cb456dd6 fix(core): fix haptic custom effect in loaders
[no changelog]

(cherry picked from commit 29e03bd873)
2024-11-05 21:05:50 +01:00
Martin Milata
faa3106606 chore(core): bump version to 2.8.5
[no changelog]

(cherry picked from commit 6d09b70603)
2024-11-05 21:05:33 +01:00
cepetr
29e03bd873 fix(core): fix haptic custom effect in loaders
[no changelog]
2024-11-05 21:04:32 +01:00
cepetr
7b6f444751 refactor(core): introduce global trezor_rtl/bsp/model headers
[no changelog]
2024-11-05 10:00:31 +01:00
Martin Milata
d884daea42 docs(core/prodtest): changelog for 0.2.11 2024-11-04 19:22:28 +01:00
Martin Milata
8361b0eea4 chore(core/prodtest): bump version to 0.2.11
[no changelog]

(cherry picked from commit 6d41c56089)
2024-11-04 18:43:28 +01:00
tychovrahe
0aeaa4ebf6 fix(core): fix OTP write access
(cherry picked from commit 33fc7fb2e6)
2024-11-04 18:43:28 +01:00
cepetr
33348e61e6 fix(core/prodtest): fix CPUID READ command
(cherry picked from commit dbe7a393a8)
2024-11-04 18:43:28 +01:00
Martin Milata
6d41c56089 chore(core/prodtest): bump version to 0.2.11
[no changelog]
2024-11-04 18:42:10 +01:00
Martin Milata
6d09b70603 chore(core): bump version to 2.8.5
[no changelog]
2024-11-04 18:42:10 +01:00
tychovrahe
33fc7fb2e6 fix(core): fix OTP write access 2024-11-04 18:33:03 +01:00
cepetr
dbe7a393a8 fix(core/prodtest): fix CPUID READ command 2024-11-04 18:32:42 +01:00
cepetr
c997201754 refactor(core): simplify ensure_compatible_settings
[no changelog]
2024-11-04 14:05:37 +01:00
cepetr
80a67c647f refactor(core): relocate display resolution to model.h
[no changelog]
2024-11-04 14:05:37 +01:00
cepetr
bba94ab1f6 refactor(core): remove redundant TREZOR_FONT_BPP
[no changelog]
2024-11-04 14:05:37 +01:00
cepetr
cb2c85dc2e refactor(core): remove unused MAX_DISPLAY_RESx
[no changelog]
2024-11-04 14:05:37 +01:00
cepetr
387d98d6e4 refactor(core): get rid of STM32U5 in platform indep code
[no changelog]
2024-11-04 14:05:37 +01:00
Martin Milata
1dfaae6080 chore(core): add signed bootloader 2.1.9 for T3T1 2024-11-04 12:17:31 +01:00
Ioan Bizău
f969ba72f0 fix(core/translations): fix string order
[no changelog]

(cherry picked from commit 93fb415fe0)
2024-11-02 18:58:46 +01:00
Ioan Bizău
217239954d fix(core/ui): remove unnecessary newline
[no changelog]

(cherry picked from commit 2435e8b101)
2024-11-02 18:58:46 +01:00
Martin Milata
f4fa43ba3a docs(core/prodtest): changelog for 0.2.10 2024-11-02 18:58:46 +01:00
Ioan Bizău
93fb415fe0 fix(core/translations): fix string order
[no changelog]
2024-11-02 18:40:53 +01:00
Ioan Bizău
2435e8b101 fix(core/ui): remove unnecessary newline
[no changelog]
2024-11-02 18:40:53 +01:00
M1nd3r
82a202f6a8 fix(core): fix flow_prompt_backup mock
[no changelog]
2024-10-31 16:15:22 +01:00
tychovrahe
d38c2e1790 chore(core): drop obsolete boards
[no changelog]
2024-10-31 10:27:08 +01:00
tychovrahe
42396dd007 refactor(core): make USE_xxx defines global
[no changelog]
2024-10-31 10:27:08 +01:00
cepetr
9e28e96639 refactor(core): simplify and improve flash layout definitions
[no changelog]
2024-10-31 10:25:31 +01:00
cepetr
4af600d422 refactor(core): introduce USE_TRUSTZONE
[no changelog]
2024-10-31 10:25:31 +01:00
cepetr
b174237684 feat(core): properly utilize trustzone in kernel and core app
[no changelog]
2024-10-31 10:25:31 +01:00
cepetr
c0829ec364 feat(core): introduce new alignment macros
[no changelog]
2024-10-31 10:25:31 +01:00
cepetr
a747210f54 fix(core): fix secret & assets start address const
[no changelog]
2024-10-31 10:25:31 +01:00
cepetr
059152d9b4 fix(core): fix BHK_MAXSIZE constant
[no changelog]
2024-10-31 10:25:31 +01:00
cepetr
133135e204 fix(core): fix frame buffer size on disc2
[no changelog]
2024-10-31 10:25:31 +01:00
cepetr
69dcb84d4e fix(core): fix sram_u region clearing
[no changelog]
2024-10-31 10:25:31 +01:00
cepetr
7bd3663930 fix(core): align coreapp start to 8KB (u5 only)
[no changelog]
2024-10-31 10:25:31 +01:00
Ioan Bizău
c300576d6c feat(core/ethereum): new ETH contract flow 2024-10-30 17:25:48 +02:00
cepetr
0bacbdf355 fix(emulator): fix bootloader emulator build on MacOS
[no changelog]
2024-10-30 14:18:34 +01:00
cepetr
8bc3890639 fix(emulator): fix emulator crash on MacOS
[no changelog]
2024-10-30 14:18:34 +01:00
Lukas Bielesch
262747baa7 fix(core/rust) Handle also touchStop event in brightess dialog 2024-10-30 10:36:19 +01:00
obrusvit
f746993ca6 fix(ui/model_r): add title for altcoin_tx_summmary 2024-10-30 09:15:10 +01:00
obrusvit
2c6a13064b feat(cardano): use nicer summary for send tx
Also show Recipient {i} for simple tx
2024-10-30 09:15:10 +01:00
obrusvit
a3aacb7f13 fix(ui/model_r): adjust model_r confirm_properties
- change the button text based on `hold`
- make it abortable
2024-10-30 09:15:10 +01:00
obrusvit
20e408d7df fix(ui/mercury): fix should_show_more prompt
This prompt was unintuitive as the menu button served as the "show more"
button. This commit implements a small SwipeFlow which hides the option
to the context menu.
2024-10-30 09:15:10 +01:00
tychovrahe
9f52918d27 feat(core): support 32 bit colors in emulator
[no changelog]
2024-10-23 14:42:13 +02:00
tychovrahe
80fcaa369f feat(core/prodtest): added TOUCH_POWER command to prodtest 2024-10-23 14:42:00 +02:00
Martin Milata
87aab69644 fix(core): memory corruption on emulator init
Found by AddressSanitizer.
2024-10-22 23:33:44 +02:00
cepetr
3a19609035 fix(core): correct swapped F4/U5 reset flags
[no changelog]
2024-10-22 23:03:15 +02:00
cepetr
a1ab50017d feat(core): record interrupts with systemview
[no changelog]
2024-10-22 10:22:50 +02:00
cepetr
2589d48c8b fix(core): fix & upgrade systemview target code
[no changelog]
2024-10-22 10:22:50 +02:00
cepetr
76891323f6 feat(core): added access control for framebuffer
[no changelog]
2024-10-22 09:40:13 +02:00
cepetr
0fa2cf70cd refactor(core): get rid of platform.h
[no changelog]
2024-10-22 09:06:21 +02:00
cepetr
5fd1f0e4c6 refactor(core): decompose lowlevel module
[no changelog]
2024-10-22 09:06:21 +02:00
cepetr
f6647ab3b7 refactor(core): introduce startup_init.c
[no changelog]
2024-10-22 09:06:21 +02:00
cepetr
bfa3ea4e5e refactor(core): remove common.c on all platforms
[no changelog]
2024-10-22 09:06:21 +02:00
cepetr
12a9dca5e1 refactor(emulator): improve SDL event polling logic
[no changelog]
2024-10-22 09:06:21 +02:00
cepetr
d062a54929 refactor(core): fix platform header includes
[no changelog]
2024-10-22 09:06:21 +02:00
cepetr
7670958fc5 refactor(core): remove set_core_clock from emulator
[no changelog]
2024-10-22 09:06:21 +02:00
cepetr
5845c665af refactor(core): refactor unit properties detection
[no changelog]
2024-10-22 08:30:49 +02:00
cepetr
d80e8c26f5 fix(core): fix memory layout on u5
[no changelog]
2024-10-22 08:30:49 +02:00
cepetr
976867d7d8 fix(core): add missing optiga_sign syscall
[no changelog]
2024-10-22 07:41:30 +02:00
cepetr
63f5f72804 feat(core): implement syscall verifiers
[no changelog]
2024-10-22 07:41:30 +02:00
cepetr
93af056c13 refactor(core): adjust system api for syscall verifier
[no changelog]
2024-10-22 07:41:30 +02:00
cepetr
be59a09a4c refactor(core): remove hash_processor syscalls
[no changelog]
2024-10-22 07:41:30 +02:00
cepetr
0312158aa1 refactor(core): adjust display api for syscall verifier
[no changelog]
2024-10-22 07:41:30 +02:00
cepetr
305f16c86b refactor(core): unify arg parsing in syscall dispatch
[no changelog]
2024-10-22 07:41:30 +02:00
Roman Zeyde
da7ddd5c8c chore(core/embed): fixup sha256 context type name
[no changelog]
2024-10-21 09:42:20 +02:00
Roman Zeyde
f1e01edfcb chore(core/embed): remove unused import
[no changelog]
2024-10-17 21:50:32 +02:00
obrusvit
08845d410d fix(core/ui): add 2nd version of continue anyway
To distinguish between prompt and a question.
2024-10-10 19:14:16 +02:00
obrusvit
faa209b5d9 fix(core/ui): use correct labels at a few places
[no changelog]
2024-10-10 19:14:16 +02:00
obrusvit
3475354a1a fix(core/ui): fix title of XPUB success screen 2024-10-10 19:14:16 +02:00
tychovrahe
d71d9e9c34 feat(core): add T3W1 emulator build
[no changelog]
2024-10-09 15:06:40 +02:00
tychovrahe
915d4fca94 feat(core): add support for T3W1, on F4
[no changelog]
2024-10-09 15:06:40 +02:00
tychovrahe
138fadbf7b feat(core): add LHS200KB display panel
[no changelog]
2024-10-09 15:06:40 +02:00
tychovrahe
5575fce461 chore(core): remove button state syscalls
[no changelog]
2024-10-09 15:06:40 +02:00
tychovrahe
91b1d950fd fix(core): fix rust compilation of pixeldata for new rendering on 16bit bus
[no changelog]
2024-10-09 15:06:40 +02:00
tychovrahe
b5b12ba50c fix(core): fix st7789-v driver issue data when using 16 bit bus
[no changelog]
2024-10-09 15:06:40 +02:00
cepetr
af4d792212 fix(emulator): fix rsod drawing in emulator
[no changelog]
2024-10-09 13:03:51 +02:00
cepetr
0ebc82728b fix(core): resolve static_assert error on macos compiler
[no changelog]
2024-10-09 13:03:51 +02:00
matejcik
3036d524a6 refactor(core): outline nested functions in mini_printf
so that we can compile it with clang

[no changelog]
2024-10-09 13:03:51 +02:00
cepetr
a247b4e87a refactor(core): rename reboot to reboot_device
[no changelog]
2024-10-09 13:03:51 +02:00
cepetr
5eb5f8d8f2 refactor(core): improve random_delays api
[no changelog]
2024-10-07 11:39:09 +02:00
cepetr
f54edd0d6a fix(core): ensure proper handling of vendor string
[no changelog]
2024-10-02 16:57:16 +02:00
Ioan Bizău
9b8f18577f chore(core/ui): crash on button text too long
[no changelog]
2024-10-02 10:55:45 +03:00
Ioan Bizău
69100c0755 feat(core/ui): allow two lines of text in menu items 2024-10-02 10:55:45 +03:00
cepetr
e6bda579b1 fix(core): fix interaction-less update
[no changelog]
2024-10-01 10:12:44 +02:00
cepetr
51b703cb1a fix(core): remove unnecessary framebuffer copying
[no changelog]
2024-10-01 10:12:27 +02:00
cepetr
e01fda59a9 fix(core): fix incorrect detection of exception/handler mode
[no changelog]
2024-10-01 10:12:27 +02:00
tychovrahe
7374700c0a refactor(core): ui configuration in build scripts
[no changelog]
2024-09-27 22:02:08 +02:00
matejcik
df8be364fb build(core/rust): provide a default value for BUILD_DIR
to make it easier to run cargo separately, and support rust-analyzer
without tweaking its config
2024-09-27 14:11:02 +02:00
tychovrahe
775780cc8b refactor(core): rename TRANSLATIONS_AREA to ASSETS_AREA
[no changelog]
2024-09-27 09:49:20 +02:00
tychovrahe
d361c23224 chore(core): remove SBU interface from python
[no changelog]
2024-09-27 09:49:20 +02:00
tychovrahe
d312944f1e feat(core): embed bootloaders to DISC1,2 models in order to support testing related featurees
[no changelog]
2024-09-27 09:49:20 +02:00
tychovrahe
d412ce987e refactor(core): use common layout.c file
[no changelog]
2024-09-27 09:49:20 +02:00
tychovrahe
21c1359ac6 refactor(core): streamline layout definitions
[no changelog]
2024-09-27 09:49:20 +02:00
matejcik
6cbba09d1d refactor(core): return FlowMsg::Choice and FlowMsg::Text as plain values
instead of tuples
2024-09-26 10:00:48 +02:00
matejcik
2661dbb3d1 fix(core): change incorrect usage of "deadline" in Rust timer code 2024-09-26 10:00:48 +02:00
matejcik
9431f2a77d refactor(core/rust): simplify TryFrom<FlowMsg> 2024-09-26 10:00:48 +02:00
matejcik
a159ea133a refactor(core/rust): add comments in frame.rs 2024-09-26 10:00:48 +02:00
matejcik
85d699a42d refactor(core/rust): simplify match statement in footer.rs 2024-09-26 10:00:48 +02:00
matejcik
f7ce99e7d7 refactor(core/rust): EventPropagation enum
to indicate in a better way that some event should be propagated further

there are probably more places where this would be appropriate
2024-09-26 10:00:48 +02:00
matejcik
c0bb55258b refactor(core/rust): use SwipeEvent in place of SwipeDetectMsg 2024-09-26 10:00:48 +02:00
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