LINUX.ORG.RU

Linux и Arduino

 


1

2

ребята привет

вопрос один: можно ли писать под Arduino из терминала без всяких сред разработки? ну то есть есть Debian server и больше ничего. можно?


Ответ на: комментарий от anonymous

КОИ8 — просто кодировка. Очень удобная, но можно пользоваться и другими: 866 или 1251. Мне без разницы. Но шрифты для МК у меня на КОИ8, т.к. такая локаль на компе.

anonymous
()
Ответ на: комментарий от anonymous

на меня наехал какой-то школьник. я ему просто пояснила. ничего личного.

на самом деле, даже для радиолюбителя ассемблер на контроллерах не нужен. потому что у него нет потребности в таких задачах, которые бы не уместились в сишной компиляции. разве что чисто ассемблер ради ассемблера. например, когда я поддерживаю у себя веб-сервер на ассемблере - он шустрый, как понос. и ощущается разница в потреблении ресурсов. а на авр-ке ну не заметишь ты разницы между ассемблером и сишной компиляцией. неизмеримые прибавки к скорости за счёт довольно кропотливой возни с ассемблером для специфической архитектуры. оно надо? не, я не буду отговаривать фанатов. это бесполезно. кровавый энтерпрайз тут при том, что он просто использует наиболее эффективные решения. бизнесу нужна эффективность. это вот там можно считать, сколько рублей стоит контроллер. а для радиолюбителя 11 или 35 рублей на чип - да ваще пофиг. тем более что у него накладные расходы на пересылку с али будут больше, чем если пойти и купить тот же контроллер в соседнем ларьке у перекупа. это имеет смысл разве что где-то на окраинах, где совсем нет магазинов радиоэлектроники.

Iron_Bug ★★★★★
()
Ответ на: комментарий от hobbit

зависит от предыдущего опыта в ЯП

да ладно! асм (без компилятора, настоящие мужики программируют путем ручного прожига рт18) был моим вторым языком (после бейсика).

Си — он всё же не так прибит гвоздями к архитектуре конкретного процессора. Хотя в контексте разговора про микроконтроллеры это, наверное, неактуально

если обмазаться библиотеками от васянов - м.б. Только потом не надо удивляться полученному результату. Для энтерпрайза сойдет, но для себя - нет, такого нам не надо.

напомню: все вышесказанное отражает мое мнение о С применительно к АВР

anonymous
()
Ответ на: комментарий от Iron_Bug

накладные расходы на пересылку с али

Они большие только в случае, если какую-нибудь тяжесть заказываешь. А для чипов цена на пересылку уже включена в цену!

Я себе несколько десятков всяких разных STM32 и STM8 набрал «на будущее» + постоянно пополняю запасы кондеров, резисторов, мосфетов и прочей мелкой рассыпухи.

anonymous
()
Ответ на: комментарий от anonymous

Ну вот смотри: код для аврки без всяких говнолиб. И почти точно то же самое делающий код для STM8 (понятно, что тоже безо всяких говнолиб).

Как говорится, найди разницу!

anonymous
()
Ответ на: комментарий от Iron_Bug

у радиолюбителя нет потребности в таких задачах, которые бы не уместились в сишной компиляции

из жизни:

  • поддержка фат32 на С не оставляет места в памяти программ, совсем не оставляет
  • быстродействия С-шного кода не достаточно для программной фильтрации шума при реализации уарта по проводам питания на скоростях в хотя бы 100 к/б

это из последнего

на меня наехал

Понимаешь в чем дело: для разбирающихся в теме приведенного фрагмента кода достаточно. Читая твои последние сообщения складывается впечатление об отсутствии у тебя какого-либо опыта в вопросах программирования для авр.

какой-то школьник

И лучшим вариантом было ответить в духе: «сперсамдоб!». Как мне кажется «школьников» (не по возрасту, но по духу) здесь больше одного. Зрелый человек уже признал бы ошибки и либо прилюдно покаялся, либо просто тихо ушел из обсуждения (мы все поймем).

anonymous
()
Ответ на: комментарий от anonymous

нет. я работала в нормальной разработке. и «видимость работы» там бы не проканала. потому что есть сроки и всё должно работать без глюков. но и работа ради работы никому не нужна. сами разработчики такой фигнёй страдать не станут и не будут усложнять себе задачу там, где не нужно.

«видимость работы» - это не к энетерпрайзу, а к госконторам. вот там болото то ещё. а энтерпрайз как раз очень даже умеет выжимать соки. он не живёт на дотациях из бюджета, у него нет госзаказа, он участвует в тендерах и должен конкурировать. поэтому вынужден максимально оптимизироваться.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от anonymous

поддержка фат32

Выдерни из старых ядер поддержку ext2, зачем тебе вантузья недофайловая система?

быстродействия С-шного кода

Ты что за бред пишешь? gcc компилирует очень хорошо. На ассемблере ты напишешь хуже!

anonymous
()
Ответ на: комментарий от Iron_Bug

Ой, да ладно!

Если «в продакшне» используют такой откровенный шлак, как NI'шные железяки, «запрограммированные» с помощью лабвью, то что тут говорить?

anonymous
()
Ответ на: комментарий от anonymous

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

Иначе не объяснить то, что конфигурационный софт сделан исключительно под игровые приставки и работает только от мышки! Т.е. вместо того, чтобы дать возможность тупо подключиться к отладочной консоли по RS-232 и набросать текст (или сразу текстовый файл с конфигурацией отправить при помощи cat file > /dev/ttyS0), требуется искать игровую приставку (причем, еще и прошивка должна быть строго определенной версии), качать с торрентов конфигурялку (т.к. «официально» за нее еще и деньги требуют — ну не охамели ли?) и тыкать мышкой неделю... Вместо того, чтобы, полистав полдня даташит, за другие полдня составить нормальный конфигурационный файл. А еще более правильные производители сразу же дали бы образец такого файла с кучей комментариев — ориентироваться в самодокументированном конфиге намного удобней!

Это меня просто достали ублюдки из всяких сименсов и севов!

anonymous
()
Ответ на: комментарий от anonymous

зачем тебе вантузья недофайловая система

а заодно установи на все пк линукс!

gcc компилирует очень хорошо

пуш-пуш-пуш, поп-поп-поп при свободных регистрах
нет, ОЧЕНЬ хороший с-программист напишет достаточно эффективный код. но мы говорим о радиолюбителях!

anonymous
()
Ответ на: комментарий от anonymous

NI'шные железяки, «запрограммированные» с помощью лабвью

О! Сколько же крови они попили! Слава макаронному монстру оно все погорело (спасибо студентам)!

anonymous
()
Ответ на: комментарий от anonymous

На ПК должна стоять операционка. А операционка обычно — линукс. Про гомосеков давай не вспоминать. Есть еще BSD, но она вполне с линуксом совместима. Все остальное забудем, т.к. у рядового пользователя вряд ли солярка или QNX будет на компе!

Ну, а если человек пытается игровые приставки для работы использовать, то гнать его в шею надо с работы!

мы говорим о радиолюбителях!

Радиогубитель на асме такое говно напишет, что смотреть страшно будет! Я уже насмотрелся, спасибо.

anonymous
()
Ответ на: комментарий от anonymous

кто использует? для начала, ты не обобщай. и вообще всё зависит от задач. может, в каких-то задачах и LabView-шного шлака хватает. кстати, сам LabView стоит дохренища и тут ещё должны окупаться затраты на его приобретение. не все его ещё могут себе позволить.

Iron_Bug ★★★★★
()
Ответ на: комментарий от anonymous

Последователи секты NI чем-то на еговистов похожи: тоже с такой же увлеченностью рассказывают, как тебе будет здорово, если ты в их говносекцию вступишь, но стоит задать наводящий вопрос, как они теряются и начинают откровенно хамить! Как же так, разрушил их няшный мирок...

Мне это чем-то напоминает «абдурину для богатеньких Буратин»: тоже 0 толку, тоже отсутствуют нормальные средства разработки, зато пафосу-то сколько! Ну, а цена — просто зашкваривает! Как в том анекдоте про новых русских, мол, дурак, там за углом такой же галстук в 2 раза дороже!!! То, что лабвью ориентирован на игровые приставки (есть версии для компьютеров, но сильно кастрированные), явно говорит, на каких обдолбышей эта продукция рассчитана!

anonymous
()
Ответ на: комментарий от Iron_Bug

Лабвью быстро качается с торрентов. Другое дело, что это говно привязано к NI'шным железякам. Поэтому NI совершенно не парится, что лабвью с торрентов качают. Точно так же, как не парился Билли, что прошивку для игровых приставок качают: чем больше наркоманов, тем больше будет доход!

anonymous
()
Ответ на: комментарий от anonymous

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

слушай, сборщика и нужно считать макакой. потому что в 99.99% случаев так и есть. это очень правильный подход. снижает риск всякой неадекватной самодеятельности.

никто не запрещает тебе по RS-232 слать команды чем угодно. напиши свой софт и используй. и вообще, если говорить о коммерческой разработке, то там не возникает вопросов с торрентами. там просто покупают официальные версии и всё работает.

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от anonymous

АВР-ки нужны как минимум для мелкой автоматизации, для больших проектов есть STM32 + FreeRTOS. Прикол авр в том что там все просто, в стм одно тактирование портов может испугать новичков.

AUX ★★★
()
Ответ на: комментарий от AUX

ЯХЗ, что там тебе просто. Но когда мне понадобилось старую железяку восстановить и я почитал даташит на аврку, я охренел: зачем люди используют это говно, если даже в STM8S003 ресурсов больше??? И жутко черезжопный подход: много чего приходится делать ногодрыгом из-за совершенно скудной периферии.

anonymous
()
Ответ на: комментарий от anonymous

Да, я абдурину использовал для опытов перед заливкой этого на основной контроллер (сдохло управление допотопным прибором, пришлось минимальными усилиями решать проблему).

Но зачем тебе? Аврки - это же говно мамонта! Если так хочешь убиваться по восьмибиткам, STM8 или нувотон возьми. Но если тебе что-то нужно более-менее нормальное делать и не искать геморрой, то пользуйся STM32 или другими армами!

Привет Эдуард!

Ramil ★★★★
()
Последнее исправление: Ramil (всего исправлений: 2)
Ответ на: комментарий от anonymous

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

впрочем, сименс стоит просто очешуительного бабла, но с точки зрения программируемой части - говно редкостное. я с ним сталкивалась, но поверхностно.

Использую S7-300 и S7-1200, стабильность на высоте, ни одного программного сбоя, железо живучее, в отличии от отечественных и китайских ПЛК. По баблу да... S7-300 очень дорогой, а вот S7-1200 по цене сравним с Овен ПЛК-110.

AUX ★★★
()
Ответ на: комментарий от AUX

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

например, сименс использует литейка, особенно всякая там медь и прочие баблоносные промыслы. там бабла много и на этом сименсе у них всё сделано. в мелкой автоматизации его использовать слишком накладно.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

Ну да, софт дорогой, но это если professional версия, а вот базовая у некоторых дилеров бесплатная, например для S7-1200, в итоге у меня все заворачивается в openSCADA по modbus TCP.

AUX ★★★
()
Ответ на: комментарий от AUX

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

сименс был маленькой частью проекта. и всё равно поверх сименсовской автоматики у нас была пущена своя контролирующая логика. чтобы ещё сверху проверять, что там всё в порядке. с одной стороны автоматика сименсовских контроллеров, с другой - софт на компе, который бдит за всей системой.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

медь и прочие баблоносные промыслы.

У меня этого г... много осталось на складе, после одного большого проекта.

AUX ★★★
()
Ответ на: комментарий от Iron_Bug

Есть изврат, согласен, мне от немцев остался проект на 120 тыс. строк кода на STL.

Но со временем я STL полюбил :)

AUX ★★★
()
Последнее исправление: AUX (всего исправлений: 1)
Ответ на: комментарий от AUX

STL страшен только поначалу. я когда в 90-х его увидела в первый раз - подумала, что говно какое-то :) но в целом он не страшен. правда, и не быстр. но для тех задач, где его применяют, он вполне пригоден.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

А сейчас есть что-то вменяемого пром. исполнения по цене, быстроте, нормальной средой на Си и полноценным скоросными gpio и интерфейсами spi, с аппаратной поддержкой энкодеров и проч.

Просто сейчас приходится использовать помесь пром. контроллеров и собственного колхоза на STM32.

AUX ★★★
()
Ответ на: комментарий от AUX

я не думаю, что такой специфический набор кто-то станет реализовывать. очень мало спроса будет. и что ты подразумеваешь под аппаратной поддержкой энкодеров? энкодер - просто некоторый монотонно увеличивающийся счётчик. есть энкодеры в каких-то механических устройствах, для определения положения. мы сами под свои проекты специфические контроллеры механики делали. даже более-менее универсальные в некотором смысле.

Iron_Bug ★★★★★
()
Ответ на: комментарий от anonymous

Слушай. А есть статейка или архивчик с исходником чтоб начать работать с stm32?

Ну вот по типу того, что я накидал ТСу. Покопался у тебя в гитхабе, там нашел blink, но, как водится, с наскоку, ничего не понял. Тем временем ты утверждаешь, что должно быть не сложнее АВР.

Признаться, в двух таймерах и 8 килобайтах тесновато. Я с самого начала, когда только подступался к МК, целился на stm32, но меня остановило отсутствие инструментария под линукс. Я осознавал, что придется переучиваться на stm, и вот, похоже, время приходит.

Будет нечего делать, или настроение, накидай у себя в ЖЖ-шке статейку, разжуй вероятные подводные камни — глядишь и перетянешь кого на светлую сторону Силы. )

pihter ★★★★★
()
Ответ на: комментарий от pihter

У меня в ЖЖ покопайся или просто воспользуйся гуголом.

Для начала можешь скачать с моей репы на гитхабе сниппеты. Кстати, обязательно стащи сниппеты под STM32F0 с сайта ST: там нет калокуба, чистый CMSIS. И их удобно использовать. Но всегда проверять надо, чтобы не было такого.

Сложного ничего нет. Нужны: а) документация с сайта ST (даташит, RM и errata для начала); б) установить arm-none-eabi (читай, как это делается в твоем дистре, у меня гента); в) стащить откуда-нибудь Makefile, стартап и линкер-скрипт (хоть у меня), а потом допилить по необходимости; г) не забыть, что это надо как-то прошивать (я шью через бутлодыря, т.е. нужен еще переходник USB<->TTL за полтинник). Все, дальше пишешь себе код, компиляешь и прошиваешь. Все элементарно.

Подробную статейку с нуля писать смысла нет: их в интернете уйма. Просто полистай у меня в ЖЖ по тегу STM32 (пересечение с тегом «рукожопие» можно опускать).

anonymous
()
Ответ на: комментарий от pihter

Да, об IDE и не задумывайся! Используй то, что тебе нравится. Я долгое время пользовался geany, но он меня окончательно доконал своими косяками, и я перешел на qt-creator (на картинке открытый проект для управлялки сверлильным станочком, правда, не STM32, а STM8; намедни плату закончил, сейчас надо код добить и протестировать все; если добавить поддержку g-кода, будет полноценная Z-координата ☺).

anonymous
()
Ответ на: комментарий от anonymous

У меня в ЖЖ покопайся

Пытаюсь, все время за шо-нить цепляюсь и начинаю читать не по теме )

или просто воспользуйся гуголом.

Это был план БЭ

сниппеты, калокуба, чистый CMSIS

кто все эти люди? я еще сшишком нубас, погоди с жаргонизмами

нужен еще переходник USB<->TTL за полтинник

Ну не настолько ж я нубас ) с АВР-ками ж дружу

pihter ★★★★★
()
Ответ на: комментарий от anonymous

Да, об IDE и не задумывайся! Используй то, что тебе нравится

Пфф... само собой )

на картинке открытый проект для управлялки сверлильным станочком, правда, не STM32, а STM8; намедни плату закончил, сейчас надо код добить и протестировать все; если добавить поддержку g-кода, будет полноценная Z-координата

Таки решил свой сколхозить? Я давно так и сделал. То, что есть на рынке — какких-то нереальных денег стоит (за управление тремя двигателями) да еще и работает через собственную pci-плату/LPT

Кстати, раз уж пошла такая пьянка, не знаешь как из KiCAD-овских файлов координаты отверстий добыть? Я посмотрел и плюнул, просто анализирую изображение платы и нахожу замкнутые участки подходящего размера и формы — вычленяю координыты отверстий

pihter ★★★★★
()
Ответ на: комментарий от pihter

Таки решил свой сколхозить?

Для начала - просто ручной сверлильный станок для печатных плат. С регулировкой оборотов, педалькой (нажимаешь - сверлит, отпускаешь - выходит из платы) и прочими плюшками. Лежит плата на столе, как голова горгоны Медузы... ЧПУшный станочек тоже со временем хочу наколхозить (для начала - хотя бы самый примитив из говна и палок, потому что из нормальных материалов строить — тысяч 15 только за станину отдать придется!).

как из KiCAD-овских файлов координаты отверстий добыть?

Да очень просто: сгенерируй drl-файл в pcbnew! Есть скрипты, которые преобразуют его в g-коды. И можно сверлить ЧПУшной сверлилкой.

anonymous
()
Ответ на: комментарий от anonymous

для начала - хотя бы самый примитив из говна и палок, потому что из нормальных материалов строить — тысяч 15 только за станину отдать придется!

для сверления достаточно толстой фанеры на копрпус, стальных направляющих из старых матричных принтеров и кареток, собранных на подшипниках.

Да очень просто: сгенерируй drl-файл в pcbnew! Есть скрипты, которые преобразуют его в g-коды. И можно сверлить ЧПУшной сверлилкой.

хм...

M48
;DRILL file {KiCad 4.0.5+dfsg1-4} date Wed Jan  2 19:37:28 2019
;FORMAT={-:-/ absolute / metric / decimal}
FMAT,2
METRIC,TZ
T1C0.800
%
G90
G05
M71
T1
X251.371Y-79.604
X251.371Y-82.144
X251.371Y-84.684
X251.371Y-87.224
X251.371Y-89.764
X251.371Y-92.304
X251.371Y-94.844
X251.371Y-97.384
X251.371Y-99.924
X251.371Y-102.464
X251.371Y-105.004
X251.371Y-107.544
X251.371Y-110.084
X251.371Y-112.624
X258.991Y-79.604
X258.991Y-82.144
X258.991Y-84.684
X258.991Y-87.224
X258.991Y-89.764
X258.991Y-92.304
X258.991Y-94.844
X258.991Y-97.384
X258.991Y-99.924
X258.991Y-102.464
X258.991Y-105.004
X258.991Y-107.544
X258.991Y-110.084
X258.991Y-112.624
T0
M30

...чет я куда-то не туда смотрел, вопрос снимается :)

// ты говоришь скрипты по преобразованию в g-код. Я с ним не работаю, но выглядит уже как джи-код ну или типа того

pihter ★★★★★
()
Ответ на: комментарий от anonymous

скрипты, которые преобразуют его в g-коды

Я, в свое время, счел формат невнятным/переусложненным и скостылил собственный dir/step-подобный

редактируемый хранится в подобном (это для лазерного фанерокрошителя):

line(x1=10.1, y1=10, x2=20, y2=20)
circle(x=20, y=20, r=15)
arc(x=50, y=50, r=20, a1=1, a2=3)

а «скомпилированный» (готовый для скармливания станку), так:

xd 220
yd 200
en laser
xb 1
yd 6
xb 1
yd 2
xb 1
yd 2
xb 1
yd 1
xb 1
yd 2
xb 1
yd 1
xb 1
yd 1
xb 2
yd 1

поэтому мне были нужны только координаты. Спасибо за наводку. (в диалоге «чертить» отмечал галочку «создать файл сверловки» а там какая-то невнятина)

pihter ★★★★★
()
Ответ на: комментарий от Iron_Bug

что ты подразумеваешь под аппаратной поддержкой энкодеров

Это когда в камне аппаратно реализована поддержка энкодеров, типа подцепляешь на ноги, настраиваешь таймер в режиме энкодера, читаешь из регистра данные. Очень удобно, не каких прерываний, писать ничего не надо, максимальная скорость считывания, максимальная точность(например энкодер с 400 имп. на оборот можно сделать на 1600 имп. на обр.)

AUX ★★★
()
Последнее исправление: AUX (всего исправлений: 1)
Ответ на: комментарий от AUX

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

Я в курсе, что не сложно, просто сейчас делаю проект, где три энкодера одновременно крутятся со скоростью 2-3 оботота в сек. К слову китайские стоят недорого, но сколько проходят, это вопрос.

AUX ★★★
()
Ответ на: комментарий от Iron_Bug

Ещё есть проблема, если городить энкодер на прерывании, то когда их больше одного и скорость их немаленькая, то не всегда можно вложиться в производительность МК, и получить пропуски, особенно если нужна высокая точность.

AUX ★★★
()
Ответ на: комментарий от anonymous

А смысл, если можно подобрать камень с нужным количеством таймеров, умеющих в энкодеры?

А я про что говорю! Тред не читал?

AUX ★★★
()

Не знаю, напоминали ли уже профессионалам в этом треде или нет, о том что Arduino есть и на ARM процессоре.

Bad_ptr ★★★★★
()
Ответ на: комментарий от Bad_ptr

Абдурина на арме — вообще извращение. Потому как в этом случае вообще негуманно с камнем обходятся: у него уйма аппаратных возможностей, а его тупым ногодрыгом...

Хотя, что взять с абдуринщиков? Это ж как мастдайщики — умственно неполноценные...

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.