Commit Graph

159 Commits (main)
 

Author SHA1 Message Date
Caleb Fontenot ff105e3003 More Code Refactoring 2024-04-24 07:56:30 +07:00
Caleb Fontenot 9521fdb32a ASAN my beloved 2024-04-22 10:54:32 +07:00
NeroBurner 8b22bcd1cd
Merge pull request #138 from vkareh/generate-weather-data
SimpleWeatherService: Generate random weather data
2024-02-10 20:05:22 +07:00
Victor Kareh 30abc55b6c SimpleWeatherService: Generate forecast data 2024-02-10 13:35:32 +07:00
Victor Kareh bb18300c9e SimpleWeatherService: Generate random weather data
Add a new simulation key handler for weather data:
- 'w' will generate new weather, cycling through the various conditions
- 'W' will clear the weather data
2024-02-10 13:35:32 +07:00
FintasticMan 3ba07f574e
Fix build for motion service improvement (#139)
Fixes the build after InfiniTimeOrg/InfiniTime#1970 was merged.
2024-01-23 23:13:28 +07:00
Félix Brezo, Ph. D 71877a13de
List building dependencies for OpenSUSE (#137) 2023-12-24 19:35:48 +07:00
JF a300c65ecb
Add support for Celsius to Fahreneit conversion (#136) 2023-12-24 11:50:47 +07:00
JF 46f2e0d16f
User apps selection with CMake (#134)
Integrate the new `infinitime_apps` library and enable user applications
selection using the CMake variable `ENABLE_USERAPPS`.

Update InfiniTime to after CMake user app selection merged
2023-12-23 21:54:05 +07:00
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 +07: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 +07:00
FintasticMan 43880fd220
Update README for new lv_img_conv (#130) 2023-11-21 08:19:32 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
NeroBurner 3ae396c0a6
Merge pull request #118 from FintasticMan/fix_lower_sleep
lowersleep: Fix InfiniSim build
2023-08-30 13:31:21 +07:00
FintasticMan d7dee49201 lowersleep: Fix InfiniSim build 2023-08-30 11:48:23 +07: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 +07:00
Finlay Davidson 3910552a7b raisewake: Fix for new raise to wake impl 2023-08-20 18:29:41 +07: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 +07:00
Jean-François Milants b18f2ef9e0 Update InfiniTime submodule 2023-08-15 15:01:02 +07: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 +07:00
Reinhold Gschweicher 25ec7af440 Update InfiniTime submodule to v1.13.0 release 2023-06-27 19:33:26 +07: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 +07: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 +07:00
NeroBurner e6dcf3f743
Merge pull request #97 from InfiniTimeOrg/heap-unification
Integrate the new heap implementation from InfiniTime
2023-05-18 20:32:33 +07:00
NeroBurner 80cacdd97a
Merge pull request #91 from Brod8362/simdisplay
Improve UI for the status window
2023-05-10 16:04:58 +07: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 +07: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 +07:00
Reinhold Gschweicher d67a74dd15 FreeRTOS: use more specific std::algorithm instead of std::foreach 2023-05-03 22:39:40 +07:00
Reinhold Gschweicher c2488a2d28 FreeRTOS: use unordered_map as it has better runtime for access 2023-05-03 22:39:40 +07:00
Reinhold Gschweicher 310dc029a0 main: access minimumEverFreeHeap only when needed 2023-05-03 22:39:40 +07:00
Reinhold Gschweicher 7c2ea617f9 sim: mark header that need to be as C header 2023-05-03 22:39:40 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
Reinhold Gschweicher 4b0c2dc3eb Use InfiniTime Watchdog.h by providing mdk/nrf.h and others 2023-05-03 20:59:58 +07:00
NeroBurner beea678fce
Merge pull request #102 from InfiniTimeOrg/support_Watchdog_restructure
sim: support upstream Watchdog driver improvement
2023-05-01 22:03:59 +07:00
Reinhold Gschweicher 7613571f96 sim: support upstream Watchdog driver improvement
Fixes: https://github.com/InfiniTimeOrg/InfiniSim/issues/101
2023-05-01 21:44:29 +07: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 +07: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 +07:00
NeroBurner 512f25157b
Merge pull request #100 from InfiniTimeOrg/TimerController_to_Timer
Support TimerController rename to Timer
2023-05-01 21:04:45 +07: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 +07:00