Marat
Ха... чип дип не перестает удивлять, отдельно AD620 стоит 2600р
Andrey
с другой стороны, если там написано AD620 - это еще не значит, что настоящий
Marat
Ну я заказал, приедет, подробно с осликом изучу.
Marat
На киви курс, к слову 83р.
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
Вопрос оверхеда это вопрос уложения(привет русяз) в требования.
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
SetPf
В соседней конфе люди обсуждали не раз.
Evgeniy
значит и тут прогресс, а чего они тогда до сих пор микрооптимизациями увлекаются?
SetPf
Там даже кто-то сервис пилит для удаленного запуска тестов на любых процах.
SetPf
Evgeniy
таки строки в C ужасны - как минимум небезопасны)
SetPf
Проблема тестов на эбеддед в том, что тесты нормально не ложатся на не заточенную под тесты архитектуру.
А подобная архитектура будет действительно создавать оверхед.
SetPf
Хотя мб возможно что то на шаблонах навертить, но это все печально заканчивалось вроде.
SetPf
Я тип видел проект эмбеддед опенсорсный, где ради того что бы усидеть на обоих стульях и тесты и ООП иметь, имелся обезумевший фреймворк на макросах с кодогенерацией.
И блин помоему он больше багов делал =)
Evgeniy
Нужно сделать еще одно, только простое решение!
SetPf
Вы вот зря ушли. Я бы не прочь обсудить и послушать.
Evgeniy
Оно с динамическим выделением памяти работает?
SetPf
Без явного на то указания С++ ничего в куче не выделит.
SetPf
(хотя я вот гарантировать не буду, я его не знаю достаточно для таких утверждений).
Evgeniy
Что-то не найду никак пример использования select() перед чтением через recv() для ESP32, не встречали такое? Заметил, что с опцией MSG_DONTWAIT recv() нормально детектит дисконнекты, но слишком часто вызывается.
Evgeniy
хм, наверное здесь подойдет lwip_select()
Marat
Я тут до сих пор размышляю по ide, а вы как раз про c++. В esp idf в vs code либы так же как в ардуино интегрируются?
SetPf
SetPf
она говно но можно жить, лучше чем вскод для С++
Dmitriy
Evgeniy
Dmitriy