Arduino? Wer macht denn sowas.Ino zu .hex per Commandline

OP #5947741
Lesenswert?

Hallo
Ich glaube ich werd langsam alt. Ich bin es gewohnt meine Programme in 
irgendeinem Editor zu schreiben und mit einem Befehl wie Make zu 
Compilieren.
Jetzt muss ich, weil ich mit jungen Kollegen ein Projekt gestart habe 
wohl mit Arduino klaar kommen.
Aber wie bekomme ich ohne die Wirklich hässliche GUI einfach aus der 
Commandozeile eine hex oder Bin aus einer .ino?

Lg
Gast #5947744
Lesenswert?

Werner M. schrieb:
> Aber wie bekomme ich ohne die Wirklich hässliche GUI einfach aus der
> Commandozeile eine hex oder Bin aus einer .ino?

Nicht so einfach, denn die "hässliche GUI" nimmt dir im
Hintergrund eine Menge Arbeit ab um dir ein Software-
Framework zu liefern das du nicht siehst. Das müsstest
du dir erst mal "nachbilden" .....
Gast #5947746
Lesenswert?

Werner M. schrieb:
> Aber wie bekomme ich ohne die Wirklich hässliche GUI einfach aus der
> Commandozeile eine hex oder Bin aus einer .ino?

mit dem richtigen Compiler-Gedöns und avrdude (für avr-Controller).
Die Arduino-IDE macht das nichtr anders; verstreckt das nur relativ gut.
Gast #5947793
Lesenswert?

Werner M. schrieb:
> Aber wie bekomme ich ohne die Wirklich hässliche GUI einfach aus der
> Commandozeile eine hex oder Bin aus einer .ino?

arduino-cli.exe kann das, gehört ab bald zum Lieferumfang, spätestens ab 
1.9.0, in der Beta jetzt schon vorhanden

Für ältere IDEs:
https://github.com/arduino/arduino-cli


----
Auch kann man die IDE selber ohne GUI betreiben, schon seit 1.5.2:
https://github.com/arduino/Arduino/blob/master/build/shared/manpage.adoc
#5948032
Lesenswert?

Hallo,

bis die arduino-cli.exe allgemein verfügbar ist, kannste ja die IDE 
kompilieren lassen und gehst danach in 
C:\Users\user\AppData\Local\Temp\...
hier wird für jedes Projekt ein build Ordner angelegt mit angehängter 
Nummer Bspw. arduino_build_654751 darin findest du deine gewohnten 
Dateien. Nur das du sie nicht selbst mit make erzeugt hast.
Gast #5948356
Lesenswert?

1
$ sudo apt install arduino-mk

...und die seit Arduino 1.0.xyz also gefühlt seit Noah und sein 
Holzschiff.

Mit dem "Dienstweg" via Google zeigt das ja bereits der erste 
Antwortpost.
Gast #5948490
Lesenswert?

Werner M. schrieb:
> Ich bin es gewohnt meine Programme in
> irgendeinem Editor zu schreiben und
> mit einem Befehl wie Make zu Compilieren.

> Jetzt muss ich ... mit Arduino klaar kommen.

Na und? Mir fällt kein schlechterer Editor ein als der der Arduino-IDE, 
also nutze ich Notepad++ mit einer passenden Ergänzung.

Die IDE wird gestartet und unter Einstellungen der Haken 'externer 
Editor' gesetzt, dann wird das Editorfenster grau hinterlegt und dessen 
Bedienung gesperrt. Das bleibt dann im Hintergrund liegen oder man 
minimiert es.

Ich befingere meine Quelldatei mit dem Editor meiner Wahl, hole die IDE 
hoch und drücke 'prüfen' oder 'hochladen', fertig. Warum sollte ich mir 
dafür die Kommandozeile antun?

Vom Ressourcenbedarf her läuft das sogar auf dem 1,6GHz-Atom-Netbook 
klaglos.
Gast #5948504
Lesenswert?

Manfred schrieb:
> Die IDE wird gestartet und unter Einstellungen der Haken 'externer
> Editor' gesetzt, dann wird das Editorfenster grau hinterlegt und dessen
> Bedienung gesperrt. Das bleibt dann im Hintergrund liegen oder man
> minimiert es.
>
> Ich befingere meine Quelldatei mit dem Editor meiner Wahl, hole die IDE
> hoch und drücke 'prüfen' oder 'hochladen', fertig. Warum sollte ich mir
> dafür die Kommandozeile antun?

Das leuchtet mir eigentlich sofort ein!
Kommandozeile, stammt das nicht aus den alten DOS Zeiten?

Worin besteht eigentlich  der angepriesene Vorteil von PlatformIO ?
wir da eine anderer Compiler benutzt der besseren Code produziert?
Gast #5948618
Lesenswert?

Werner M. schrieb:
> Aber wie bekomme ich ohne die Wirklich hässliche GUI einfach aus der
> Commandozeile eine hex oder Bin aus einer .ino?

Wieso willst du nicht auf den zweiten Knopf von links drücken und warten 
bis der Arduino geflashed wurde? Da musst du nicht eine Taste am 
Keyboard drücken
#5948832
Lesenswert?

Werner M. schrieb:
> Ich glaube ich werd langsam alt. Ich bin es gewohnt meine Programme in
> irgendeinem Editor zu schreiben und mit einem Befehl wie Make zu
> Compilieren.

Dito.

> Jetzt muss ich, weil ich mit jungen Kollegen ein Projekt gestart habe
> wohl mit Arduino klaar kommen.
> Aber wie bekomme ich ohne die Wirklich hässliche GUI einfach aus der
> Commandozeile eine hex oder Bin aus einer .ino?

Installiere dir arduino-mk. Schon reicht ein minimalistisches Makefile. 
Z.B. für das bekannte Blink.ino:
1
/*
2
  Blink
3
  Turns on an LED on for one second, then off for one second, repeatedly.
4
  This example code is in the public domain.
5
 */
6

7
void setup() {
8
  // initialize the digital pin as an output.
9
  // Pin 13 has an LED connected on most Arduino boards:
10
  pinMode(13, OUTPUT);
11
}
12

13
void loop() {
14
  digitalWrite(13, HIGH);   // set the LED on
15
  delay(100);              // wait for a second
16
  digitalWrite(13, LOW);    // set the LED off
17
  delay(900);              // wait for a second
18
}


mit diesem Makefile
1
BOARD_TAG    = nano328
2
ARDUINO_LIBS =
3
ARDUINO_QUIET = 0
4
include /usr/share/arduino/Arduino.mk

geht dann "make" zum compilieren und "make upload", um es auf den 
Arduino zu beamen.
#5948844
Lesenswert?

Berni Geröllheimer schrieb:
> Worin besteht eigentlich  der angepriesene Vorteil von PlatformIO ?

PlatformIO nutzt VSCode als Editor. Das ist der eigentliche Vorteil.

Allerdings finde ich PlatformIO weniger intuitiv als Arduino.
Und Arduino versteckt auch nichts. Alle sourcen, Makefiles usw können 
bearbeitet werden.

Das einzige ist der schlechte Editor der Arduino IDE. Aber wie bereits 
erwähnt: den kann man durch einen externen Editor ersetzen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren