URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 132813
[ Назад ]

Исходное сообщение
"Новая версия среды разработки Arduino IDE 2.3 "

Отправлено opennews , 11-Фев-24 17:44 
Сообщество Arduino, развивающее серию открытых плат на базе микроконтроллеров, опубликовало релиз интегрированной среды разработки Arduino IDE 2.3, предоставляющей интерфейс для написания кода, компиляции, загрузки прошивок на оборудование и взаимодействия с платами в процессе отладки. Разработка прошивок производится на немного урезанной версии C++ с фреймворком Wiring. Код интерфейса среды разработки написан на языке TypeScript (типизированный JavaScript), а бэкенд реализован на языке Go. Исходные тексты распространяются под лицензией AGPLv3. Подготовлены готовые  пакеты для Linux, Windows и macOS...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=60588


Содержание

Сообщения в этом обсуждении
"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 17:44 
Используйте Qt Creator + CMake + Clang. Arduino Studio - игрушечный хлам.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 17:54 
А кутекреатор не игрушечный скам?

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 18:13 
Серьёзные корпорации собирают свои поделки исключительно самой последней версией Visual Studio :).

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 19:36 
> Серьёзные корпорации собирают свои поделки исключительно самой последней версией Visual
> Studio :).

Это та серьезная корпорация у которой в проде 70% инсталляций - линухи? А они линух студией смогли собрать? :)


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено котся , 11-Фев-24 19:54 
если средстами wsl считается - то да, можно из студии.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 02:17 
> если средстами wsl считается - то да, можно из студии.

Студия работает в WSL и может собрать линуксное ядро?


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено котся , 12-Фев-24 08:35 
> Студия работает в WSL и может собрать линуксное ядро?

студия работает на винде, но для сборки использует средства сборки линуксовые из wsl. ну а все исходники еще и подсвечиваются Intellisense
чисто для сборки ядра есть даже проект VisualKernel, с которым можно дебажить ядро(лол?)


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено n00by , 12-Фев-24 12:45 
Так можно любым редактором "собрать", если есть запуск внешней команды по кнопочке.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 20:30 
Нет, всего лишь Python Software Foundation, все разработчики AAA игр, все разрабы профессиональных дорогущих проприетарных прог и т.д. Они все имеют привычку собирать Студией и дропать версии винды, когда их дропают редистрибутейблы Студии. хотя могли бы собирать шлангом + MinGW + старый/форкнутый pthreads (они тоже XP дропнули по желанию левой пятки), и заработало бы хоть на хрюше. Также большинство из них любит дропать поддержку старых камней. Ну действительно, если сидит на старье — то прога, цены на лицензию которой больше, чем стоимость компа из верхнего сегмента, у него с высокой вероятностью нелицензионная.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 05:09 
Ох, старые камни...

Официально Windows 11 не поддерживает AMD Ryzen 1700, обновить с 10 до 11 нет возможности, но установить 11 версию с помощью официального образа дает, причем ОС работает, получает обновления. Бред же


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 10:33 
>обновить с 10 до 11 нет возможности

Это и так крайне не рекомендуется. Все ценные данные вообще надо держать на отдельном разделе.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 14:53 
> Это и так крайне не рекомендуется

Это вы с линуксом перепутали.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Aleksander256 , 11-Фев-24 18:08 
Clang может avr?

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 18:11 
Могёт, с C++23.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено user90 , 11-Фев-24 19:14 
А нормальные перцы используют Emacs.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 19:14 
Может и хлам, но там всё интегрировано. А с кукарекатором ещё возиться настраивать.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 22:27 
Поправил: Используйте Qt Creator + QBS. А Шланг здесь это лишнее.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 23:31 
Это работающая из коробки штука, которая работает. Много таких плат сделано на AVR, а "AVR backend - experimental backend"[1], так что в роли "игрушечного хлама" внезапно оказывается Clang. Из более серьёзного, чем Arduino IDE, для AVR (и ARM Atmel, наверное) есть смысл в AVR/Atmel/Microchip Studio (2 раза переименованная IDE на основе Visual Studio), в ней и плагин какой-то ардуиновский есть.

[1] https://llvm.org/doxygen/md_lib_Target_AVR_README.html


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 02:26 
>так что в роли "игрушечного хлама" внезапно оказывается Clang.

Хотите сидеть без современного C++, вычислений во время компиляции - дело барское. А я предпочту "экспериментальный бэкенд", но с magic_enum и DRY-принципом вместо говноскриптов, генерящих C файл.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 02:37 
>>так что в роли "игрушечного хлама" внезапно оказывается Clang.
> Хотите сидеть без современного C++, вычислений во время компиляции - дело барское.
> А я предпочту "экспериментальный бэкенд", но с magic_enum и DRY-принципом вместо
> говноскриптов, генерящих C файл.

Только когда вам экспериментальный бэк выгрузит кривой код и что-то где-то как-то пойдет не так (что в управляющих системах ну вот не очень круто) - вы уж там не взыщите, если что. Зато блин с magic smoke :)


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 10:37 
Кому нужна высокая надёжность — тот на ada пишет.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено adolfus , 12-Фев-24 13:05 
Код из под ADA не работает на голом железе -- окружение (run-time) требует, в отличие от си.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 17:37 
а самолёто-ракето-строители и не знали!

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено adolfus , 12-Фев-24 20:36 
> а самолёто-ракето-строители и не знали!

НЯП, на всех самолетных БЦВМ _всегда_ есть операционная система, в среде которой работают все программы. Что касается ракетостроения, то там точно такая же ситуация, если мы говорим о тех ракетах, которые запускаются не из Плесецка. А для тех, что запускаются из Плесецка, ничего на языке ADA не пишут. Там свой ЯП.
Но вы можете подтвердить свои слова, предоставив ссылку на соответствующее место в стандарте ISO/IEC 8652. Там должно быть перечислено, что не поддерживается в "standalone" режиме. Это когда выхлоп компилятора мимо компоновщика прямо попадает к загрузчику в голую ОП и там он работает один-одинешенек. Без какой-либо операционки.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 22:44 
> место в стандарте ISO/IEC 8652. Там должно быть перечислено, что не поддерживается в "standalone" режиме

А без бумажки оно работать что ли не будет? Будет. Да и пишут, что авиацию и ЖД со своими бумажками существующий freestanding устраивает.

Тут[1] написано: "embedded in certified applications ... no-run time profile (zero footprint) ... certification artifacts for various standards, including DO-178B/C or EN-50128". Это нарушит пункт ISO/IEC 8652 про "shall be provided by every implementation ... RPC [и что-то ещё проблемное]"[2].

[1] https://www.adacore.com/products/certification-materials
[2] https://www.adaic.org/resources/add_content/standards/05rm/h...


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено adolfus , 16-Фев-24 13:58 
Таки да, ada-код собирается для платформ bare-metall, что эквивалентно standalone.
Признаю некомпетентность в данном вопросе.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 14-Фев-24 17:25 
> Кому нужна высокая надёжность — тот на ada пишет.

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


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 04:06 
> А я предпочту "экспериментальный бэкенд"

Нет, ты предпочтёшь написать, что ты предпочтёшь. Ты серьёзно думаешь, что GCC C++ работает вот так, "генерит C файл"? Аналогичные вопросы ко всему остальному.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 10:35 
Нет, я думаю, что официальный тулчейн не поддерживает минимально необходимые (то есть 23) версии языка C++.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 17:10 
Но тогда зачем ты пишешь, не думая ("генерит C файл")? И зачем тебе эксперименты с Clang, который придётся вкорячивать в существующий avr-gcc тулчейн (из-за его libc и прочего), если ты можешь просто собрать/скачать[1] свежий avr-gcc?

Не знал, что команда Arduino застряла на старом GCC[2].


[1] https://github.com/ZakKemble/avr-gcc-build/releases/tag/v13....
[2] https://github.com/arduino/ArduinoCore-avr/issues/435


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 17:38 
Зачем мне собирать или качать старое дерьмо, если у меня ночной clang установлен из пакетов?

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 20:35 
> GCC 13.2.0 (2024-01-04)
> старое дерьмо

...

> если у меня ночной clang установлен из пакетов

Если ты его полноценно подружил с AVR, молодец, можешь статью написать. Если нет - хватит флудить.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 18:02 
Сначала не понял как из эклипса такой интерфейс сделали, а оказалось, что это эклипс сделала очередной основанный на хроме редактор.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 18:17 
Эклипс основан на vscode, который основан на хроме

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 22:30 
в доме, который построил Micro$oft.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 18:11 
Игрушка для детей и начинающих.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено dannyD , 11-Фев-24 18:38 
и?

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено OpenEcho , 12-Фев-24 00:51 
> и?

А что не понятного, обычный опеннетчик, кичится как он крут со своим platformIO или Atmel Studio или еще что, чтоб самоутвердится.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Тот_Самый_Анонимус_ , 11-Фев-24 18:18 
В винде это г-но не работоспособно в изначальной обстановке. Лезет зачем-то в инет. Ветка 1.х в этом плане автономна.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 18:27 
А вы пробовали не давать лезть?

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Тот_Самый_Анонимус_ , 12-Фев-24 05:39 
Да. Тогда оно не запускается.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 10:34 
При установке и первом запуске RJ-45 можно попробовать выдернуть.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Тот_Самый_Анонимус_ , 12-Фев-24 19:49 
Тогда.
Оно.
Не.
Запускается.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 19:12 
А что не лезет? Visual Studio вроде не лезет, всё остальное лезет.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 22:04 
> А что не лезет? Visual Studio вроде не лезет, всё остальное лезет.

а отключение телеметрии в настройках vs зачем?



"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 22:32 
Хм, я давно не пользовался, тогда ещё vscode только появился. А при установке не спрашивает? Или лезет, если отказаться?

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Тот_Самый_Анонимус_ , 12-Фев-24 05:40 
>А что не лезет?

Первая ветка.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 18:19 
>Сообщество Arduino, развивающее серию открытых плат на базе микроконтроллеров

Пацаны Ардуино свободное железо? Столлман бы одобрил?


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено dannyD , 11-Фев-24 18:41 
>>Сообщество Arduino, развивающее серию открытых плат на базе микроконтроллеров
> Пацаны Ардуино свободное железо? Столлман бы одобрил?

а вы видели сырцы бутлодера?


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 18:26 
Но вот почему, почему VS Code с бесконечно бо́льшим количеством возможностей запускается за секунду, а это подобие турбопаскаля за полминуты?

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 19:42 
Потому что Lazarus запускается быстрее VS Code.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 00:55 
Да и Турбопаскаль быстрее запускается. Впрочем давно его не видел.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 02:30 
Те кто хейтит, вы видимо даже не видели сабж кроме как на скрине выше.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 18:34 
Раньше чтобы включить свет ты просто подходил к выключателю и включал. Теперь надо изучить урезанную версию крестов, купить arduino в обход санкций, скачать ide, и может быть, включить свет получится.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 18:48 
Если не получится, то всегда можно обратиться к ардино-фрилансерам. Недорого.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 18:51 
Яндекс.доставке пора предложить новую услугу. Приедем и включим вам свет, недорого!

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено n00by , 11-Фев-24 20:04 
Когда свидетели эпичного бага 12309 крыли скептиков железным аргументом "у меня всё висит", я просто подключил Ардуину с ЖК экраном и сделал вывод на неё интересной мне информации два раза в секунду. При отсутствии данных (например, когда система не отдавала такты программе вывода) Ардуина работала как автономный секундомер, можно было оценить время. Погонял в разных конфигурациях, попробовал воспроизвести сценарии возникновения этого 12309. Много нового тогда узнал об экспертах.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 21:34 
С SATA-кабеля, с UART жёсткого диска, или прямо к DIMM-модулям подключился?

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено n00by , 12-Фев-24 05:56 
К "DIMM-модулям" подпаивал пару проводков и втыкал их в Ардуину, когда надо было перешить SPD. Смысл остальной части сообщения не уловил.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 10:41 
Наверное, имелось ввиду, как Ардуина получала сведения о том, чем в данный момент занят CPU материнки.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено n00by , 12-Фев-24 12:51 
Ну так наверное стоит посмотреть, как эта Ардуина вообще выглядит и каким местом подключается к ПК. А "вывод на неё интересной мне информации два раза в секунду" некоторым экспертам даже удавалось найти у меня на Гитхапе и пололировать, не догадавшись, зачем оно было надо.

Чем там у свидетелей был занят CPU - это и без Ардуины оказалось понятно - повышал энтропию Вселенной заодно с экспертами. Что бы воспроизвести "баг", мне потребовалось не только последовать дурному совету и засунуть подкачку в ZRAM, но и собрать ядро с конфигом от автономной ОС, где 12309 воспроизводился (и был триумфально "побеждён" резервом 256М неподкачиваемой памяти). Что было вполне ожидаемо: у MS есть checked build, а у RH нескучные клоны Fedora.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Высокоимпедансно , 11-Фев-24 20:42 
Можно скачать протеус и включать виртуальный свет. Ничего покупать не надо :).

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено ИмяХ , 12-Фев-24 06:26 
Раньше, чтобы включить свет, заливали сосуд маслом, ставили фитиль и поджигали его.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 10:41 
Ох уж эти деструкторы, всё бы вам жечь :)

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 13:30 
и отправляли к ближнему своему

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Alladin , 11-Фев-24 18:59 
осталось узнать, что такое язык Wiring и почему о нем никто никогда не знал и не знает..

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 19:38 
> осталось узнать, что такое язык Wiring и почему о нем никто никогда
> не знал и не знает..

Потому что это такой "C++ для чайников" на самом деле. И вот уже нуб лихо фигачит свой serial.begin(9600); понятия не имея что это так то - плюсота :)


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Alladin , 11-Фев-24 22:07 
Верно

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 10:36 
Нет. Это именно язык. И в новости неверно.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 13-Фев-24 07:30 
Wiring - это и язык, и фреймворк. Язык с фреймворком, как и написано в новости.

"Wiring Language" - это то, что в новости описывается как "немного урезанной версии C++"

https://github.com/WiringProject/Wiring

Wiring has three major components:

    The Wiring Language: A thin layer on top of C++ which simplifies the process of writing embedded programs.

    The Wiring Framework: A C and C++ API for writing embedded programs, either using C++ or the Wiring Language. Currently, a implementation of the Wiring framework exists for 8-bit AVR microcontrollers. Support for the STM32 line of ARM Cortex M3 and M4 microcontrollers is in progress.

    Wiring IDE: A cross-platform Integrated Development Environment (IDE) used to write, compile, and upload programs written in the Wiring language to boards which support the Wiring Framework.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено maxx , 11-Фев-24 19:41 
Потому что самое свежее
Wiring 1.0 Build 0101 | 28 October 2014

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 00:35 
"Arduino programming language (based on Wiring)"[1].

Я не знаю, зачем они лгут. Для упрощения? Но это наоборот путает. Для того, чтобы пользователь не выходил за рамки их экосистемы и не осознавал, что пишет на обычном C++ и пользуется обычным GCC? Но это обучающие платы, а не оглупляющие.

[1] https://www.arduino.cc/en/Guide/Introduction


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 00:52 
upd: "упрощение" есть вот в чём.

Можно спросить, "если это обычный C++, то где main(), почему расширение у файлов .ino?". И самый короткий ответ, который заткнёт вопрошающего - "потому что Arduino - это другой язык".

Тогда как правильный ответ - "потому что main() находится в ардуиновской библиотеке, где есть main.cpp, где лежит ожидаемый код `int main(void) {... setup(); ... loop();`...".


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено n00by , 12-Фев-24 06:36 
> "Arduino programming language (based on Wiring)"[1].
> Я не знаю, зачем они лгут.

Тут требуется помощь нэйтив спикеров.

"the Arduino programming language" - вот это означает "язык программирования [железки] Ардуины", или "язык программирования «зе Ардуино»"?

"(based on Wiring)" - Wiring is an open-source programming _framework_ for microcontrollers. Тут вроде всё понятно.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 19:38 
Таки Wiring придерживается позиции, что он двуединый язык и фреймворк.

> digitalWrite() \ Language (API) \ Wiring 1.0[1]
> Reference for the Wiring.org.co programming environment and language[1]
> The Wiring Language: A thin layer on top of C++[2]

И подобно антитринитариям в христианстве (интересно, что среди них был Ньютон), надо возразить, но, наверное, без повешения кого-либо за ересь.

В общем, там была такая история.

1. Processing
В 2001 художник и дизайнер в MIT решили сделать Processing: комплекс из Java-библиотеки и IDE для рисования-визуализации. От художников для художников, все OpenGL-кишки спрятаны. И даже Java-кишки немного спрятаны - пользователь пишет файл-скрипт с двумя функциями - setup() и вызываемым в цикле draw(), а в "public class ... extends" их заворачивает препроцессор[3], который и другие мелочи делает (свои hex-литералы в джавовские конвертирует, например). И из-за препроцессора авторы с натяжкой назвали Processing новым языком. Пользователь может не думать о настоящей точке входа, о том, что setup() и draw() откуда-то вызываются.

2. Wiring
Затем вышеупомянутый художник поехал учить в один итальянский институт. И под его руководством в 2004 появился Wiring как магистерская работа одного студента. Wiring - комплекс для обучения и прототипирования из отладочной платы, IDE и C++-библиотеки, который перенял принцип "пользователь определяет функции setup() и loop()". Снова кишки спрятаны - новичок не не узрит boilerplate-кода, а при желании плавно и безболезненно перейдёт на профессиональные инструменты, разберётся с точками входа в C/C++ (и именно во freestanding C/C++) и т.д. Нового языка нет и с натяжкой, поэтому такое "упрощение для учеников" стало ересью.

3. Arduino
Затем в 2005 другие студенты того же института форкнули вышеупомянутый программно-аппаратный комплекс и назвали Arduino. Больше разных плат, больше коммерции. Со временем Arduino показала себя в новом сомнительном качестве - как JavaScript в мире embedded. Родилась идея, что Arduino можно использовать не для прототипирования и обучения, а для серийных изделий. Что его библиотека - это полноценный, хоть и пованивающий Hardware Abstraction Layer, с которого не надо слезать и что Arduino может замкнуться в себе, а не быть обучающим шагом для плавного перехода к профессиональной разработке.

На ереси о новом языке команда Arduino не настаивает, но как наследие она местами встречается.

Вообще для микроконтроллеров AVR ещё есть компиляторы (или интерпретаторы) Ada, Basic, Forth, Java, Pascal и Python.

[1] view-source:http://wiring.org.co/reference/digitalWrite_.html
[2] https://github.com/WiringProject/Wiring
[3] https://github.com/processing/processing/blob/master/java/sr...


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено n00by , 13-Фев-24 08:03 
Ну раз дело дошло до канонов, тогда есть такой:

3.32 well-formed program [defns.well.formed]

C++ program constructed according to the syntax rules, diagnosable semantic rules, and the one-definitionrule (6.3)

Остаётся показать, что программа на языке Wiring соответствует well-formed C++ program. Тогда утверждение "пишет на обычном C++" будет верным. Пока что "a thin layer on top of C++" ставит под сомнение предыдущую цитату.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 13-Фев-24 11:25 
> "a thin layer on top of C++" ставит под сомнение предыдущую цитату

Ну, там есть кусок[1], который вставляет такой код (один инклуд и прототипы функций), попутно переименовывая файл в .cpp.

#include "WProgram.h"
void setup();
void loop();

> Ну раз дело дошло до канонов, тогда есть такой
> Остаётся показать, что программа на языке Wiring соответствует well-formed C++ program.
> Тогда утверждение "пишет на обычном C++" будет верным.

Это не те дроиды, что вы ищете. Я даже не смогу назвать компилятор C++ без расширений, делающих программу ill-formed[2], как __attribute__(()), например. Плюсовые программы в Wiring и Arduino способны быть ill-formed хотя бы из-за GCC.

Предупреждаю - если кто-нибудь скажет, что оба случая (инклуд и гццизм) создают новый язык, достойный отдельного названия, то я немедленно объявлю о создании семейства языков JebanyOpennetowskyDemagogue. JebanyOpennetowskyDemagogue1 будет Qt C++ из-за его Meta-Object Compiler, JebanyOpennetowskyDemagogue2 будет Cи-с-гццизмами, JebanyOpennetowskyDemagogue2A будет Си-с-авээр-гццизмами, JebanyOpennetowskyDemagogue3 будет Си-с-мсвцизмами, JebanyOpennetowskyDemagogue4 будет Си-с-шлангизмами...

[1] https://github.com/WiringProject/Wiring/blob/master/IDE/proc...
[2] 4.1/8: "A conforming implementation may have extensions", "such extensions that are ill-formed according to this document"


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено n00by , 13-Фев-24 13:58 
Понятие "язык" относится к тому, на чём написан исходный текст. GCC понимает well-formed C++ program? Значит соответствует стандарту (что он там понимает ещё - это поведение, к которому у стандарта нет требований). На этом разговор о трансляторах можно закончить.

Если программа на "языке" Wiring без волшебной вставки каких-либо кусков не является well-formed C++, значит, строго говоря, это не С++. Точно так же программу на Qt называют сиплюсплюсом весьма условно. Другое дело, что обычно об этом не спорят, если не стоит задача из разряда завалить на собеседовании.

Если у создателей Wiring стояла цель не пугать сложностью свою целевую аудиторию, а заодно оградить гуру плюсов от инфарктов при просмотре типичного ардуиновго кода, то они поступили правильно. При желании можно обозвать их трендовыми маркетологами, заодно показав "а вот так там можно на асме и Си" [#146]. Называть же их лгунами - это оказывается не по стандарту.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 13-Фев-24 21:04 
Ну извините, это пустое жонглирование словами. На него сложно ответить, потому что каждое предложение разбирать как-то неприлично, а по существу отвечать не на что.

Вот первое предложение -
> относится к тому, на чём написан исходный текст

Исходный текст чего? Всех допустимых программ. Тогда второе предложение оказывается не связано с первым. "GCC понимает well-formed C++ program", но он понимает и C++ с гццизмами, который с точки зрения стандарта является ill-formed. Зачем тогда первое предложение? Зачем была ссылка на well-formed в стандарте, а не на conforming implementation?

> Если программа на "языке" Wiring...  

Какая программа? Каждая? Хотя бы одна? Нет, нужную мысль ни так, ни так сформулировать не получится.

> Значит, строго говоря, это не С++

Вы тезис подменили, перескочили на "быть C++", хотя в первом абзаце "быть C++ или его надмножеством".

Собственно, во всех трёх примерах (GCC, Wiring, Qt) речь идёт о надмножестве C++. О C++ с расширениями (но первый пример вы почему-то считаете за C++, а вторые два - нет). Подстановку одного #include и генерацию деклараций функций вы считаете за новый язык Wiring - пусть это на вашей совести останется. А если это силами CMake реализовать - тоже новый язык будет?

Последний абзац опирается на некое ошибочное понимание того, что такое Wiring. Вы согласитесь или возразите моим словам из #56: "форкнули вышеупомянутый программно-аппаратный комплекс [Wiring] и назвали Arduino". Всё форкнули, всё. Были платы Wiring - стали платы Arduino. "Был" "язык Wiring", стал "язык Arduino". Были библиотеки (фреймворк) Wiring, стали библиотеки (фреймворк) Arduino.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено n00by , 14-Фев-24 07:48 
Ну извините, это пустое жонглирование словами. На него сложно ответить, потому что каждое предложение разбирать как-то неприлично, а по существу отвечать не на что.

Вы тезис подменили, перескочили на "быть ill-formed хотя бы из-за GCC", хотя в исходном набросе "зачем они лгут".


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 14-Фев-24 15:53 
> тезис подменили, перескочили

Допустим, это не передразнивание. Я серьёзно перескажу эту ветку комментариев.

Другой анон: "осталось узнать, что такое язык Wiring".
Я: они считают Arduino за язык, и Wiring тоже. Наверное, это ложь для "упрощения".
Вы: нет, Wiring - это фреймворк, а "язык Arduino" может означать "язык для Arduino".
Я: вы ошиблись, вот вся история. Arduino - это форк Wiring, который и фреймворк, и железо, и IDE, и называл себя языком как это делал Processing (в котором были основания называться не-джавой)
Вы: он будет обычным C++, если будет отвечать этому пункту стандарта.
Я: да вы что, этому пункту никакие компиляторы не отвечают так, как вы требуете. Если пытаться создать обоснование для "thin layer on top of C++", то вот нашлась вставка инклуда и прототипов.
Вы: *жонглируете словами*.
Я: я не могу на это ответить, не притворяйтесь ужом на сковородке. Вы ошиблись, вам был нужен другой пункт стандарта, про conforming implementation. Вы ошиблись, всё перечисленное - надмножество C++. Вставку инклуда и прототипов можно назвать расширением C++ (гораздо меньшим, чем расширения компиляторов).

> перескочили на "быть ill-formed хотя бы из-за GCC"

Я написал "способны быть ill-formed", потому что вы в тот раз тоже не уточнили, *какая* программа - мысли читать не умею, извините. Это демагогия - избегать строгих формулировок и потом лавировать, чтобы переспорить оппонента.

> хотя в исходном набросе "зачем они лгут".

Так они лгут, сами посмотрите: https://github.com/arduino/language.

"domain-specific language implemented using a subset of the C++ syntax"
- они взяли стандартный GCC, "subset of the C++ syntax" у них родиться не может.

"The Arduino Language includes: the core API, i.e. a set of built-in classes"
- подключили библиотеки и назвали их частью нового языка.

"The Arduino Language includes: the official libraries"
- создали репозиторий с проверенными библиотеками и назвали их частью нового языка.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено n00by , 15-Фев-24 10:43 
>> тезис подменили, перескочили
> Допустим, это не передразнивание. Я серьёзно перескажу эту ветку комментариев.

Это не требуется. Обвинение во лжи - достаточно сильное заявление. На поверку оно оказалось ложным.

>> перескочили на "быть ill-formed хотя бы из-за GCC"
> Я написал "способны быть ill-formed", потому что вы в тот раз тоже
> не уточнили, *какая* программа - мысли читать не умею, извините.

Не извиняю. Если хотите уточнение к цитате стандарта, учитесь читать стандарт.

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

Вот и прекратите отвечать на цитату стандарта чушью.

>> хотя в исходном набросе "зачем они лгут".
> Так они лгут, сами посмотрите: https://github.com/arduino/language.
> "domain-specific language implemented using a subset of the C++ syntax"
>  - они взяли стандартный GCC, "subset of the C++ syntax" у
> них родиться не может.

Очередное голословное заявление. И ложное. Удачи с std::exception.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 15-Фев-24 17:55 
>> не уточнили, *какая* программа - мысли читать не умею, извините.
> Не извиняю.

Пойду libastral компилять, вы мне иного выхода не оставляете.

Вы занимаете демагогией, игнорируете неудобные тезисы, с демагогами спорить неприлично. Люди могут подумать, что в ваших словах "что-то есть", раз с вами до сих пор общаются. Пусть они:
1. учтут, что Arduino использует компилятор GCC C++
2. прочитают позицию создателя комплекса Wiring: https://arduinohistory.github.io ("“language” or programming “framework”" - фреймворк и язык используются как синонимы)
3. прочитают позицию команды Arduino: https://github.com/arduino/language (о похожем неразличении языка и фреймворка)
4. посмотрят на преемственность, идущую от Processing'а, которая тоже внесла вклад в появление ошибки (мой коммент выше)

>> они взяли стандартный GCC, "subset of the C++ syntax" у них родиться не может.
> Очередное голословное заявление. И ложное. Удачи с std::exception.

Для поддержки синтаксиса исключений надо написать "-fexceptions", std::exception - это содержимое библиотки <exception>, она где-то была среди "официальных" ардуиновских (но зачем). Я что, тоже должен многозначительно сказать "Удачи", забросив предмет обсуждения? Я лучше не буду словесным навозом перебрасываться.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 15-Фев-24 21:03 
5. почитают остальные мнения команды Arduino:
- "Arduino language is merely a set of C/C++ functions"[1],
- "some minor pre-processing to turn your sketch into a C++ program"[2],
- "the code that you have written is translated into the C language (which is generally quite hard for a beginner to use)"[3],
- "Arduino API, aka the "Arduino Programming Language""[4]
6. посмотрят на анализ препроцессора[5] (такой же, но теперь не от меня) и решат для себя, имеет оно право называться новым языком или нет ("three lines away from being standard C++")

[1] https://support.arduino.cc/hc/en-us/articles/360018448219-Ca...
[2] https://arduino.github.io/arduino-cli/0.36/sketch-build-process
[3] https://www.academia.edu/33554986/Massimo_Banzi_Getting_Star...
[4] https://docs.arduino.cc/learn/starting-guide/getting-started...
[5] https://hackaday.com/2015/07/28/embed-with-elliot-there-is-n...


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 14-Фев-24 16:13 
> Вы тезис подменили

А, я тугодум. Объясню для других как я.

Вы уцепились за "обычный C++", хотя, строго говоря, язык, поддерживаемый GCC (и всеми известными мне компиляторами) - это C++ с расширениями. Хотя я же уже объяснил, что имел в виду: даже они не "создают новый язык, достойный отдельного названия" и предложил тогда назвать его JebanyOpennetowskyDemagogue2. Мне неизвестны компиляторы, совсем не выходящие за рамки стандарта, то есть мне неизвестны реализации обычного C++? Может быть, но это бессмысленная демагогия.

И это я за вас пытаюсь "создать обоснование" для того, чтобы Arduino/Wiring не считались "обычным C++" в строгом смысле. Сами авторы Arduino не считают его новым языком из-за того мелкого препроцессинга. Они его считают новым языком из-за либ и тараканов в голове.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено n00by , 15-Фев-24 10:48 
Я "уцепился" за спор, затеянный ради спора. Что такое язык Си++ - описывает соответствующий стандарт, а не эксперт Опеннет. Либо в стандарте ищутся пункты, на основании которых можно что-то утверждать о "языке wiring", либо заявитель попадает под подозрение в троллинге и повышении энтропии.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 15-Фев-24 16:34 
> в стандарте ищутся пункты, на основании которых можно что-то утверждать о "языке wiring",

Главное при этом сделать вид, что слова создателя Wiring о своём творении не важны. Точнее, утверждение о бытии языком вам важно, оно удобное, а остальные нет - они неудобные. После этого гениального логического приёма можете что угодно делать - искать пункты хоть в Приветствиях XXII съезду КПСС.

В разговоре про графику у вас тоже интересная риторика была. Аноним попросил: "простой вопрос: фпс выше частоты монитора сказывается положительно на инпутлаге и скорости вывода кадра или нет?". А вы тем временем рассказывали, что слова блогеров не считаются, что вы владеете паттерном Model–view–controller, понимаете принципиальное отличие веры от знания, не любите слово инпутлаг, предпочитаете версию анонима из соседней ветки и поэтому считаете улучшение отдельным частным случаем кривых игр, что доказывается навыками игры корейца (а не замерами предмета обсуждения как у оппонента).


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено n00by , 16-Фев-24 08:49 
Вместо цитаты стандарта в подтверждение верности исходного анонимного наброса, ожидаемо вылиты очередные _три_ порции воды.

Любопытно осталось лишь одно: зачем блудослов скатился до мата в общественном месте.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 14-Фев-24 20:20 
Можно поставить точку словами создателя Wiring'а - он просто использует слова "язык" и "фреймворк" как синонимы: "Simple “language” or programming “framework” for microcontrollers"[1].

Там же: "...set of commands I created as the language definition for Wiring. pinMode(), digitalRead()..."

Ранее в дипломе: "instructions and commands proposed for the Wiring language", слов "фреймворк" или "набор библиотек" нет.

[1] https://arduinohistory.github.io


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 19:32 
Годная штука. Поставил, запустил, накодил, залил, работает. Никакой лишней возни с настройками зоопарка как там выше какой-то советовал, всё из коробки. Гениальная вещь.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 20:02 
Никакой лишней возни это platformio, один раз настроил и забыл, плюс спокойно можно шарить проект без тонны мануалов какие версии либ надо и какие настройки

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 22:00 
> один раз настроил

Я в сабже из настроек выбрал свою плату. Если твой platformio требует ещё что-то — это точно не для меня. Мне надо чтобы ардуина поливала траву, когда с датчика приходит меньше X, и переставала поливать, когда больше Y.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено dannyD , 11-Фев-24 22:44 
>>Годная штука. Поставил, запустил, накодил, залил, работает. Никакой лишней возни с настройками зоопарка ...

эт ежели одын кнопка ы одна свытодыода.

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


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 23:20 
> одын кнопка ы одна свытодыода.

Почти так и есть. Кнопки только две: ручной запуск и ручной останов. Вместо диода датчик, привод задвижки, и сигнал от батареи «я скоро всё». Но в остальном всё примитивно: X < с датчика или кнопка 1 — открываем, > Y с датчика или кнопка 2 — закрываем. На старте и в любой непонятной ситуации закрываем задвижку. Дисплей цеплять не буду, на нём показывать нечего. Я глазами вижу когда полив идёт, и когда нет.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено NULL , 11-Фев-24 23:40 
зачем ардуина тогда тут не понятно

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено dannyD , 12-Фев-24 00:09 
1. АЦП

2. устройсва на контроллерах сечас _всегда_ резко сокращают число корпусов МС на ПП.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 02:35 
> зачем ардуина тогда тут не понятно

Затем что на МК это сделаьт проще всего будет - если програмить умеешь. А заодно потом можно и продвинутостей добавить. Типа, например, калибровки - "а как именно по мнению юзера ЗБС?". Ну а с жесткой логикой с этим будет жуткое обломинго.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено n00by , 12-Фев-24 06:40 
Потому что паять на голой Атмеге и прошивать ещё - это не две кнопки нажать. А тут человек получил сразу результат, если вдруг будет сильно надо, тогда и начнёт заморачиваться с изготовлением "по канонам".

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 13-Фев-24 07:01 
Затем, что за вечер сделал и ща второй отдебажил. До этого к МК вробще не прикасался и не знаю что это, как и зачем. Учился по туториалу с ютуба. Ещё раз повторюсь: гениальная вещь.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Высокоимпедансно , 11-Фев-24 20:36 
Кодил под атмеги на чистом C. В разы компактнее чем скетчи для ардуинок.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено 12yoexpert , 11-Фев-24 20:46 
отсыпь ссылок

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Высокоимпедансно , 11-Фев-24 21:03 
> отсыпь ссылок

Я поначалу пользовался Atmel Studio. С ней всё само собой получится. И программировал ардуинки через программатор https://sl.aliexpress.ru/p?key=632LOnI.
Нынче Atmel нас банит, может через VPN получится.
А под Linux https://radiokot.ru/artfiles/6736/
Только одна ошибка в статье LDFLAGS д б = CFLAGS.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 02:20 
> Нынче Atmel нас банит

Нет, работает без всяких VPN


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Высокоимпедансно , 11-Фев-24 21:19 
> отсыпь ссылок

Ну и отладка в родном proteus с рутрекера :)


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Высокоимпедансно , 11-Фев-24 22:42 
Я бы пересел для этой грядки полностью на Linux, это всё возможно. Но Proteus не идёт у меня в вайне, а без него ардуинку затыркаешь перепрошивками.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 02:19 
> Proteus

Есть же альтернативы


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Высокоимпедансно , 12-Фев-24 02:33 
Буду рад узнать какие.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 02:32 
> Я бы пересел для этой грядки полностью на Linux, это всё возможно.
> Но Proteus не идёт у меня в вайне, а без него
> ардуинку затыркаешь перепрошивками.

По минимуму simulide есть например для некоторых авр-ок. Но вообще симуляторы это изврат, а их точность весьма специфичная.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено n00by , 12-Фев-24 06:46 
Ковырял прошивку Атмеги, написанную на чистом асме. Так и не понял, зачем автор заморачивался экономией 95% незадействованной памяти. Наверное, просто потому что умеет.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено bOOster , 12-Фев-24 12:36 
Это из того-же разряда экономить операционную память на сервере с устоявшимся набором софта и нагрузки.

А На самом деле, если можешь использовать регистры - зачем лезти в память?


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено n00by , 13-Фев-24 08:47 
Имел ввиду память под код, там размер прошивки 60 байт (а на "языке Wiring" с доработками 244). Откопал ту idb, рядом авторский исходник. Похоже, автор высчитывал времянки, зная время исполнения команд. Но толку от этого мало - без кварца, на внутреннем генераторе, частота создаваемого меандра отличается от требуемых 75 Гц (для проверки я и сравнивал прошивку на соответствие исходнику). Даже когда в серийном устройстве (https://tes.spb.ru/images/dtinstruction_compressed.pdf) стоит кварц (если там вообще есть Атмега), в любом случае придётся проверять осциллографом, значит можно и подобрать константы.


;HiFreq TES @ Ext 16 Mhz

.include "tn25def.inc"

;********
.def       Temp         = r16              ; Temporary Register

.def       CntLo         = r24              ; Count Register
.def       CntHi         = r25
    
;********      
.Cseg
        
.Org    $0000

;********
Reset:
    ldi    Temp,    $07            ; PortB (0,1,2) as Outputs
    out    DDRB,    Temp
    out    PORTB,    Temp
    
;********
LoopA:
    ldi    CntHi,    High (323)        ; 3.225 mSecs Loop
    ldi    CntLo,    Low  (323)

    ldi    Temp,    $02            ; 2.5 uSecs Loop        
    out    PORTB,    Temp
    ldi    Temp,    12
    dec    Temp                
    brne    pc-1
    nop
    nop

    ldi    Temp,    $04            ; 7.5 uSecs Loop            
    out    PORTB,    Temp
    ldi    Temp,    38
    dec    Temp                
    brne    pc-1

    sbiw    CntLo,    1
    brne    LoopA+2                

;********
LoopB:
        ldi    CntHi,    High (967)        ; 9.675 mSecs Loop
    ldi    CntLo,    Low  (967)

    ldi    Temp,    $03            ; 2.5 uSecs Loop            
    out    PORTB,    Temp
    ldi    Temp,    12
    dec    Temp                
    brne    pc-1
    nop
    nop

    ldi    Temp,    $05            ; 7.5 uSecs Loop            
    out    PORTB,    Temp
    ldi    Temp,    38
    dec    Temp                
    brne    pc-1
    
    sbiw    CntLo,    1
    brne    LoopB+2

        rjmp    LoopA


/*
* TES
* см. http://www.ullasmann.eu/
*/

//#define F_CPU 8000000UL
#include <avr/io.h>
#include <util/delay.h>

#define O1 (1 << PB0)
#define O2 (1 << PB1)
#define O4 (1 << PB2)

// пауза в 10 мкс
#define u_pause(_10uS) __builtin_avr_delay_cycles((_10uS) * F_CPU / 10000000)

// должно быть 2.5 мкс
// подстроено под внутренний генератор
#define PULSE 26

// должно быть 7.5 мкс
// подстроено под внутренний генератор
#define PAUSE 78

// длительность сеанса 30 мин
//#define SEANCE (30 * 60 * 77)

int main(void)
{
  DDRB = O1 | O2 | O4;

  // 30 минут
  for (unsigned s = 30; s; s-- )
    for (unsigned m = 60 * 77; m; m-- ) {
      // длина пульса 3.225 мс
      for (unsigned ps = 323; ps; ps--) {
        PORTB = O2;
        u_pause(PULSE);
        PORTB = O4;
        u_pause(PAUSE);
      }
      // длина паузы 9.675 мс
      for (unsigned ps = 967; ps; ps--) {
        PORTB = O2 | O1;
        u_pause(PULSE);
        PORTB = O4 | O1;
        u_pause(PAUSE);
      }
    }
  // экономим питание
  PORTB = 0;
  MCUCR |= 0x70; // Idle
  __builtin_avr_cli();
  __builtin_avr_sleep();
}



"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 15:40 
Асм на атмеге хорош (кайф), а мишка - гадость (пуши/попы регистров на любой чих, например).

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 22:00 
*сишка

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено n00by , 13-Фев-24 08:57 
Вообще не интересно было смотреть, что там сишка генерирует. Это на Спектруме память ограничена, а когда Атмега стоит два часа за килограмм микросхем - выбирай любую.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Высокоимпедансно , 11-Фев-24 20:46 
Можно в чистом дебе. Geany+make+gcc-avr.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 21:13 
версия 1.х работает на 3 пентиуме, а сабж?

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Высокоимпедансно , 11-Фев-24 21:35 
> версия 1.х работает на 3 пентиуме, а сабж?

Какая разница, это суржик для детей.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 02:21 
> работает на 3 пентиуме

Лучше бы промолчали. Такие признания не красят Вас, как востребованного и оплачиваемого специалиста.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 10:46 
За Ардуино где-либо платят?

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 15:23 
В магазинах.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено _kp , 12-Фев-24 12:30 
Новое ПО не только не обязано работать на 3м Пентиуме, но и это прямо вредно, ибо это игнорирование возможностей доступных на современном железе.
Не смотря что с быстродействием в Ардуине 2х явно намудили, это не критично.

Самая главная проблема Ардуины 2х, что под каждую архитектуру и её варианты пользователю предлагается ставить виртуалки, хотя бы в ThinApp.
Или "наслаждаться" library-hell, и тормозами, при размусоливании куч библиотек заведомо не нужных текущему проекту.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 15:44 
> игнорирование возможностей доступных на современном железе

серьезно? с точки зрения задач абдурино ИДЕ? :)


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено _kp , 12-Фев-24 19:12 
>> игнорирование возможностей доступных на современном железе

Например с глубоким анализом кода на лету, во времена Pentuim3 и заморачиваться не стали бы.

> серьезно? с точки зрения задач абдурино ИДЕ? :)

Ардуино - не совсем ИДЕ, а скорее нотепад.
Причем весьма тухлый на фоне других IDE, уже на старте проекта в стародавние времена.
Что плохо.

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


В Ардуино 2х с тормозами ещё можно смириться, и то на слабом железе, но DOS подобный дизайн, всё о одном экземпляре на всю ОС, в одном окне, с мешаниной библиотек - делит на ноль весть смысл подобной IDE.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Высокоимпедансно , 11-Фев-24 22:12 
Кстати о сишных дыренях, дак для Гарвардской архитектуры пофиг...

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 02:29 
> Кстати о сишных дыренях, дак для Гарвардской архитектуры пофиг...

Ну покажи как тебе integer overflow какой-нибудь - пофиг?

А еще ардуина тупая как дровина. У проца нет такого понятия как исключения - и абсолютно любая самая дурная ситуация - обработана быть не может.

Вырубился кварц? Ну, это вам не STM32, да. Переполнение стека? Выполнение попало на строку текста (константу) в флеше? Брутальный некорректный доступ в флеш? Ему похрен все. От и до. Может быть - когда нибудь - сработает вачдог.

А о том чтобы на абдурине запустить хотя-бы ubsan (у него есть лайтовая версия, на ARM в фирмварях юзабельно) и прозвонить фирмварь на тему integer overflow и прочего UB - речь не идет в принципе. У тупого как дрова AVR нету "bad opcode" исключений - ну ubsan реализовать низя, во! Так что вы еще и отловить вон то - не сможете на вот именно таргете.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Высокоимпедансно , 12-Фев-24 02:38 
Порча данных и всё, это всё что возможно.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 14-Фев-24 17:53 
> Порча данных и всё, это всё что возможно.

Есть еще "сбои управления" на этой почве. Что для управляющей системы - хреново.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 10:38 
>У тупого как дрова AVR нету "bad opcode" исключений

Разве компилер C++ может генерить несуществующие опкоды? Сомневаюсь. Или ты прям в машинных кодах прогаешь?


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 14-Фев-24 17:45 
> Разве компилер C++ может генерить несуществующие опкоды? Сомневаюсь. Или ты прям в
> машинных кодах прогаешь?

Ubsan - довольно низкоуровнево интегрируется в компилер, и таки - может! Он вообще инструментирует поток команд, добавляя проверки! При том на автомате - програмеру делать ничего не надо, инструментация математики будет сделана компилером.

В полной версии он ловит ряд забавных вещей, типа некоторых выходов за пределы массивов, левых поползновений с типами, переполнения integer'ов и проч. И при обнаружении факапа он вырубает прогу и кидает нехилый стектрейс. В gcc/clang это нечто типа -fsanitize=undefined.

Но у него есть как минимум в GCC и лайтовый режим, спецом для МК, когда вместо полновесного рантайма он в инструментированом коде просто провоцирует Bad Opcode и дальше fault handler сам разбирается что это за фигня. Так оно уже подъемно для МК получается. На cortex M работает, фимрвар конечно несколько жирнее и тормознее из-за проверок, но - разница процентов 30 по размеру кода. Скорость - зависит от алго, может существенно просесть, а может и пофиг быть.

p.s. gcc также может САМ добавить вызовы функций memset/memcpy/memmove между прочим. И это документировано. Для freestanding окружение требование такое - предоставить эту троицу. А как вы думали он допустим один struct другому вообще присваивает?!


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 15:44 
Авр прощает ошибки ПП, Эдик.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 22:24 
>Ветка Arduino IDE 2.x создана на основе редактора кода Eclipse Theia и использует платформу Electron для построения интерфейса пользователя

Как там с телеметрией?

(ветка Arduino IDE 1.x была самодостаточным продуктом, написанным на Java).
Уж лучше продолжать сидеть на этой.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено onanim , 14-Фев-24 00:09 
> Как там с телеметрией?

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


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 11-Фев-24 22:47 
>Связанная с компиляцией, отладкой и загрузкой прошивок логика вынесена в отдельный фоновый процесс arduino-cli.

К другим редакторам кода где-либо уже прикрутили? (Emacs, Qt Creator, ...)


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 02:23 
>>Связанная с компиляцией, отладкой и загрузкой прошивок логика вынесена
>>в отдельный фоновый процесс arduino-cli.
> К другим редакторам кода где-либо уже прикрутили? (Emacs, Qt Creator, ...)

Есть вообще такой пакет как arduino-core или как его. Сугубо мэйкфайлы и проч для сбора вот этого всего (.ino файлов) - мануально. А что там у кого редактором при этом уже его дело тогда.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено anonymous , 11-Фев-24 23:13 
>Arduino IDE 2.x создана на основе редактора кода Eclipse Theia и использует платформу Electron

Шьа? Эклипс теперь на Электроне? А как же ecj и миллион eclipse java штучек?


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Швондик , 11-Фев-24 23:16 
вот когда добавят ESP32 вот тогда может бьыть начну учуть Arduino, а пока я лучше подожду

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Alladin , 12-Фев-24 03:30 
Куда добавят?. Хочешь esp32 под ардуину бери и добавляй и все будет работать.. (наверное)

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Швондик , 12-Фев-24 10:22 
да я смеха ради пошутил над собой

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Бывалый Смузихлёб , 12-Фев-24 06:15 
Оно уже добавлено и давно :)
Но штуки под есп32 есть и для вс-кода, который порой ощутимо удобней

Да и чего там учить ? Это штука для прототипирования всякого. Нажал несколько кнопок - и в путь


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 10:48 
Ну к слову можно и сейчас в ручном режиме добавить URL c package_esp32_index.json для «Additional Board Manager» и собирать прошивки для ESP32.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено _kp , 13-Фев-24 11:30 
Устанавливать, компилировать.. А зачем? Если результат все равно загрузить в ESP нельзя.
Ну кроме хелловордов, без разделов данных. Анонизмом отдаёт это.



"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено 12yoexpert , 12-Фев-24 00:47 
rip. слез с ардуины именно из-за новой ide на джаве (той, которая хромиум)

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Grno , 12-Фев-24 09:44 
Перепиши, ты кажется не понял на что ругатся нужно XD

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 02:00 
Этим ктото реально пользуеца?😅

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Бывалый Смузихлёб , 12-Фев-24 06:17 
Нередко бывает удобно без тонн гемора просто скачать, запустить и работает
Ещё и пачка работающих примеров для разных плат имеется
Ну и бонусом - большое количество разных модулей на любой вкус

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено _kp , 12-Фев-24 10:22 
>>>Ветка Arduino IDE 2.x создана на основе

На основе недоDOS.

Принципиально не позволяет несколько экземпляров "IDE" в системе и навязывает сваливание библиотек от всех всех всех архитектур в одно корытце. Одновременно с конфликтами это замедляет и время запуска и время компиляции.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 11:13 
Кто имеет мнение про MounRiver Studio Community применительно к микроконтроллерам WCH CH32V ?

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено n80 , 12-Фев-24 11:30 
Доводилось сталкиваться, а что конкретно интересует?

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Hell_Hammer , 12-Фев-24 11:47 
Под виндой не работает, а под линуксом ненужно.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 15:07 
Говорим «винда» — подразумеваем минимум Windows 10. Что там не работает в вашей уютной семёрочке, никого не интересует.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Put in , 12-Фев-24 16:55 
> подразумеваем минимум Windows 10

10ка тоже умирает, на новые устройства OEMы её не ставят уже года два как.


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 17:47 
Примерно со времени выхода 11, такое совпадение. Но это не означает окончания поддержки 10.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Mr.Who , 12-Фев-24 18:24 
В винде всё очень плохо с подключениями внешних устройств. Даже файлы с телефона не перекинешь, соединение валиться при копировании. В линуксе при этом всё работает нормально. Использование флешек это отдельная жопа. Каждая третья флешка не читается или дико тормозит. В линуксе опять же всё нормально.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 18:31 
Извините, но тут взоржал, конечно. У меня из трёх постоянно используемых девайсов (фотоаппарат, телефон, планшет) только телефон более-менее нормально в линуксе подключается (по проводу, про блютус лучше не начинать даже). В винде, естественно, без проблем.
Про флешки дичь. Они либо  работают, либо нет.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Mr.Who , 12-Фев-24 18:38 
Почему в таком случае винда не может смонтировать флешку без ОБЯЗАТЕЛЬНОГО форматирования, а в линукс читается без проблем. Пытался вчера скинуть фотки с телефона по проводу: винда что-то начинает высчитывать а потом серет  чем-то вроде "Устройство недоступно", в линукс же снова всё без проблем.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 12-Фев-24 18:48 
Это, случайно, не какая-нибудь васянская лайт-сборка? Мне эти флешки с телефонами приходится подключать чуть ли не сотнями, и никогда проблем не было.
Замечу, что с флешками проблем и в линуксе не было. А вот MTP там сломан изначально, а про PTP лучше вообще промолчу.

"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 14-Фев-24 17:58 
> Извините, но тут взоржал, конечно. У меня из трёх постоянно используемых девайсов
> (фотоаппарат, телефон, планшет) только телефон более-менее нормально в линуксе подключается
> (по проводу, про блютус лучше не начинать даже). В винде, естественно, без проблем.

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

На линухе этой проблемы с тем же планшетом нет. Такая фигня. А блютус - черт его знает - там куча жыпегов с камеры на 300 мегов вмесом качаться будет - неделю. Нафиг оно мне в таком виде?!


"Новая версия среды разработки Arduino IDE 2.3 "
Отправлено Аноним , 13-Фев-24 04:11 
> Под виндой не работает

Если речь о WinXP, то даже как-то не удивителяет сей факт. Не пробовали обновиться хотя бы на десятку? Она вроде даже на старье типа core 2 quad бегает.