Commit Graph

161 Commits

Author SHA1 Message Date
Lefucjusz
32c6769cb6 [BH-1657][BH-1833][BH-1854] Add WFI and SDRAM self-refresh mode
* Added mechanism enabling CPU to
enter WFI mode when the OS is
in idle, what results in large
power consumption reduction.
* Added mechanism to switch SDRAM to
self-refresh mode before entering
WFI, what resulted in further power
consumption reduction.
2024-01-22 12:32:35 +01:00
Dawid Wojtas
6cc2bc9df4 [BH-1830] Fix eink crash while refreshing
If the previous refresh failed the driver tried to add a new frame
in the front of the vector. In some cases, the updateFrames could
be empty, and adding a frame caused a system crash.
2023-11-23 08:30:05 +01:00
Lukasz Mastalerz
d9a1194e6f [BH-1688] Create a standard for logs
* Adding document describing how to use logger
* Adjusting logs to follow a new guide
* Change order in log header:
  line number is now before function name
2023-10-23 15:17:44 +02:00
Lukasz Mastalerz
a61fb7a0e2 [MOS-1014] Screen remains black after turning off the phone with dark mode enabled
Regression fixed by adjusting wipeout function.
2023-08-09 13:42:49 +02:00
Lukasz Mastalerz
f7ad63c951 [BH-1412] Fix services dependencies
Changes in dependecy managment
Replacing state flags with states in ServiceGUI
Unifying some parts of code
2023-08-01 17:22:48 +02:00
Lukasz Mastalerz
882a6d0896 [BH-1714] Handling eink initialization errors
Added error detection while eink initialization.
Added mechanism to reinitialize the eink in case of error.
2023-07-25 12:55:06 +02:00
Lukasz Mastalerz
21171bb474 [BH-1714] Eink refactor and error handling
Cleanup and refactor for eink code.
Changed turning on/off procedure.
Add error handling.
2023-07-14 10:23:42 +02:00
Lefucjusz
f79313e397 [BH-1661] E-ink display power management tweaks
Tweaks and changes required to optimize
power consumption for Harmony.
2023-04-14 13:13:52 +02:00
Dawid Wojtas
2cbadc6a00 [BH-1630] Turn off the device for low voltage
The system closes only if the SoC is 0%, but
it doesn't react if the voltage has low level.
The new implementation invokes the close
procedure if the voltage is less than 3.4V.
This solution should avoid possiblity to
hang the MCU.
2023-03-16 11:14:38 +01:00
Lefucjusz
c057799904 [MOS-887] Fix black screen left after power off
Fix of the issue that after powering off
the phone with dark mode enabled the
screen remained black instead of being
cleared to white.
2023-01-25 18:59:49 +01:00
Mateusz Piesta
44ef5ddd5f [MOS-807] Unpacking update package
* Added unpacking and validating of
update package
* Removed 'utils-bootconfig'
* Added 'tar' module
* Minor compilation issues fixed
2023-01-19 16:41:56 +01:00
Adam Wulkiewicz
61145cf622 [MOS-550] Disable deep partial refresh
Always refresh the whole screen if deep refresh is required.
2022-12-02 15:18:26 +01:00
Adam Wulkiewicz
866f556935 [BH-000] Disable refresh cancel log
Put it behind #ifdef like the rest of eink refresh logs.
2022-10-21 11:19:06 +02:00
Adam Wulkiewicz
49bbaf51a0 [MOS-550] Improve refresh of the display
1. Implement partial refresh.
2. Implement refresh canceling mechanism.
3. Refactor some parts of the gui and display code.

ad 1.
- Detect parts of the screen changed since last update and merge them
  into bigger regions. These regions defines parts of the context sent
  to the display.
- Refresh the region covering all of the parts since this is the most
  time consuming part and the size of the refreshed region doesn't
  change the time much.
- Refresh the whole screen if deep refresh is requested and previously
  fast refresh was used. This is needed to prevent unwanted artifacts
  in some cases.

ad 2.
- Separate display update and refresh logic.
- Divide image display message handling into two handlers, one updating
  and other one refreshing the screen.
- Add cancel refresh message and use it to cancel refresh during update.
- Store sum of refresh regions gathered during updates to refresh them
  all at once at the end.
2022-10-11 20:00:33 +02:00
Adam Wulkiewicz
f7771013f9 [MOS-550] Revert - Implement eink partial refresh
This reverts commit 41d6e786b6.
2022-09-27 13:14:54 +02:00
Adam Wulkiewicz
41d6e786b6 [MOS-550] Implement eink partial refresh
Detect parts of the screen changed since last update and merge them into
bigger regions. These regions defines parts of the context sent to the
display.
Refresh the region covering all of the parts since this is the most time
consuming part and the size of the refreshed region doesn't change the
time much.
Refresh the whole screen if deep refresh is requested and previously
fast refresh was used. This is needed to prevent unwanted artifacts in
some cases.

Refactor some parts of the gui and display code.
2022-09-22 15:50:30 +02:00
Dawid Wojtas
b7330da36c [MOS-662][MOS-301] Fix E-ink shutdown while restoring data
While restoring system data the timer can turn off power of E-ink
to save the power. To avoid this situation we need to power on
the E-ink before wiping out the display. The restore procedure
also performs reversing services list to close. In this case
we do it twice so the order is wrong.
2022-08-30 11:00:04 +02:00
Adam Wulkiewicz
fe708cdf31 [MOS-670] Change clang-format AlwaysBreakTemplateDeclarations to Yes
Add --all and --fix-all options to style-check-hook
2022-08-26 15:22:39 +02:00
Maciej Gibowicz
ed079151ac [MOS-638] Fix poor phone responsiveness
Sometimes it took a long time to redraw
the screen with the USB cable unplugged.
2022-08-04 11:28:26 +02:00
Paweł Joński
870250433a [MOS-298] HALize ServiceEink
Add HAL to ServiceEink
Remove dead code from Linux eink substitute
Fix LUTS.bin refresh problems on simulator
2022-06-29 13:37:20 +02:00
Mateusz Piesta
97e9d7b79f [BH-1449] Fix gui/eink dependencies
* Dependencies between service-gui and service-eink
have been correctly defined.
* System close routine was replaced with the sequential one
which should solve many bell issues.
* It also fixes BH-1406 and BH-1442.
* Fixed some weird CMake issues in module-audio and
several other modules.
* Fixed service-gui closing routine
* Removed unneeded messages/states from service-gui/eink.
* Enhanced app-mgr closing routine. Fixed closing action handling.
2022-04-26 13:47:12 +02:00
Paweł Joński
3ad2e0f7da [BH-1442] Eliminate race on shutdown screen
There is another race still possible, but far less likely
2022-04-14 12:48:03 +02:00
Mateusz Piesta
2f42cd5e73 [BH-1424] FreeRTOS update
Updated FreeRTOS source code to 10.4.6.
Moved FreeRTOS sources to the third-party directory.
Added necessary changes to the CMake configuration.
Split FreeRTOSConfig.h. From now, each board has its own.
Added missing log headers.
Minor refactor of the module-os cmake.
Fixed stack overflows in bell application main and time service.
2022-04-07 13:31:28 +02:00
Maciej Gibowicz
dbde19f8d8 [MOS-117] Faster eInk sleep after screen redraw
eInk is turned on for 2 sec to redraw the screen
- so far it was 3.8 sec
2022-03-25 09:31:00 +01:00
GravisZro
e59cd4036b [MOS-245] Fix errant spaces
It appears in the past a major edit was made but had used a regex to
change some text which resulted in an errant space between the
enumuneration/struct/class name and the scope resolution operator.
These errant spaces have been removed.
2022-02-24 08:47:20 +01:00
Alek Rudnik
3e7b94dc05 [EGD-8137] Fix system pre closure procedure
Added some services specific implementations of pre closure procedure.
If one request pre closre, all mesagges (except system ones) recieved
by service are ignored.
2022-01-18 16:28:33 +01:00
Piotr Tański
bc7dc5b634 [EGD-7779] Dark mode implemented
Experimental dark mode feature implemented.
2021-10-26 15:31:32 +02:00
Maciej Janicki
8a3b2e2a89 [BH-943] Fix screen clean after exit
Remove cleaning screan after shutdown.
2021-10-15 11:34:20 +02:00
Piotr Tański
1d2f5cf7a4 [EGD-7754] Dates bumped in disclaimers
Dates bumped from 2020 to 2021.
2021-10-11 19:08:26 +02:00
Marcin Smoczyński
57874cab33 [BH-912] Improve sys module structure
Improve structure of the module sys. Problems within this module
prevents from linking others.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-09-24 10:01:19 +02:00
Marcin Smoczyński
bd90e57516 [BH-907] Split utils module into components
Split module-utils into smaller components for better dependency
management. Fix many dependencies throughout the project.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-09-23 15:14:40 +02:00
Marcin Smoczyński
e6db00cb0c [EGD-7486] Increase stack sizes
Increase stack sizes of the eink service and the system watchdog. During
stability tests stack-overflows were observed for both threads.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
(cherry picked from commit f9a23a7b58)
2021-09-15 19:18:58 +02:00
Lucjan Bryndza
efa0a16543 [BH-848] Split board h for bell and pure
Split board.h for the bell and Pure

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
2021-09-06 11:19:47 +02:00
Wojtek Rzepecki
a4a5a09c30 [BH-826] Add key input abstraction layer
Added abstraction layer for key input HAL
to provide elastic structure
2021-09-02 16:28:41 +02:00
Piotr Tański
90e7a48198 [EGD-7362] Merge release/0.76.1 into master
Merge release/0.76.1 into master.
2021-09-02 11:12:59 +02:00
Marcin Smoczyński
81d88eedc7 [BH-727] Create eink configuration for products
Customize screen resolution depending on which product is selected.
Screen resolutions for hardware boards are fixed by design.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-08-24 10:40:38 +02:00
Marcin Smoczyński
b355d5ce00 [BH-733] Cleanup target dependencies
Remove obsolete target dependencies across modules.
Remove 'cross' and 'unittests' targets.
Refactor some remaining target dependencies to use board include macro.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-08-13 01:43:56 +02:00
Lukasz Skrzypczak
7fee0d9cfb [BH-378] Utils move log to library
Moved log to separate library
2021-06-08 12:24:29 +02:00
Radoslaw Wicik
aa1ca514cb [BH-353] Add minimal build target for BH
Introducing changes required for adding BellHybird target without
removing PurePhone.
Adden new targets:
* Pure (builds PurePhone and PurePhone.img)
* Bell (builds BellHybird and BellHybird.img)
* [PurePhone|BellHybrid]-[UpdatePackage|StandaloneImage)
2021-06-07 17:05:29 +02:00
Paweł Joński
5ad878c6c4 [BH-371] Replace gsl with mainline submodule and move to third-party
Replacing loose gsl files with gsl mainline project as submodule
and moving it to third-party
2021-06-07 09:30:04 +02:00
Pawel.Paprocki
db8c1d35e5 [EGD-6739] Fix Enable change of display resolution on simulator
Define screen dimesions in one place
2021-05-14 08:50:11 +02:00
Radoslaw Wicik
80dc483c5d [BH-422] Fix CMake in service GUI - post review update 01
Update after review.
2021-05-13 13:51:08 +02:00
Radoslaw Wicik
8b24846b92 [BH-422] Fix CMake in service GUI
Refactor CMakeLists.txt for cleaner and simpler code.
2021-05-13 13:51:08 +02:00
Marek Niepieklo
226e9e4c0b [EGD-6515] Answer/reject calls using headset
Clean up propagation of headset keys events
Clean up volume control with headset keys
Update key mappings for simulator
Use headset OK key to answer/reject calls
2021-04-15 14:19:50 +02:00
Piotr Tański
efef7dcf7f [EGD-6111] Timers refactored
Deep refactor of system timers.
2021-03-19 14:09:35 +01:00
Maciej Gibowicz
677e18cada [EGD-5658] Add eInk CPU frequency hold
While the screen is being redrawn,
we block CPU frequency decreasing
2021-03-15 08:54:40 +01:00
Piotr Tański
4de9970108 [EGD-5952] Changed service stack depths acc. to real usage
Stack depth changed for:
- Application Manager
- Service Bluetooth
- Bluetooth Worker
- Service Eink
- Service GUI
- Application Special Input
2021-03-11 11:15:29 +01:00
Wojtek Rzepecki
ef63ee267c [EGD-5304] Add new way of system close
Unified method of closing
the system orchestrated by
system manager
2021-03-04 15:55:55 +01:00
Wojtek Rzepecki
4d20ed0971 [EGD-5967] Add blank screen when off
Present blank screen to
inform the user that phone
is off
2021-03-02 15:29:15 +01:00
Radoslaw Wicik
9d8eff64fc [EGD-5860] Fix build packages
Merging and cleaning cmakes requred cleaning.
2021-02-26 14:20:11 +01:00