* 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
Changed startup services order.
Prevent handling multiple "close ready" messages from one service while closing
system.
Introduced a new state in ServiceGUI.
Fixed a problem with turning on Harmony with a connected USB cable.
Works:
- generating .img for Pure;
- Pure boots after flashing new image and
seems to be working fine;
Not yet:
- generating update package;
- generating image for Harmony;
- simulator;
- path-related unit tests fail
due to paths being hardcoded
in test scenarios.
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.
* 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.
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>
Add new window to allow convenient display and globally
change used color intensities for design and testing purposes.
Changes were introduced to Renderer as well as GUI service
to allow global change of used color scheme.
When using list, screen is deep refreshed each
time the color is changed.
Known issues:
Item focus borders (top,bottom) with changed black intensity
may not render properly, however it doesn't obscure the
target functionality.
Due to vfs deprecation there is need to remove all vfs calls from code. This PR covers module gui. There are some modifications in other modules included which are necessary because of build system issues.
* 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
Implement termination of worker threads. To achieve the goal so called
control queue has been introduced which is handled in Worker base class.
Once worker thread receives stop message it tries to kill itself. It is
possible to join a worker thread before deinit know thanks to a
semaphore given before thread termination.
Some improvements to the interface and implementation has been made
including state sanity checks. It is assumed that only service that owns
the worker is allowed to stop it, which allows not to consider code
reentrancy.
Worker destroying procedure has been updated in services that already
own workers.
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
* VFS: support .boot.ini and "current" and "previous" os types
* fixes for first batch of comments
- moved crc32 functions to a seperate file
- changed naming of constant with _
- removed one magic number
- crc methods now cross platform
* using smart pointer for buffer management
* created a simple USER_FILE macro for database names
* removed commented-out code
* style fixes
* Updated crc32 version
* Update module-vfs/vfs-utils.cpp
Co-Authored-By: Alek Rudnik <54846206+alekrudnik@users.noreply.github.com>
* Update module-vfs/vfs-utils.cpp
Co-Authored-By: Alek Rudnik <54846206+alekrudnik@users.noreply.github.com>
* renamed USER_FILE to USER_PATH macro, this was also
bromen and was returning incorrect paths, std::filesystem::path
behavior is causing these issues.
* VFS: remove method changed
* fixed path for assets copy
* UNITTEST: vfs test fixed
* VFS: changed computeCRC32 return type to void
* Max supported partition to 2 (was 1)
* EOL in vfs.cpp
* nullptr check in computeCRC32
include for log.hpp fixed
* flash_eMMC merged properly
* CRC32 commit update
* testBuild
* fix newline at start of smsdb.cpp
removed test from cmake
* no user/ folder on the root of emmc causes sqlite3 to fault
this adds a create empty user call for rt1051
* flash script fixes
- do not use build-*/sys
- common.sh contains a static list of iles that land on the flash
Co-authored-by: Alek Rudnik <54846206+alekrudnik@users.noreply.github.com>
* fix for not switching to active call
* Added missing icons during unaswered outgoing call + some error logging
* Added additional logging to AT commands
defult timeout set to 300 ms.
Set different timeouts per each AT command.
Minor code refactoring.
* Added some logging, fixed some timeouts and number of returned tockens.
* commented out not needed log
* Added LOG_CUSTOM logging support. Remove unnecessary LOG_ERRORS.
* set ATA cmd timeout to 90 sec
* PR fixes