====== TTGO TWatch 2020 V3 ======
===== Setup VSCode =====
* [[e24laptops|Setup auf den Linux-Laptops aus dem E24]]
* [[eigenegeraete|Setup auf eigenen Geräten]]
* [[schulcomputer|Setup auf den Schulcomptern]]
==== Status- und Werkzeugleiste von PlatformIO (ganz unten) ====
{{lehrkraefte:blc:informatik:ffprg2-2021:twatch:platformio_status_und_werkzeugleiste.png}}
* main (aktueller git-Branch)
* ✓ Kompilieren (Source-Code übersetzen). Dazu muss ein Editor-Fenster mit C++-Code vom Projekt aktiv sein?
* -> Kompilieren und auf die Uhr laden
* 🔌 Ausgabe vom Seriellen Port anzeigen (damit können auch Daten an die Uhr gesendet werden, z.B. zur Eingabe vom WLAN-Passwort).
* Wählen Sie beim letzten Punkt die Version für Ihr System (sonst wird das Projekt 4x kompiliert...)
===== Abläufe zum Beitragen einer App =====
* Arbeiten Sie auf einem eigenen Branch, dessen Name mit Ihren Initialen endet, z.B. coolWatch_IB.
* Sie sollten Ihren Code mit der GPL lizenzieren (oder eine andere Open-Source Lizenz Ihrer Wahl).
* Die Informationen zu Bildern muss in einer Datei ''abouticon.txt'' vermerkt sein (Autoren, Lizenz, eventuell URLs).
* Wenn Sie einen GitHub-Account haben:
* pushen Sie Ihren Branch und machen Sie einen Pull-Request.
* Ich werde den Branch testen und in den main-Branch einbinden. Die weitere Entwicklung kann dort erfolgen.
* Wenn Sie keinen GitHub-Account haben:
* Schicken Sie mir eine Zip-Datei des Ordners, der Ihre App enthält. Ich werde die App einbauen, testen und dann in den main-Branch einbauen.
* Für die Weiterentwicklung wäre es praktisch, Sie hätten einen GitHub Account.
===== Links und Resourcen =====
Links:
* Library, die wir verwenden: https://github.com/Xinyuan-LilyGO/TTGO_TWatch_Library (naja, eigentlich ein Klon davon, mit aktuellerer lvgl-Library).
Weitere nennenswerte Projekte und Resourcen
* https://github.com/SpectralCascade/FancyWatchOS
* https://github.com/sharandac/My-TTGO-Watch
* https://twatchbuilder.com/
* https://www.freertos.org/index.html
Weitere TWatch kaufen, z.B. direkt beim Hersteller LilyGo auf [[https://www.aliexpress.com/item/1005002053650442.html|AliExpress]].
===== Minimales T-Watch Projekt =====
Am einfachsten importieren Sie folgendes git-Repository: https://github.com/techlabksbg/minimal_twatch.git
Dieses enthält auch weitere Branches mit Beispielen.
==== Manuelles Setup ====
* Neues PIO-Projekt
* Board: TTGO T-WATCH
* Framework: Arduino
* Ändern Sie die Datei platformio.ini wie folgt ab:
[env]
platform = espressif32
board = ttgo-t-watch
framework = arduino
monitor_speed = 115200
[env:ttgo-t-watch-linux]
upload_port = /dev/ttyUSB0
[env:ttgo-t-watch-windows]
upload_port = COM4
[env:ttgo-t-watch-macos]
; On the Mac, set the environment variable PLATFORMIO_UPLOAD_PORT
; to your device port, for example as follows:
;
; launchctl setenv PLATFORMIO_UPLOAD_PORT /dev/tty.usbserial-0233D4FC
* Und das main.cpp:
#include
void setup() {
Serial.begin(115000);
}
/**
* Open the serial monitor to see the output
*/
void loop() {
Serial.println("Hello world!");
delay(1000);
}
===== Neue App =====
* Neuen git-branch anlegen (z.B. motorapp).
* Im Ordner src/app einen neuen Ordner anlegen (z.B. motorapp), dort drin zwei neue Dateien, motorapp.h und motorapp.cpp
* Icon erstellen: 72x72 Pixel, mit Alpha-Channel, konvertieren auf https://lvgl.io/tools/imageconverter
* Text-Datei abouticon.txt erstellen, mit Informationen zu den Urhebern der Icons
* App Programmieren. Dazu den Code einer einfachen App kopieren und Anpassen (z.B. die motorApp oder die poweroff app).
* App in launcher.h eintragen.
* Testen
* Committen
* Wiederholen. Pullrequest an mich (mündlich oder auf GitHub).