PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Welches Paket für "Atom" installieren?



RoboTrader
17.11.2017, 07:06
Guten Morgen,

ich habe gerade die ersten 2 Tage Arduino-Starter-Kit hinter mir, möchte aber, da ich sonst unter Atom programmiere, gerne dort auch den Arduino programmieren. Da es hierfür unzählige Packages gibt, würde mich interessieren, welches ihr nutzt und empfehlen könnt.

Ausserdem: Kann man unter Atom für den Arduino nur in C++ programmieren oder auch in der Arduino-Sprache?

Merci und einen schönen Freitag
Euer RoboTrader

Mxt
17.11.2017, 08:09
Hallo,



Ausserdem: Kann man unter Atom für den Arduino nur in C++ programmieren oder auch in der Arduino-Sprache?

Die "Arduino-Sprache" ist im wesentlichen C++. Da laufen nur einige Tools vor der Übersetzung, die das main() einfügen, ggf. Funktionsdeklarationen einfügen und den Bibliothekssuchpfad verändern.

Atom kenne ich nur dem Namen nach, ich verwende meistens die Arduino IDE und für komplexere Sachen oder wenn ich einen Debugger brauche Visual Micro.

Man kann aber auch in der Arduino IDE einen externen Editor einstellen.

RoboTrader
17.11.2017, 09:51
Erstmal vielen Dank!


Die "Arduino-Sprache" ist im wesentlichen C++. Da laufen nur einige Tools vor der Übersetzung, die das main() einfügen, ggf. Funktionsdeklarationen einfügen und den Bibliothekssuchpfad verändern.

Ach so, ich dachte, es gibt sozusagen 2 Sprachen: Die, die man sofort in der Arduino IDE nutzt, und noch C++. Oder gibt es noch eine Low-Level-Möglichkeit (die ich natürlich noch nicht jetzt, aber später vielleicht nutze)?


Atom kenne ich nur dem Namen nach, ich verwende meistens die Arduino IDE und für komplexere Sachen oder wenn ich einen Debugger brauche Visual Micro.
Man kann aber auch in der Arduino IDE einen externen Editor einstellen.

Die Option "externer Editor" macht nichts, ausser dass ich im Arduino-Fenster nichts mehr editieren kann, oder etwa doch?

P.S. Habe PlatformIO für Atom gefunden. Das werde ich mal testen. Scheint meinen Wunsch von anderer Seite zu erfüllen. Dennoch wäre es einfach den externen Editor direkt im Setup einstellen zu können, wie ich es von anderer Software kenne.

Mxt
17.11.2017, 10:04
Oder gibt es noch eine Low-Level-Möglichkeit (die ich natürlich noch nicht jetzt, aber später vielleicht nutze)?

Die Low-Level-Möglichkeit besteht weniger im Wechsel der Sprache, da wäre höchstens noch Assembler möglich, was aber nur in Ausnahmefällen sinnvoll ist.

Low-Level wäre z.B. statt digitalWrite direkt in ein Prozessorregister zu schreiben. Das ist effizienter, meist nicht portabel, und umgeht einfach die entsprechende Arduino Funktionalität. Es gibt da kein Betriebssystem, das ein Programm am direkten Zugriff auf die Hardware hindert.

HaWe
17.11.2017, 10:13
Edison und Galileo sind die einzigen mit Atom cpu, die beisher unterstützt wurden (CMIIW), und beide werden von Intel nicht mehr weiter geführt. Auch der Arduino 101 mit Curie cpu wird nicht mehr weitergeführt (es war das letzte noch verfügbare Arduino Intel Board).
Allerdings kann ich mich dunkel erinnern, dass Intel eine neue cpu/Board-Linie für die Arduino Online-IDE entwickelt hat namens "Up Squared".

Arduino steht und fällt mit seinen komplexen Java-basierten Libs, die aber viel mehr machen als nur den Quellcode mit ein paar Funktionen zu ergänzen: sie binden vor allem die richtigen Libs und Cores und stellen die spezifischen Makefile Linker- und Compiler-Settings für g++ automatisch ein. Arduino IST also nicht C++, es benutzt C++, und auch der Enduser benutzt C++ Syntax, aber unterm Strich steckt eben auch extrem viel Java-Processing und -Wiring mit drin; entsprechend aufwändig ist die Unterstützung diverser Boards mit vielfältigen cpus unter ein und derselben API Syntax (Die wichtigen Timer-basierten Funktionen z.B. sehen ja unter AVR, diversen ARMs, ESPs und x86-Prozessoren völlig verschieden aus, und auch sonst lässt sich ARM-Code nicht immer problemlos in x86-Code übersetzen.) Aus dieser Perspektive betrachtet wird es nicht ohne weiteres möglich sein, die Arduino IDE für alle beliebigen Atoms zu verwenden, es sei denn man macht sich die Mühe, alle libs und cores selber neu zu schreiben, ähnlich wie es die ESP-Leute für den esp8266 und den esp32 gemacht haben - und man sieht ja, was das für ein Aufwand ist, wenn man sich mal die gazen github Seiten dazu anguckt.
Wer also auf Arduinos mit Intel Atoms wartet, sollte IMO vlt am besten auf den Up Square warten: Für Anfänger im Moment also kein Thema.

Mxt
17.11.2017, 10:24
Atom cpu

Hier geht es um den Texteditor namens Atom.

HaWe
17.11.2017, 10:27
ach so - das hatte ich falsch vestanden.

Rabenauge
17.11.2017, 10:46
Nie versucht (soo übel ist der eingebaute Editor auch wieder nicht), aber hier wurde das mal durchgekaut. (http://forum.arduino.cc/index.php?topic=159844.0)

inka
17.11.2017, 13:44
hallo allerseits, RoboTrader,
ich habe es mit atom und platformio versucht, bzw. versuche es immer noch. Die einbindung der arduino-libraries ist (für mich zumindest) nicht durchschaubar...

Man kann bei neuen projekten und auch beim import fertiger arduino projekte ankreuzen ob man die libs verwenden möchte, empfohlen wirds von den machern nicht. Also mir ist es nicht gelungen bestehende projekte zu kompilieren, immer wird das fehlen irgendwelcher lib gemeldet...
Würde mich über eine meldung freuen, wie du das realisiert hast...

RoboTrader
18.11.2017, 14:30
Die Low-Level-Möglichkeit besteht weniger im Wechsel der Sprache, da wäre höchstens noch Assembler möglich, was aber nur in Ausnahmefällen sinnvoll ist.

Low-Level wäre z.B. statt digitalWrite direkt in ein Prozessorregister zu schreiben. Das ist effizienter, meist nicht portabel, und umgeht einfach die entsprechende Arduino Funktionalität. Es gibt da kein Betriebssystem, das ein Programm am direkten Zugriff auf die Hardware hindert.

Dankeschön. Ich dachte wirklich, dass es da noch etwas anderes gibt. Aber dann ist der Code, mit dem ich gerade beginne, sozusagen der, mit dem auch ihr Profis arbeitet und C-Code einbindet. Wunderbar.

- - - Aktualisiert - - -


[...] Arduino steht und fällt mit seinen komplexen Java-basierten Libs, die aber viel mehr machen als nur den Quellcode mit ein paar Funktionen zu ergänzen: sie binden vor allem die richtigen Libs und Cores und stellen die spezifischen Makefile Linker- und Compiler-Settings für g++ automatisch ein. Arduino IST also nicht C++, es benutzt C++, und auch der Enduser benutzt C++ Syntax, aber unterm Strich steckt eben auch extrem viel Java-Processing und -Wiring mit drin; [...]

Wie MXT schon schrieb, meinte ich nicht die CPU.
Aber die Zeilen hier zum Code sind interessant. Danke!

- - - Aktualisiert - - -


Nie versucht (soo übel ist der eingebaute Editor auch wieder nicht), aber hier wurde das mal durchgekaut. (http://forum.arduino.cc/index.php?topic=159844.0)

Danke Rabenauge. Perfekter Link. Soeben getestet:


du mußt die ino-datei mit Deinem gewünschten editor öffnen, damit bearbeiten und mit der ide kannst Du dann kompilieren und flashen. die arduino-ide aktualisiert sich automatisch. mit dem anderen editor natürlich immer speichern vom dem kompilieren.

Ganz einfach! Der Code ändert sich wirklich automatisch nach Speichern in jeglichem externen Editor. Die schnellste Lösung, um in einem anderen Editor zu programmieren.

- - - Aktualisiert - - -


ich habe es mit atom und platformio versucht, bzw. versuche es immer noch. Die einbindung der arduino-libraries ist (für mich zumindest) nicht durchschaubar... [...] Würde mich über eine meldung freuen, wie du das realisiert hast...

Ich berichte auf jeden Fall, da mich das auch interessiert, aber zunächst nutze ich die schnelle und einfache Möglichkeit mit dem "externen Editor" und verwende Atom und Arduino-IDE parallel.

Merci an alle nochmals!