Marat
Ха... чип дип не перестает удивлять, отдельно AD620 стоит 2600р
Andrey
с другой стороны, если там написано AD620 - это еще не значит, что настоящий
Marat
Ну я заказал, приедет, подробно с осликом изучу.
Marat
На киви курс, к слову 83р.
Andrey
Ну я заказал, приедет, подробно с осликом изучу.
у меня есть платы с разбора медтехники, там настоящие AD620 и еще много чего
Dmitriy
Ну я заказал, приедет, подробно с осликом изучу.
Растворить и глянуть что на кристалле написано. Их куда реже подделывают
Evgeniy
Так вот и спрашиваю мнения гуру
platformio - лишняя необходимость возиться с JSON, хватает только idf + vscode / clion
SetPf
родного С++ АПИ не хватает
SetPf
приходится чет свое наколхожевать =\
SetPf
вот эт печально
SetPf
IDF
SetPf
Хз, всего? Если хочешь писать на ++ приходиться обертки писать.
SetPf
Над IDF
SetPf
Не хватает родного апи на С++
SetPf
Потому что родное апи на С
SetPf
а на С++ его нет
SetPf
поэтому его не хватает
SetPf
Я кстати хз, там ВРОДЕ бы в std внедрили частично FreeRTOS
SetPf
но я не пробовал не щупал
SetPf
Если его нет это не значит что это хорошо.
SetPf
термин апи настолько широкий что это не возможно.
Алексей
Не надо путать API и ABI
SetPf
Чем апи еспшного шарпа не является апи?
SetPf
Вот у меня такой же вопрос.
SetPf
Вы перевели разговор, что фреймворк != апи. Что для пользователя имеет не особо много смысла. Т.к. фреймворк по умолчанию диктует архитектуру работы, а значит и подменяет АПИ на свое.
SetPf
То что можно залезть в кишки и дернуть за асм какой мы опустим.
SetPf
Да сорт той же ардуины какой? Чем она не пример. Тот же самый фреймворк на С++ считай.
SetPf
Ну ожидаемо =)
SetPf
Которое представляет свой плюсовый АПИ, верно же.
SetPf
В плане вы сейчас что пытаетесь, академический спор решить, что является фреймворком и его апи для есп?
Evgeniy
Мне вот интересно: а что люди на C++ такого пишут на тех же ESP32/8266?
Evgeniy
Та же Tasmota на чем написана?
Evgeniy
хотя там смесь всего, что есть с корее всего)
SetPf
На арм так то и в поменьше плюсы тащат вполне успешно.
SetPf
Как пример того, что в младших АРМ флешки сильно меньше
Evgeniy
понять бы - где начинается необходимость делать embedded проект на C++ вместо C
SetPf
Примерно с того места где начинается необходимость языков высокго уровня? Тоесть вот с самого начала.
SetPf
Это же всегда вопрос баланса.
SetPf
Типо ну нужно тебе где-то проверочивать реалтайм - ну напиши ты там хоть на асме. Нахрена остальную часть кода писать на нем?
SetPf
Вопрос оверхеда это вопрос уложения(привет русяз) в требования.
Evgeniy
Примерно с того места где начинается необходимость языков высокго уровня? Тоесть вот с самого начала.
Угу. У меня был проект связанных по радиоканалу устройств в котором около 9 прошивок. Вот тут классно сделать виртуальную систему на C++, потому что к слою HAL с момента его написания несколько лет назад больше не возвращался.
SetPf
Но еспл это уже 2ядр 240МГц проц с 320кб ОЗУ для щелканья реле
SetPf
лол
Evgeniy
@setpoint_f прикинь, запускаешь .exe и наблюдаешь как твоя реальная система в виде кучи разложенных по офису устройств работает в одном "окошке" с логами, брекпоинтами, кайф же!
SetPf
Понимаете проблему? Когда люди берут пик12 для щелканья реле по радиоканалу И ТУДА ПИХАЮТ С++ это не адекват
Evgeniy
А потом переносишь в прошивку те же C++ классы
SetPf
Когда берут есп32 и для щелканья реле берут АСМ это тоже неадекват =)
Evgeniy
я понимаю, сам по этим граблям ходил и бошка пухла от отладки этого добра!
SetPf
С++ позволяют писать на статическом выделении, без наследования. Там оверхеда почти нет.
SetPf
Не говоря уже что STL можно не использовать. А использовать ETL какую, заточенную под МК.
Evgeniy
@setpoint_f я вообще за то, чтобы разделять embedder'ов и проггеров высокого уровня в тех же проектах, связанных с железом. Чтобы эмбедеры именно железо отлаживали, интерфейсы, схему и HAL. При этом high-level-щики сидели на удаленке, с котами, пивом и чем еще угодно, создавая абстрактный и покрытый тестами код
Evgeniy
встречал проект, полностью заполненный конечными автоматами, макросами, структурами, указателями на указатели и с 0 unit тестов!
Evgeniy
который делал именно эмбеддер, которому нравится с железом заниматься
Evgeniy
А нужно же везде - на высоком уровне делать бизнес-логику))
Evgeniy
Которая собственно и содержит основное кол-во багов и глюков 😁
SetPf
который делал именно эмбеддер, которому нравится с железом заниматься
Меее. Я ща кукарекну не по масти. Но это не проблема того, что эмбеддер не может писать нормальный код, это проблема того, что эмбеддед переполнена микрооптимизациями ненужными. Короче не потому, что люди работающие с железом не могут писать нормально, а потому что не пишут.
Evgeniy
@setpoint_f не соглашусь, это уже пройденный этап, а вот архитектуру строить и тестировать свой код - этого в эмбеддед нет
SetPf
В соседней конфе люди обсуждали не раз.
Evgeniy
значит и тут прогресс, а чего они тогда до сих пор микрооптимизациями увлекаются?
SetPf
Там даже кто-то сервис пилит для удаленного запуска тестов на любых процах.
SetPf
значит и тут прогресс, а чего они тогда до сих пор микрооптимизациями увлекаются?
У меня не достаточно компетенций что бы это осуждать или называть не нужным.
Evgeniy
таки строки в C ужасны - как минимум небезопасны)
SetPf
Проблема тестов на эбеддед в том, что тесты нормально не ложатся на не заточенную под тесты архитектуру. А подобная архитектура будет действительно создавать оверхед.
SetPf
Хотя мб возможно что то на шаблонах навертить, но это все печально заканчивалось вроде.
SetPf
Я тип видел проект эмбеддед опенсорсный, где ради того что бы усидеть на обоих стульях и тесты и ООП иметь, имелся обезумевший фреймворк на макросах с кодогенерацией. И блин помоему он больше багов делал =)
Evgeniy
Нужно сделать еще одно, только простое решение!
SetPf
Вы вот зря ушли. Я бы не прочь обсудить и послушать.
Evgeniy
Оно с динамическим выделением памяти работает?
SetPf
Оно с динамическим выделением памяти работает?
Это не к языку относится немножко. А к стандартной библиотеке.
SetPf
Без явного на то указания С++ ничего в куче не выделит.
SetPf
(хотя я вот гарантировать не буду, я его не знаю достаточно для таких утверждений).
Evgeniy
Что-то не найду никак пример использования select() перед чтением через recv() для ESP32, не встречали такое? Заметил, что с опцией MSG_DONTWAIT recv() нормально детектит дисконнекты, но слишком часто вызывается.
Evgeniy
хм, наверное здесь подойдет lwip_select()
Marat
Я тут до сих пор размышляю по ide, а вы как раз про c++. В esp idf в vs code либы так же как в ардуино интегрируются?
SetPf
она говно но можно жить, лучше чем вскод для С++
Evgeniy
Вам дисконект tcp/ip ловить?
да, в основном это
Dmitriy
Я тут до сих пор размышляю по ide, а вы как раз про c++. В esp idf в vs code либы так же как в ардуино интегрируются?
Ide тут не при чем. Берешь и в компоненты оборачиваешь если до тебя не обернули...