Frage:
Kann das Arduino Eclipse-Plugin die von der Arduino IDE installierten Bibliotheken verwenden?
JRobert
2016-03-26 03:01:39 UTC
view on stackexchange narkive permalink

In Arduino Eclipse (v3, Nightly Build) konnte ich keine 'fremden' Bibliotheken laden, die von mir oder einer anderen Person geschrieben wurden, sodass sie nicht zu den verfügbaren Optionen in den Dialogfeldern für Include-Bibliotheken gehören.

Ich habe versucht, sie einem Projekt hinzuzufügen und sie mithilfe der integrierten Dialogfelder als verfügbare Bibliotheksressource hinzuzufügen. Ich sehe jedoch keine Möglichkeit, eine Bibliothek auszuwählen, die noch nicht vorhanden ist in diesen Dialogen enthalten.

Mein Idealfall wäre eine Möglichkeit für das Arduino Eclipse-Plugin, dieselben Boards und Bibliotheken zu verwenden, die ich in meiner Arduino IDE-Installation verwende, so dass:

  • Ein Upgrade auf die Arduino IDE würde gleichzeitig die Kernbibliotheken in Eclipse aktualisieren.
  • Eine optionale Bibliothek müsste nur an einer Stelle installiert werden.
  • Das Ändern einer optionalen Bibliothek würde nur erforderlich sein Dies muss einmal an einem Ort erfolgen.

Das Ziel besteht, wie in einer früheren Frage von mir, darin, die Verwendung einer der beiden IDEs zum Vorantreiben eines Projekts nahtlos zuzulassen. Ich wäre jedoch dankbar, wenn ich meiner Eclipse-Installation eine Bibliothek meiner Wahl hinzufügen könnte.

Zwei antworten:
jantje
2016-03-26 04:01:18 UTC
view on stackexchange narkive permalink

Ich befürchte, dass das, was Sie wollen, nicht zu 100% möglich ist.
Für Bibliotheken bin ich zu 100% sicher, dass es funktioniert, aber das Problem sind die Plattformen.
UPDATE Arduino IDE (nicht mehr)? dekomprimiert Bibliotheken und als solche sind die Bibliotheken in Sloeber unbrauchbar.

Beginnen wir mit den Bibliotheken Gehen Sie wie folgt vor: Entfernen Sie in arduino eclipse ide alle Bibliotheken aus der Bibliothek Manager.

Fügen Sie unter Windows-> Einstellungen-> Arduino -> "Pfad für private Bibliotheken" den Bibliotheksordner in der Arduino IDE-Installation hinzu und fügen Sie den Bibliotheksordner in den vom Bibliotheksmanager verwalteten Ordner arduino15 hinzu.
Es Es ist wichtig, auf den übergeordneten Ordner zu verweisen, der die Bibliotheken enthält. Alle Unterordner werden als Bibliotheken angenommen.

Dann die Boards Das Problem hierbei ist, dass der Boardsmanager Umgebungsvariablen hinzufügt, um Boards mit Tools zu verknüpfen. Möglicherweise haben Sie Anmerkungen zu A.RUNTIME.TOOLS.AVR-GCC.PATH und A.RUNTIME.TOOLS.AVRDUDE.PATH gelesen, die nicht definiert sind. Nun, es ist der Boardsmanager, der diese basierend auf dem Inhalt der JSON-Datei verwaltet. Wenn Sie sich auf eine Version der Toolkette AVR, SAM, AVRDUDE, BSON, ... beschränken können, können Sie sie wie folgt "zum Laufen bringen":
Schritt 1: Halten Sie so wenig Boards wie möglich installiert. Sie müssen mindestens 1 behalten, sonst installiert das Plugin die AVR-Karten von Arduino beim Start neu.
Schritt 2: In Windows-> Einstellungen-> Arduino-> "Privater Hardwarepfad" Fügen Sie den Hardwareordner in der Arduino IDE-Installation hinzu und fügen Sie den Paketordner in den Arduino15-Ordner hinzu, der vom Arduino IDE-Board-Manager verwaltet wird.
Schritt 3: Erstellen Sie das Projekt in Eclipse as neu beschrieben in Ihrer anderen Frage.
Schritt 4: Wenn der Build fehlschlägt, ändern Sie die Dateien [Eclipse-Installation] / arduinoPlugin / post und Pre-Processing, um zu versuchen, sie zum Laufen zu bringen.
Schritt 5: Wählen Sie in den Projekteigenschaften-> Arduino die Option Anwenden und OK aus (dies berücksichtigt Ihre Änderungen in Schritt 4).
Schritt 6: Weiter mit Schritt 4

Viel Glück, Jantje

Dies funktioniert - mit Ausnahme eines Bibliothekssatzes (Blynk) -, aber ich war überrascht, dass "#include " nicht ausreichte. dass die Bibliothek auch importiert werden musste. Im Blynk-Bibliotheksfall wird das Beispielprogramm in der Arduino-IDE kompiliert, aber Eclipse beschwert sich, dass es kein Blynk.begin () mit einer Signatur finden kann, die dem Aufruf des Beispielprogramms entspricht.
Über die Boards: Heißt das, ich kann nicht nach Belieben denselben Code für einen Uno oder einen Mega2560 kompilieren? Oder kann ich, aber nicht, wenn ich die Arduino IDE aktualisiere (derzeit v1.6.7 mit dem Eclipse-Plugin 'mac64.2016-03-23_03-43-04')?
Die Art und Weise, wie Arduino IDE Bibliotheken findet, unterscheidet sich von der Arduino Eclipse-Idee. Dies könnte erklären, warum Blynk nicht gefunden wurde und importiert werden musste. Die Arduino IDE durchsucht den Inhalt der Bibliotheksordner nach (Header-) Dateien, die Ihrem Include entsprechen. Das Arduino Eclipse Plugin findet Bibliotheken basierend auf foldername = include - ". H"
Ich verstehe Ihre Board-Frage nicht.
.h-Dateien: Wollen Sie damit sagen, dass zitierte .h-Dateinamen automatisch gefunden werden, Klammern in Klammern jedoch nicht? - Boards: Sie haben geschrieben: "Für Bibliotheken bin ich zu 100% sicher, dass es funktionieren wird, aber das Problem sind die Plattformen." und beschrieb einige Einschränkungen aufgrund des Vorstands. Ich habe nicht verstanden, was die Konsequenzen sind oder wann sie passieren könnten.
JRobert
2016-05-27 00:48:07 UTC
view on stackexchange narkive permalink

Blynk-Bibliotheken v0.3.6 und (vermutlich) später Eclipse-kompatibel machen.

Mit viel Hilfe von Jantje (danke!) habe ich 4 einfache Schritte gefunden, mit denen die Blynk v0.3.6-Bibliotheken erstellt werden Eclipse-kompatibel:

  1. Erstellen Sie ... / library / Blynk / Blynk.h (möglicherweise leer) und # schließen Sie es ein, bevor Sie Blynk-Bibliotheken einschließen.
  2. Ebenso erstellen und #include .../libraries/BlynkESP8266_Lib/BlynkESP8266_Lib.h
  3. Löschen Sie den gesamten Ordner ... / library / Blynk / linux (es sei denn, Sie verwenden Linux! In diesem Fall müssen weitere Erkennungen durchgeführt werden.)
  4. Löschen Sie in Blynk-Projekten, die zuvor in Eclipse Arduino importiert wurden, die (möglicherweise versteckte) Datei .ino.cpp und führen Sie einen sauberen Build durch.
  5. ol>

    Dieses Rezept funktioniert für mich unter MacOS 10.11.5, dem nächtlichen Build von Eclipse Arduino IDE und ArduinoIDE Version 1.6.9 . Es sollte für jeden reproduzierbar sein, der Blynk-Programme in Eclipse kompilieren möchte. Unter anderen Betriebssystemen als Mac, insbesondere Linux, muss Schritt 3 möglicherweise geändert werden. Ich habe den Ordner linux gelöscht, um zu verhindern, dass Eclipse main.cpp und BlynkDebug.cpp von dort kompiliert, was zum Zeitpunkt der Verknüpfung zu mehreren Definitionsfehlern führte

    Das Obige ist ein Auszug aus einer Anleitung, die ich in der Blynk-Community veröffentlicht habe, aber ich denke, diese enthält alle relevanten Informationen.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...