* 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
During the phone call, the alarm was not displayed and subsequent alarms
after this scenario did not work. This has now been fixed and the alarm
during a phone call will be automatically snooze.
We get Token on play, and require it in stop. While we cant
stop sound by title & data set to play. And adding standard
handling causes either totally synchronous calls or requires
multiple additional guards it seemed like best use.
Fixed expectation for the same named Response, but meant for bell
Needed so that
- we ring only when needed
- we handle CLIP and RING properly
Applied style
Missed file added
Moved SML logger as it's usefull to some more common parts of code
Removed unused code: ping and stale messages
Detached UnicastSync send and sync part so that we would be able
to await for message in the code.
Added sys::Async to be able to handle situations where we want to
sync to the response, but after some time.
Fixed messages logging: for some reason demangling abi use caused
bad system behaviour
Gets data from freertos and prints on frequency change depending
if it's important. Gathering is not costly, printing is though.
For less intrusive checks I would rather disable names gathering
as in worst case scenario it hangs rtos context switching till
thread id is found.
Added some services specific implementations of pre closure procedure.
If one request pre closre, all mesagges (except system ones) recieved
by service are ignored.
Improve structure of the module sys. Problems within this module
prevents from linking others.
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
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>
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.
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.
* EGD-3585 SerwiceGUI and ServiceEink initial cleanup
* moved code to one function per message handling
* removed dead code from comments
* added Service.cpp demangling to debug messages for clear output
* added Response value to return messages to `connect()`
* 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
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`.