Commit Graph

23 Commits (main)

Author SHA1 Message Date
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
Félix Brezo, Ph. D 71877a13de
List building dependencies for OpenSUSE (#137) 2023-12-24 19:35:48 +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
FintasticMan 43880fd220
Update README for new lv_img_conv (#130) 2023-11-21 08:19:32 +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
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
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
Israel d1516f16b6
s/screen/scren/
fix small typo....
2022-11-11 16:38:44 +07:00
Reinhold Gschweicher 51f6de612a Add option BUILD_RESOURCES=ON to build resources.zip file
The `BUILD_RESOURCES` option is also available in `InfiniTime`, but we
don't want to require building the firmware to test `resource.zip` file
generation.
2022-10-11 22:31:14 +07:00
Aaron Honeycutt c89e9701af
REAdme: Add npm package for Fedora (#64) 2022-09-16 17:41:06 +07:00
Aaron Honeycutt 07aa97bca3
README: Add zlib-devel package as Fedora dependency (#63)
This package is needed to run this command on Fedora:

```sh
cmake -S . -B build
```
2022-09-16 08:27:50 +07:00
Reinhold Gschweicher 2306807a73 littlefs-do: unzip in memory and copy listed resources to SPI raw file
Add a new command `littlefs-do res load resource.zip` which loads
resources from a zip file to the SPI raw file.

Below an example `resource.zip` is loaded:

```sh
$ ./littlefs-do res load infinitime-resources-1.10.0.zip --verbose
Calling FS::Init()
running 'res'
running 'res load'
loading resource file: "infinitime-resources-1.10.0.zip"
zip: num of files in zip: 8
copy file teko.bin                  from zip to SPI path '/teko.bin'
copy file lv_font_dots_40.bin       from zip to SPI path '/lv_font_dots_40.bin'
copy file 7segments_40.bin          from zip to SPI path '/7segments_40.bin'
copy file bebas.bin                 from zip to SPI path '/bebas.bin'
copy file 7segments_115.bin         from zip to SPI path '/7segments_115.bin'
copy file matrix.bin                from zip to SPI path '/matrix.bin'
copy file infineat-1.bin            from zip to SPI path '/infineat-1.bin'
finished: zip file fully loaded into SPI memory: infinitime-resources-1.10.0.zip
```

Afterwards the files are listed in the SPI raw file:

```sh
$ ./littlefs-do ls
type: DIR
name: /
type: DIR name: .
type: DIR name: ..
type: REG size: 4928 name: 7segments\_115.bin
type: REG size: 760 name: 7segments\_40.bin
type: REG size: 4420 name: bebas.bin
type: REG size: 1430 name: infineat-1.bin
type: REG size: 1840 name: lv\_font\_dots\_40.bin
type: REG size: 115204 name: matrix.bin
type: REG size: 440 name: teko.bin
```

Fixes: https://github.com/InfiniTimeOrg/InfiniSim/issues/55
2022-09-08 20:02:48 +07:00
Reinhold Gschweicher 25ce4b20a3 README: get sources before lv_font_conv install
The build dependencies section says to install `lv_font_conv` to the
source directory. But the instructions to download the InfiniSim sources
was after the build dependencies.

Move the "get sources" section before the "build dependencies" to
clairify the instructions.

Fixes: https://github.com/InfiniTimeOrg/InfiniSim/issues/53
2022-09-05 21:12:41 +07:00
NeroBurner 9e15182af2
littlefs-do binary to work with spi raw file (#52)
Add helper to modify spi raw file, to make experimenting with it easier.

```sh
$ ./littlefs-do --help
Usage: ./littlefs-do <command> [options]
Commands:
  -h, --help           show this help message for the selected command and exit
  -v, --verbose        print status messages to the console
  stat                 show information of specified file or directory
  ls                   list available files in 'spiNorFlash.raw' file
  mkdir                create directory
  rmdir                remove directory
  rm                   remove directory or file
  cp                   copy files into or out of flash file
  settings             list settings from 'settings.h'
```

In the process restructure the CMake file for less duplicate
includes/defines for both executables (`infinisim` and `littlefs-do`).

Upload the `littlefs-do` binary built by the CI additionally to the `infinisim` binary.
Use the updated upload-artifact@v3 template to do that.
2022-08-29 12:05:21 +07:00
Thomas Gourley fc96e5df31
Updated README with required node.js version (#48) 2022-08-07 20:22:51 +07:00
Reinhold Gschweicher a594446ef0 Add gif-h helper to create screen capture
Press key `I` (shift+`i`) to start a screen capture creating a gif with
the captured screen. Hit `I` again to stop the screen recording.

---

Add gif-h helper header only library

Copied from https://github.com/charlietangora/gif-h

3d2657b9ad
2022-06-19 22:31:25 +07:00
Reinhold Gschweicher 068c5a823e main: Fix 'N' clear new notification flag documentation
The documentation for the 'N' key wrongly stated it clears all
notifications. But in the code we see that just the new notification
flag is reset.
2022-05-16 23:45:34 +07:00
Reinhold Gschweicher f0c6ef9cd6 Use infinitime_fonts target if fonts/CMakeLists.txt exists
Since https://github.com/InfiniTimeOrg/InfiniTime/pull/1097 the fonts
are generated. Support this new way of using fonts.

When InfiniTime isn't a subdirectory of InfiniSim we need to provide
the binary dir when using `add_subdirectory()`. Use `fonts`.

Update README with instructions to install `lv_font_conv`.
2022-05-14 21:31:26 +07:00
Wivik 8507c601fb doc: add fedora required packages 2022-04-02 23:12:02 +07:00
Reinhold Gschweicher bf3a255ca4 Cst816s: scale down SDL mouse coordinates according to MONITOR_ZOOM
The lv_drivers provided monitor driver supports a `MONITOR_ZOOM`-factor
which scales the window by the set factor. This is 'useful when
simulating small screens'.

The zoom can be set as cmake configuration setting `-DMONITOR_ZOOM=1`.

Probably even more usefull for high-dpi screens where 240 pixels is
really tiny.
2022-03-30 20:51:41 +07:00
Reinhold Gschweicher dfbc345511 main: implement saveScreenshot() writing bmp/png from SDL window buffer
When pressing `i` create a screenshot of the current InfiniTime screen
by dumping it to a timestamped png or bmp file like
`InfiniSim_2022-03-08_203421.png`.

Add a new configure option `WITH_PNG` with default `ON`. When switched
to `OFF` the screenshots will be created in `bmp` format.

Fixes: https://github.com/InfiniTimeOrg/InfiniSim/issues/5
2022-03-08 21:39:16 +07:00
Arthur Lutz d548c711be [README] fix apt command 2022-02-18 22:52:06 +07:00
Reinhold Gschweicher f19355949b Initial InfiniSim project 2022-02-17 22:57:08 +07:00