Replies: 2 comments 4 replies
-
I have been working with the understanding that messages are queued in the rx_buff waiting for you to process them. I generally only have one message in the queue. Also, I think it only holds 250 bytes. |
Beta Was this translation helpful? Give feedback.
-
tldr: The processing of incoming espnow packets is handled in an "interrupt-like" manner and events are saved in a buffer to be read out later with recv()/irecv(). So packets are not lost between calls to The espressif wireless stack processes incoming wireless packets in high priority wifi tasks. When an espnow packet is received, a callback function in the espnow module is called from one of those high priority tasks to handle the packet. That function saves the packet in an internal buffer (if there is room in the buffer - if not, the packet is dropped). You can change the buffer size with You can see if packets are being dropped with |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
If code is currently executing a process external to the ESPNow.irecv() and an ESPnow transmission occurs could the transmission be lost, or does ESPNow.irecv() include interrupt processing to ensure receipt of all transmissions?
Thanks, MM
Beta Was this translation helpful? Give feedback.
All reactions