IDE (arduino.exe) Startparameter?

Hallo,
ist es möglich beim Start der IDE Parameter zu übergeben welche das Board und die Schnittstelle vorwählen?

Ich habe einen UNO an COM3 und einen NANO an COM4 laufen.
Wenn ich die IDE jetzt starte wird immer mit den Einstellungen der zuletzt beendeten IDE gestartet.
Kann ich der arduino.exe beim Aufruf Parameter mitgeben welche dann gezielt zB den NANO und COM4 vorwählen?

IDE-Voreintsellungen sind in der Datei "preferences.txt" enthalten.

Die COM Einstellungen sind auch in der preferences.txt enthalten, hilft aber da nicht wirklich viel.

Entweder 2 IDE (Arduino IDE muss nicht installiert sein) anlegen, oder IDE mittels Batch starten. Wobei hier auch shcnell z fehlverhalten kommen kann, wennn die IDE bereits läuft.

Batch 1 Überschreibe preferences.txt für Nano Starte IDE

Batch 2 Überschreibe preferences.txt für Nano Starte IDE

Danke,
die preferences.txt habe ich gefunden.
Dort steht neben vielen anderen Angaben u.A. das zuletzt verwendete Board und die zuletzt verwendete Schnittstelle drin.

Man müsste eine preferences_1.txt und eine preferences_2.txt anlegen können und der IDE beim Start sagen können welche verwendet werden soll. :0

Was spricht gegen 2 installierte IDEs? Libaries Ordner kannst du mit beiden den identischen nehmen.

sschultewolter: Was spricht gegen 2 installierte IDEs? Libaries Ordner kannst du mit beiden den identischen nehmen.

Ich sehe bei der Möglichkeit erst mal keinen Vorteil. Beide Installationen werden vermutlich den gleichen Ordner für die Ablage der "preferences.txt" verwenden. - c:\Users\user\AppData\Roaming\Arduino\preferences.txt

Ich kann auch jetzt schon die IDE zwei mal öffen und dann in jedem Fenster ein anderes Board an einer anderen Schnittstelle bearbeiten. Das läuft problemlos parallel. Ich kann auch den Seriellen Monitor zwei mal öffnen und habe dort in jedem Fenster den zugehörigen Arduino. Nur muss ich in dem zweiten Fenster dann immer erst Bordtyp und zugehörige Schnittstelle neu einstellen.

Hintergrund der Frage ist folgender: Ich möchte zwischen zwei Arduinos über Funk (RF433 Module) kommunizieren. Bis das ganze läuft werde ich wohl öfter zwischen Sende- und Empfangsseite wechseln müssen um die Sketche anzupassen. Ich habe also immer zwei Sketche geöffnet um das Ganze einfacher zu gestalten und kann mit einem Mausklick in das andere Fenster zwischen Änderung auf der Senderseite und Änderung auf der Empfängerseite umschalten. Nur der Start des zweiten Fensters ist halt etwas umständlich weil dort immer erst die falschen Angaben drin stehen.

Hm, mal eine ganz verquere Idee... so von hinten durch die Brust ins Auge... :) Wenn du dir eine virtuelle Maschine installierst, auf der du dann die 2. IDE laufen lässt? :D Den USB Port kannst du vom Host System zur VM durchrouten, so das die serielle Kommunikation funzt. Unter Windows 7 kannst du in der Prof., Enterprise und Ultimate Version sogar auf dem Host Programmverknüpfungen auf die VM wie ein ganz normales Programm starten. Der dazu notwendige Start der VM geschieht automatisch 8)

Gruß Gerald

hi,

natüerlich wäre es schön, wenn man die preferences.txt auswählen könnte. mich hat allerdings mehr gestört, daß man die beiden geöffneten IDEs schwer auf den ersten blick unterscheiden konnte. deshalb hab' ich den arduino-ordner kopiert und bei einem das skin verändert, sodaß ich jetzt eine normale und eine schwarze IDE habe. das umstellen beim beginnen ist schon ok für mich.

und die möglichkeit mit 2 batches hast Du ja, wenn's denn sein soll.

gruß stefan

Hallo und danke für eure Ideen. :)

Den Vorschlag mit der VM finde ich super, darauf muss man erst mal kommen!! Ich habe sogar XP in einer VM laufen, könnte die also ohne großen Aufwand nutzen, aber das erscheint mir für mein Problemchen etwas übertrieben.

Die Batchlösung würde ich so verstehen, dass ich einmal eine preferences_nano.txt nach preferences.txt kopiere oder zum anderen eine preferences_uno.txt nach preferences.txt kopiere und dann aus dem batch heraus eine IDE-Sitzung starte. War das so gedacht? Dabei würden mir aber immer wieder Änderungen verloren gehen welche die IDE in preferences.txt beim Beenden abspeichert. z.B. Fenstergröße, Fensterposition, Baudrate des Serialmonitor ect.

Das Problem mit der Unterscheidung der beiden Sitzungen habe ich auch, das stört mich aber weniger.

Ja, die Einstellungen, welche du während der Sitztung machst, gehen dir verloren. Ein Problem? Eigentlich nein. Da die Baudrate bei beiden systemen identisch sein muss und die IDE sowieso nicht den zu letzt genutzten Sketch aufruft.

Ansich hast du es verstanden, wie ich es mit der Batch meine. Mit dem cmdBatch wird ein zielorientertes editieren nicht möglich sein. Wenn also Programmierkenntnisse in C# vorhanden sind, könnte man nach der entsprechenden Zeile suchen und nur die Werte ersetzen. Da steig ich aber aus, da meine Kenntnisse über den blutigen Anfänger nicht hinausragen.

Ich belasse es jetzt wie es ist und ändere halt manuell nach Start der zweiten Session den Boardtyp und die Schnittstelle. Erfreulicherweise läuft die Kommunikation zwischen Sender und Empfänger inzwischen, sodass ich diesen Sonderfall nicht mehr so oft brauche wie anfangs gedacht.

sschultewolter: Mit dem cmdBatch wird ein zielorientertes editieren nicht möglich sein.

Ich hab hier sowas laufen, ohne C, als reine cmd Datei. Datei A wird gelesen, über suchen und ersetzen werden Teile ausgetauscht und das Ergebnis wird in Datei B geschrieben.

Hallo, wie kann ich die Startparameter ändern, so dass beim start der arduino.exe eine leere Seite erschein und nicht der letzte sketch?=

Ich verwende arduino.exe Version 1.8.7 unter Windows 7

4711engel: Hallo, wie kann ich die Startparameter ändern, so dass beim start der arduino.exe eine leere Seite erschein und nicht der letzte sketch?=

Ich verwende arduino.exe Version 1.8.7 unter Windows 7

Hier findest du die Möglichkeiten

Danke für die schnelle Antwort. Was ich nicht verstehe ist, dass ich beim Start von arduino.exe ja keinen file.ino angegeben habe. Bei meiner alten Version 1.6.5 kam immer ein standard sketch beim Start.

Auf der von dir verlinkten Seite kann ich aber keine Option finden, die arduino.exe beim Start mit leerem Bildschirm öffnet.

Vielleicht habe ich diese Option überlesen?!?

Auf der von dir verlinkten Seite kann ich aber keine Option finden, die arduino.exe beim Start mit leerem Bildschirm öffnet.

Vielleicht habe ich diese Option überlesen?!?

Ich befürchte, dass du meine Antwort nicht richtig interpretiert hast....

Also andere Worte:

Hinter meinem Link, findest du die grundsätzlichen Möglichkeiten, welche dir die IDE auf der Kommandozeile bietet. Das ist der Pool aus dem du dich bedienen kannst.

Merke: Keinesfalls habe ich behauptet, dass da steht, wie du dein Problem lösen kannst.


Was ich nicht verstehe ist, dass ich beim Start von arduino.exe ja keinen file.ino angegeben habe.

Das verstehe ich auch nicht, dass du das nicht tust!

Also, meine Frage an dich: Warum tust du das nicht, obwohl du doch damit (vermutlich) deinen Wunsch realisieren könntest?


Und ja, die Arduino IDE hat sich in dem Punkt geändert. Sie implementiert jetzt ein Verhalten, welches zunehmend viele GUI Anwendungen so realisieren. Es entspricht also dem Prinzip der geringsten Verwunderung.

Wenn du das Verhalten nicht möchtest, solltest du dich beim Arduino IDE Entwickler Team beschweren! z.B. hier

Du könntest auch den Vorschlag machen, das alte Verhalten mit einem neuen CLI Parameter wieder herzustellen z.B. arduino -startWithNewFile

Wenn du dich da rein kniest, kannst du das auch selber in die IDE einbauen und deine eigene kompilieren. Das erhöht gleichzeitig die Chance, dass das für alle übernommen wird.