Commit Graph

150 Commits

Author SHA1 Message Date
JF
d6cc458ea2
Integration of Simple Weather Service (#135)
* Integration of Simple Weather Service

Replace the old WeatherService by the new Simple Weather Service.=

* Update InfiniTime to after SimpleWeatherService got merged

---------

Co-authored-by: Reinhold Gschweicher <pyro4hell@gmail.com>
2023-12-23 21:35:14 +01:00
Max Friedrich
39b9b17625
Fix CMP0153 for newer CMake versions (#133)
Fixes deprecated call and replaces it with
execute_process
https://cmake.org/cmake/help/latest/policy/CMP0153.html#policy:CMP0153

Co-authored-by: minacode <minamoto9@web.de>
2023-12-11 22:12:54 +01:00
FintasticMan
43880fd220
Update README for new lv_img_conv (#130) 2023-11-21 08:19:32 +01:00
JF
1f33754c1a
Enable C++20 in CMake (needed since InfiniTime is switch to C++20 as well). (#129) 2023-11-11 18:09:54 +01:00
NeroBurner
fc8077add8
CI: install python3-pil for lv_img_conv.py (#126)
Install new build dependency introduced with move to minimum python
implementation of `lv_img_conv` node js script
https://github.com/InfiniTimeOrg/InfiniTime/pull/1863
2023-10-26 23:20:58 +02:00
NeroBurner
02f2cc5a05
Node v14 required for lv_font_conv (#122)
* Update miminum node version to v14+ as lv_font_conv minimum

The current readme of the `lv_font_conv` the minimum node.js version is
v14+. Update our readme to mention that minimum version as well.

https://github.com/lvgl/lv_font_conv#install-the-script

---

In Check node version and issue a warning if less than v14.0.0.

Fixes: https://github.com/InfiniTimeOrg/InfiniSim/issues/109
2023-09-17 20:54:59 +02:00
NeroBurner
ae2cd08965
Merge pull request #119 from InfiniTimeOrg/libpng_system_lib
Remove libpng submodule and require system lib
2023-09-11 19:48:21 +02:00
Reinhold Gschweicher
f4b729e00b Remove libpng submodule and require system lib
On rolling distros the usage of `libpng` submodule makes problems as the
`zlib` system dependency of said module gets updated. Then the submodule
regularly is too old to handle the updates `zlib` dependency.

Fix this maintenance churn by requiring `libpng` as system library as
well. Then the distros package manager keeps those versions in sync.

This unfortunately requires users to install a new runtime/build
dependency, but it still can be disabled with `-DWITH_PNG=OFF`.
2023-09-07 19:06:56 +02:00
NeroBurner
3ae396c0a6
Merge pull request #118 from FintasticMan/fix_lower_sleep
lowersleep: Fix InfiniSim build
2023-08-30 13:31:21 +02:00
FintasticMan
d7dee49201 lowersleep: Fix InfiniSim build 2023-08-30 11:48:23 +02:00
NeroBurner
0dd9c5e84d
Merge pull request #117 from FintasticMan/fix_raise_wake
raisewake: Fix for new raise to wake impl
2023-08-20 20:48:13 +02:00
Finlay Davidson
3910552a7b raisewake: Fix for new raise to wake impl 2023-08-20 18:29:41 +02:00
NeroBurner
6256ec8284
Merge pull request #115 from InfiniTimeOrg/new-analog-watchface
Fix for the new analog watch face implementation in InfiniTime
2023-08-15 18:08:29 +02:00
Jean-François Milants
b18f2ef9e0 Update InfiniTime submodule 2023-08-15 15:01:02 +02:00
Jean-François Milants
f49bf98151 Fix for the new analog watch face implementation in InfiniTime
The new analog watch face implementation in InfiniTime draws the background programmatically instead of using a background picture. This branch removes this background picture from the files needed by cmake to build the project.
2023-08-15 12:18:48 +02:00
Reinhold Gschweicher
25ec7af440 Update InfiniTime submodule to v1.13.0 release 2023-06-27 19:33:26 +02:00
NeroBurner
53b392a7a5
Merge pull request #108 from baltevl/main
main: add missing argument in lcd driver constructor call.
2023-06-12 23:44:18 +02:00
baltevl
1e00e73cff main: add missing argument in lcd driver constructor call.
As of InfiniTimeOrg/InfiniTime#1758 ST7789 driver constructor has a
pinReset argument.

Update the InfiniTime submodule to the state after the update of the
ST7789 driver.

Fixes: https://github.com/InfiniTimeOrg/InfiniSim/issues/107
2023-06-12 23:39:44 +02:00
NeroBurner
e6dcf3f743
Merge pull request #97 from InfiniTimeOrg/heap-unification
Integrate the new heap implementation from InfiniTime
2023-05-18 20:32:33 +02:00
NeroBurner
80cacdd97a
Merge pull request #91 from Brod8362/simdisplay
Improve UI for the status window
2023-05-10 16:04:58 +02:00
Reinhold Gschweicher
aa34f93161 sim: embedd background bmp and load from memory
Loading the file from disk introduces a slight dependency on the working
directory for the simulator. Prevent that by loading the bmp from
memory.

Use a python script to convert the backround bmp image to a C header
file. Include this header in `main.cpp` and load the bmp from memory.
2023-05-08 18:32:50 +02:00
Brod8362
1c479a2875 Add sim status window background and make it pretty
Instead of drawing just circles use a background image to show status
symbols what the respective status means (not just the color of the
dots).

Furthermore draw a rectangle for the battery status instead of bubbles.
2023-05-08 18:30:41 +02:00
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