Arduino IDE 2.3.8 Feedback

Hi zusammen,

habe vor paar Tagen die neuste IDE 2.3.8 auf meinem Arbeits-PC installiert. Sie läuft da Offline eigentlich problemlos.

(Falls es interessiert wie ich das gemacht habe. Ich habe die IDE auf einem anderen PC der Online ist installiert und dann den Ordner Arduino15 kopiert und auf die Offline Installation
eingefügt. die Datei .arduino*** habe ich nicht kopiert. Dachte da sind ev. besondere Daten drin für Online Betrieb. Also erstmal so probieren, hat geklappt.)

Nur vermisse ich einen Schalter der es ermöglicht die IDE Offline zu betreiben. Also Offline funzt zwar, jedoch dauert es zumindest beim jeweiligen ersten Aufruf bis die IDE merkt, das kein Netz vorhanden ist, einige Zeit.

Der Schalter für Externen Editor fehlt leider auch. Aber ob das jetzt schlimm ist, kann ich noch nicht sagen.

Aber etwas tut die IDE, was die alte IDE nicht getan hat. Sie durchwühlt die in dem jeweiligen Projekt - Ordner befindlichen anderen Ordner. Bei meinen vielen Projekten, hat es sich herauskristallisiert, in dem jeweiligen Projekt Ordner einen Ressourcen Ordner, so wie einen Batch Ordner mit unter zubringen.

In dem Batch Ordner habe ich eine Batch Datei, die aus dem externen Editor die IDE startet und an die IDE den Projekt Namen übergibt. Die IDE findet dann die Projekt Datei in der dann nur #Include Projektname.h und eine andere #include name.h Datei als Projektname.INO gespeichert ist. Diese benutzt die IDE dann um die vielen einzelnen *.h Dateien zu kompilieren und zu flashen.

Das funktioniert einwandfrei. Aber jetzt in der neuen IDE wühlt die IDE auch in dem Recource Ordner und findet natürlich Dateien, die gar nicht zu dem Projekt dazu gehören.

Es sind meist Muster oder Schnipsel, die ich benötigt habe oder noch weiter nutzen will bei Erweiterungen.

Dann gibt die IDE Fehlermeldungen raus und stoppt die weitere Ausführung. Dadurch bin ich gezwungen, den Recourcen Ordner aus dem jeweiligen Projekt heraus zunehmen und in einen extra Ordner zupacken in dem ich dann die jeweiligen Recourcen Ordner mit Projekt bezogenen Namen neu unterbringen muss.

Ev. wird das ja noch geändert. Ansonsten alles bestens. Mein Windows ist die Version 10 mit 64bit und ohne Anschluss ans Internet. :slightly_smiling_face:

Ich habe Ihr Thema aus einer englischsprachigen Kategorie in die Kategorie International > Deutsch des Forums verschoben @bentuck.

Bitte posten Sie zukünftig jeweils in der Kategorie, die der von Ihnen verwendeten Sprache entspricht. Dies ist ein wesentlicher Teil des verantwortungsvollen Umgangs im Forum, wie es auch in der Anleitung "Wie man dieses Forum benutzt" erläutert wird. Diese Anleitung beinhaltet viele weitere nützliche Informationen. Bitte unbedingt lesen!

Vielen Dank im Voraus für Ihre Mitarbeit!

Hallo,

ich habe folgendes in einer VMware probiert mit Win10 drin.
In dem Win10 die .zip Version der IDE 2 entpackt.
Von meinem Rechner von der installierten IDE2 den Arduino15 Ordner an gleicher Stelle in Win10 kopiert. Der VMware den Netzwerkstecker gezogen und die IDE gestartet. Es kamen paar Fehlermeldungen wegen fehlendem Netzwerk aber ansonsten konnte ich mit der IDE alles machen wie sonst. Abgesehen von Dingen die Internet benötigen.

my_xy_projekt hat im Forum eine andere umfangreichere Offline Anleitung geschrieben.
Link

Nein, das ist kein Fehler, sondern Absicht.

Die IDE überwacht die geöffneten Dateien und wenn Änderungen vorgenommen und gespeichert wurden, ist das auch in der IDE sofort zu sehen.
Ein externer Editor mit der Autosave-Funktion erspart Dir das ständige speichern.

Was ich nicht verstanden habe:

Kannst Du mir mal bitte ein Beispiel geben, was da wie ausgelöst wird?

Hi - ich kann es Dir beschreiben. Normaler Weise hatte ich in jedem Projektordner einen Ordner

Namens Resources. Aber der Name scheint egal. Die IDE wühlt in dem Ordner herum und sucht anscheinend nach Dateien mit der Endung *.h. Da sind natürlich dann unpassende Dateien. Aus denen kopiere ich nur Schnipsel, die haben mit dem Projekt nichts zutun.

Dadurch wird natürlich ein Müllprogramm produziert und die IDE meldet Fehler und meldet, das die Übertragung abgebrochen wurde.

Ich habe mir jetzt selbst geholfen und einen Ordner extra außerhalb des Projektordners angelegt. Ist etwas mehr Arbeit - aber funzt.

Das die IDE offline geschaltet werden kann finde ich wichtiger, kann aber auch damit leben.

lg Roland

Ich versteh das Problem nicht und kann es auch nicht nachvollziehen.

Es gibt im ordner ~/Arduino einen Sketchordner a
Im Sketchordner a gibt es einen Sketch à.ino und einen Ordner b im Ordner b kann ich reinkippen, was ich will, dass stört das compilieren nicht.

Ich kann auch im Ordner a irgendeine xyz.txt reinkopieren, die wird nicht einmal geöffnet.
Darum brauche ich eine aussagekräftige Beschreibung, um wenigstens zu wissen, was da bei Dir passiert.
Ein "geht nicht" ist einfach nichts womit irgendwas anfangen kann.

Wie Du die CLI und IDE offline bekommst, habe ich vorhin im FYI beschrieben.

Hallo,

so richtig verstehe ich das Problem auch noch nicht. Du hast eine Batchdatei die irgendwas macht. Was macht sie denn? Diese Datei funktioniert mit der IDE 2 nicht mehr. Korrekt? Beim compilieren wird nur das verwendet was inkludiert wurde. Ich habe im sketchbook\libraries Ordner meine Libs liegen. Darin sind meistens auch Backup Ordner, damit gibt es keine Probleme. Üblich ist der src Ordner der verwendet wird, worin .h und .cpp liegen. Wenn die Struktur der Lib tiefer geht, muss man den Pfad angeben. Sonst wird alles andere nicht selbst gefunden.
Bspw. habe ich
… sketchbook\libraries\AVRxDB_TCAn\src\include
worin wieder .h Dateien liegen.
Diese kennt aber nur die "Haupt" Headerdatei meiner Lib, die in src liegt.
Und dann steht noch passendes in der jeweiligen library.properties.
Das wäre Standard.

Du hast demzufolge anscheinend nichts eigenes im sketchbook\libraries Ordner liegen und alles in den Projekt Ordnern?
Das wird von der IDE normalweise nicht gefunden. Egal ob IDE1 oder IDE2.
Also muss deine Batchdatei irgendwelche Pfade ändern oder ähnliches.
Tja, das kennst nur du.
Ich weiß im Moment nicht wie man dir helfen könnte.

Hallo Doc,

die Batch Datei startet meinen externen JFE Editor und die IDE und übergibt den Pfad für das Projekt. Dann wird noch ein [Strg]+[U] generiert und die IDE legt los.

Während der Eingabe in den externen Editor verliert die IDE zwar den Fokus is ja klar und beim nächsten Take ließt mein auch aus der Batch Datei gestartetes StartIDE Prog den an gelegten Schlüssel aus und erfährt so wie die Hantel der Arduino IDE ist und setzt damit dann die IDE wieder in den Vordergrund damit Sie wieder den Fokus hat. Dann kommen wieder die beiden generierten Tasten und der Flash geht los, wenn keine Fehler im Text sind. Das klappt prima.

Damit bin ich bestens zufrieden.

Was ich meinte war, das die IDE aus dem im Projekt Ordner angelegten Ordner auch Dateien sucht, die sie einladen möchte. Das sind natürlich .cpp und .h Dateien.

Diese Dateien haben aber gar nichts mit Projekt selbst zu tun. Ich benutze die nur als Muster.

Aber wie gesagt, habe jetzt in meinem Arduino Prog Ordner den Ordner NANO und NANO Every drin und wenn ich noch andere Prozessoren benutze, kommen die auch darein mit entsprechenden Ordner Namen.

In dem jeweiligen Hauptordner habe ich einen Ordner Name_Ressourse angelegt. Das ist zwar etwas umständlich aber so habe ich mir erst mal geholfen.

Betrachten die Entwickler der IDE das Teil als absolut unantastbar und nicht mehr Verbesserungsbedürftig und wollen von aktiven Nutzen gar nichts wissen? Habe das nur angemerkt - kann damit leben.:slightly_smiling_face:

lg Roland

Woher soll die IDE wissen, was bei Dir dazu gehört und was nicht?
Nimm doch einfach für die Muster andere Dateiendungen, z.B. .hm und .cpm

Gruß Tommy

Jau , die IDE muss es nicht wissen, die soll nur das einladen was in den Include Anweisungen

drin steht - mehr nicht. Diese Suchlogig ist für mich unverständlich.

Hallo @bentuck

Dies ist nur dann zu erwarten, wenn sich die Dateien in einem Unterordner namens src befinden:

https://arduino.github.io/arduino-cli/latest/sketch-specification/#src-subfolder

SomeSketch/
├── Resources/
│   ├── SomeHeader.h
│   └── SomeSource.cpp  <-- Dies ist nicht kompiliert.
└── SomeSketch.ino
SomeSketch/
├── SomeSketch.ino
└── src/
    └── Resources/
        ├── SomeHeader.h
        └── SomeSource.cpp  <-- Dies ist kompiliert

Es empfiehlt sich, zusätzliche Dateien in einem Unterordner namens data abzulegen:

https://arduino.github.io/arduino-cli/latest/sketch-specification/#data-subfolder

SomeSketch/
├── SomeSketch.ino
└── data/
    └── Resources/
        ├── SomeHeader.h
        └── SomeSource.cpp  <-- Dies ist nicht kompiliert.

Hi - ich habe das eben noch mal ausprobiert - ich hänge hier mal 2 Bilder von dem Desktop rein,

damit man sehen kann wie die Ordner liegen. Die IDE wühlt in dem Resouces Ordner nach verwertbaren Datein, die nicht in den Include Anweisungen drin stehen, warum?

lg Roland

Das tut es nicht.

Hallo,

du schreibst viel, leider verstehe ich nur die Hälfte. Kannst du nicht einen Verzeichnisbaum mit tree /f darstellen? Mit der Konsole solltest du doch umgehen können. Oder die Batch zeigen. Oder ...?

Das war eigentlich der Wink mit dem Zaunpfahl. :wink:

Tja, das kennst nur du.

Hallo - gerne beantworte ich Eure Fragen. Relatief viel schreiben tue ich ja nur um Infos zuliefern.
Aber einen Baum Zeichen finde ich etwas übertrieben. Ist zwar ganz Hübsch - aber einen Pfad kann ich in ganz normalen Buchstaben hin tippen. Aber ganz ehrlich, der Pfad hat mit dem Problem rein gar nichts zutun.

Die IDE ließt in Ordnern nach Dateien die ihr gar nicht durch die Includes angewiesen sind.

In der .ino Datei stehen nur 2 Include Anweisungen drin. In diesen Include Dateien sind weitere Include Dateien drin, die zu dem Projekt gehören. Das ist bei jedem Projekt das gleiche Spiel.

Aber hier der Pfad->H:\PROGEN\Prog\Projekte_Arduino\Nano\MidiD19z\MidiD19z.ino

Das hat mit der alten IDE Jahre lang funktioniert.

lg Roland

Jau - genau dafür sind doch die Include Anweisungen, seit je her bei C so.

Ja, wenn die Macher der IDE 2.x es anders wollen, dann musst Du halt einen anderen Weg gehen.
Ich verwende die 2.x nicht, weil es da keine echte portable IDE gibt, sondern einen Satz von 1.8.19 portable mit verschiedenen Core-Versionen drin.

Gruß Tommy

Von Portable bin ich weg. Einmal hatte ich vergessen zu Sichern und der Stick war von heute auf morgen im Eimer. Zum Glück konnte ich die wichtigsten Dateien noch retten, Die IDE hatte sie in einen temporären Ordner zwischen gespeichert.

lg Roland

Da ist aber nicht die IDE schuld. Kein Backup --> kein Mitleid.
Mein Daten werden täglich automatisch auf ein NAS gesichert.

Gruß Tommy

ist ungleich

Du kannst portable auf auf deiner normalen Festplatte haben.

Das macht halt das Arduino Framework, um es den Anwendern leichter zu machen. Da wird im Hintergrund ganz viel geladen.

Das Problem ist in deinem Kopf: Mach doch einfach ein Verzeichnis mit deinem Programm und daneben (nicht darunter) ein Verzeichnis mit dem Programmnamen_Resources. Und schon passiert nichts mehr.