0
<< предыдущая заметка 
12 октября 2025
с Arduino на PlatformIO

Мир меняется. Когда-то я ненавидел корпорацию Майкрософт, считая ее злом и монополистом, тормозящим мировой прогресс своей жадностью. Потом признавал, что все-таки Winword — это лучшее, что было создано в плане текстовых редакторов. Сегодня Майкрософт одна из моих любимых корпораций и ежедневный помощник в работе. Ну да, я по-прежнему не использую Windows. Но редактор vscode для разработки кода со всеми его плагинами — это лучшее, что случилось с программированием за всю его историю. Copilot избавляет от необходимости набивать самому куски кода, встроенная подсветка синтаксиса и сервисы сами указывают имеющиеся функции, на сложные вопросы ответит ChatGPT или встроенный Pfind, а всё остальное сделаю я сам, ибо могу, умею и люблю.

Единственное, что я до сих пор не мог втащить в vscode, это свою платформу под чип ESP, которую десять лет пилил в фреймворке Arduino. Который тормозной, мучительно долго собирает код всегда с нуля, глючит, сбрасывает настройки (которые еще и прописываются неудобно в окошках), и конечно не имеет никаких современных сервисов. Ну и ещё одно прекрасное качество: стоит отвлечься на месяц, возвращаешься к проекту, а там всё «умное», всё само собой обновилось, все библиотеки новые, в них всё изменилось и проект снова не работает, сиди, разбирайся, в какой там функции сраного файвая надо добавить четвертым аргументом true чтобы всё снова собралось... Я не раз пытался переползти на vscode, но каждый раз сталкивался с тем, что там всё вроде бы такое же, да не совсем, и надо поработать и код крепко переписать. А всякий раз нужно было спроектировать какое-то новое домашнее устройство прямо срочно, и на переписывание кода времени не было.

Но в эти выходные я наконец сел и занялся делом — перевел код на PlatformIO Arduino. Да, муторно. Да, бесконечная ебля с h-файлами, которые теперь надо создавать, прописывать, подключать, следить за объявлением переменных в разных местах. Но один раз это сделать можно даже для большущего развесистого кода, и я сделал. Всем советую забыть фреймворк Arduino с благодарностью — как светлый, но устаревший сон. И переползти на vscode.

Обновленный фреймворк я выложил на Гитхаб и буду там поддерживать: https://github.com/lleokaganov/cfaq

Я пока втянул не все свои библиотеки устройств — с какого-то момента я прекратил компилировать все мыслимые устройства в чип сразу, а задаю нужные флажками, потому что перестало хватать места — особенно на ESP12. Поэтому часть драйверов ещё валяется в папке src/off и ждет, пока дойдут руки прописать h-файлы, рассовать публичные переменные как надо, вкомпилить, отладить, потом подключить проводками каждое устройство и убедиться, что работает. Но большая часть функций (веб, телеметрия, udp/tcp, управления пинами, прерываниями, сам язык) всё равно в ядре из коробки. А из драйверов устройств я пока втянул в библиотеки только трехцветный светодиод и драйвер tft-дисплеев и на этом успокоился, поняв, что не так это и сложно, и как только понадобится, сделаю остальное.

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

<< предыдущая заметка  
пожаловаться на эту публикацию администрации портала
архив понравившихся мне ссылок

Комментарии к этой заметке скрываются - они будут видны только вам и мне.

Оставить комментарий