Commit Graph

128 Commits

Author SHA1 Message Date
Reinhold Gschweicher
d67a74dd15 FreeRTOS: use more specific std::algorithm instead of std::foreach 2023-05-03 22:39:40 +02:00
Reinhold Gschweicher
c2488a2d28 FreeRTOS: use unordered_map as it has better runtime for access 2023-05-03 22:39:40 +02:00
Reinhold Gschweicher
310dc029a0 main: access minimumEverFreeHeap only when needed 2023-05-03 22:39:40 +02:00
Reinhold Gschweicher
7c2ea617f9 sim: mark header that need to be as C header 2023-05-03 22:39:40 +02:00
Jean-François Milants
8ae5ba7c0a Integrate the new heap implementation from InfiniTime (https://github.com/InfiniTimeOrg/InfiniTime/pull/1709).
Since FreeRTOS.h, portmacro_cmsis.h and task.h are now built in C (by lv_mem.c), I had to change some includes and declarations to make them compatible with a C compiler.

Integrating the new memory management from InfiniTime in InfiniSim is not easy because InfiniSim does not include the whole FreeRTOS. Which means that, for example, pvPortMalloc() and vPortFree() are not accessible from InfiniSim.
As a first step, I provided custom implementations for pvPortMalloc(), vPortFree() which are based on ... malloc(). These function keep track of the memory that is currently allocated so that xPortGetFreeHeapSize(), xPortGetMinimumEverFreeHeapSize() return something.

Not that this implementation do not keep track of all the memory allocations done in InfiniTime. It can only "see" those done via pvPortMalloc(). It means that the available memory displayed by InfiniSim will probably be very optimistic.
2023-05-03 22:39:40 +02:00
NeroBurner
e416f2cf74
Merge pull request #106 from InfiniTimeOrg/swipe_segfault_with_zoom
Handle MONITOR_ZOOM for screen transitions and captures
2023-05-03 22:39:05 +02:00
Reinhold Gschweicher
8753661845 Handle MONITOR_ZOOM for screen transitions and captures
Something must have changed, but now the MONITOR_ZOOM factor must be
considered when calling `SDL_RenderReadPixels`. Always calling with a
monitor width and height of 240 results in a segmentation fault in said
function.

Fixes: https://github.com/InfiniTimeOrg/InfiniSim/issues/95
2023-05-03 22:36:25 +02:00
NeroBurner
e9a42c8638
Merge pull request #105 from InfiniTimeOrg/arrow_keys_for_swiping
main: add swipe direction keys to make debugging easier
2023-05-03 22:36:11 +02:00
Reinhold Gschweicher
4f54e7bb7f main: add swipe direction keys to make debugging easier
For me with vscode triggering a breakpoint during a mouse swipe event
handler freezes all interaction with the IDE.

As a workaround (and a nice way to play `Twos.h` :D ) map the direction
keys to the corresponding swipe events.
2023-05-03 22:33:39 +02:00
NeroBurner
fb2202b199
Merge pull request #104 from InfiniTimeOrg/drivers_Hrs3300_no_sim
use drivers/Hrs3300.h from InfiniTime
2023-05-03 21:19:52 +02:00
Reinhold Gschweicher
2e746ea560 use drivers/Hrs3300.h from InfiniTime
The Hrs3300.h driver can now be used directly from InfiniTime. Some
other improvement made that possible. One less simulator file, one less
file to keep updated. Win-Win (for me at least).
2023-05-03 21:16:30 +02:00
NeroBurner
83331a07ed
Merge pull request #103 from InfiniTimeOrg/watchdog_no_sim
Use InfiniTime Watchdog.h by providing mdk/nrf.h and others
2023-05-03 21:14:39 +02:00
Reinhold Gschweicher
4b0c2dc3eb Use InfiniTime Watchdog.h by providing mdk/nrf.h and others 2023-05-03 20:59:58 +02:00
NeroBurner
beea678fce
Merge pull request #102 from InfiniTimeOrg/support_Watchdog_restructure
sim: support upstream Watchdog driver improvement
2023-05-01 22:03:59 +02:00
Reinhold Gschweicher
7613571f96 sim: support upstream Watchdog driver improvement
Fixes: https://github.com/InfiniTimeOrg/InfiniSim/issues/101
2023-05-01 21:44:29 +02:00
NeroBurner
22c02bace6
Merge pull request #79 from minacode/watch-face-enum
Support for PR: https://github.com/InfiniTimeOrg/InfiniTime/pull/1339
2023-05-01 21:15:43 +02:00
minacode
4f4f446517 Support refactor watch face to enum
Support for PR: https://github.com/InfiniTimeOrg/InfiniTime/pull/1339
2023-05-01 21:07:55 +02:00
NeroBurner
512f25157b
Merge pull request #100 from InfiniTimeOrg/TimerController_to_Timer
Support TimerController rename to Timer
2023-05-01 21:04:45 +02:00
Reinhold Gschweicher
6541af6170 Support TimerController rename to Timer
Improvement done in https://github.com/InfiniTimeOrg/InfiniTime/pull/1650
2023-05-01 20:58:27 +02:00
Reinhold Gschweicher
0c63acd8c0 Update InfiniTime to 1.12.0 release 2023-05-01 19:46:49 +02:00
NeroBurner
65f3d3fdb9
Merge pull request #93 from FintasticMan/fix_cleaned_up_motioncontroller
motioncontroller: Fix changes in InfiniTime#1659
2023-03-12 22:14:28 +01:00
Finlay Davidson
2f37837c77 motioncontroller: Fix changes in InfiniTime#1659 2023-03-10 10:18:16 +01:00
Reinhold Gschweicher
32fada34f4 Support rename of TimerController to FreeRTOS::Timer 2023-03-02 22:33:05 +01:00
Riku Isokoski
6c0488da74 timers: Fix restarting timer from a timer
Running xTimerChangePeriod and xTimerStart on the expired timer from a
callback function returns successfully, but doesn't actually set the
timer.
2023-02-27 19:03:18 +01:00
NeroBurner
191bb9a59b
Merge pull request #90 from Riksu9000/fix-lvgl
Remove LVGL instance in main
2023-02-27 19:02:19 +01:00
Riku Isokoski
1278132840 Remove LVGL instance in main
This has been moved to DisplayApp in InfiniTime, so there were two
instances in InfiniSim.
2023-02-27 08:45:53 +02:00
Reinhold Gschweicher
02f980f278 sim: LittleVgl: update s.t. LVGL-FS driver is initialized by LittleVgl
InfiniTime moved the LVGL-FS driver initialization to the LittleVgl
constructor and passed the FS member to do that.

Update the simulator copy of LittleVgl to do just that.

Fixes: https://github.com/InfiniTimeOrg/InfiniSim/issues/89
2023-02-26 23:42:03 +01:00
Reinhold Gschweicher
44452ccdf6 sim: LittleVgl: remove touchPanel from constructor as done upstream
InfiniTime removed the `Pinetime::Drivers::Cst816S& touchPanel`
reference from the LittleVGL constructor. Update that in the simulator
to stay compatible
2023-02-26 23:11:00 +01:00
Reinhold Gschweicher
3a0ee34be5 main: updated to changed DisplayApp and SystemTask constructors
The constructors got cleaned up and the WatchdogView got replaced by a
const reference to the Watchdog object.

Update develop branch to the `infineat: Create colors at compile time`
commit, where those changes are needed
2023-02-26 23:00:52 +01:00
Reinhold Gschweicher
36c69bbc2e main: use ctime put_time to replace date/date.h include
Implementation referenced from:
https://stackoverflow.com/questions/17223096/outputting-date-and-time-in-c-using-stdchrono

Fixes: https://github.com/InfiniTimeOrg/InfiniSim/issues/88
2023-02-26 22:44:15 +01:00
Reinhold Gschweicher
f457925952 sim: WeatherService: add missing algorithm include 2023-02-26 21:46:42 +01:00
NeroBurner
35aca7323d
Merge pull request #87 from Riksu9000/remove-unused-files
Remove unused files
2023-02-25 19:18:04 +01:00
Riku Isokoski
322092e2ef Remove unused app_timer library
This is no longer used in InfiniTime, and I can't see any reason it
would ever be used again.
2023-02-25 19:49:58 +02:00
Riku Isokoski
3be951690c Remove unused Missing screen
This class causes builds to fail every time screens are changed in
InfiniTime.
2023-02-25 19:49:58 +02:00
NeroBurner
6ccca0caf1
Merge pull request #86 from Riksu9000/infinitime-changes
Fix build after InfiniTime changes
2023-02-25 18:02:52 +01:00
Riku Isokoski
df768e2030 Remove motorController from SystemTask
InfiniTime change
2023-02-25 12:35:16 +02:00
Riku Isokoski
8ca2f42037 Update InfiniTime submodule 2023-02-25 12:35:16 +02:00
Riku Isokoski
48afc495ab Apply InfiniTime LittleVgl changes 2023-02-24 18:11:26 +02:00
Riku Isokoski
c6bccf5225 Apply InfiniTime TouchHandler changes 2023-02-24 18:10:17 +02:00
Riku Isokoski
1aaf2c3890 Fix build after InfiniTime change
Update InfiniTime
2023-01-29 20:15:40 +01:00
NeroBurner
df7f4bd813
Merge pull request #83 from devnoname120/cmake-explicit-std-filesystem-linking
cmake: add explicit std::filesystem linking

g++8 compiler has C++17 support, but needs a link parameter for `std::filesystem` to work.
Add a cmake-module to find the needed link flag (if any) and provide a CMake target to
link against.

This can be removed once InfiniTime needs a newer compiler standard (like C++20).

Fixes: https://github.com/InfiniTimeOrg/InfiniSim/issues/57
2023-01-19 07:44:59 +01:00
Paul
d6c266905b cmake: add explicit std::filesystem linking
Fix: https://github.com/InfiniTimeOrg/InfiniSim/issues/57
Supersede: https://github.com/InfiniTimeOrg/InfiniSim/pull/58
2023-01-18 17:26:10 +01:00
Reinhold Gschweicher
168ff53cb4 Merge branch 'combine_datetime' 2023-01-15 22:41:07 +01:00
Reinhold Gschweicher
45500e8f32 InfiniTime: Update for Combined Date and Time Settings
Update to develop branch after https://github.com/InfiniTimeOrg/InfiniTime/pull/1465
got merged.
2023-01-15 22:39:46 +01:00
Elements6007
4fe058c652 combine 2023-01-15 22:38:25 +01:00
NeroBurner
63bfd6e49e
Merge pull request #77 from faxe1008/fix-gif-output
GifExporter: Disable dithering fixing artifacts in recording

Fixes: https://github.com/InfiniTimeOrg/InfiniSim/issues/51
2022-11-21 20:15:59 +01:00
blatzfab
db77a2cf52 Infinisim: GifExporter: Disable dithering
This patch disables dithering since it causes artifacts within the
generated gif files.
2022-11-21 19:55:32 +01:00
NeroBurner
7cc4876066
Merge pull request #76 from 1sra3l/patch-1
s/scren/screen/ README.md
2022-11-12 17:08:00 +01:00
Israel
d1516f16b6
s/screen/scren/
fix small typo....
2022-11-11 16:38:44 -06:00
Reinhold Gschweicher
e4a3aa0cc4 Update InfiniTime to current develop v1.11.0 branch 2022-10-16 16:10:10 +02:00