Hallo zusammen ich bin am Ende meiner Kunst ich bekomme die den Git von Franky nicht mehr mit Visaul Studio Code compiliert. Der Compiler läuft in eine Endlosschleife mit Warnungen und Fehlermeldungen durch. Er läßt sich nur mit ctrl-c abbrechen.
Hallo Charly, eine Fehlermeldung wäre hilfreich. Vor ca. 1Jahr hatte ich ebenfalls so ein Verhalten. Der Grund war eine Versionsänderung in der platform expressif32. Ich habe diese in der platformi .ini auf eine ältere Version festgenagelt. platform = espressif32@3.5.0 Vielleicht ist das schon die Lösung.
In file included from src/InfoPage.cpp:1:0: include/InfoPage.h:10:7: warning: direct base 'Z21Observer' inaccessible in 'InfoPage' due to ambiguity class InfoPage: public Page, public Z21Observer { ^ src/Franky.cpp: In function 'void wsReceived(String)': src/Franky.cpp:155:7: warning: unused variable 'n' [-Wunused-variable] int n=split(received, '|', elements); ^ src/Loco.cpp: In constructor 'Loco::Loco(int)': src/Loco.cpp:124:43: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] fct[i] = new Locofunction(i, i, "", ""); ^ src/Loco.cpp:124:43: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] Compiling .pio\build\m5stack-core-esp32\src\LocoPage.cpp.o Compiling .pio\build\m5stack-core-esp32\src\Locofunction.cpp.o Compiling .pio\build\m5stack-core-esp32\src\Node.cpp.o Compiling .pio\build\m5stack-core-esp32\src\Numberbox.cpp.o src/Locofunction.cpp: In constructor 'Locofunction::Locofunction(int, int, char*, char*)': src/Locofunction.cpp:6:119: warning: narrowing conversion of 'index' from 'int' to 'byte {aka unsigned char}' inside { } [-Wnarrowing] Locofunction::Locofunction(int index, int mappedTo, char* shortName, char* longName) : index{index}, mappedTo{mappedTo} /*, longName{longName}*/ { ^ src/Locofunction.cpp:6:119: warning: narrowing conversion of 'mappedTo' from 'int' to 'byte {aka unsigned char}' inside { } [-Wnarrowing] src/Node.cpp: In constructor 'Node::Node(int, int, int)': src/Node.cpp:24:36: warning: deleting object of polymorphic class type 'Node' which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor] delete node[MAX_ACCESSORIES - 1]; ^ src/Node.cpp: In constructor 'Node::Node(String, int, int)': src/Node.cpp:43:36: warning: deleting object of polymorphic class type 'Node' which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor] delete node[MAX_ACCESSORIES - 1]; ^ Compiling .pio\build\m5stack-core-esp32\src\Page.cpp.o Compiling .pio\build\m5stack-core-esp32\src\Pref.cpp.o In file included from src/LocoPage.cpp:1:0: include/LocoPage.h:12:7: warning: direct base 'Z21Observer' inaccessible in 'LocoPage' due to ambiguity class LocoPage: public Page, public Z21Observer { ^ src/LocoPage.cpp: In function 'int fctIndexToSoftkeyIndex(int)': src/LocoPage.cpp:44:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ In file included from include/LocoPage.h:9:0, from src/LocoPage.cpp:1: include/Loco.h: In member function 'Locofunction* Loco::getFct(int)': include/Loco.h:28:93: warning: control reaches end of non-void function [-Wreturn-type] Locofunction* getFct(int index) { if (index>=0 && index< MaxFct + 1) return fct[index]; } ^ Compiling .pio\build\m5stack-core-esp32\src\ProgPage.cpp.o Compiling .pio\build\m5stack-core-esp32\src\Route.cpp.o Compiling .pio\build\m5stack-core-esp32\src\Signal.cpp.o In file included from src/Page.cpp:2:0: include/LocoPage.h:12:7: warning: direct base 'Z21Observer' inaccessible in 'LocoPage' due to ambiguity class LocoPage: public Page, public Z21Observer { ^ In file included from src/Page.cpp:3:0: include/ProgPage.h:9:7: warning: direct base 'Z21Observer' inaccessible in 'ProgPage' due to ambiguity class ProgPage: public Page, public Z21Observer { ^ In file included from src/Page.cpp:4:0: include/InfoPage.h:10:7: warning: direct base 'Z21Observer' inaccessible in 'InfoPage' due to ambiguity class InfoPage: public Page, public Z21Observer { ^ In file included from src/Page.cpp:5:0: include/TrackPage.h:22:7: warning: direct base 'Z21Observer' inaccessible in 'TrackPage' due to ambiguity class TrackPage: public Page, public Z21Observer { ^ src/Route.cpp:87:22: fatal error: Topology.h: No such file or directory
compilation terminated. *** [.pio\build\m5stack-core-esp32\src\Route.cpp.o] Error 1 In file included from src/ProgPage.cpp:1:0: include/ProgPage.h:9:7: warning: direct base 'Z21Observer' inaccessible in 'ProgPage' due to ambiguity class ProgPage: public Page, public Z21Observer { ^ In file included from src/ProgPage.cpp:2:0: include/LocoPage.h:12:7: warning: direct base 'Z21Observer' inaccessible in 'LocoPage' due to ambiguity class LocoPage: public Page, public Z21Observer { ^
Hallo, über weite Wege (Australien) und näher (Italien) sind ein M5Stack Faces und der Encoder in meine Werkstatt gekommen. Habe ohne Probleme Franky 2 installiert, ohne Fehlermeldung . Aber - nach dem Start und dem Eintragen der Verbindungsdaten (über 'franky' wlan) läuft das Programm nicht weiter, es bleibt bei dem Punkt 3 hängen. Wenn ich dann die drei Softkeys durchtaste, kommt das unten gezeigte Menü/Displaybild zustande. Eine Besonderheit ist, dass ich den WLAN-Adapter von Peter Stärz für Selectrix verwende, an der FCC von Doehler/Haass. Interessant ist, dass mit der Konfiguration (siehe Displaybild) die Loks gesteuert werden können. Aber - kein Zugriff auf die weiteren Programm-Teile (System/Gleisbild), die Frank sehr gut programmiert hat. Und dann, die Überraschung: ganz vereinzelt erfolgt ein Weiterschalten zum normalen Display des "Franky" - inklusive der Möglichkeit, über PC den Webserver aufzurufen. Warum das funktioniert - keine Ahnung. Habt Ihr eine Lösung? Immerhin - "Franky" hat die Größe, auch die Selectrix-Gruppe zu unterstützen. Auf Eure Kommentare freut sich Hermann-Josef
Angefügte Bilder:
Sie haben nicht die nötigen Rechte, um die angehängten Bilder zu sehen
Hallo Hermann-Josef, es findet noch keine Kommunikation mit der Zentrale statt. Da die/das GUI aber schon gestartet ist, sieht es für dich nur so aus, als ob du schon steuern kannst, da Bildelemente einfach in den Blauen Bildschirm geschrieben werden. Ich habe weder mit der FCC noch mit dem Stärtz-Adapter Erfahrung. Da der Stärtz-Adapter aber mit der ROCO WLAN-Maus funktionieren soll, könnte es auch mit dem Franky (er spricht nur Z21) funktionieren. Hast du schon mal eine Verbindung mit der Z21-App herstellen können? Wenn ja, sollten diese Einstellungen auch mit dem Franky funktionieren. VG Jo
Hallo Jo, das interessante ist - ich kann bei dem Displaybild steuern - hatte ich nicht so deutlich geschrieben. Alle Funktionen laufen - aber keine Verbindung per PC auf den Franky. Ich probiere weiter. Herr Stärz hat schon geantwortet - er hat die Befehle für die WLAN-Maus implementiert, weiter nicht. Z21-App läuft bei mir mit der Doehler-Haass-Zentrale und Stärz-WLAN-Adapter. VG Hermann-Josef
Hallo Hermann-Josef, habe ich dich richtig verstanden, du kannst fahren, sowie Funktionen schalten und die Lok reagiert auch so? Dann ist aber ein anderes Bild auf dem Display, oder? VG Jo
Hallo Jo, ja, bei dem Displaybild, das ich hochgeladen habe, kann ich fahren und Funktionen schalten. Das Bild kann man durch das Tasten aller Softkeys hervorrufen - wenn der "Anmeldebildschirm" zum Einstellen der WLAN-Netzwerkdaten (mit der IP 192.168.4.1) nach dem Einschalten erscheint. D.h. das Netzwerk funktionierte. Das normale Display-Bild erschien aber nur sporadisch. Aber: jetzt wird es interessant. In der Zwischenzeit habe ich herausbekommen, dass nach Einschalten von Franky und danach Anschalten der Kombination WLAN-Adapter und FCC-Doehler-Haass immer das normale Display-Bild kommt - und alles so funktioniert wie von Frank programmiert - mit den Optionen zum Schalten Softkeys nach links (C-A: Einstellungen) und oben (A-B: Gleisbild). Ebenso kann ich dann über den PC das vom WLAN Acces-Point aufgebaute Netzwerk erreichen und die Web-Server-Optionen aufrufen. Wahrscheinlich ist die initiale Abstimmung zwischen WLAN-Access-Point (WLAN‑SX Z von Firma Stärz) und Franky das Problem. Aber bei WLAN-Programmierung habe ich keine Ahnung. Von Firma Stärz kam die Info, dass bei der Roco-Maus alles funktioniert. Für alle, die noch bei dem Problem mitdenken: Web-Optionen von Franky: Nur nach Aufrufen des "System"-Tabs stürzt die gesamte Kombination immer wieder ab. Und - die Android-Apps von Stärz und von Roco [Z21 funktionieren beide mit der FCC und dem WLAN-Adapter. Hätte nicht gedacht, dass es überhaupt funktioniert. Bin gespannt, ob es eine Lösung für die Sache gibt. VG Hermann-Josef
Hallo Hermann-Josef, das ist doch schon mal gut. Mich wundert dabei aber, dass das Anmeldebild (blau) noch zu sehen ist. Meine Software ist nicht mehr im Originalzustand. Ich schalte z.Bsp. bei erfolgreicher Anmeldung den AP-Mode des ESP aus. VG Jo
Hallo Jo, ja - irgendwie merkwürdig dass nicht direkt das richtige Displaybild kommt - wie auf dem Bild hier. Bild entfernt (keine Rechte) Dies Bild erscheint eben nur, wenn Franky angeschaltet ist und man dann schnell den WLAN-Adapter einsteckt oder die Stromversorgung der gesamten Zentrale einschaltet. Ist die Zentrale mit WLAN-Adapter angeschaltet und Franky wird dann gestartet, gibt es mein "Chaosbild" (#306) und dann geht ja auch das Netzwerk nicht. Ist wohl ein Problem des Aushandelns zwischen Accesspoint und Franky. Vielleicht wäre es am einfachsten, Franky die IP-Adresse einzuprogrammieren, damit er immer sofort das WLAN erkennt? Da fehlen mir allerdings die Softwarekenntnisse. Aber ich würde gern verstehen, was da passiert. Werde mich mit der jetzigen "Einschalt"-Version im nächsten Schritt mit den Loklisten beschäftigen. VG Hermann-Josef
Hallo Jo, hier zwei aktuelle Displaybilder (Start und Bildschirm links Softkey C>A). Da komme ich hin, wenn Franky eingeschaltet ist und während des Bootens die Stromversorgung der Zentrale eingeschaltet wird. Die Software ist 1.3.3. und das WLAN-Moduls hat einen DHCP-Server. VG Hermann-Josef Bild entfernt (keine Rechte)Bild entfernt (keine Rechte)
Hallo Hermann-Josef, das sieht ja gut aus. So kenne ich die Startseite auch. Das Bild aus #314 kommt mir zwar auch bekannt vor, gibt es bei mir aber nicht mehr. Ich habe bei mir alle von mir nicht benötigten Seiten entfernt. Es gibt nur noch Fahren, Adressauswahl und Info. Für das Startproblem könntest du mal ein delay nach der Webserver::config im Setup() der main.cpp probieren.
Hallo Jo, Dein Vorschlag mit dem delay für den Webserver war leider nicht erfolgreich. Ich habe am Wochenende das Netzwerk, in dem Franky läuft, geloggt. Es gibt anscheinend zwischen der AccessPoint Funktion des WLAN-Adapters und des Franky Probleme. Das Startnetz von Franky (192.168.4.1) funkt dem AP (192.168.xxx.xxx) dazwischen, z.T. läuft der Netzwerkverkehr unter der 192.168.4.xxx, obwohl Franky die ip des AP meldet (wie rechtes Bild vom #316). Ziemliche Überraschung. An dem AP/WLAN-Adapter kann man nur die Adresse und Password einstellen. D.h. man muss Franky entsprechend programmieren. Wie hast Du die AP-Funktion von Franky abgeschaltet #313? Viele Grüße Hermann-Josef
Hallo Hermann-Josef in der Webserver.cpp (bei mir ab Zeile 176)
1 2 3 4 5
// nach Verbindungsaufbau nur AP-Mode abschalten if (wifiMulti.run() == WL_CONNECTED) { WiFi.mode(WIFI_MODE_STA); // STA = Station Mode Webserver::wlConnected = true; }
vor
1 2 3
MDNS.begin((HOST_NAME + index).c_str()); // MDNS.addService("http", "tcp", 80); // wohl nur für OTA-Update
in der main.cpp habe ich jetzt noch folgendes eingefügt:
1 2 3
delay(2000); while (!Webserver::wlConnected){};
damit verhindere ich jetzt den Start der GUI, wenn keine WLAN-Verbindung hergestellt wurde => kein "Chaosbild" Falls die Verbindung hergestellt wurde, wird auf dem Startbild die IP des Frankys angezeigt. VG Jo
Hallo Jo, habe Deine Vorschläge eingetragen - bekomme aber beim Compilieren eine Fehlermeldung - siehe Bild. Wo muss denn "wlConnected" eingetragen werden? VG Hermann-JosefBild entfernt (keine Rechte)
sieht interessant aus, vor allem weil er dasselbe Gehäuse verwendet wie ich. Für mich kommen die kommerziellen Lösungen meistens nicht in Frage weil ich die ganzen Features mit Gleisbild, Weichenstraßen, Lokbilder, etc. einfach nicht brauche. Dafür fehlt mir bei allen kauf Lösungen ein Ordentlicher MU Betrieb.
freundliche Grüße Klaus
Wer einen Rechtschreibfehler findet, darf ihn behalten
Hallo, ich hatte mich ja seit Post #322 noch nicht wieder gemeldet. Bei meinem "Franky" hatte ich das Problem, dass mit dem WLAN-SX-Adapter von Firma Stärz nicht das richtige Displaybild erschien - nur mit Einschalten der Zentrale/WLAN-Adapter nach dem Einschalten von Franky war der richtige Bildschirm von Franky zu sehen (#310). Jo hatte verschiedene Ideen, woran es liegen könnte. Das Timing des WLAN-Adapters scheint so zu sein, dass mit der originalen Webserver.cpp immer wieder der Anmelde/Dateneintrags-Bildschirm (IP 192.168.4.1) eingeschaltet wird. Jetzt hat Jo die Webserver.cpp so geändert, dass ein Wechsel zum Anmeldebildschirm von Franky nur dann erfolgt, wenn kein SSID und Password für die Zentrale/WLAN eingetragen sind. Damit wechselt Franky jetzt nach dem einmaligen Eintrag der Daten direkt in das "richtige" Display zum Steuern und Schalten. Jo - vielen Dank dafür!!! Damit läuft Franky jetzt an einer SELECTRIX-Zentrale (Doehler-Haass FCC) - als Funk-Alternative zur stationären Trix-1 Mobile Station. Also - das Projekt ist nach wie vor ausgezeichnet. Ich habe mal nachgesehen, M5Stack-Faces-Kits und auch die Encoder sind vereinzelt noch verfügbar. Bei Interesse per PN fragen. Vielen Dank für die Unterstützung - besonders Dir, Jo, hoffentlich läuft das Projekt noch weiter. Hermann-Josef