InfiniTime
Schnelle Open-Source-Firmware für die PineTime-Smartwatch mit vielen Funktionen, geschrieben in modernem C++.
Neu bei InfiniTime?
- Erste Schritte mit InfiniTime
- Aktualisieren der Software
- Über die Firmware und den Bootloader
- Verfügbare Apps
- Verfügbare Zifferblätter
- PineTimeStyle-Zifferblatt
Begleit-Apps
- Gadgetbridge (Android)
- Amazfish (SailfishOS, Ubuntu Touch, Flatpak)
- Siglo (Linux)
- InfiniLink (iOS)
- ITD (Linux)
- WatchMate (Linux)
- InfiniTimeExplorer (Web)
InfiniTimeExplorer ist nur mit Webbrowsern kompatibel, die Web BLE unterstützen. Zu den derzeit vollständig unterstützten Browsern gehören Chrome und Microsoft Edge.
Wir haben Erwähnungen zu NRFConnect entfernt, da es sich bei dieser App um eine Closed-Source-App handelt und neuere Versionen nicht mehr mit InfiniTime funktionieren (die letzte Version, von der bekannt ist, dass sie funktioniert, ist 4.24.3). Wenn Sie in der Vergangenheit NRFConnect verwendet haben, empfehlen wir Ihnen, auf Gadgetbridge umzusteigen.
Entwicklung
- InfiniTime-Vision
- Grobe Struktur des Codes
- So implementieren Sie eine Anwendung
- Generieren Sie die Schriftarten und Symbole
- Tipps zum Entwerfen einer App-Benutzeroberfläche
- Bootloader, OTA und DFU
- Externe Ressourcen
Mitwirken
- So können Sie einen Beitrag leisten
- Codierungskonventionen
Erstellen, flashen und debuggen
- InfiniTime-Simulator
- Erstellen Sie das Projekt
- Erstellen Sie das Projekt mit Docker
- Erstellen Sie das Projekt mit VSCode
- Flashen Sie die Firmware mit OpenOCD und STLinkV2
- Flashen Sie die Firmware über die SWD-Schnittstelle
- Flashen Sie die Firmware mit JLink
- Flashen Sie die Firmware mit GDB
- Stub mit NRF52-DK
API
- BLE-Implementierung und API
Architektur und technische Themen
Projektmanagement
- Leitfaden für den Betreuer
- Versionierung
- Projektzweige
- In den Versionshinweisen enthaltene Dateien
- Von der Fabrik benötigte Dateien
Lizenzen
Dieses Projekt wird unter der GNU General Public License Version 3 oder, nach Ihrer Wahl, einer späteren Version veröffentlicht.
Es integriert folgende Projekte:
- RTOS: FreeRTOS unter der MIT-Lizenz
- Benutzeroberfläche: LittleVGL/LVGL unter der MIT-Lizenz
- BLE-Stack: NimBLE unter der Apache 2.0-Lizenz
- Schriftart: Jetbrains Mono unter der Apache 2.0-Lizenz
Credits
Ich arbeite nicht alleine an diesem Projekt. Zunächst erstellen viele Leute Pull-Requests für dieses Projekt. Dann gibt es noch die gesamte #pinetime-Community: viele Menschen auf der ganzen Welt, die Pinetime hacken, suchen, experimentieren und programmieren. Wir tauschen unsere Ideen, Experimente und Codes in den Chatrooms und Foren aus.
Hier sind einige Personen, die ich hervorheben möchte:
- Atc1441: Er arbeitet an einer Arduino-basierten Firmware für die Pinetime und viele andere Smartwatches, die auf ähnlicher Hardware basieren. Er war mir eine große Hilfe bei der Implementierung der Unterstützung für den BMA421-Bewegungssensor und den I²C-Treiber.
- Koen: Er arbeitet an einer Firmware, die auf RiotOS basiert. Er hat ähnliche Bibliotheken wie ich integriert: NimBLE, LittleVGL, ... Auch seine Hilfe war von unschätzbarem Wert!
- Lup Yuen Lee: Er ist überall: Er arbeitet an einer Rust-Firmware, erstellt einen MCUBoot-basierten Bootloader für Pinetime, entwirft eine Flutter-basierte Begleit-App für Smartphones und schreibt viele Artikel über Pinetime!