Как стать автором
Обновить

Комментарии 11

Большое СПАСИБО за первую статью o PlatformIO :) У нас просто рук не хватает на это дело :(
Если можно, добавьте, пожалуйста, линк на https://github.com/platformio/platformio, а то нету упоминания что это 100% open source, free and Apache 2.0 license.
Также у PlatformIO есть отдельная команда для установки библиотек platformio lib, к сожалению она по умолчанию устанавливает библиотеки глобально

В PlatformIO 3.0 по-умолчанию библиотеки будут ставиться в project's lib. Я открыл на эту тему issue #475. Если хватит сил, то сделаем ну очень продвинутый Library Manager по типу npm, когда библиотека будет ложить свои зависимости в свой dependency list. Но тогда очень сильно придется повозиться с PlatformIO Build System.
В целом, library логика будет переписана с нуля в PlatformIO 3.0. Здесь можно посмотреть что нас ждет...
Ссылка на гитхаб есть, незаметная. В первом комментарии гораздо заметнее.
У меня пока не было нужды в сложных зависимостях между библиотеками, так что вроде в 3.0 ожидается все что мне нужно.
Пользуясь случаем плюсую semver https://github.com/platformio/platformio/issues/410
Классный проект!
А подскажите, есть для Atom плагин, позволяющий переходить к телу функции при клике через ctrl, или каким-либо иным способом? Начал изучение, было бы удобно по исходникам шастать.
У Вас уже стоит плагин (autocomplete-clang) который будет это делать. Надо переключиться на PR (ждем когда добавлят в главный бренч) PlatformIO IDE for Atom: Go To Declaration.
>> устанавливать библиотеки в подпапку вашего проекта и поместить симлинки(ярлыки?) для каждой библиотеки в папку libraries

А зачем ярлыки? Пишите в скетче в #include путь с указанием подпапки
Да, вариант. Можно указать относительные пути, типа
#include "libs/Logging/Logging.h"
Serial.print("pin_2 = ");
Serial.print(digitalRead(2));

Serial.print(", pin_3 = ");
Serial.println(digitalRead(3));

Попробуйте вот так:
Serial.println("pin_2 = " + String(digitalRead(2)) + ", pin_3 = " + String(digitalRead(3)) );
Не всегда удобно. Как раз при отладке можно легко комментить не нужную часть вывода.
#define vLog Serial.println
#ifndef vLog
  #define vLog(x)
#endif
...
  vLog("pin_2 = " + String(digitalRead(2)) + ", pin_3 = " + String(digitalRead(3)) );

Тут достаточно закомментить #define vLog и это не просто подавит ненужный вывод, но и вообще вычеркнет его из кода.
Спасибо за статью. Очень интересный проект.
Пробовал и под Windows 10 и под Ubuntu. Осваивал на Platformio MSP430 launchpad. Потом откопал AVR Butterfly. Поддерживает без проблем.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории