Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет Леонид Каганов ([info]lleokaganov)
@ 2025-10-12 12:50:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Entry tags:программирование, сделай сам, электроника

с Arduino на PlatformIO
взято отсюда: https://lleo.me/dnevnik/2025/10/12

Мир меняется. Когда-то я ненавидел корпорацию Майкрософт, считая ее злом и монополистом, тормозящим мировой прогресс своей жадностью. Потом признавал, что все-таки 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-дисплеев и на этом успокоился, поняв, что не так это и сложно, и как только понадобится, сделаю остальное.

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




(Добавить комментарий)


[info]gmv
2025-10-14 17:07 (ссылка)
А Машо никогда не учили в "Минском полипропиленовом лицее", что реальные транспортные средства, способные пройти сертификацию хоть чего-нибудь поприличнее ЕС, не то что без взяток, а просто в принципе - делаются только на уровне чистой электромеханики, с машинной логикой уровня максимум языка "Дракон", который годы в 1960-е использовали для описания разводки радиодеталей мейнфреймов?

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

Это ж даже не калькулятор на фреймворках - с того хоть спроса никакого, перельется вода через борт вашего воображаемого бассейна с двумя трубами - да и хрен с ней, вам в нем всё равно не плавать... Господи, как оно служило в очистке, т.е. простите - в EPAM'е!..

(Ответить)