Commit Graph

141 Commits (d7dee492018eb0708406d09384f9fc2abbc72ab7)
 

Author SHA1 Message Date
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
Reinhold Gschweicher 0c63acd8c0 Update InfiniTime to 1.12.0 release 2023-05-01 19:46:49 +07: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 +07:00
Finlay Davidson 2f37837c77 motioncontroller: Fix changes in InfiniTime#1659 2023-03-10 10:18:16 +07:00
Reinhold Gschweicher 32fada34f4 Support rename of TimerController to FreeRTOS::Timer 2023-03-02 22:33:05 +07: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 +07:00
NeroBurner 191bb9a59b
Merge pull request #90 from Riksu9000/fix-lvgl
Remove LVGL instance in main
2023-02-27 19:02:19 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
Reinhold Gschweicher f457925952 sim: WeatherService: add missing algorithm include 2023-02-26 21:46:42 +07:00
NeroBurner 35aca7323d
Merge pull request #87 from Riksu9000/remove-unused-files
Remove unused files
2023-02-25 19:18:04 +07: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 +07: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 +07:00
NeroBurner 6ccca0caf1
Merge pull request #86 from Riksu9000/infinitime-changes
Fix build after InfiniTime changes
2023-02-25 18:02:52 +07:00
Riku Isokoski df768e2030 Remove motorController from SystemTask
InfiniTime change
2023-02-25 12:35:16 +07:00
Riku Isokoski 8ca2f42037 Update InfiniTime submodule 2023-02-25 12:35:16 +07:00