obrusvit
7da1f732d8
feat(eckhart): implement BootloaderUI
...
- skimmed variants of Header, ActionBar, TextScreen, Menu
- implement ErrorScreen
- implement WelcomeScreen
- implement bootloader loader
- the implementation sits in the separate file `ui_bootloader.rs`
2025-05-30 17:38:16 +02:00
obrusvit
73ccb96fe6
chore(eckhart): cleanup code
...
- feature-gate non-bootloader fonts
- delete old bootloader components
- cleanup theme module
2025-05-30 17:38:16 +02:00
Lukas Bielesch
c777caf087
feat(eckhart): receive address flow
...
- add new action bar mode
- full-screen QR screen component
- show danger flow
- update address warnings
2025-05-30 17:38:16 +02:00
Lukas Bielesch
5cc3a0dfdb
refactor(eckhart): update fonts and disabled button style
...
- Fix translation pattern
2025-05-30 17:38:16 +02:00
obrusvit
fee5624590
refactor(eckhart): ignore empty description
...
- don't show empty text in confirm_action
2025-05-30 17:38:16 +02:00
obrusvit
f6c0d0e87d
feat(eckhart): improve ActionBar content
...
- button content is moved towards the center a bit
- shrink left button at the last page of paginated component
- change the order of render in `TextScreen` to account for Header
overlay. If the main content reaches the Header area, we do not want to
overlay it during Hold to Confirm animation
2025-05-30 17:38:16 +02:00
obrusvit
7a364fa215
refactor(eckhart): separate FW comps and theme
2025-05-30 17:38:16 +02:00
Lukas Bielesch
72640f3518
feat(eckhart): full-screen input number component
2025-05-30 17:38:16 +02:00
Lukas Bielesch
c9d8203fa4
chore(eckhart): update existing components accordint to new design
2025-05-30 17:38:16 +02:00
Lukas Bielesch
cf29524525
feat(eckahrt): implement show info UI trait function
2025-05-30 17:38:16 +02:00
Lukas Bielesch
cff6a498a2
feat(eckhart): prompt backup flow
...
- implement provisional show progress UI trait function
2025-05-30 17:38:16 +02:00
Lukas Bielesch
714e09383f
feat(eckhart): confirm reset flow
2025-05-30 17:38:16 +02:00
Lukas Bielesch
fac1979d64
chore(eckhart): VerticalMenuScreen improvements
...
- implement Swipable trait for vertical menu screen
- add warning text styles
2025-05-30 17:38:16 +02:00
Lukas Bielesch
7663a3a20d
core(eckhart): Fix failing unit test and warnings
2025-05-30 17:38:16 +02:00
Lukas Bielesch
57fe0e3e39
feat(eckhart): Full-screen get count component
2025-05-30 17:38:16 +02:00
obrusvit
66ecccda54
feat(eckhart): add easing and rollback to HtC anim
...
- also switch corner icons to 4px width
2025-05-30 17:38:16 +02:00
obrusvit
a2f618bd94
feat(eckhart): add alpha to ScreenBorder
2025-05-30 17:38:16 +02:00
obrusvit
d109a5b352
chore(eckhart): fix some clippy warnings
2025-05-30 17:38:16 +02:00
Lukas Bielesch
db8e8cd2b8
feat(eckhart): Add mnemonic input component
...
- BIP39 & SLIP39
2025-05-30 17:38:16 +02:00
Lukas Bielesch
f859c0bc6c
feat(eckhart): full-screen mnemonic component
2025-05-30 17:38:16 +02:00
Lukas Bielesch
b95aebd2fc
feat(eckhart): full-screen passphrase component
...
- and flow
2025-05-30 17:38:16 +02:00
Lukas Bielesch
547a4c357e
feat(eckhart): full-screen PIN keyboard component
2025-05-30 17:38:16 +02:00
Lukas Bielesch
106b16191b
feat(eckhart): keypad component
2025-05-30 17:38:16 +02:00
Lukas Bielesch
d1ad96426c
feat(ui): Add visibility-checking function to Maybe struct
2025-05-30 17:38:16 +02:00
Lukas Bielesch
4a7148b349
feat(ui): Add function for expanding Button touch area
2025-05-30 17:38:16 +02:00
Lukas Bielesch
d3015dc2aa
feat(eckhart): Add common keyboard functionality
...
- plus keyboard button styles
2025-05-30 17:38:16 +02:00
Lukas Bielesch
76ee57dd6c
feat(eckhart): Add parametrized content offset to Button
2025-05-30 17:38:16 +02:00
Lukas Bielesch
36d1d6c4c3
chore(eckhart): Add dynamic padding option to vertical menu. Update rendering of separarators in vertical menu.
2025-05-30 17:38:16 +02:00
Lukas Bielesch
d270e3192a
feat(eckhart): full-screen select word component
2025-05-30 17:38:16 +02:00
Lukas Bielesch
ced03df91a
chore(eckhart): Remove redundant code
2025-05-30 17:38:16 +02:00
Lukas Bielesch
1992d41b00
chore(eckhart): Add dynamic padding option to vertical menu.
...
Update rendering of separarators in vertical menu.
2025-05-30 17:38:16 +02:00
Lukas Bielesch
da8effa3a3
chore(eckhart): fix button text and subtext rendering
...
- add new Button 'is_pressed' function
2025-05-30 17:38:16 +02:00
Lukas Bielesch
d7745d3d55
feat(eckhart): button styles for select word component
2025-05-30 17:38:16 +02:00
Lukas Bielesch
fa806f27eb
feat(eckhart): ShareWords screen and flow
2025-05-30 17:38:16 +02:00
Lukas Bielesch
20a86432ce
chore(eckhart): improve HTC animation
2025-05-30 17:38:16 +02:00
obrusvit
c74223ae88
feat(eckhart): expand touch area of ActionBar
2025-05-30 17:38:16 +02:00
obrusvit
f1e23d2e97
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-05-30 17:38:16 +02:00
obrusvit
00ec83af5e
feat(eckhart): implement ScreenBorder overlay
...
- a static "custom shape" for eckhart layout which displays screen
overlay around the borders
2025-05-30 17:38:16 +02:00
Lukas Bielesch
4480a8ba59
feat(eckhart): Update vertical menu components
2025-05-30 17:38:16 +02:00
Lukas Bielesch
38613dbf46
feat(eckhart): Add new Back Header message type
2025-05-30 17:38:16 +02:00
Lukas Bielesch
1d8fa6930e
feat(eckhart): VerticalMenuScreen improvements
...
- Add vertical menu button styles
- Add battery icons
- Add MenuItem button content type
2025-05-30 17:38:16 +02:00
obrusvit
1c0429f932
feat(eckhart): full-screen vertical menu component
2025-05-30 17:38:16 +02:00
obrusvit
0696090691
feat(eckhart): implement basic UiFirmware fns
...
- confirm_action, confirm_value
- few show_xyz
- provisional homescreen
2025-05-30 17:38:16 +02:00
obrusvit
ea4d704a8a
feat(core): add color op to FormattedText
...
[no changelog]
2025-05-30 17:38:16 +02:00
obrusvit
9b25644c17
feat(eckhart): full-screen textual component
...
- TextScreen is a full-screen component for (paginated) texts
- it's supposed to wrap FormattedText or Paragraphs
2025-05-30 17:38:16 +02:00
obrusvit
17ba44d8c1
feat(eckhart): componets
...
- Header
- Hint
- ActionBar
2025-05-30 17:38:16 +02:00
obrusvit
c96dc29bff
feat(eckhart): stylekit
...
- icons
- textstyles
- fonts
2025-05-30 17:38:16 +02:00
obrusvit
62933d2d62
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-05-30 17:38:16 +02:00
tychovrahe
80a18f1156
fix(core/prodtest): fix backlight setting in prodtest
...
[no changelog]
2025-05-30 14:39:10 +02:00
tychovrahe
b8b2d7cf13
feat(core/bootloader): add separate bootloader-entry haptic effect
...
[no changelog]
2025-05-30 14:38:56 +02:00
tychovrahe
a688bae64b
fix(core/bootloader): fix entering bootloader on battery powered devices
...
[no changelog]
2025-05-30 14:38:56 +02:00
kopecdav
7d3d2e877f
refactor(core): add power manager api comments
...
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
b97d05247c
fix(core/prodtest): fix power off led signalization
...
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
378b81b663
feat(core/prodtest): add command to adjust SOC limit
...
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
7de6e438eb
fix(core/prodtest): adjust power manager command documentation
...
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
33b8b2c8f7
fix(core): fix kernel power manager initialization
...
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
b634eaca91
feat(core/bootloader): adjust boot sequence for battery devices
...
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
a4eaf4dc27
feat(core): respect manufacturing mode in power on sequence
...
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
2e23349419
feat(core/prodtest): limit charging in prodtest to 70% SOC
...
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
278a09f4c5
fix(core): improve robustness of device power on check
...
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
e01edaad4a
feat(core/prodtest): add fuel gauge to prodtest welcome screen
...
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
26dc39b941
feat(core/bootloader): add power management to bootloader
...
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
c63ff3bf44
feat(core): implement reboot command to bypass button check
...
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
7fa4e2d510
fix(core/prodtest): fix power management initialization in prodtest
...
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
c89ca35bbc
feat(core): event polling for power manager
...
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
e3be94d599
feat(core): add pm_get_events syscall
...
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
6e82c2415f
refactor(core): refactor power manager syscalls
...
[no changelog]
2025-05-30 14:04:45 +02:00
tychovrahe
0cd38186bf
fix(core): adjust to powerctl->power manager transition
...
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
48ef573649
refactor(core): remove recursion from power manager state machine automat
...
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
a530fb2c76
feat(core): add pm_charging_set_max_current function to API
...
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
e1e6d77ba5
feat(core): update fuel gauge parameters + agressive regions at charging profiles boundry
...
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
56c55cf69d
feat(core): add charging profiles forced bounderies [no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
b4fc523711
fix(core): fix power_manager dependencies
...
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
0e228caac1
feat(core) add prodtest precharge test [no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
46272a854e
fix(core) fuel gauge not updated while charging is IDLE.
...
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
4b9fb839cd
refactor(core): split pmic as a separate feature
...
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
58e31be4ec
feat(core): add power_state into prodtest pm_report
...
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
892a1b8171
style(core): fix cstyles [no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
a3ab75b5aa
fix(core): fix prodtest to not hibernate with external power source [no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
f31e190795
feat(core): disclose full power manager state machine to app [no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
6ba574cd82
feat(core): add pm stabilization in init function [no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
f050136abb
feat(core): store fuel gauge covariance into backup ram [no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
ac65d1f59d
chore(core): put soc recovery inside the pm_init [no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
f6bb7684cc
chore(core): add machine readable output of pm report [no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
b3e76e557e
fix(core): fix async pmic variable reading [no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
17031852cf
feat(core): add pm_wait_until_active function [no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
704bf3ed7c
feat(core): improve power_manager backup ram data check [no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
7acac1a0fd
fix(core): remove reduntant store to backup ram function [no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
63b374067c
fix(core) fix fuel gauge sampling period calculation [no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
3beebe5956
fix(core): remove ULTRA_POWER_SAVE and STARTUP_REJECTED states, improve battery low state detection [no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
19948372c7
feat(core): extend power manager backup ram data with battery critical flag
...
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
8e7d5a2a01
chore(core): unify prodtests under power_manager
...
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
3795ba9fc4
fix(core): fix wakeup flags in nrf lib [no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
39c5c9b068
feat(core): remove powerctl, transfer all subordinate libraries into power manager
...
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
68d26f0c79
fix(core): fix styles
...
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
79f53f0c45
feat(core): add store_data_to_backup function
...
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
32e28246c7
feat(core): introduce power_control.c with hibernate function
...
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
ae92ae09d5
feat(core): integrate data recovery from backup ram
...
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
e1503eee53
fix(core): add power_manager into the prodtest
...
[no changelog]
2025-05-30 14:04:45 +02:00
kopecdav
ebbe158dea
feat(core): change event/state report structure
...
[no changelog]
2025-05-30 14:04:45 +02:00