Firmware for Pinetime smartwatch written in C++ and based on FreeRTOS
Go to file
Reinhold Gschweicher db0f909b46 generalize lv-font creation
In https://github.com/InfiniTimeOrg/InfiniTime/pull/1097 new font
generation capabilites were added. Generalize the font creation to
make it possible to reuse the `displayapp/fonts/CMakeLists.txt` file
for `InfiniSim` and just add the new cmake file to the project and
link against the new `infinitime_fonts` target.

In the following a list of changes.

Allow non-global installed `lv_font_conv` executable installed with

```sh
npm install lv_font_conv@1.5.2
```

In CMake we search for `lv_font_conv` executable. Add the found
executable to the python script `generate.py`, to remove the need for
`lv_font_conv` to be in the path.

Search for `python3` executable, if CMake version 3.12 is available.
Otherwise use `python` as hard coded executable.

Instead of adding the generated fonts to `SOURCE_FILES` variable, create
a static library `infinitime_fonts`. Link this library to the
executables instead.

Use `add_custom_target()` together with `add_custom_command()` to
generate the font.c files once (like the original PR does).
2022-05-16 11:59:44 +03:00
.devcontainer Fixed container to use clang-format-12 and format on save 2021-11-28 13:57:02 +01:00
.github Only run lv_sim GH Actions on push to develop and master 2022-05-14 12:21:35 +02:00
.idea/codeStyles Improved CLion configuration 2021-07-02 16:29:09 +02:00
.vscode Add some VSCODE stuff to gitignore... 2021-08-19 00:51:42 +00:00
bootloader Reorganize bootloader readme 2021-11-28 13:42:37 +01:00
cmake-nRF5x docs: Fix a few typos (#606) 2021-09-13 20:02:53 +02:00
doc fontgen: move lv_font_conv doc 2022-05-10 22:20:02 +02:00
docker update docker to 22, and use python3 by default 2022-05-10 22:20:02 +02:00
hooks Made the pre-commit hook fail explicitly when the executable doesn't exist 2021-07-24 15:55:52 +02:00
images Documentation cleanup and reorganization 2021-11-28 13:42:37 +01:00
src generalize lv-font creation 2022-05-16 11:59:44 +03:00
tests Fix and test workflow 2022-05-08 22:27:42 +03:00
tools bin2c: Don't assume that the default Python version is higher than 2 2021-04-17 13:16:15 +03:00
.clang-format Changed access modified indentation 2021-04-24 12:00:45 +03:00
.clang-tidy Remove some clang-tidy checks 2021-11-13 13:37:52 +02:00
.gitattributes Create .gitattributes 2021-01-30 18:52:14 +02:00
.gitconfig Create .gitconfig 2021-01-30 18:48:06 +02:00
.gitignore Update .gitignore 2021-12-30 20:57:26 +01:00
.gitmodules Initial Weather service skeleton 2021-12-04 22:03:40 +02:00
.gitpod.yml Custom Dockerfile for gitpod.io 2021-01-05 00:34:15 +00:00
CMakeLists.txt Set version to 1.9.0 2022-04-02 16:31:39 +02:00
CONTRIBUTING.md Update contribute.md (#475) 2021-08-14 20:58:38 +02:00
gcc_nrf52-mcuboot.ld Move noinit to after BSS segment, 2021-08-23 20:13:26 +00:00
gcc_nrf52.ld Move noinit to after BSS segment, 2021-08-23 20:13:26 +00:00
LICENSE Add LICENSE file and information. 2020-08-02 17:38:51 +02:00
nrf_common.ld Fix link error because of missing file "nrf_common.ld" 2020-01-12 16:26:20 +01:00
nrf52.svd Added the nRF52 SVD file for ease-of-use to the repository 2020-10-02 23:11:27 +03:00
README.md Mention that InfiniLink is searching for devs 2022-04-30 22:16:00 +02:00

InfiniTime

Build PineTime Firmware

InfiniTime logo

Fast open-source firmware for the PineTime smartwatch with many features, written in modern C++.

New to InfiniTime?

Companion apps

Development

InfiniSim Simulator

Use the InfiniSim Simulator to experience the InfiniTime user interface directly on your PC, to shorten the time until you get your hands on a real PineTime smartwatch. Or use it to develop new Watchfaces, new Screens, or quickly iterate on the user interface.

Contributing

Build, flash and debug

API

Architecture and technical topics

Licenses

This project is released under the GNU General Public License version 3 or, at your option, any later version.

It integrates the following projects:

Credits

Im not working alone on this project. First, many people create PR for this projects. Then, there is the whole #pinetime community : a lot of people all around the world who are hacking, searching, experimenting and programming the Pinetime. We exchange our ideas, experiments and code in the chat rooms and forums.

Here are some people I would like to highlight:

  • Atc1441 : He works on an Arduino based firmware for the Pinetime and many other smartwatches based on similar hardware. He was of great help when I was implementing support for the BMA421 motion sensor and I²C driver.
  • Koen : Hes working on a firmware based on RiotOS. He integrated similar libs as me : NimBLE, LittleVGL,… His help was invaluable too!
  • Lup Yuen Lee : He is everywhere: he works on a Rust firmware, builds a MCUBoot based bootloader for the Pinetime, designs a Flutter based companion app for smartphones and writes a lot of articles about the Pinetime!

If you feel like you should appear on this list, just get in touch with me or submit a PR :)