Commit Graph

36 Commits

Author SHA1 Message Date
Adam Dobrowolski
b38adceced [EGD-6019] Minimum settings ownership lifetime fixups
added weakptr link to settings and checks
    it wont crash on deinitialized setings now
Pseuto UT are passing
Added:
    - deregistration on Settings destrution
    - weak referencing of Service to not crash Settings on missuse
    - Proxy as initialization parameter to Settings
Unused code removed
Enabled tests to be written for Settings
Removed dependency from freertos in test global file
EntryPath tests updated and compilation slimed
2021-05-18 13:25:54 +02:00
Przemysław Brudny
e71a044bd3 [EGD-6019] Revert of two commits
This reverts commit b6416b15da.
This reverts commit e2f3882d8a.
2021-05-14 09:54:36 +02:00
Adam Dobrowolski
b6416b15da [EGD-6019] Minimum settings ownership lifetime fixups
added weakptr link to settings and checks
    it wont crash on deinitialized setings now
Pseuto UT are passing
Added:
    - deregistration on Settings destrution
    - weak referencing of Service to not crash Settings on missuse
    - Proxy as initialization parameter to Settings
Unused code removed
Enabled tests to be written for Settings
2021-05-13 18:22:44 +02:00
Adam Dobrowolski
e2d2116419 [EGD-6617] Added option to disconnect handler in service
Till now we were only able to connect handlers to services, but
disconnect was not possible. With nullptr handler system would crash
2021-04-26 10:45:16 +02:00
Przemyslaw Brudny
3408fafa8f [EGD-6066] Removed Message default constructor
Forced each message to have declared type as parts of Bus logic
depends on it and previously we encountered undefined
behaviours. Added tests and messages validators.
2021-03-29 22:37:09 +02:00
Piotr Tański
efef7dcf7f [EGD-6111] Timers refactored
Deep refactor of system timers.
2021-03-19 14:09:35 +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
Marcin Smoczyński
d07a0c1e13 Merge branch 'stable' 2021-02-19 14:25:59 +01:00
Przemyslaw Brudny
230eb7c343 [EGD-5816] Device freeze after cancelling a call
Reverted changed proposed by PR [EGD-5598] GuiTimer
refreshWindow on Count and custom stop.

Signed-off-by: Przemyslaw Brudny <przemyslaw.brudny@mudita.com>
2021-02-19 12:57:30 +01:00
Borys Jelenski
d9ae779a37 [EGD-5503] Add watchdog implementation
The system watchdog monitors whether there is message traffic
on the Bus. If no message was sent for an extended period of time,
a reset will occur. It should also protect against system-wide hangs.

On Linux, watchdog is simulated by a FreeRTOS task that will call exit
on timeout.
2021-02-19 11:32:12 +01:00
Przemyslaw Brudny
50d0cf0be9 [EGD-5598] GuiTimer refresh window on count
Added Gui timer auto refresh window on count and additional
name based API to detach timer from window. Added
TimerIDGenerator and exception throw on creating user timer
with same name.
2021-02-17 17:33:32 +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
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
Piotr Tanski
22102c4ba5 [EGD-4200] Message handling refactored. (#974) 2020-11-06 15:24:59 +01:00
Radoslaw Wicik
2276ceed67 [EGD-3743] Update copyrights in fies 2020-10-20 12:55:10 +02:00
Hubert Chrzaniuk
9c7e4139db [EGD-3784] Add service audio non blocking API (#789) 2020-10-08 10:15:46 +02:00
Marcin Smoczyński
fa471405d1 [EGD-3461] sys: update service header comments (#774)
Remove TODOs, update Deinit/Close handlers doxygen comments.

Make CloseHandler final - it must not be overloaded.
2020-10-06 11:36:50 +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
a91365b421 fix building with gcc8 2020-04-17 14:16:48 +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
32f51fd796 EGD-3056 PR review applied 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
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
Radoslaw Wicik
a8573a404c Apply new style 2020-03-17 10:03:16 +01:00
Mateusz Grzywacz
e2cafcee70 [EGD-2368] changes requested in a PR 2020-01-02 14:53:34 +01:00
Mateusz Grzywacz
33ac431af4 [EGD-2368] Approach 2: timer object for use in Application. 2020-01-02 14:53:34 +01:00
Mateusz Grzywacz
c09df40905 [EGD-2368] Approach 1: list of timers 2020-01-02 14:53:34 +01:00
Mateusz
e8babd16d5 WiP: Removed unneeded WakeUp/GoSleep handlers
WiP: Added new handler - > SwitchPowerMode
2019-08-29 11:40:31 +02:00
Mateusz
d299f0916e Auto stash before merge of "EGD-2080_evtmgrdeinit" and "origin/EGD-2079_pwrmgr_services"
Fix: Service's params order
2019-08-28 10:51:48 +02:00
Robert Borzecki
59d6522dcd Merge branch 'master' of github.com:muditacom/PurePhone into EGD-2015_database_model 2019-08-26 12:32:25 +02:00
Mati
9c1f919e2e Services: Added parent/child feature
Fix: Raised ApplicationSettings stack to 4kB
Fix: eINK deep refresh fix
2019-08-26 09:31:50 +02:00
Mateusz
1a59b7b6cb #MATI SUPER FIX, fixed async msg handling in DataReceivedHandler 2019-08-12 12:18:59 +02:00
Robert Borzecki
b0bb0d8f6c Added locking and unlocking of the desktop screen. 2019-06-27 10:00:14 +02:00
Robert Borzecki
35d15b2bc7 Added key handling logic to applications. 2019-06-26 12:34:06 +02:00
Robert Borzecki
2f4518f5dd Added module-apps. 2019-06-01 15:06:21 +02:00
Robert Borzecki
d3235d54d7 Removed submodule 2019-05-21 23:35:00 +02:00