romanetz
А зачем их пересобирать (каждый раз)?
romanetz
И не одного include нет в проекте?
Это стёб? Сам esp-idf как бы очень дофига инклюдов содержит
Anonymous
Это стёб? Сам esp-idf как бы очень дофига инклюдов содержит
Каждый инклюд это отдельный объектный файл.
Anonymous
И линковщик собирает результирующий файл из объектных файлов.
romanetz
Ну да
Anonymous
Ну так и сделать ещё один объектный файл с нужными ресурсами
romanetz
Собсно, если посмотреть, как та же qt проект собирает, там динамически генерится из визуального описания формы - исходник, а потом уже эти исходники собираются через мейкфайл (так же, сгенерированный динамически) - вполне рабочий подход
Anonymous
Принцип сборки выходного файла из объектных придумали за долго до появления С
Ivansuper
Ребят, может я чего пропустил, но как же https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html#embedding-binary-data?
Anonymous
Правда последние gcc умеют линковаить без генерации объектных файлов
Anonymous
Ребят, может я чего пропустил, но как же https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html#embedding-binary-data?
Это и есть сборка через объектный файл, только завернутая в оболочку IDF
Ivansuper
Это и есть сборка через объектный файл, только завернутая в оболочку IDF
Я не спорю. Просто пошла длинная дискуссия о том как сделать что-то, для чего уже есть инструментарий
Anonymous
Ivansuper
Тогда окей, продолжайте : )
Bez
Добрый вечер,кто подключал esp32 к mcp2515? Поделитесь схемами и библиотекой
Anonymous
Anonymous
Вы уже пробовали какие-то библиотеки?
Bez
Там обычный SPI , четыре провода. Довольно обычно
Да,я на ардуино делал. Но с esp32 труднее. Стандартные библиотеки для ардуино с есп ругаются ,якобы не подходят и не компилируются. Есть библиотека coryjfowler но не указаны какие пины используют
Bez
Wroom-32
Anonymous
Два пина нашел )
Anonymous
Пины MISO, MOSI, SCK Будут зависеть от того какой SPI выберете
Bez
Два пина нашел )
Спасибо большое
Anonymous
Спасибо большое
https://github.com/coryjfowler/MCP_CAN_lib Про эту библиотеку ведь говорим?
SetPf
Уже спрашивал, никто не ответил. Какой протокол использовать для межконтроллерного взаимодействия внутри платы по UART
SetPf
Все на велосипедах или может что готовое есть?
SetPf
Мой велосипед чет начал обрастать лишними колесами и ДВС, вот думаю что "Все давно придумано"
Bez
Пины MISO, MOSI, SCK Будут зависеть от того какой SPI выберете
D18 sck D19 miso D21 sda Это какой spi? Можно к ним подключать
SetPf
любой который осилите, UARTу все равно
Я не слыхал вообще ни разу про такие протоколы. Надо гуглить что есть и самому разбиратся. Я вот ожидаю совета.
SetPf
Я не про то как это сделать. А что из готового есть общепринятого\известного.
Василий
https://ru.wikipedia.org/wiki/AT-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B
а это для самостоятельно изготовляемых систем - глупость парсить АТ команды - требуется немало ресурсов, в отличии от "код команды + тело команды + crc"
Andy
На самом деле сильно зависит от ТЗ. Надо ли например прерывание выполнения текущей команды. Синхронные комманды или нет и тп.
Bez
SDA это не SPI MISO d19 MOSI d23 SCK d18
Спасибо большое за помощь. И еще маленький вопрос. Модуль Can на mcp2515 работает от 5в. Поставил преобразователь логических уровней на SPI,но не хватает на Int Можно его напрямую подключать?
SetPf
У меня вопросы появились, когда я понял - что не плохо бы иметь еще гарантию доставки и переотправку, если црц не совпадает.
Anonymous
Внутри платы?
Внутри прибора. Почему бы и нет... У протокола на уарте придется обрабатывать тайминги пакетов. В модбас это реализовано
SetPf
По ози 2\3
Andy
http://ate-m.by/wiki/term/setevaya-model-osi/
SetPf
Т.е. мне грубо надо переправить пакет бинарный данных из одного контроллера в другой. Но ничего не потерять.
SetPf
и что там сложного?
То что надо закидывать туда еще нумерацию пакетов, запросы\ответы пересылки В добавок еще конкретно у меня мультимастер. Т.е. эти ответы\запросы придется еще между прикладными данными впихивать уметь. Это ни черта не задача на один вечер велосипедить.
Andy
Может тогда взять протоколы канального уровня?
SetPf
Вот чего есть такое для уарт?
Anonymous
Спасибо большое за помощь. И еще маленький вопрос. Модуль Can на mcp2515 работает от 5в. Поставил преобразователь логических уровней на SPI,но не хватает на Int Можно его напрямую подключать?
Прерывание это же выход из mcp2515? У esp32 вроде все входы 5В толерантные. Можно подстраховаться через резистор скажем на килоОм, если фронты не завалит
Andy
Вот чего есть такое для уарт?
https://ru.wikipedia.org/wiki/PPP_(%D1%81%D0%B5%D1%82%D0%B5%D0%B2%D0%BE%D0%B9_%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB)
Anonymous
есть 3,3в драйвера CAN
CAN контроллер mcp2515 и от 3В и от 5В работает. Но за ним стоит CAN трансивер который формирует уровни на линии связи, вот они обычно от 5В питаются
Василий
я про него и говорил, про трансивер/драйвер
Anonymous
я про него и говорил, про трансивер/драйвер
У автора видимо готовый модуль CAN, не знаю что там у него стоит
Anonymous
Спасибо, попробую. Пишут 3,3в ,но у многих и 5в работает
Поставьте делитель с 5 в 3.3 из двух резисторов
Andy
http://we.easyelectronics.ru/Shematech/soglasovanie-logicheskih-urovney-5v-i-33v-ustroystv.html
Anonymous
Если есть возможность запитать mcp2515 от трёх вольт, а tja1050 от 5В то все уровни получатся согласованные
Bez
Поставьте делитель с 5 в 3.3 из двух резисторов
Тогда уже думаю может легче разделить питание mcp2515 на 3,3 а на tja1050 подавать 5в. Чтоб не мудрить с преообразователями. Правильно я понимаю,что при питании mcp2515 я получу на выходе spi 3,3в
SetPf
какой еще мульти мастер в UART ? выкиньте мульти мастер - и сделайте один мастер
Оба устройства могут инициировать обмен. Я может не точен в терминах, но вроде так это определяется.
Василий
если у вас всего два МК - ненужно никаких мульти мастер, простой обмен - мастер отправил пакет - слейв ответил - ВСЕ
Василий
тут даже больше - т.к. линии RX - TX отдельно идут - можно обмениваться в каком угодно направлении
SetPf
От задачи же и от того что есть зависит.
Andy
Оба устройства могут инициировать обмен. Я может не точен в терминах, но вроде так это определяется.
Когда-то давно дома делал часы на atmega+esp8266, что-то похожее там есть. https://github.com/AndyKorg/ClockMatrix/blob/master/ClockMatrix/esp8266hal.c