Может ли плагин Arduino Eclipse использовать библиотеки, установленные Arduino IDE?

В Arduino Eclipse (v3, ночная сборка) мне не удалось загрузить «чужие» библиотеки, написанные мной или кем-то другим, поэтому они не входят в число доступных вариантов в диалоговых окнах включения библиотек.

Я пробовал добавлять их в проект, а также добавлять их в качестве доступного библиотечного ресурса, используя для этого встроенные диалоговые окна, но не вижу способа выбрать библиотеку, которая еще не включена в эти диалоговые окна.

В идеале я бы хотел, чтобы плагин Arduino Eclipse использовал те же платы и библиотеки, которые я использую в своей установке Arduino IDE, чтобы:

  • Обновление Arduino IDE одновременно обновит основные библиотеки в Eclipse;
  • Дополнительную библиотеку необходимо будет установить только в одном месте;
  • Изменение дополнительной библиотеки необходимо будет выполнить только один раз и в одном месте.

Цель, как и в моем предыдущем вопросе, — беспрепятственно разрешить использование любой IDE для продвижения проекта. Однако я был бы благодарен, если бы мог добавить в свою установку Eclipse любую библиотеку по своему выбору.

, 👍5


2 ответа


Лучший ответ:

2

Боюсь, что то, чего вы хотите, не на 100% осуществимо.
Для библиотек я на 100% уверен, что это сработает, но проблема в платформах.
ОБНОВЛЕНИЕ arduino IDE (больше нет)? распаковывает библиотеки, и поэтому библиотеки невозможно использовать в Sloeber.

Начнем с библиотек Что вы делаете: В arduino eclipse ide удалите все библиотеки из менеджера библиотек.

В Windows->Настройки->Arduino->"Путь к частным библиотекам" добавьте папку библиотек в папку установки Arduino IDE и добавьте папку библиотек в папку Arduino15, поддерживаемую менеджером библиотек.
Важно указать родительскую папку, содержащую библиотеки. Все подпапки считаются библиотеками.

Затем доски Проблема здесь в том, что boardsmanager добавляет переменные окружения для привязки досок к инструментам. Вы могли читать замечания о том, что A.RUNTIME.TOOLS.AVR-GCC.PATH и A.RUNTIME.TOOLS.AVRDUDE.PATH не определены. Ну, это boardsmanager поддерживает их на основе содержимого файла json. Если вы можете ограничить себя одной версией цепочки инструментов AVR, SAM, AVRDUDE, BSON,..., вы можете «заставить ее работать» следующим образом:
Шаг 1: Оставьте как можно меньше установленных плат. Вам нужно оставить хотя бы 1, иначе плагин переустановит платы AVR Arduino при запуске.
Шаг 2: В windows->настройки->arduino->"частный путь к оборудованию" добавьте папку оборудования в папку установки arduino IDE и добавьте папку пакетов в папку arduino15, поддерживаемую менеджером плат Arduino IDE.
Шаг 3: Воссоздайте проект в Eclipse, как описано в вашем другом вопросе.
Шаг 4: Если сборка не удалась, измените файлы [eclipse installation]/arduinoPlugin/post и pre processing, чтобы попытаться заставить ее работать.
Шаг 5: в свойствах проекта->Arduino выберите «Применить» и «ОК» (это позволит учесть ваши изменения на шаге 4)
Шаг 6: Перейти к шагу 4

Удачи! Янтье

,

Это работает - за исключением одного набора библиотек (Blynk) - но я был удивлен, что #include <someLibrary.h> было недостаточно; библиотеку пришлось импортировать. В случае с библиотекой Blynk их пример программы компилируется в Arduino IDE, но Eclipse жалуется, что не может найти Blynk.begin() с сигнатурой, соответствующей вызову из примера программы., @JRobert

О платах: означает ли это, что я не могу скомпилировать тот же код для Uno или Mega2560 по своему желанию? Или могу, но не если обновлю Arduino IDE (в настоящее время v1.6.7 с плагином eclipse 'mac64.2016-03-23_03-43-04')?, @JRobert

Способ, которым Arduino IDE находит библиотеки, отличается от Arduino eclipse ide. Это может объяснить, почему Blynk не был найден и его нужно было импортировать. Arduino IDE ищет содержимое папок библиотек на предмет (заголовочных)файлов, соответствующих вашему include. Плагин Arduino eclipse находит библиотеки на основе foldername=include -".h", @jantje

Я не понимаю вашего вопроса., @jantje

Файлы .h: Вы хотите сказать, что имена файлов .h в кавычках будут найдены автоматически, а имена в скобках — нет? — Доски: Вы написали: «Для библиотек я на 100% уверен, что это сработает, но проблема в платформах» и описали некоторые ограничения, связанные с менеджером доски. Я не понял, каковы последствия или когда они могут произойти., @JRobert


1

Делаем библиотеки Blynk версии 0.3.6 и (предположительно) более поздних версий совместимыми с Eclipse.

Благодаря большой помощи от Jantje (спасибо!) я нашел 4 простых шага, которые делают библиотеки Blynk v0.3.6 совместимыми с Eclipse:

  1. Создайте .../libraries/Blynk/Blynk.h (может быть пустым) и #include его перед включением любых библиотек Blynk.
  2. Аналогично, создайте и #include .../libraries/BlynkESP8266_Lib/BlynkESP8266_Lib.h
  3. Удалите всю папку .../libraries/Blynk/linux (если вы не используете Linux! В этом случае необходимо провести дополнительные исследования.)
  4. В проектах Blynk, ранее импортированных в Eclipse Arduino, удалите (возможно, скрытый) файл .ino.cpp и выполните чистую сборку.

Этот рецепт работает у меня под MacOS 10.11.5, ночной сборкой Eclipse Arduino IDE и ArduinoIDE версии 1.6.9. Он должен быть воспроизводим любым, кто хочет скомпилировать программы Blynk в Eclipse. Под ОС, отличными от Mac, особенно под Linux, может потребоваться изменить шаг 3. Я удалил папку linux, чтобы Eclipse не компилировал main.cpp и BlynkDebug оттуда, что приводило к многочисленным ошибкам определения во время компоновки.

Вышеприведенный текст является отрывком из руководства, которое я разместил в сообществе Blynk, но я думаю, что в нем содержится вся необходимая информация.

,