UR5FFR

Радиолюбительские конструкции и программы
It is currently 22 Sep 2020, 19:46

All times are UTC + 2 hours




Post new topic Reply to topic  [ 2 posts ] 
Author Message
PostPosted: 03 Jun 2020, 23:53 
Offline
Site Admin

Joined: 21 Apr 2012, 21:00
Posts: 654
Location: Odessa
Позывной: UR5FFR
Arduino IDE убого. Его то и IDE назвать язык не поворачивается. Если вы попытаетесь работать с проектом который содержит множество файлов то вам это быстро надоест. Особенно если файлов больше чем помещается в закладки над редактором. Сам редактор тоже достаточно примитивен и не настраивается. Походив по тырнету остановил свой выбор на связке Visual Studio Code + PlatformIO.

Установка простая - качаем VSCode, ставим ее, потом в ней же выбираем Extension, находим PlatformIO и там же устанавливаем. В PlatformIO есть визард импорта проекта из формата ардуино, что хорошо. При импорте ставим галочку "Use libraries installed by Arduino IDE". Библиотеки Arduino IDE берет из подкаталога Libraries каталога дефолтного для проектов (задается в настройках). Если этот каталог нестандартный то надо в импортированном проекте открыть в редакторе файл platformio.ini (даблклик по нему в списке слева) и прописать правильное значение для lib_extra_dirs.

При импорте мы утрачиваем возможность открывать проект из Arduino IDE. Это можно исправить следующим образом: предположим у нас есть Arduino-проект C:\Work\Project\Project.ino. Импортируем его и создадим проект PlatformIO в каталоге C:\Work\ProjectPIO. Для того чтобы у нас исходный код не дублировался а был в одном экземпляре удалим папку C:\Work\ProjectPIO\src и создадим символическую ссылку (link) C:\Work\ProjectPIO\src --> C:\Work\Project. Таким образом можно открывать проект как в Arduino так и в PlatformIO. Код при этом будет храниться в еденичном экземпляре.

Теперь о плохом. Большой проект синтезатора скомпилировался но памяти потребляет больше:

Code:
RAM:   [======    ]  56.2% (used 1152 bytes from 2048 bytes)
Flash: [========= ]  89.2% (used 27394 bytes from 30720 bytes)

Компиляция в Arduino IDE
Code:
Скетч использует 27052 байт (88%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 1106 байт (54%) динамической памяти, оставляя 942 байт для локальных переменных. Максимум: 2048 байт.


Top
 Profile  
 
PostPosted: 03 Aug 2020, 17:56 
Offline
Site Admin

Joined: 21 Apr 2012, 21:00
Posts: 654
Location: Odessa
Позывной: UR5FFR
Иногда у PlatformIO сносит крышу и она начинает утверждать что не может найти стандартные модули типа Wire и т.п.
Лечится прописыванием platformio.ini проекта следующей строки:
Code:
lib_ldf_mode = deep


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 2 posts ] 

All times are UTC + 2 hours


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group