Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Ответить

Re: CodeBlocks и ESP32

Сб июн 24, 2023 15:55:58

Arduino IDE я удалил, она ставилась в ту же директорию что и Arduino CLI и там каша из файлов получалась, непонятно что с чем установилось. А в Arduino CLI я не нашел способа для выбора платы и порта, только во время загрузки скетча вводится название платы и номер порта. Сейчас пытаюсь к CLI прикрутить VS Code, там через makefile можно все настроить для каждого проекта.

Re: CodeBlocks и ESP32

Сб июн 24, 2023 19:18:25

Когда получится расскажи что как.. можно с картинками :tea:

Re: CodeBlocks и ESP32

Сб июн 24, 2023 20:11:11

Непременно.

Re: CodeBlocks и ESP32

Ср июл 05, 2023 17:44:04

Около недели назад в очередной раз установил VS Code. Самая последняя версия которая установилась на 32-рязрядную Win7 это версия: 1.70.3. Дальше, наверное, все только для 64-разрядной винды. Первым делом немного подрихтовал ему морду. Установил плагин "Toolbar & Extended Menu" и нашел тему оформления "Light High Contrast Theme". Чем удалось немного исправить изначально петерастический дизайн проги. Левая панель редактора перестала сливаться с окном самого редактора, появились приятные глазу рамочки вокруг панелей. В главном меню появились кнопки редактора "Отменить-Вернуть", кнопочки "Сохранить" и "Сохранить все". Пусть даже не на привычном месте, а в правом верхнем углу, но это значительно лучше чем совсем ничего. По крайней мере теперь VSC не вызывает рвотных позывов. Вот такое получилось:

СпойлерИзображение


Снимок.JPG
(56.8 KiB) Скачиваний: 75

Re: CodeBlocks и ESP32

Чт июл 06, 2023 05:20:01

Дальше установил плагины "C/C++ for Visual Studio Code" и "Arduino for Visual Studio Code" от Microsoft. Вместе с ними понаставилось еще дохрена чего, в том числе Serial Monitor и какие-то расширения для C/C++. Еще CMake и CMake Tools, которых я вообще не просил. В итоге список установленных плагинов стал выглядеть как на картинке ниже. Надеюсь, этого будет достаточно для работы с Arduino CLI.

Да, вот еще. При установке плагина "C/C++ for Visual Studio Code" вылезло сообщение «Обнаружен компилятор C:\MinGW\bin\gcc.exe. Настроить IntelliSense с этим компилятором?». Я отказался не понимая чего от меня хотят. MinGW у меня уже был установлен, но при чем здесь он я знать не знаю.

СпойлерИзображение


Снимок.JPG
(42.46 KiB) Скачиваний: 53

Re: CodeBlocks и ESP32

Чт июл 06, 2023 15:20:37

Да уж простыня с длинной бахромой вышла .
Теперь интересно как жить будет ;-)

Re: CodeBlocks и ESP32

Чт июл 06, 2023 22:27:40

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

В папке C:\arduino\ где у меня уже был установлен исполнимый файл Arduino CLI создал папку проекта blink. Открыл эту папку в VS Code (Open Folder) и создал в ней файл проекта blink.ino с кодом для мигания светодиодом на плате NodeMCU-32S.
Код:
{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "echo",
            "type": "shell",
            "command": "echo Hello"
        }
    ]
}


Для компиляции и заливки этого в борду из VS Code создал файл задач tasks.json. В этом файле две задачи, которые выполняясь будут передавать в командную строку необходимые команды. А далее уже Arduino ClI подчиняясь этим командам скомпилирует и зальет прошивку в ESP32 на борде.

Нажимаем "View" в главном меню VS Code, и давим там "Command Palette":

СпойлерИзображение


В верхней части окна редактора появится строка. Начинаем набирать в ней "task" и вывалится выпадающий список с командами содержащими это слово. Выберем мышью "Configure Task":

СпойлерИзображение


Затем там же "Create tasks.json file from template":

СпойлерИзображение


И "Others Example to run an arbitrary external command":

СпойлерИзображение




В папке с проектом blink редактор VS Code создаст папку .vscode а в ней файл tasks.json. По сути текстовый файл, с шаблонным текстом кода правка которого позволит нам передавать необходимые команды в командную строку Windows.

СпойлерИзображение



СпойлерИзображение


Этот же файл откроется в самом редакторе VS Code:

СпойлерИзображение



Меняем шаблонный код файла tasks.json следующим образом:

Код:
{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [ // Задача
        {
            "label": "blink_compile", // Метка, имя задачи
            "type": "shell", // Тип задачи
            "command": "arduino-cli compile -v -b esp32:esp32:nodemcu-32s blink.ino" // Команды, действия, выполняемые задачей.
        },
        {
            "label": "blink_upload",
            "type": "shell",
            "command": "arduino-cli upload -p COM9 -v -b esp32:esp32:nodemcu-32s blink.ino"
        }
    ]
}


Собственно, здесь у нас две задачи. Первая под именем (меткой) blink_compile будет запускать компиляцию проекта в Arduino CLi. Вторая - blink_upload, прошивать нашу ESP32. Каждая отдельная задача располагается внутри фигурных скобок. Друг от друга они отделяются запятыми и обе находятся внутри скобок квадратных. В строчке command": для задачи компиляции нужно указать имя исполняемого файла Arduino CLI, саму команду compile, полное название (Fully Qualified Board Name, сокращенно FQBN) нашей борды с ESP32, и имя файла проекта .ino. В моем случае с платой NodeMCU-32S указывается название esp32:esp32:nodemcu-32s. Полное название платы можно узнать в Arduino CLI или в самом VS Code, но об этом после.

В задаче для прошивки доски blink_upload все то же самое, только с командой upload вместо compile, имя задачи другое, и указывается номер COM-порта через который будет прошиваться ESP32.


Теперь сохраняем все файлы, жмем в главном меню VS Code "Terminal", там давим "Run Task..." и в строке в верхней части редактора видим выпадающий список, в котором присутствуют две задачи: blink_compile и blink_upload.

СпойлерИзображение


Выбираем мышью сначала задачу компиляции "blink_compile", потом "Continue without scanning the task output". Начинается процесс компиляции кода программой Arduino CLI, ход которого будет отображаться в терминале VS Code. Хорошо, если он завершится без ошибок. По завершению компиляции в конце портянки в терминале должно отобразится приблизительно следующее:

"C:\\Users\\Fox\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\xtensa-esp32-elf-gcc\\esp-2021r2-patch5-8.4.0/bin/xtensa-esp32-elf-size" -A "C:\\Users\\Fox\\AppData\\Local\\Temp\\arduino\\sketches\\6C6877D94AC58F39A3E164AD9DA17F9B/blink.ino.elf"
Скетч использует 235901 байт (17%) памяти устройства. Всего доступно 1310720 байт.
Глобальные переменные используют 22056 байт (6%) динамической памяти, оставляя 305624 байт для локальных переменных. Максимум: 327680 байт.

Used platform Version Path
esp32:esp32 2.0.8 C:\Users\Fox\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.8
* Terminal will be reused by tasks, press any key to close it.


Затем схожим образом запускаем процесс загрузки прошивки в борду: "Terminal" -> "Run Task..." -> "blink_upload" -> "Continue without scanning the task output". Начинается прошивка ESP32 на нашей плате. Возможно, для загрузки программы в борду потребуется нажать кнопочку "BOOT" на борде в ходе отображения строчки из точек в терминале, тут уж кому какая плата досталась... Дожидаемся окончания прошивки и смотрим результат в окне терминала и на плате, в виде светодиода мигающего с периодом в 6 секунд.

Ну вот и все. Теперь можно компилировать прошивку и прошивать борду посредством Arduino CLI всего в три клика. Понятно, что все описанные выше действия нужно будет проделать для каждого нового проекта. Но, делать их придется только один раз. Зато потом не нужно будет всякий раз вбивать команды для Arduino CLI в командной строке Винды когда нужно скомпилить или залить прошивку.


01 - Command Palette.jpg
(50.79 KiB) Скачиваний: 49

02 - Configure Task.jpg
(52.13 KiB) Скачиваний: 43

03 - Create tasks.json file from template.jpg
(53.83 KiB) Скачиваний: 44


05 - Папка vscode.JPG
(39.6 KiB) Скачиваний: 33

06 - Файл tasks.json в папке.JPG
(36.5 KiB) Скачиваний: 34

07 - Файл tasks.json в редакторе.JPG
(42.57 KiB) Скачиваний: 38

Запуск задач.jpg
(35.45 KiB) Скачиваний: 37

Re: CodeBlocks и ESP32

Пт окт 13, 2023 10:12:08

Добрый день.

Visual Studio Code

Не получается установить плагин Esressif 32 для компиляции PlatformIO с framework = espidf.

При загрузки проекта с framework = espidf идет настройка конфигурации с ошибками
Building wheel for cryptography (PEP 517): finished with status 'error'

Переустановка pip install --upgrade pip проводилась, но не имеет смысла так установлена последняя версия.

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

Неделю сканирую Интернет, решение проблемы не нашел.

Кто знает подскажите как заставить PlatformIO работать с framework = espidf
Ответить