Mehrere .ino Dateien in einem Sketch und Kompilieren und Fehlermeldungen

Hab das da schon gefunden:

und auch einige andere Beiträge dazu.
Aber eine Frage bleibt für mich offen.

Ich hab ein paar Sketches die alle aus mehreren *.ino bestehen, wenn ich eine davon öffne dann öffnen sich die anderen im Editor ja ebenfalls.

Wenn ich dann auf kompilieren klicke dann häufen sich etliche Fehlermeldungen in der Art "not declared in this scope".

Da kann ich ja mal so garnix mit anfangen. Was ist das?
Und werden beim hochladen dann alle drei *ino-Dateien zusammen kompiliert und dann hochgeladen? Oder muss ich das mit jeder Datei einzeln machen?

Wenn ich das richtig verstehe dann werden die zusammengefasst in einem Sketch, in alphabetischer Reihenfolge der Dateinamen. Richtig?

Das würde erklären wieso eine Datei arduino--bablabla und eineandere ardoini--blablabla heisst. Also mit O statt U. Weil dann wird die mit dem O vor der mit dem U eingefügt.
auch richtig?

Ist es egal welches Sketch ich in der IDE dann gerade im Tab angezeigt habe? Oder MUSS ich das kompilieren und hochladen mit der Datei machen die als erste in den Tabs dort geöffnet ist?

Ja hört sich blöd an, aber ich hab da gestern voll den Knoten im Hirn gehabt.
Fragen über Fragen.

Wo hast du die her?

Wen die andere .ino nicht zu dem Sketch gehören haben die nichts zu suchen im im dem Ordner wo dein Sketsch ist.
z.B
ordner
meine_uhr
beinhaltet meine_uhr.ino
wen du aber dazu kopierst
display.ino rein kopierst danach sind im ordner
meine_uhr Dateien
meine_uhr.ino
display .ino

also egal was du startest werden die beide Dateien in Tabs angezeigt, aber das die nicht zum gleichem gehören kommt zu Fehler.

So manche Sketch sind in Tabs zerlegt und müssen editiert werden, sonst kommt zum Fehler was aber gewollt ist

Hallo,
die Mail ist ja an mich adressiert.
Aber so richtig kann ich nichts damit anfangen. Bezieht es sich auf eines meiner Bücher. Und was genau haben Sie gemacht?
Gruß
Udo Brandes

Release 3.3, dort in dem Souce Zip sind die Ordner z.b. für DuinoCoin_Esp_Async_Master.
In dem Ordner sind dann fünf INO drin. Wenn ich eine davon öffne, dann öffnen sich auch die anderen in der IDE in weiteren Tabs.

Jede der INO-Dateien ist in einem eigenen Ordner bei mir auf dem Rechner den die IDE dann anlegt mit dem Hinweis das die Datei in einem eigenen gleichnamigen Ordner sein muss.
So habe ich also jede der INO-Dateien in einem gleichnamigen Ordner drin und wenn ich dann eine der INO öffne dann öffnen sich die anderen automatisch auch in Tabs in der IDE.

Beim kompilieren kommt es aber zu einer ganzen Reihe Fehlermeldungen wie ich oben beschrieb.

Jeder der Sketches ist in einem eigenen gleichnamigen Ordner den die IDE automatisch anlegt. Mit dem Hinweis das jede Ino in einem gleichnamigen Ordner sein müsse.

Okay, das hab ich jetzt verstanden.

Ja es kommt auch zu vielen Fehlern.
Ich habe auch angenommen das es daran liegt das alle INO-Dateien automatisch auch geöffnet werden.

Ja das habe ich auch gelesen, das soll wohl dazu dienen das man einzelne Codeteile einfacher durch neuere Releases updaten kann oder so. Wobei mir das umständlich erscheint wenn man die dann erst wieder editieren muss. Wenn man das nicht weiss, so wie ich, dann treibt einen das in den Wahnsinn.

Vermutlich habe ich das falsch zitiert.
Ich hatte die Überschrift gelesen "mehrere ino-dateien" und hatte da reingeschaut ob es da auch um so ein Problem geht wie bei mir. Ich wollte wohl etwas anderes zitieren, jetzt weiss ich aber auch nicht mehr was es war.

Ok also auf der Suche nach Lösung habe ich dann das Git von ricaun noch gefunden wo es auch um Duinocoin Mining geht mit einem ESP8266 als Master der die Shares vom Netzwerk entgegennimmt und an die Arduino als Slaves weiterleitet damit diese dann die Shares abarbeiten.

Das ist aber für euch an sich erstmal egal wofür das ganze gedacht ist.
Das Problem ist für mich jetzt das mehrere INO-Dateiene auch in dem Git von ricaun drin sind.

Dort sind z.b. in dem Ordner DuinoCoinI2S-main \ DuinoCoin_Arduino_Slave auch wieder drei INO-Dateien drin.

In dem Ordner DuinoCoin_Esp_Async_Master sind sogar sechs drin.

Ich blick da schlicht nicht durch.
Wenn ich eine einzelne INO habe dann komm ich damit klar. Aber mehrere....
Die Erklärungen in den Readme sind da auch alle sehr wenig hilfreich in dieser Hinsicht.

Du musst natürlich erst die zip entpacken. Und dann darfst Du in einem Odner nur die .ino Datei in der IDE öffnen, die so heißt wie der Ordner. Dann gibts auch keine Fehlermeldungen der IDE und sie verschiebt nichts. Die anderen .ino sind dann in den Tabs der IDE sichtbar. Die darfs Du aber niemals direkt mit der IDE öffnen.

Natürlich entpacke ich die erst.

Die INO-Dateien sind nicht jede in einem eigenen gleichnamigen Ordner nach dem entpacken.

Wenn ich mit der IDE eine der INO öffne (völlig egal welche) dann erscheint die Meldung das sie in einem gleichnamigen Ordner sein muss und fragt ob ein Ordner erstellt und die Datei entsprechend verschoben werden soll.

Wenn jede INO-Datei in einem eigenen gleichnamigen Ordner ist und ich dann eine der INO-Dateien öffne (auch egal welche) , dann werden die anderen ebenfalls geöffnet, jede in einem Tab.
IMMER.

Kannst du erklären was du damit meinst?
Woher soll ich wissen welche INO in welchrm Ordner ich bicht öffnen darf?
Egal welche ich öffne, die anderen öffnen sich dann jedesmal ebenfalls.

Du darfst immer nur die .ino mit der IDE öffnen, die genau so heißt wie der Ordner in dem sie sich befindet. Wichtig ist, dass die IDE nichts verschiebt und die Ordnerstruktur nicht durcheinander bringt. In jedem (Sketch)Ordner muss es EINE Datei geben, die den gleichen Namen trägt wie der Ordner.

In dem gezeigtem Link ist ja alles gezeigt


In dem Ordner ist eine Datei was so heißt wie der Ordner, der Rest sind die Tabs.
In den Tabs darf nicht vorkommen void stup und void loop.

Wie ich schrieb.
Die INO sind einzeln in den Repositories und wenn ich die runterlade habe ich einzelne INO-Dateien.

Und jetzt ist jede INO-Datei in einem gleichnamigen Ordner weil die IDE den Ordner automatisch angelegt und die INO in diesen gleichnamigen Ordner verschoben hat.

ABC.INO ist im Ordner ABC
123.INO ist im Ordner 123
usw.

Ich habe also mehrere Dateien und jetzt mehrere Ordner.

Egal welche der INO ich öffne, dann öffnen sich die anderen ebenfalls.

Ja richtig.
Drei INO-Dateien. Einzeln.

Und eas mach ich damit?
Alle drei zusammen auf den Arduino laden? Geht schlecht.
Oder wie?

Ja eine Datei heisst so wie der Ordner.
Und wenn ich diese INO öffne, dann öffnen sich die anderen zwei ONO ebenfalls.
Es darf ja nur eine einzige INO in einem Ordner sein.

Deshalb habe ich die anderen zwei aus dem Ordner entfernt und woanders hingeschoben.
Dann kann ich die erste INU nur mit vielen Fehlermeldungen öffnen.

Geht nicht :wink: wie du schon schreibst. Eine von denen reicht je nach dem wie du das machen willst

Du hast geschrieben, dass Du die .zip Datei aus deinem ersten Link heruntergeladen und entpackt hast. Dann hast Du eine Ordnerstruktur. Wenn Du dich da durchklickst, findest Du 2 Ordner, in denen sich mehrere .ino Dateien befinden. Das sine 2 unterschiedliche Sketche. In jedem dieser Ordner findest Du eine .ino Datei mit dem gleichen Namen wie der jeweilige Ordner. Die kannst Du mit der IDE öffnen. Da meckert die auch nicht und will nichts verschieben. Dann kannst Du den Sketch kompilieren.
Es sind insgesamt 2 Sketche, die Du auch af 2 verschiedene Arduinos laden musst.

NEIN!! Es können mehrere .ino-Dateien in einem Ordner sein. Die werden dann von der IDE vor dem Kompilieren zu einer Datei zusammengesetzt ( Davon siehst Du aber nichts ).
Wichtig ist nur das eine .ino wie der Ordner heißt, und Du auch nur diese eine .ino mit der IDE öffnest. Um die anderen kümmert sich dann die IDE selbst ( und Du siehst sie in Tabs ).
Wenn Du eine andere .ino mit der IDE öffnest, und die IDE verschiebt sie, ist der Sketchordner kaputt - dann kannst Du den Sketch nicht mehr kompilieren.

Nein.
Wie ich es schrieb.
Es sind einzelne Dateien in dem Zip das ich hatte.
Als ich eine davon öffnete hat die IDE angezeigt das sich die INO nicht in einem Ordner befindet und gefragt ob der Ordner angelegt und die INU dorthin verschoben werden soll.

Das hab ich bestätigt.

Aber die anderen zwei INO wurden dann einfach in Tabs ebenfalls geöffnet.

Also dachte ich mir ich öffne eine der anderen und die IDE erstellt mir den Ordner und fertig.
So war es auch.

Aber egal welche der INO ich öffne, die anderen werden ebenfalls geöffnet.

Welches .zip hast Du heruntergeladen? Ich habe das .zip aus deinem ersten Link im Post #5 heruntergeladen und es enthält eine Ordnerstruktur. In 2 Unterordnern befinden sich mehrere .ino Dateien. So hattest Du es auch beschrieben:

Wenn Du immer wieder was anderes schreibst, können wir nicht helfen.

Hmm :thinking:
Das widerspricht sich?
Oder ist mein Brett vorm Kopf tatsächlich so dick?

Zwei Sketche auf zwei verschiedene Arduinos kann ich in dirsem Fall absolut ausschliessen weil in dieser Anwendung mehrere Arduinos die identische Aufgabe erfüllen. Gleichzeitig.

Der Master, der 8266, teilt jedem Arduino diese Arbeit zu. Während einer den Job nr. 434662 erledigt, macht ein anderer den Job 764335 und noch ein weiterer den Job nr. 556211. Jeder Job wird auf die gleiche Weise mit derselben Software ausgeführt.

Daher hat jeder der Arduinos dieselbe Software.

Vielleicht hilft das zum Verständnis?