Commit Graph
33 Commits
Author SHA1 Message Date
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