Commit Graph

109 Commits

Author SHA1 Message Date
Lefucjusz
09efb75ed5 [MOS-1068] Cleanup BTStack intergration
Code cleanup in various places of
BTStack integration.
2024-05-29 17:33:30 +02:00
Lefucjusz
4ad0f29ab4 [BH-1898] Fix of GUI freeze after intensive volume change
Fix of the issue that GUI would freeze for
several seconds if volume level was being
changed intensively for a while.
2024-03-06 14:05:55 +01:00
Maciej Gibowicz
920db59b2e [BH-1791] Add CPU frequency lock during log dump
This will improve security and peripheral stabilization when downloading
logs to a file.
2023-10-27 12:53:20 +02:00
Lukasz Mastalerz
d9a1194e6f [BH-1688] Create a standard for logs
* 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
2023-10-23 15:17:44 +02:00
Lefucjusz
4e685bb7ec [MOS-999] Provide additional info in log filename
Added info about product, OS version, commit hash
and serial number to log filename to simplify
triage and quick sanity check of the logs in
cases many log files have to be analyzed.
2023-06-23 12:08:32 +02:00
Lefucjusz
8d96f2d354 [MOS-993] Logger bug fixes and optimizations
Fixes and optimizations in logger:

* fixed possible buffer overflow when logging
logs over line buffer size;
* reduced max log line length to 2048;
* moved pubsetbuf before file opening;
* log file stream buffer created once
in logger ctor;
* updatet UTs;
* additional minor cleanup.
2023-05-29 09:38:57 +02:00
Lukasz Mastalerz
a870922ec3 [CP-1837] Random crashes while copying files
General improvements to prevent running out of memory while copying
files via Mudita Center
2023-03-21 09:17:54 +01:00
Adam Wulkiewicz
d2bf42d411 [BH-1655] Fix memory leaks in clock faces and shortcuts
Disable libphonenumber initialization since it is not used in Harmony
but takes around 1.4MB of memory

Add heap allocation statistics
2023-03-17 12:44:30 +01:00
Dawid Wojtas
8c2b5aa7b0 [BH-1624] Fix shutdown procedure
In some cases, the system wasn't able to turn off
because the GUI service got stuck. The device
was still working in the background. The cause
was an empty queue in DrawCommandQueue which
hang the GUI worker.

The interface was modified and synchronization
mechanism was removed.
The thread no longer waits in dequeue().

Also changed the worker to close in the right
way the logger worker.
2023-03-06 21:47:11 +01:00
Adam Wulkiewicz
49bbaf51a0 [MOS-550] Improve refresh of the display
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.
2022-10-11 20:00:33 +02:00
Adam Wulkiewicz
f7771013f9 [MOS-550] Revert - Implement eink partial refresh
This reverts commit 41d6e786b6.
2022-09-27 13:14:54 +02:00
Adam Wulkiewicz
41d6e786b6 [MOS-550] Implement eink partial refresh
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.

Refactor some parts of the gui and display code.
2022-09-22 15:50:30 +02:00
Dawid Wojtas
e77b5d6702 [MOS-424] Improvement of logger module
Due to losing bytes the logger has a worker
which is responsible for dumping logs to
the file. The logger also has its own timer
to dump logs every 15 minutes. EventManager
is not responsible for interval dumping logs
now.
2022-09-15 11:58:09 +02:00
Adam Wulkiewicz
fe708cdf31 [MOS-670] Change clang-format AlwaysBreakTemplateDeclarations to Yes
Add --all and --fix-all options to style-check-hook
2022-08-26 15:22:39 +02:00
Bartosz Cichocki
228fca4b83 [MOS-463] Unify cellular namespace
Unified cellular namespace, fixed test buildiing,
removed some unused includes
2022-06-08 10:54:29 +02:00
Lefucjusz
a5f621bc83 [MOS-487] Added call events state machine
Added tests and calls substate
bluetooth sm diagram created
All old bluetooth tests reviewed and updated
removed new - with queue it's not required
removed TODO
Co-authored-by: Bartosz Cichocki <sp2fet@gmail.com>
2022-05-26 16:19:02 +02:00
Adam Dobrowolski
2664e8ccec [MOS-487] Move switch case to sm
massive switch case removed
added logger
moved state machine implementation
added double dispatch
2022-05-26 16:19:02 +02:00
Adam Dobrowolski
3343f02809 [MOS-266] Call StateMachine implementation
With some tests, documentation and so on
2022-05-02 15:54:33 +02:00
Bartosz Cichocki
d59ac56d51 [MOS-347] Separate A2DP from HFP in ProfileManager
Now, both profiles can operate separately. Additonally, minor
fixes has been applied to allow calling via car audio system.
Some infotainment systems still don't work though.
2022-04-25 10:26:38 +02:00
Adam Dobrowolski
1cb4da819d [MOS-307] Application and Service example and docs
Working example of application and service ready to copy from
with minimum documentation
Apply suggestions from code review
Co-authored-by:
* Paweł Olejniczak <58421550+pawel-mudita@users.noreply.github.com>
* Paweł Joński <79840715+paweljonskim@users.noreply.github.com>
* Bartosz Cichocki <sp2fet@gmail.com>
2022-03-28 08:17:39 +02:00
Paweł Joński
e833690c8f [MOS-288] Add community build
Add community build
Add targets for community fonts
2022-03-22 12:40:15 +01:00
Adam Dobrowolski
053f270655 [MOS-282] Librarisation of services and test service
* options work a bit better ,now services and apps are
  selectable by option in cmake
* test service example added
* major documentation for module-services
* documentation for project configs and logs

Co-authored-by: Bartosz Cichocki <sp2fet@gmail.com>
Co-authored-by: Mateusz Piesta <mateusz.piesta@mudita.com>
2022-03-18 08:06:21 +01:00
Maciej Janicki
2b2bb13a49 [MOS-296] Merge remote-tracking branch 'origin/stable'
Merge stable Harmony branch into merge wip branch
2022-03-09 19:27:50 +01:00
Adam Dobrowolski
30487c6008 [MOS-110] Statistics api for system
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.
2022-02-17 16:46:56 +01:00
Mateusz Piesta
c1391090c6 [BH-1389] Catch2 unit tests optimization
Removed redundant recompilation of catch2 main
resulted in over 20% speed up of unit tests compilation.
2022-01-26 15:04:23 +01:00
Alek Rudnik
9cf11913a1 [EGD-8129] Add atexit functionality
Added atexit functionality. All global destructors and functions
registered with atexit() should be called at program exit.
It was possbile to reuse original newlib implementation with
MALLOC_PROVIDED flag set.

Made sure logger destructructor is called as last one.

Due to mudita OS legacy, it was not possible to simply fix dependencies
in global objectes and hence there are neither global objects
destructors nor functions registered with atexit() called when exit()
is called.
Possibly it will be changed later.
2022-01-05 13:59:51 +01:00
Adam Dobrowolski
0ec9428917 [EGD-7773] Popups stack poc
Stack plus minimum tests added
Updated to master
Removed useless or adressed TODOS
Constants name applied
Renamed searchModel to searchRequestModel
Review applied
We should remove legacy window names
Bell names fixes
2022-01-04 13:01:23 +01:00
Adam Dobrowolski
76c924fd5e [EGD-8002] Added SSP, fixed some minor issues, removed obsolete code
ssp seems working
minor crash fixups
copy lacks patched
obsolete code removed
Devicei tests added for added code and cleanup
Added missing tests for new functions
Code cleaned up a bit - mostly moved to cpp
2021-12-09 12:42:33 +01:00
Przemyslaw Brudny
376bbf3df7 [EGD-7922] Added InputEvents Debug option
Added Debug flag for InputEvents in EvtManager and Application.
2021-12-06 15:39:10 +01:00
Kuba
c720ce543a [EGD-8001] Fix enable cellular logs
It will be possible to debug cellular now.
2021-11-24 12:18:49 +01:00
Alek Rudnik
65d67e2690 [EGD-7948] Extend log dumping
Log are now dumped:
* on system shutdown including hard faults and aborts
* every 5 minutes

Fixed some logs
2021-11-16 17:56:28 +01:00
Marek Niepieklo
b5749912a9 [CP-825] Interrupted transfer to FS endpoint may corrupt the filesystem
Using std::fstream for file I/O at every file access in FileContext.
Reworked file opening/closing to happen on each file chunk
read/write, so that a file isn’t left open in case of an error
or transfer cancelation.
Separeted RxID and TxID for reliable cancelation of stalled xfers.
2021-11-16 10:50:54 +01:00
Maciej Janicki
bd79db0504 [BH-1073] Add missing asset debug flag
Because Harmony uses Pure components,
a lot of debug infromation is generated
with missing assets. Therefore, we need mechanism
to stop those messages for release before refactor
of shared window components is done.
2021-10-27 11:49:59 +02:00
Piotr Tański
1d2f5cf7a4 [EGD-7754] Dates bumped in disclaimers
Dates bumped from 2020 to 2021.
2021-10-11 19:08:26 +02:00
Alek Rudnik
1490158034 [EGD-7725] Tune up file system io access
Increasd io stream buffers:
- 64kB for big files with short lifetime scope
- 16kB for big files with long lifetime scope
- 1kB - dont changes default forr the rest
2021-10-08 10:28:38 +02:00
Jakub Pyszczak
d492c3646e [EGD-7548] Crash dump rotate
Added dumps rotation. Maximum count of the files set to 5.
The oldest dumps are removed if there're more than 5 of them.
Comparison is taken by the date.
Unified log and crash dumps rotators.
2021-10-04 16:32:34 +02:00
Marek Niepieklo
22a02078cd [CP-162] Implement Logs directory
Added listing of log/crash dump files
Reorg'ed log/crash dump files locations
Added harness api/device_info
Updated test and tool scripts
2021-09-29 10:37:58 +02:00
Marcin Smoczyński
1f9109b924 [BH-819] Fix illegal dependencies in bsp
Break circular dependencies in the BSP module. Fix some missing
dependencies which surfaced after fixing BSP.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-09-27 17:27:21 +02:00
Bartosz Cichocki
7274f691d7 [EGD-7405] Connect HFP with audio system
Connected HFP with audio system so 2-way audio transmission is
possible
2021-09-24 13:25:07 +02:00
Marcin Smoczyński
bd90e57516 [BH-907] Split utils module into components
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>
2021-09-23 15:14:40 +02:00
Adam Dobrowolski
3e57a07b43 [EGD-7495] Fixed log use on Linux to be the same as on Rt1051
- Log headers were incomplete
- Log filtering was broken on linux
2021-09-06 09:12:21 +02:00
Piotr Tański
90e7a48198 [EGD-7362] Merge release/0.76.1 into master
Merge release/0.76.1 into master.
2021-09-02 11:12:59 +02:00
Mateusz Grzegorzek
6e0c4844f8 [BH-739] Split EventManager
Renaming:
- rename EventManager to EventManagerCommon,
- rename PureEventManager and BellEventManager
to EventManager
2021-08-16 14:15:55 +02:00
Marek Niepieklo
f3480da43e [EGD-7269] Phone stuck on log dump operation
Problem occured when logging while log was flushed to file
2021-08-05 17:54:53 +02:00
Przemyslaw Brudny
10f27328e8 [EGD-7215] Connected Sim contact import with backends
Connected Sim contact import with cellular contact read
and DB contacts write.
2021-07-29 23:31:04 +02:00
Marek Niepieklo
e7776f6c17 [CP-228] Force flushing of logs before getting log files
Moved flushing function to Logger class
Decreased flushing time to 2 min
Added EM event to request flushing from ServiceDesktop
2021-07-29 11:28:43 +02:00
Marek Niepieklo
6c32205e1b [CP-371] Updater miscelanous developer mode and logs changes
This reverts commit cb93d58d85.
2021-07-27 17:03:28 +02:00
Adam Dobrowolski
cb93d58d85 [CP-371] Updater miscelanous developer mode and logs changes
Changed:
- Runtime disabled logs which didn't add value from ServiceDesktop
- Runtime disabled logs which didn't add value from SystemManager
- Added possibility to change runtime logging levels
- Integrated ServiceDesktop developer code a bit - it might be used
  as virtual base with little to no modifications for other endpoints
  which would result with less redundant code
2021-07-27 13:56:37 +02:00
Mateusz Piesta
71becac0d0 [EGD-6609] Separated out sms logic
Switching to async sending model required separation of out sms logic.
Specific class was added and most of the logic was moved from cellular
service to this class.
2021-07-20 07:46:01 +02:00
Alek Rudnik
49b7ab8509 [EGD-7005] Removed sensitive data cellular
Removed sensitive data from service and module cellular.
Logger factory introduced to easily manage sensitive logs.
2021-07-12 12:25:04 +02:00