InfiniTime/README.md

79 lines
4.2 KiB
Markdown
Raw Normal View History

# [InfiniTime](https://github.com/InfiniTimeOrg/InfiniTime)
2020-07-28 23:51:14 +03:00
[![Build PineTime Firmware](https://github.com/InfiniTimeOrg/InfiniTime/workflows/Build%20PineTime%20Firmware/badge.svg?branch=master)](https://github.com/InfiniTimeOrg/InfiniTime/actions)
2020-07-28 23:51:14 +03:00
![InfiniTime logo](images/infinitime-logo-small.jpg "InfiniTime Logo")
2020-08-02 19:09:38 +03:00
Fast open-source firmware for the [PineTime smartwatch](https://www.pine64.org/pinetime/) with many features, written in modern C++.
2020-07-18 23:15:14 +03:00
2021-08-03 19:51:58 +03:00
## New to InfiniTime?
- [Getting started with InfiniTime](doc/gettingStarted/gettingStarted-1.0.md)
- [Updating the software](doc/gettingStarted/updating-software.md)
- [About the firmware and bootloader](doc/gettingStarted/about-software.md)
2021-11-08 18:42:42 +03:00
### Companion apps
- [Gadgetbridge](https://gadgetbridge.org/) (Android)
- [AmazFish](https://openrepos.net/content/piggz/amazfish/) (SailfishOS)
- [Siglo](https://github.com/alexr4535/siglo) (Linux)
- [InfiniLink](https://github.com/InfiniTimeOrg/InfiniLink) **[Experimental]** **[Unmaintained, looking for developers/maintainers]** (iOS)
2022-03-03 20:01:34 +03:00
- [ITD](https://gitea.arsenm.dev/Arsen6331/itd) (Linux)
## Development
- [Rough structure of the code](doc/code/Intro.md)
- [How to implement an application](doc/code/Apps.md)
- [Generate the fonts and symbols](src/displayapp/fonts/README.md)
2021-04-13 20:15:29 +03:00
- [Creating a stopwatch in Pinetime(article)](https://pankajraghav.com/2021/04/03/PINETIME-STOPCLOCK.html)
2021-11-06 16:04:37 +03:00
- [Tips on designing an app UI](doc/ui_guidelines.md)
### InfiniSim Simulator
Use the [InfiniSim Simulator](https://github.com/InfiniTimeOrg/InfiniSim) to experience the `InfiniTime` user interface directly on your PC, to shorten the time until you get your hands on a real [PineTime smartwatch](https://www.pine64.org/pinetime/).
Or use it to develop new Watchfaces, new Screens, or quickly iterate on the user interface.
### Contributing
- [How to contribute?](/doc/contribute.md)
- [Coding conventions](/doc/coding-convention.md)
2020-07-18 23:15:14 +03:00
### Build, flash and debug
- [Project branches](doc/branches.md)
- [Versioning](doc/versioning.md)
- [Files included in the release notes](doc/filesInReleaseNotes.md)
2020-07-18 23:15:14 +03:00
- [Build the project](doc/buildAndProgram.md)
- [Flash the firmware using OpenOCD and STLinkV2](doc/openOCD.md)
- [Flash the firmware using SWD interface](doc/SWD.md)
- [Build the project with Docker](doc/buildWithDocker.md)
2021-07-26 04:14:23 +03:00
- [Build the project with VSCode](doc/buildWithVScode.md)
2020-07-18 23:15:14 +03:00
- [Bootloader, OTA and DFU](./bootloader/README.md)
- [Stub using NRF52-DK](./doc/PinetimeStubWithNrf52DK.md)
2020-07-18 23:15:14 +03:00
### API
2020-07-18 23:15:14 +03:00
- [BLE implementation and API](./doc/ble.md)
2020-07-18 23:15:14 +03:00
### Architecture and technical topics
2020-07-20 22:30:00 +03:00
- [Memory analysis](./doc/MemoryAnalysis.md)
2020-08-02 18:38:51 +03:00
## Licenses
2020-08-02 18:38:51 +03:00
This project is released under the GNU General Public License version 3 or, at your option, any later version.
It integrates the following projects:
- RTOS : **[FreeRTOS](https://freertos.org)** under the MIT license
- UI : **[LittleVGL/LVGL](https://lvgl.io/)** under the MIT license
- BLE stack : **[NimBLE](https://github.com/apache/mynewt-nimble)** under the Apache 2.0 license
- Font : **[Jetbrains Mono](https://www.jetbrains.com/fr-fr/lp/mono/)** under the Apache 2.0 license
## Credits
2020-07-18 23:15:14 +03:00
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.
2020-07-18 23:15:14 +03:00
Here are some people I would like to highlight:
2020-07-18 23:15:14 +03:00
- [Atc1441](https://github.com/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](https://github.com/bosmoment) : Hes working on a firmware based on RiotOS. He integrated similar libs as me : NimBLE, LittleVGL,… His help was invaluable too!
- [Lup Yuen Lee](https://github.com/lupyuen) : 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!
2020-07-18 23:15:14 +03:00
*If you feel like you should appear on this list, just get in touch with me or submit a PR :)*