Arduino 1.8.19 уже устарела

Сегодня запустил VS Code и получил предупреждение

Support for the legacy Arduino IDE will be removed soon. Use Arduino CLI bundled with this extension instead?

Сходил на сайт ардуины и действительно, версия 1.8.19 помечена как устаревшая, к загрузке предлагают версию 2.0.3. Вот так вот :slightly_smiling_face:

Так и мы все уже не молоды…

1 лайк

Дык, у нас без вариантов. А тут прямо таки угрожают, шо отключат и работать не дадут :sweat_smile:

??? Ипать, какой ужас!
Или ты саабчения читаешь плохо, или пятница действует? Написано - переходить на ВНУТРЕНИИЙ cli. Это и раньше можно было.

Я, к примеру, только в ВСКоде работаю… И тоже прочел утром сообщение…

Перешел?

Да никакого ужаса. Ардуина наконец дозрела до второй версии :slightly_smiling_face:

меня интересует другое, как оно может не работать?

А в чем проблема? VS Code (точнее, его ардуиновский плагин) сам решает, работать ему или нет. Скажет “не буду”, и хоть выспись на нем :slightly_smiling_face:

Другой вопрос, что Arduino CLI требует таки и наличия Arduino IDE - а иначе откуда оно ядра брать будет с библиотеками. Т.е. все то же самое, но работать изволь из командной строки

Из папки sketchbook/hardware как и сейчас. cli не требует установленной ИДЕ. В скечбуке есть папки для ядер. платформ, библиотек. В cli есть инструменты и препроцессор. ИДЕ - это просто графический редактор с “плюшками”, которых у ВСКода больше.

Ну так опять же вопрос

Стоит оно того? А то перспектива танцев с бубнами перенастройки отлаженной системы как-то не слишком прельщает

На сколько я понимаю - компилятор не меняется уж ХЗ сколько версий …

это у кого как, у меня - portable\packages а библиотеки из - portable\sketchbook\libraries

Arduino CLI - это, типа, версия для фанатов командной строки :slightly_smiling_face:

так хакеров и выявляют )))

Не выявляют, а принуждают :sweat_smile:

Use of the legacy Arduino IDE is not recommended, and support for the legacy Arduino IDE will be removed in a future version of the extension. The legacy Arduino IDE can be installed from the Arduino download page.

  • The supported legacy Arduino IDE versions are 1.6.x and up to, but not including, 2.0.0 .
  • The Windows Store’s version of the Arduino IDE is not supported because of the sandbox environment that the application runs in.
  • Note: Arduino IDE 1.8.7 had some breaking changes, causing board package and library installation failures. These failures were corrected in 1.8.8 and later.
  • Note: Arduino IDE 2.X.Y is not supported and there are no plans for support in the future (issue 1477).

В общем, помолясь и убедившись, что Timeshift сделал снимок системы пару часов назад, решил таки попробовать, что это за зверь. Бойся, не бойся, а переходить придется :slightly_smiling_face:

Сначала прочитай это

Ниже описан мой опыт перехода на Arduino Cli в VS Code + расширение Arduino от MicroSoft. Опыт геморройный. Но это лично мой опыт, утверждать, что так будет и у вас не буду. Тем более, что Влад ниже утверждает, что у него переход прошел абсолютно гладко.
Переходить однозначно нужно, в работе разницы не увидите, все доступные параметры, платы, порты и программаторы по прежнему можно выбирать мышкой, компиляция и заливка на тех же кнопках, что и раньше. Зато не будут доставать сообщения об устаревшей IDE.

Резюме: если решили перейти, для начала попробуйте просто согласиться с предложением во всплывающем сообщении. Если все пройдет гладко, текст ниже можно не читать. Ну а если гладко не прошло, то… :slightly_smiling_face:

Итак, для перехода на Arduino Cli нужно в настройках расширения поставить галку Arduino: Use Arduino Cli и очистить опции Arduino: Patch и Arduino: Command Patch. И перезапустить VS Code.

Сразу приготовьте большое полотенце - протирать монитор, плеваться поначалу будете (возможно) непроизвольно и обильно :slightly_smiling_face:

Первое, что бросилось в глаза - нет ни одной стандартной ардуиновской платы. Т.е. нашлось все, даже просто скопированное два года назад в папку hardware в папке со скетчами, которая у меня лежит вообще на другом физическом диске, были все остальные ядра, установленные менеджером плат, а стандартного ядра не было.

Далее, среда упорно не видела библиотеки, установленные в папку libraries в той же папке со скетчами. Т.е. и папку со скетчами она тоже не видела, хотя платы из нее подхватила.

Совет создать файл конфигурации и прописать пути в нем не сработал, на команду

arduino-cli config init

я получил отлуп - команда неизвестна. А в какую папку установилась Arduino Cli - одному вскоду известно.

а спрятал он надежно ))

Позже нашел в папке

~/.vscode/extensions/vsciot-vscode.vscode-arduino-0.5.0-linux-x64/assets/platform/linux-x64/arduino-cli/

В общем пришлось идти длинным путем.

Инструкции брал отсюда - Installation - Arduino CLI

Заново установил Arduino Cli. Установил в папку, которая записана в переменной PATCH. Устанавливал командой

curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | BINDIR=~/local/bin sh

где вместо ~/local/bin подставил свою папку. Теперь команда на создание конфига сработала, файл arduino-cli.yaml создался в папке ~/.arduino15. В этом файле прописал путь к папке со скетчами в

directories:
  user: // тут путь к папке со скетчами

После чего стали видеться библиотеки, которые там установлены.

Стандартное ядро пришлось устанавливать отдельно командой

arduino-cli core install arduino:avr

Для компиляции и заливки прошивки в плату по прежнему работают соответствующие кнопки, тут разницы нет никакой. Залил стандартный блинк в нану - залилось, скомпилировал и залил один из рабочих проектов - залилось. Потом залил блинк в ESP8266 - все прошло нормально, а вот на ESP32 компилироваться отказалось - папка с установленными пайтоном не внесена в переменную PATCH. Тут, впрочем, ничего сказать не могу, раньше я для ESP32 ничего не компилировал, может оно и раньше не работало. Для ESP8266, помнится, тоже была проблема с пайтоном, но ее решил простой установкой, команду уже не помню, давно это было :slightly_smiling_face:

Далее новый скетч, в котором практически и кода еще нет, скомпилировался для наны, но упорно отказывался компилироваться для ESP8266 - выдавал ошибку в одном из файлов FastLED. Решение оказалось неприлично простым - забыл в скетче поменять пин, на который подключен лента, от наны остался прописан пин 8, а в ESP он оказался нерукопожатым.

Далее залил в ESP8266 рабочий скетч WiFi выключателя - вроде работает.

Пробему с ESP32 решил командой

sudo apt update && sudo apt upgrade -y \
    python-is-python3 \
    python3-serial

После чего все заработало.

В общем, монитор протер, слегка подуспокоился, когда уже все прошел - вроде оно не так уж и страшно. Не оставляет ощущение какого-то подвоха, но рационально причины объяснить не могу :slightly_smiling_face: Буду посмотреть, как оно себя дальше поведет.

1 лайк

Увидел ночью в койке. Потому пишу с тилипона. Сорри.

  1. Все ужасно. В смысле тупо. ВСкод спрашивал: не перейти ли мне на ВСТРОЕННЫЙ cli?
    Млин. Не внешний, а встроенный.нужно было просто сказать “да”. Я так и сделал. И вообще ничего не заметил. Кроме того, что анюзед вариаэйбл более не ошибка, только ворнинг. :slight_smile: притом, что я работаю только в вскоде и с одновременно открытыми окнами для разных плат и Нано и Есп.
1 лайк

А опытом поделиться - не графское дело. Зачем, лучше потом рассказать, что у самого-то все как по учебнику прошло

Там в вопросе еще кнопка была - Посмотреть настройки. Так вот в тех настройках у меня было заполнено поле Arduino: Patch, а с ним никакого перехода не получалось, нужно было для начала очистить. А раз очистил, а галка про Cli рядом - какого еще рожна нужно?

У меня это и раньше ворнингом было, иначе работать было бы невозможно, в сторонних библиотеках таких ворнингов частенько - пруд пруди

Ок. Ща проснусь и допишу.
Коротко: не нужно было пути трогать. Чем они тебе не угодили?

Тем, что пока я их не убрал, при каждом перезапуске каждый раз получал предложение перейти на cli, хотя и галка в настройках уже стояла. Собственно, об этом и ардуиновский плагин предупреждал сразу

Use Arduino CLI installed instead of the legacy Arduino IDE. If #arduino.path# and #arduino.commandPath# are not set, the extension will use a version of Arduino CLI bundled with the extension. (Requires a restart after change)