InfiniTime/README.md

122 lines
6.2 KiB
Markdown
Raw Normal View History

README: Header redesign (#2032) * Reformat README.md * Update README.md * Add files via upload * Add files via upload * Add new README.md header image * Remove unnecessary <br> tag * Scale watchface logo down; add downloads badge * Remove unnecessary <br> tag * Add <br> tag to maintain spacing consistency * Remove incorrect link * Add watchface logo with dark logo * Replace logo image with dark version * Add files via upload * Add header image * Fix row spacing in header image * Remove unnecessary <br> tag * Add corner radius to header image * Add files via upload * Update image background * Add reference to InfiniTimeExplorer * Remove unnecessary image * Remove unnecessary image * Remove unnecessary images * Rename watchface_collage_no_shadow.png to watchface_collage.png * Update header image URL * Remove unnecessary <br> tag * SPI transaction hooks * Remove task to notify * Refactor display WriteToRam * Use functional abstraction for hooks * Refactor lambdas * Avoid storing lambda * Rename to pre-transaction hook * Use FreeRTOS delay instead of spinning the CPU * Apply display driver datasheet delays * Move includes back * Include task header (Fixes sim) * Make chime vibrate twice * Remove commit from main * README: improve wording * Add bootloader to DeviceInformationService.cpp * Add bootloader to DeviceInformationService.h * Revert "Add bootloader to DeviceInformationService.h" This reverts commit f3f0fd568d96dea1ebd30529b4b8b6d5f4d5444b. * Revert "Add bootloader to DeviceInformationService.cpp" This reverts commit 35570edafab1b061442ae89b01a2ced8b9a812bd. * Delete doc/logo/watchface_collage.png * Add files via upload * Delete doc/logo/watchface_collage.png * Add files via upload * Replace collage with correct image --------- Co-authored-by: mark9064 <30447455+mark9064@users.noreply.github.com>
2024-10-23 17:00:48 +00:00
<div align="center">
2020-07-28 20:51:14 +00:00
README: Header redesign (#2032) * Reformat README.md * Update README.md * Add files via upload * Add files via upload * Add new README.md header image * Remove unnecessary <br> tag * Scale watchface logo down; add downloads badge * Remove unnecessary <br> tag * Add <br> tag to maintain spacing consistency * Remove incorrect link * Add watchface logo with dark logo * Replace logo image with dark version * Add files via upload * Add header image * Fix row spacing in header image * Remove unnecessary <br> tag * Add corner radius to header image * Add files via upload * Update image background * Add reference to InfiniTimeExplorer * Remove unnecessary image * Remove unnecessary image * Remove unnecessary images * Rename watchface_collage_no_shadow.png to watchface_collage.png * Update header image URL * Remove unnecessary <br> tag * SPI transaction hooks * Remove task to notify * Refactor display WriteToRam * Use functional abstraction for hooks * Refactor lambdas * Avoid storing lambda * Rename to pre-transaction hook * Use FreeRTOS delay instead of spinning the CPU * Apply display driver datasheet delays * Move includes back * Include task header (Fixes sim) * Make chime vibrate twice * Remove commit from main * README: improve wording * Add bootloader to DeviceInformationService.cpp * Add bootloader to DeviceInformationService.h * Revert "Add bootloader to DeviceInformationService.h" This reverts commit f3f0fd568d96dea1ebd30529b4b8b6d5f4d5444b. * Revert "Add bootloader to DeviceInformationService.cpp" This reverts commit 35570edafab1b061442ae89b01a2ced8b9a812bd. * Delete doc/logo/watchface_collage.png * Add files via upload * Delete doc/logo/watchface_collage.png * Add files via upload * Replace collage with correct image --------- Co-authored-by: mark9064 <30447455+mark9064@users.noreply.github.com>
2024-10-23 17:00:48 +00:00
![Header Image](doc/logo/watchface_collage.png)
2020-08-02 16:09:38 +00:00
README: Header redesign (#2032) * Reformat README.md * Update README.md * Add files via upload * Add files via upload * Add new README.md header image * Remove unnecessary <br> tag * Scale watchface logo down; add downloads badge * Remove unnecessary <br> tag * Add <br> tag to maintain spacing consistency * Remove incorrect link * Add watchface logo with dark logo * Replace logo image with dark version * Add files via upload * Add header image * Fix row spacing in header image * Remove unnecessary <br> tag * Add corner radius to header image * Add files via upload * Update image background * Add reference to InfiniTimeExplorer * Remove unnecessary image * Remove unnecessary image * Remove unnecessary images * Rename watchface_collage_no_shadow.png to watchface_collage.png * Update header image URL * Remove unnecessary <br> tag * SPI transaction hooks * Remove task to notify * Refactor display WriteToRam * Use functional abstraction for hooks * Refactor lambdas * Avoid storing lambda * Rename to pre-transaction hook * Use FreeRTOS delay instead of spinning the CPU * Apply display driver datasheet delays * Move includes back * Include task header (Fixes sim) * Make chime vibrate twice * Remove commit from main * README: improve wording * Add bootloader to DeviceInformationService.cpp * Add bootloader to DeviceInformationService.h * Revert "Add bootloader to DeviceInformationService.h" This reverts commit f3f0fd568d96dea1ebd30529b4b8b6d5f4d5444b. * Revert "Add bootloader to DeviceInformationService.cpp" This reverts commit 35570edafab1b061442ae89b01a2ced8b9a812bd. * Delete doc/logo/watchface_collage.png * Add files via upload * Delete doc/logo/watchface_collage.png * Add files via upload * Replace collage with correct image --------- Co-authored-by: mark9064 <30447455+mark9064@users.noreply.github.com>
2024-10-23 17:00:48 +00:00
<br>
[![GitHub tag](https://img.shields.io/github/tag/InfiniTimeOrg/InfiniTime?include_prereleases=&sort=semver&color=blue)](https://github.com/InfiniTimeOrg/InfiniTime/releases)
[![GitHub License](https://img.shields.io/github/license/InfiniTimeOrg/InfiniTime)](https://github.com/InfiniTimeOrg/InfiniLink/blob/main/LICENSE)
[![Issues - InfiniTime](https://img.shields.io/github/issues/InfiniTimeOrg/InfiniTime)](https://github.com/InfiniTimeOrg/InfiniTime/issues)
[![Pull Requests - InfiniTime](https://img.shields.io/github/issues-pr/InfiniTimeOrg/InfiniTime)](https://github.com/InfiniTimeOrg/InfiniTime/pulls)
[![Downloads - InfiniTime](https://img.shields.io/github/downloads/InfiniTimeOrg/InfiniTime/total)](https://github.com/InfiniTimeOrg/InfiniTime)
[![Stars - InfiniTime](https://img.shields.io/github/stars/InfiniTimeOrg/InfiniTime?style=social)](https://github.com/InfiniTimeOrg/InfiniTime/stargazers)
[![Forks - InfiniTime](https://img.shields.io/github/forks/InfiniTimeOrg/InfiniTime?style=social)](https://github.com/InfiniTimeOrg/InfiniTime/network/members)
# InfiniTime
*Fast open-source firmware for the [PineTime smartwatch](https://pine64.org/devices/pinetime/) with many features, written in modern C++.*
<br>
</div>
2020-07-18 20:15:14 +00:00
## Wadokei fork
Based on [Sudrien's Watchy Wadokei](https://github.com/Sudrien/watchy_wadokei) --
displays an Edo-period Japanese clock face and a sunrise/sunset-based hour hand.
Also chimes hours according to the number on the face (9,8,7,6,5,4) at the top
of each modern hour (so noon and 1pm will be 9 chimes, 2pm and 3pm will be 8, etc).
See https://github.com/Sudrien/watchy_wadokei/blob/main/Reckoning.md for more ideas!
2021-08-03 16:51:58 +00: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)
- [Available apps](doc/gettingStarted/Applications.md)
- [Available watch faces](/doc/gettingStarted/Watchfaces.md)
- [PineTimeStyle Watch face](https://pine64.org/documentation/PineTime/Watchfaces/PineTimeStyle)
- [Weather integration](https://pine64.org/documentation/PineTime/Software/InfiniTime_weather/)
2021-11-08 15:42:42 +00:00
### Companion apps
- [Gadgetbridge](https://gadgetbridge.org/) (Android)
- [Amazfish](https://github.com/piggz/harbour-amazfish/) ([SailfishOS](https://sailfishos-chum.github.io/apps/harbour-amazfish/), [Ubuntu Touch](https://open-store.io/app/uk.co.piggz.amazfish), [Flatpak](https://flathub.org/apps/uk.co.piggz.amazfish))
- [Siglo](https://github.com/alexr4535/siglo) (Linux)
2023-12-25 14:32:55 +00:00
- [InfiniLink](https://github.com/InfiniTimeOrg/InfiniLink) (iOS)
2023-04-21 05:32:48 +00:00
- [ITD](https://gitea.elara.ws/Elara6331/itd) (Linux)
- [WatchMate](https://github.com/azymohliad/watchmate) (Linux)
README: Header redesign (#2032) * Reformat README.md * Update README.md * Add files via upload * Add files via upload * Add new README.md header image * Remove unnecessary <br> tag * Scale watchface logo down; add downloads badge * Remove unnecessary <br> tag * Add <br> tag to maintain spacing consistency * Remove incorrect link * Add watchface logo with dark logo * Replace logo image with dark version * Add files via upload * Add header image * Fix row spacing in header image * Remove unnecessary <br> tag * Add corner radius to header image * Add files via upload * Update image background * Add reference to InfiniTimeExplorer * Remove unnecessary image * Remove unnecessary image * Remove unnecessary images * Rename watchface_collage_no_shadow.png to watchface_collage.png * Update header image URL * Remove unnecessary <br> tag * SPI transaction hooks * Remove task to notify * Refactor display WriteToRam * Use functional abstraction for hooks * Refactor lambdas * Avoid storing lambda * Rename to pre-transaction hook * Use FreeRTOS delay instead of spinning the CPU * Apply display driver datasheet delays * Move includes back * Include task header (Fixes sim) * Make chime vibrate twice * Remove commit from main * README: improve wording * Add bootloader to DeviceInformationService.cpp * Add bootloader to DeviceInformationService.h * Revert "Add bootloader to DeviceInformationService.h" This reverts commit f3f0fd568d96dea1ebd30529b4b8b6d5f4d5444b. * Revert "Add bootloader to DeviceInformationService.cpp" This reverts commit 35570edafab1b061442ae89b01a2ced8b9a812bd. * Delete doc/logo/watchface_collage.png * Add files via upload * Delete doc/logo/watchface_collage.png * Add files via upload * Replace collage with correct image --------- Co-authored-by: mark9064 <30447455+mark9064@users.noreply.github.com>
2024-10-23 17:00:48 +00:00
- [InfiniTimeExplorer](https://infinitimeexplorer.netlify.app) (Web)
<br>
README: Header redesign (#2032) * Reformat README.md * Update README.md * Add files via upload * Add files via upload * Add new README.md header image * Remove unnecessary <br> tag * Scale watchface logo down; add downloads badge * Remove unnecessary <br> tag * Add <br> tag to maintain spacing consistency * Remove incorrect link * Add watchface logo with dark logo * Replace logo image with dark version * Add files via upload * Add header image * Fix row spacing in header image * Remove unnecessary <br> tag * Add corner radius to header image * Add files via upload * Update image background * Add reference to InfiniTimeExplorer * Remove unnecessary image * Remove unnecessary image * Remove unnecessary images * Rename watchface_collage_no_shadow.png to watchface_collage.png * Update header image URL * Remove unnecessary <br> tag * SPI transaction hooks * Remove task to notify * Refactor display WriteToRam * Use functional abstraction for hooks * Refactor lambdas * Avoid storing lambda * Rename to pre-transaction hook * Use FreeRTOS delay instead of spinning the CPU * Apply display driver datasheet delays * Move includes back * Include task header (Fixes sim) * Make chime vibrate twice * Remove commit from main * README: improve wording * Add bootloader to DeviceInformationService.cpp * Add bootloader to DeviceInformationService.h * Revert "Add bootloader to DeviceInformationService.h" This reverts commit f3f0fd568d96dea1ebd30529b4b8b6d5f4d5444b. * Revert "Add bootloader to DeviceInformationService.cpp" This reverts commit 35570edafab1b061442ae89b01a2ced8b9a812bd. * Delete doc/logo/watchface_collage.png * Add files via upload * Delete doc/logo/watchface_collage.png * Add files via upload * Replace collage with correct image --------- Co-authored-by: mark9064 <30447455+mark9064@users.noreply.github.com>
2024-10-23 17:00:48 +00:00
> *InfiniTimeExplorer is only compatible with web browsers that support Web BLE. Current fully supported browsers include Chrome and Microsoft Edge.*
>
> *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](https://gadgetbridge.org/).*
## Development
- [InfiniTime Vision](doc/InfiniTimeVision.md)
- [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)
- [Tips on designing an app UI](doc/ui_guidelines.md)
- [Bootloader, OTA and DFU](bootloader/README.md)
2022-10-02 10:27:10 +00:00
- [External resources](doc/ExternalResources.md)
### Contributing
- [How to contribute](CONTRIBUTING.md)
- [Coding conventions](doc/coding-convention.md)
2020-07-18 20:15:14 +00:00
### Build, flash and debug
- [InfiniTime simulator](https://github.com/InfiniTimeOrg/InfiniSim)
- [Build the project](doc/buildAndProgram.md)
- [Build the project with Docker](doc/buildWithDocker.md)
- [Build the project with VSCode](doc/buildWithVScode.md)
- [Flash the firmware using OpenOCD and STLinkV2](doc/openOCD.md)
- [Flash the firmware using SWD interface](doc/SWD.md)
- [Flash the firmware using JLink](doc/jlink.md)
- [Flash the firmware using GDB](doc/gdb.md)
- [Stub using NRF52-DK](doc/PinetimeStubWithNrf52DK.md)
2020-07-18 20:15:14 +00:00
### API
- [BLE implementation and API](doc/ble.md)
2020-07-18 20:15:14 +00:00
### Architecture and technical topics
- [Memory analysis](doc/MemoryAnalysis.md)
### Project management
- [Maintainer's guide](doc/maintainer-guide.md)
- [Versioning](doc/versioning.md)
- [Project branches](doc/branches.md)
- [Files included in the release notes](doc/filesInReleaseNotes.md)
- [Files needed by the factory](doc/files-needed-by-factory.md)
2020-08-02 15:38:51 +00:00
## Licenses
2020-08-02 15:38:51 +00: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:
2023-11-19 23:11:30 +00:00
- 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
2023-11-28 22:26:08 +00:00
Im not working alone on this project. First, many people create pull requests 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.
2020-07-18 20:15:14 +00:00
Here are some people I would like to highlight:
2023-11-19 23:11:30 +00: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!