Comments 28
Ардуино — это платформа для чайников в прямом смысле этого слова. Зачем усложнять такую фигню? Взяли бы ту же межку и играли бы с ней напрямую по давно известным правилам. А в итоге получается берем что-то что прогрессировало с обычной межки до платформы для чайников и даунгрейдимся обратно до межки.
«создаем себе проблему и героически её решаем»
Это вот уж кому как. Для меня описанное в статье — насущная необходимость собрать и упорядочить софт, разрабатываемый разными командами в рамках одной экосистемы Linux. Выхлоп от этой деятельности я опубликовал. Без претензий на академичность. Кому надо — берите, не надо — проходим мимо
К слову помимо дотнетов у меня в опыте участие в разработке систем управления московского метрополитена, разработка софта для пары электромобилей и блока управления для танка на гибридной установке ;)
даже платы сами травят вместо того чтобы просто заказать на производстве
Мы в универе проект на заказ выполняли, тоже сами травили. Для первых прототипов нормально. Двухслойные платы с STM32 в TQFP100 корпусе — спокойно. Промышленные, конечно, хорошо, там и маска, и металлизация отверстий.
Такую плату можно изготовить за 2-3 часа. Может быстрее. Заказывать на производстве — неделю (если не приплачивать за срочность) и цены какие-то дикие. Финальный прототип мы такие заказывали у Резонита (заказчик потребовал, чтобы были не из Китая). Если подскажите, где можно не очень дорого делать в России платы — буду рад. Китай, это, конечно, дешевле, но доставка долгая.
И все таки одно дело прототип, который дальше рабочего стола не идет, и совсем другое размещение на готовой продукции в соответствии с габаритными размерами.
При всех недостатках Arduino, на ней реально быстро можно что-то склепать. Куча библиотек для разного периферического железа, датчиков. Сам я пишу на STM32 и время от времени страдаю от необходимости портировать/писать нужные библиотеки.
Но Arduino IDE есть вершина убогости, хуже Sublime Text, ей-богу. Решение автора позволяет разрабатывать под Arduiono, сохраняя все преимущества (ну и недостатки), в нормальной IDE.
В VSCode есть полноценный автокомплит, отображение методов классов, аргументов функций и всего такого? (я не подкалываю, я сам не знаю)
То что предлагается мной, называется использованием инструмента по его прямому назначению, и оправдано там, где в коде более чем один файл, используется VCS и прочие вещи, характерные для нормального процесса разработки
Собственно по желанию подключаете туда свои либы от дуинки.
Я же наплевал бы на дроч на линукса поставил бы старую добрую IAR и писал бы под ней или на худой конец авр студио, прикупив конечно же отладчик нормальный.
Человек который имеет линукс на рабочей тачке, очевидно весьма неглуп как минимум.
Так что разобраться с нормальной средой программирования для него не проблема.
Ардуино это радиоконструктор для детей, делать что-то большое из под нее это знатный кактус.
делать что-то большое из под нее это знатный кактус.
Я совершенно с Вами согласен. Объясняю ситуацию вкратце.
В конторе, где я работаю, разрабатываются тренажерные комплексы. Есть две команды: электронщики — они занимаются вестимо железом и прошивками к нему, и руковожу ими не я; и программисты-прикладники, разрабатывающие высокоуровневый софт для пц. Прикладниками командую я. Платформа, используемая нами на тренажерах — линукс. Соответственно софт разрабатывается под эту ос преимущественно, отсюда и стек технологий: Qt с родными средствами разработки.
Электронщики (и не я завел эту практику) ваяют железо на семействе AVR, используя ардуино для прототипирования, а для разработки софта Arduino IDE. Всё бы ничего, но в крайнем проекте, из-за дедлайнов электронщиков на других проектах, функцию написания софта для всего железа (12 плат сопряжения и пятью уникальными прошивками) пришлось взять на себя моему отделу, ибо тогда вообще швах со сроками был бы.
Arduino IDE я не хочу и не буду использовать в своей работе. Причины, думаю понятны тем кто в теме. Поэтому 4 прошивки, которые писались нами, писались на MS VS + vMicro. MS VS нам даром не нужен, мы как-то и без него справляемся, поэтому хлебнув неудобств, я пришел к решению адаптировать проекты прошивок под используемые в наших собственных проектах инструменты, что удалось.
Иногда приходится выкручиваться в пределах тех рамок, что задаются извне. Но испытывать боль при работе с хреновым текстовым редактором от ардуино, который почему-то назвали IDE у меня желания нет.
это радиоконструктор для детей
Если кто-то думает, что речь идет о готовых ардуинках, опутаных проводами и обвязом на макетках, то нет, Вы ошибаетесь. Готовый результат выглядит так (прячу под спойлер)
Что касается применения плат ардуино, они используются для прототипирования. Мои потуги уговорить электронциков посмотреть в сторону решения от DIHALT, например, успехом пока не увенчались
В следующей статье, возможно, поговорим о возможностях отладки проектов AVR в Qt Creator
А можно какой-нибудь спойлер о способе отладки? Сам я использую HappyJtag2 (JtagIce mk2) для этой цели, но звучит как-то интригующе, как-будто gdb будет использоваться.
А что до применения Arduino. К примеру, мне удалось собрать на нём ПЛК, программируемый на ST с использованием среды Beremiz. Работает, тестирую. Это ещё одна IDE для Arduino. Дёшево и сердито. Как протестирую на реальных ПЛК возможно тоже напишу статью.
Arduino в Linux: копаемся в кишках проекта