====== 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).