• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Буфер esp8266

AlexeyGR

New member
Приветствую всех!
Прошу Вашей помощи в решении вопроса:
Почему функция smartlink_promiscuous_rx(uint8_t *buf, uint16 len)
возвращает ограниченную длину в (len) 128 байт (из кадра считана почти середина),
и кадр начинается со смещения в 20 байт от начала?
Может плохо искал, но так и не нашёл размер буфера для приёма данных.
Использую Espressif DevKit v1.0.7.
 

pvvx

Активный участник сообщества
Получается что остаётся только ждать когда "они" ещё увеличат буфер (если увеличат) )?, а если самому?, то в какую сторону "смотреть"?
Они очень дорожат кодом для WiFi и описанием аппаратуры по WiFi. Они реализовали свой smartlink в SDK 0.9.5 и наверняка ничего больше менять не будут и никаких исходников к 0.9.5 пока нет. Чем больше им выдают их ошибки, тем больше они закрывают, после исправления. Это намекает о том, что не надо больше давать в открытые источники ошибки по SDK Espressif и другие варианты решения разных задач. Тогда Espressif никогда не доделает свой SDK и будет вынужден выкладывать информацию. :)
 

AlexeyGR

New member
Файлы в папке lib (SDK) участвуют при компиляции?,
например esp_buf.o (находящегося в libpp.a), а это наверное нужные мне функции esf_rx_buf_alloc, esf_buf_alloc, esf_buf_recycle, esf_buf_setup?
Из этих файлов импортируются функции при компиляции прошивки?
 
Последнее редактирование:

pvvx

Активный участник сообщества
Файлы в папке lib (SDK) участвуют при компиляции?
Да - вставляются напрямую в выходную прошивку, если есть хоть одно обращение к либе...
В BIOS ROM тоже есть работа с WiFi. По началу надо её раскрутить, а либы - это уже потом.
При инициализации либов в SDK, они используют систему памяти от LwIP. Все принятые кусочки (пакетики WiFi) передаются LwIP, а далее уже разгребаются, используя его функции.
Подключите к проекту только стандартные библиотеки c gcc hal и далее по очереди phy pp main и т.д. - получите в ошибках линковки список обращений к функциям LwIP. (так просто проще и нагляднее, оперируя только makefile)
При включенных LIBS = c gcc hal main phy pp net80211 wpa получите: undefined reference to `pbuf_alloc', `pbuf_ref', `pbuf_free', `netif_set_up', `netif_set_down' ...
Надо разбирать библиотеки на объектники и менять функции (замещать), а затем опять собирать уже со своими вставками...
 
Последнее редактирование:
Сверху Снизу