Commit Graph

71 Commits

Author SHA1 Message Date
Marcin Smoczyński
7c65f04452 [EGD-5893] Disable optimization for os
Disable FreeRTOS optimization for RelWithDebInfo configuration in order
to be able to analyze system memory (heap and tasks' stacks).

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-02-25 15:35:36 +01:00
Wiktor S. Ovalle Correa
3b141041e9 [EGD-5737] Merge master into experimental
Keep experimental up to date with changes from master
2021-02-17 17:09:37 +01:00
Hubert Chrzaniuk
bb92b333da [EGD-5355] Fix emulator crash
lIndexOfLastAddedTask is shared between two separate functions
that should run consecutively but in some cases the thread
running can be yield in between which results in broken thread
stack.

This change reduces the risk but it does not entirely solve
the problem. It is still possible for the threads to return in
different order. Nevertheless the tests did not confirm that.
2021-02-17 17:06:59 +01:00
Lucjan Bryndza
dcc72e0bec [EGD-5332] Fix heap size and other merge fixes
After merge with master we are unable to run any application
It was caused by the insufficent heap size
2021-02-17 17:06:49 +01:00
Artur Śleszyński
8bbb57776a [EGD-4115] Implement FreeRTOS configASSERT macro
The configASSERT() macro was modified to use assert instead of
an infinite loop.
2021-02-08 10:40:46 +01:00
Alek Rudnik
f08ad0a038 [EGD-5620] Increase configTOTAL_HEAP_SIZE for linux
configTOTAL_HEAP_SIZE was set too small for linux build
2021-02-05 12:12:23 +01:00
Piotr Tański
3f29c30bed [EGD-4968] Change GUI service to optimize flow and memory management
Gui and Eink services refactor.
Displaying frames performance optimization.
Critical resources management.
2021-01-08 16:36:12 +01:00
Marcin Smoczyński
871b250d86 [EGD-4534] Change audio data path synchronization
Refactor audio data path to fix several synchronization issues and
excessive copy operations on large memory blocks. Introduce
audio::Stream data structure to allow connecting audio source and sink
with a zero-copy capability.

Introduce system mechanisms:
 - critical section guard lock needed for stream synchronization
 - non-cacheable memory allocator to allocate memory for DMA safe
   buffers

Update the Googletest CMake template to match the capabilities of the
Catch2 template.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
Signed-off-by: Hubert Chrzaniuk <hubert.chrzaniuk@mudita.com>
2020-12-17 12:20:40 +01:00
Piotr Tanski
5c57dff00e [EGD-4713] Add task control block into a heap allocated memory block for debug purposes. (#1143) 2020-12-14 11:44:56 +01:00
Maciej Gibowicz
9c9e921ab4 [EGD-4693] PowerManagement: CPU load measurement (#1156)
Add FreeRTOS idle tasks Run Time Statistics

This will allow to measure the CPU load
2020-12-10 17:27:54 +01:00
Maciej Gibowicz
fb22548963 [EGD-4723] PowerManagement: Enable FreeRTOS Run Time Statistics (#1147)
Add FreeRTOS Run Time Statistics for measuring CPU load
2020-12-08 10:58:36 +01:00
Lucjan Bryndza
e5199a3764 [EGD-4261] stdlib file access syscalls for RT1051 platform (#952)
* [EGD-4261] Initial version of syscalls

* [EGD-4261]  CR small fixes

* [EGD-4261] Rename namespace and fsync call

Rename namespace vfs::internal for clarify that syscall functions are for internal use only

* [EGD-4261] Handle manager for stdlib

Handle manager layer for STDIO compatibility.

* [EGD-4261] Initial version of sysscall (old vfs)

* [EGD-4261] Direntry syscalls completed

* [EGD-4261] Fixes in handle manager

* [EGD-4261] Add support for std::filesystem.

libstdc++ from compiler is compiled without <dirent.h>
, so std::directory_iterator doesn't work.
Our implementation fix this issue and override
libstdc++ library code

* [EGD-4261] Compile syscalls only on RT1051 target

* [EGD-4261] RT compile fix

* [EGD-4261] Code review small fixes

* [EGD-4261] Code review fixes

* [EGD-4261] Remove redundant noisy debug log msg.

Co-authored-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
2020-11-06 09:45:15 +01: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
Tomas Rogala
78904a6b5d [EGD-3307] Review changes 2020-08-13 21:07:42 +02:00
Tomas Rogala
97fdb2cdcd [EGD-3307] Calendar DB interface update
Implement adding record to db
Implement Removing elements from DB functionality
Implement Update element in DB functionality
Implement Get elements by date time period
Add time zone field
2020-08-13 21:07:42 +02:00
Bartek Cichocki
39d24d1420 [EGD-3379] fixed build flags, suppressed warnings for protobuf, sbini and port.c in module-os 2020-07-08 14:09:42 +02:00
Marcin Smoczyński
b6ad543f2c build: remove configure warning for module-os
There are no tests in module-os, no reason for this warning.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2020-06-26 16:12:21 +02:00
Marcin Smoczyński
1a498ce90d os: fix heap's taken list corruption 2020-06-01 23:16:57 +02:00
Radoslaw Wicik
733a7c8d6b [EGD-3230] Increase Total HEAP_SIZE so Linux implementatio of CelularService fit memory 2020-05-26 11:46:49 +02:00
Marcin Smoczyński
50723f4f5e os: remove -Wno-error flag 2020-05-22 16:15:15 +02:00
Marcin Smoczyński
588084fb4e os: add system heap integrity check fields
Add fields to system heap which are needed to do an integrity check
and harvest some additional usage stats. Add only for Debug build type.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2020-05-14 13:27:13 +02:00
Marcin Smoczyński
86bdeb347d [EGD-3113] Add thread safety to libphonenumber
Add thread safety based on the RTOS wrapper and FreeRTOS mutex. The
mutex protects regexp cache only so additional safety on regexp level is
needed.

Add method to get currently running thread - needed by thread checker
class in libphonenumber.
2020-04-28 17:01:33 +02:00
Radoslaw Wicik
096a6e6f75 Resolve Linux port compile warning about redefinition of _GNU_SOURCE 2020-04-22 16:02:54 +02:00
Adam Dobrowolski
42ccb924cf EGD-3055 FreeRTOS asssert fixed, added force printf check on logging macros in log.h 2020-04-08 12:23:53 +02:00
pholat
91e05fcf65 fix gtk & FileAttributes 2020-03-25 15:28:52 +01:00
Przemyslaw Brudny
c0822b6658 [EDG-3019] Moved log.hpp and debug.hpp into main PurePhone repo 2020-03-24 15:55:32 +01:00
Przemyslaw Brudny
8f92715951 [EDG-3019] Segger utils moved to git submodule 2020-03-23 18:37:37 +01:00
Radoslaw Wicik
8dea0d7675 [EGD-2981] Add UT target: check
Clean CMake tests targets
2020-03-20 16:46:11 +01:00
Przemyslaw Brudny
67db9e5885 [EDG-2995] FreeRTOSV10 Core tracing patch moved to separate directory, cleanups. 2020-03-20 14:28:57 +01:00
Przemyslaw Brudny
8f3cc846d2 [EGD-2978] SystemView build parameter added and log_redirect cleanups 2020-03-20 14:28:57 +01:00
Przemyslaw Brudny
98cd819ffb [EGD-2978] PR cleanup changes 2020-03-20 14:28:57 +01:00
Przemyslaw Brudny
864265a2c7 [EGD-2978] System View updates 2020-03-20 14:28:57 +01:00
Przemyslaw Brudny
c8d87e1cfb [EGD-2978] FreeRTOSV10 Core tracing patch applied 2020-03-20 14:28:57 +01:00
Przemyslaw Brudny
5e96463979 [EGD-2978] SystemViev moved to utils 2020-03-20 14:28:57 +01:00
Przemyslaw Brudny
101bbb1c99 [EGD-2978] Basic SystemView import 2020-03-20 14:28:57 +01:00
Przemyslaw Brudny
735a5f2d6b [EGD-2995] Unix line ending applied to .h, .hpp, .c, .cpp, .s, .sh, .cmake files 2020-03-18 15:43:26 +01:00
Przemyslaw Brudny
c54e56f6ba service worker queue name map and global queue registry added 2020-02-24 12:28:02 +01:00
Radoslaw Wicik
0400e5c18b [EGD-2886] Unify and repair build system. 2020-02-19 14:55:14 +01:00
Mateusz Grzywacz
8d0b50735f [feature] add separate folders in CMake conf & change type of a variable. rebuild.sh updated & docs on separate build folders 2020-02-03 14:12:47 +01:00
Adam Dobrowolski
5407355177 [EGD-2508] Pre PR cleanup 2020-01-22 08:26:20 +01:00
Adam Dobrowolski
906b0951ec [EGD-2508] [WIP] test_harness: sending keypress works ok 2020-01-22 08:26:20 +01:00
Alek-Mudita
7ed1fa2f62 Egd 2449 fix for call aborting (#130)
* [fix] checked for proper time ID

* [fix] missing change

* adding proper debugging  possibility

* [fix] added more response validation

* [fix] validatio of the AT+CLCC response

* changed log level

* [fix] added explantation for the fix

* clean up AT command resposne validation methods

* [fix] for aborting call using long press

* added abort() in vApplicationStackOverflowHook

* code review fixes
2020-01-10 16:08:10 +01:00
Mateusz
6c7c622d42 WiP: Added actual poweroff procedure into system manager 2019-10-03 12:26:00 +02:00
Mateusz
a8761d8918 Fix: Cellular low-power
Fix: heap use-after-free during thread close
2019-09-20 12:26:47 +02:00
Robert Borzecki
175798a3bc Added circles to call window. 2019-09-04 08:44:02 +02:00
Robert Borzecki
418081304b Merge branch 'master' of github.com:muditacom/PurePhone into EGD-2015_database_model 2019-08-22 10:32:52 +02:00
Robert Borzecki
ba1264494c Added assets rebuiild option. 2019-08-22 10:00:57 +02:00
Robert Borzecki
64d7af9583 WIP: eink/mutex problem. 2019-08-22 08:37:33 +02:00
Mateusz
f3a4bb23f5 Updated clock-tree seems to work 2019-08-21 12:07:08 +02:00
Robert Borzecki
039689585d Fixing calling logic. 2019-08-05 18:05:50 +02:00