Jean-François Milants 63e0c4f4ef Application selection at build time
A list of "user applications" is built at compile time. It contains all the info needed to create the application at runtime (ptr to a create() function) and to display the app in the application menu. All applications declare a TypeTrait with these information.
When a new app must be loaded, DisplayApp first check if this app is a System app (in which case it creates it like it did before). If it's not a System app, it looks for the app in the list of User applications and creates it if it found it.
Those changes allow to more easily add new app and to select which app must be built into the firmware.
Switch to C++20 (and fix a few issues in SpiMaster.cpp and Watchdog.cpp.
2023-11-19 21:13:55 +01:00
2023-11-19 21:13:55 +01:00
2023-01-04 17:15:33 +01:00
2021-01-30 18:52:14 +02:00
2021-01-30 18:48:06 +02:00
2021-01-05 00:34:15 +00:00
2020-08-02 17:38:51 +02:00
2022-06-05 09:31:23 +03:00

InfiniTime

InfiniTime logo

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

New to InfiniTime?

Companion apps

Note : We removed mentions to NRFConnect as this app is closed source and recent versions do not work anymore with InfiniTime (the last version known to work is 4.24.3). If you used NRFConnect in the past, we recommend you switch to Gadgetbridge.

Development

Contributing

Build, flash and debug

API

Architecture and technical topics

Project management

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 project. 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!
Description
Firmware for Pinetime smartwatch written in C++ and based on FreeRTOS
Readme
Languages
C 87.9%
C++ 8.9%
Python 1.7%
CMake 0.9%
Ruby 0.3%
Other 0.3%