Commit Graph

59 Commits

Author SHA1 Message Date
Maciej-Mudita
11aa4c7ffb [EGD-5382] Add LowPower CpuSentinels
In order to synchronize the Low Power mode, the services were
immediately informed about the frequency change,
so that they can update their resources (e.g. PWM filling)
and services may request the maximum CPU frequency in order
to perform a task (e.g. screen redraw, telephone conversation)
2021-02-12 09:40:36 +01:00
lblach
a0b79647ed [EGD-4068] Add Update Package Installation Mode
It is necessary that the PureOS update mechanism enters Update Package
Installation Mode (where most of the services are stopped)
when the PureOS update package gets downloaded into the phone.
2021-02-11 12:35:06 +01:00
Piotr Tański
65119cb495 [EGD-5027] Services synchronization introduced
Dependencies between services are now supported.
2021-02-10 12:37:42 +01:00
Maciej-Mudita
ec56afc933 [EGD-5381] Add Low Power Drivers
Peripherals clock synchronization dependent on PLL2
2021-02-10 08:46:13 +01:00
Piotr Tański
bc4d32c7d8 [EGD-5158] Change access to the bus methods
The bus is now accessible only via Service object.
2021-02-08 16:56:42 +01:00
alek
82125e9357 [EGD-3247] Remove reminders of unused ping-pong feature
Feature was already removed some time ago but still some reminders
persist. This commit only removed mentioned reminders.
Some minor style fixes suggested by clang tidy were also applied.
2021-01-31 15:34:38 +01:00
Wojtek Rzepecki
abdca6d635 [EGD-5090] Add Brownout GUI window
Gui window will appear due to brownout
event. System shutdown will be also called.
2021-01-22 13:23:58 +01:00
Hubert Chrzaniuk
fc5ab3a70c [EGD-5325] Remove using namespace directives from headers
"Using namespace" directive should not be added in headers
because this practice pollutes source files.
2021-01-22 11:25:45 +01:00
Wojtek Rzepecki
b24f0bca20 [EGD-2501] Add gsm powerdown due to battery
Gsm model power state maintenance based on battery level.
2021-01-15 11:05:22 +01:00
Wojtek Rzepecki
7e157e83a2 [EGD-5050] Add brownout detection
Brownout detectection realized through charger driver
2021-01-07 10:55:25 +01:00
Maciej-Mudita
f9b9967b0e [EGD-4694] Add CPU frequency shift mechanism
The CPU frequency changes automatically which saves energy
2020-12-22 18:00:57 +01:00
Wojtek Rzepecki
df37008c66 [EGD-4952] Fixes for rt1051 2020-12-21 10:12:05 +01:00
Wojtek Rzepecki
243deec8d5 [EGD-4952] Added critical level check + messages 2020-12-21 10:12:05 +01:00
Piotr Tanski
4e0f72e70a [EGD-4696] Several stabilization patches. (#1192) 2020-12-15 15:30:13 +01:00
Maciej Gibowicz
9c9e921ab4 [EGD-4693] PowerManagement: CPU load measurement (#1156)
Add FreeRTOS idle tasks Run Time Statistics

This will allow to measure the CPU load
2020-12-10 17:27:54 +01:00
Mateusz Grzegorzek
9d35def14d [EGD-4477] Dump logs to a file for linux (#1081)
[EGD-4477] Implement dumping logs to a file for linux
2020-11-27 11:26:02 +01:00
Radoslaw Wicik
b117704345 [EGD-4219] Convert service-evtmgr and service-lwip to library 2020-11-18 10:09:02 +01:00
Piotr Tanski
22102c4ba5 [EGD-4200] Message handling refactored. (#974) 2020-11-06 15:24:59 +01:00
Marcin Smoczyński
486d21af0e [EGD-4288] refactor global data (#959)
Reduce firmware size by refactoring global data defined in public
headers.

Each global variable which require runtime initialization adds
initialization code to every translation unit which includes the header
where the variable is defined and declared.
2020-11-04 18:24:39 +01:00
Radoslaw Wicik
2276ceed67 [EGD-3743] Update copyrights in fies 2020-10-20 12:55:10 +02:00
Lucjan Bryndza
0014dae259 [EGD-3854] Removing goto's from the code (#797)
It is generic cleanup task for removing all goto files

Co-authored-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
2020-10-08 08:58:49 +02:00
Adam
f5f27d642f EGD-2955 EGD-3588 Timers fully refactored & updated (#721)
* Timers now are Application thread safe
* Timers now have consistent API independend of Application (no more c style timers)
* Timers can have either: callback or override onTimer() method - this
  way we can create more complicated timers or just use existing ones
* gui::Timer added via adapter class GuiTimer to decouple sys::Timer
  with gui::Timer
* Fixed race in wrapper
* Updated docs
* fixed using std and cpp_freertos and DataReceivedHandler hidden in Application.hpp
2020-10-02 14:04:57 +02:00
Marcin Smoczyński
af85469c26 [EGD-3864] main file cleanup (#761)
Remove dead code; cleanup and sort include list. Introduce config file.
2020-10-01 14:47:53 +02:00
Szymon Mroczek
24a8107168 [WIP] [EGD-3290] Add database backup feature with sqlite's VACUUM command. 2020-06-24 11:14:00 +02:00
Radoslaw Wicik
af47be76fd [EGD-3245] Add Fota Service 2020-06-10 14:38:25 +02:00
Adam Dobrowolski
2c982b3daa FIX - PowerManager not enough stack 2020-04-16 09:12:25 +02:00
Adam Dobrowolski
352074cea6 EGD-3056 Renamed subscribe to connect (following signal -> slot nomenclature) 2020-04-15 16:50:19 +02:00
Adam Dobrowolski
5b162efbd0 EGD-3056 ./config/pre-commit-check-only.hook --branch-fix applied 2020-04-15 16:50:19 +02:00
Adam Dobrowolski
ee8dbc4e7f EGD-3056 Handle reboot with watchdog, TODO's removed/updated 2020-04-15 16:50:19 +02:00
Adam Dobrowolski
b7db6a57ed EGD-3056 Added message to continue system shutdown on power plug ejection 2020-04-15 16:50:19 +02:00
Adam Dobrowolski
f529f836cf EGD-3056 Added name for SystemManager in similar way to EventManager 2020-04-15 16:50:19 +02:00
Adam Dobrowolski
2cee195e09 EGD-3056 subscribtion based execution (on typeid) added and works fine
Till now there was no clear way to register hanlder for message in
Service, with this approach one can register function/lambda handler
for Message which encurages handling messages in functions rather than
in hudge switch cases.
With aproach like this our Messages resembe something between Command
and State pattern. In state pattern `Message` would be `Event` send,
whereas Service would be `Context`.
2020-04-15 16:50:19 +02:00
Adam Dobrowolski
714b3c1e18 EGD-3056 Removed LogOutput to use LOG_... instead
LogOutput was not needed, confusing and didn't work on target
Therefore it was removed
2020-04-15 16:50:19 +02:00
Adam Dobrowolski
0d75d6ec5b EGD-3056 SystemManager - initial work on delaying reboot
* updated docs
* added PreShutdownLoop
* added c_str() for SystemManager inner state for debug
2020-04-15 16:50:19 +02:00
Marcin Smoczyński
f2eb9bb37a [EGD-2594] apps/call: add libphonenumber support
Augment handling phone numbers with libphonenumber:
 - add "as you type" formatting to phone numbers,
 - normalize phone number handling by using libphonenumber's phone
 number representation.

Clean up the code by moving application logic back to the application
and window data back to the window and reordering includes.

Application's stack size has been increased due to formatter stack
utilization level.
2020-04-08 18:23:45 +02:00
Radoslaw Wicik
a8573a404c Apply new style 2020-03-17 10:03:16 +01:00
Mateusz
0b470de378 Bugfix: gpio interrupts(power switch hold button) 2019-10-04 11:29:25 +02:00
Mateusz
6c7c622d42 WiP: Added actual poweroff procedure into system manager 2019-10-03 12:26:00 +02:00
Mateusz
a8068e4157 WiP: Removed merge conflicts, 2019-09-17 16:57:44 +02:00
Mateusz
b4f9bc6512 Merge remote-tracking branch 'origin/EGD-2078-power-manager-app-manager' into pwrmgr_impl 2019-09-17 08:48:26 +02:00
Mateusz
6c4c8b7628 WiP: Suspend/Resume tests 2019-09-17 08:45:41 +02:00
Mateusz
2785d46fde WiP: Pwrmgr implementation 2019-09-16 14:09:54 +02:00
Mateusz
b6781c47db temp cmmit 2019-09-12 10:47:02 +02:00
Mateusz
289236d863 WiP: Handling resume/suspend requests in incorrect state 2019-09-09 08:31:06 +02:00
Mateusz
a0db243599 Fix: Added missing return values 2019-09-09 07:57:54 +02:00
Mateusz
22ad981b01 WiP: Suspend/Resume procedure implementation + testing 2019-09-04 13:43:27 +02:00
Mateusz
883b8f2550 WiP: Extended sysmgr api
WiP: did some tests
2019-09-02 13:18:06 +02:00
Mateusz
8b4cf5e35a WiP: Added Suspend/Resume API 2019-08-30 10:37:51 +02:00
Mateusz
e8babd16d5 WiP: Removed unneeded WakeUp/GoSleep handlers
WiP: Added new handler - > SwitchPowerMode
2019-08-29 11:40:31 +02:00
Mateusz
79c645d8e0 Fix: CloseSystem procedure + parent/child hierarchy 2019-08-28 13:37:35 +02:00