Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

200 bytes limit #5

Closed
vermut opened this issue Nov 6, 2023 · 1 comment
Closed

200 bytes limit #5

vermut opened this issue Nov 6, 2023 · 1 comment

Comments

@vermut
Copy link

vermut commented Nov 6, 2023

Добрый вечер! Почта не работает, поэтому дублирую тут.

Я (зачем-то) адаптирую ваш код под esphome/homeassistant, чтобы он мог общаться с мешем устройств. Я вам ещё ПР делал про queue.

Скажите, лимит в 200 чем-то обусловлен, кроме желания стандартизировать пакет? это в принципе возможно заменить на что-то динамическое или это уже ограничения espnow?

Павел

@aZholtikov
Copy link
Owner

У ESP-NOW ограничение пакета - 250 байт. Но 250 лучше не передавать - иногда за данные принимается "шум". Так что идеально от 249 и ниже (и проверять на принятый размер). Чем меньше - тем лучше.

Структура полного пакета в библиотеке - 235 байт. 200 полезная нагрузка. Число выбиралось под мои запросы (планировалось передавать малюсенькие json).

P.S. Стандарт ESP-NOW подразумевает использование динамического размера. Когда я писал эту библиотеку, я только начинал изучать ESP и C++ и не умел пользоваться управлением памятью, указателями и тд... По прошествии некоторого времени это прошло...
P.P.S. В свободное от "безделья" время не спеша перевожу свои проекты на чистый C. Месяца через 3-4 и ZHNetwork обновится (в виде компонента для ESP-IDF и RTOS SDK). Не блокирующая, без переполнения очередей, поддерживающая логирование на внешний сервер и обновление прошивки через ESP-NOW, маленькая, но намного более стабильная и быстрая.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants