-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
esp32: espnow improvements #15962
base: master
Are you sure you want to change the base?
esp32: espnow improvements #15962
Conversation
Split handling of receive and transmit in their own work queue. Signed-off-by: Laczen JMS <[email protected]>
@tmedicci, fyi. |
1c01bc3
to
02480cc
Compare
Modify addressing to allow only 2 byte node address. Allow modifying the node address by modifying the ipv6 address (the ipv6 address has a direct relation with the node address) Introduce the option to add a 4 byte random number to the mac header as a preparation for ciphered data exchange. Introduce a FCB (frame control byte) as a replacement for the INFO field in the mac header. Update esp32-devkitc:espnow config to reflect address size change. Update the documentation to reflect address size changes. Signed-off-by: Laczen JMS <[email protected]>
02480cc
to
28a9027
Compare
Hi @Laczen , thanks for submitting it! I have no comments regarding the code. The changes are welcomed! But I've found two possible bugs:
On server device:
On client device:
Again, on server device, the device stops receiving the UDP packets after connected to the AP. The
|
Hi @tmedicci thanks for your remarks, Regarding item 1: I think the udpclient & server test program are meant to be started when the link is up and there might be an init problem when data is already coming in when the program is started. I have not verified how good they are. Regarding item 2: The same as above, but on top of this: if the ap is using a different wifi channel than the espnow channel, the espnow channel will change on the server and the connection will be lost. Espnow can only coexist with wifi when the same wifi channel is used. BTW I am trying to be able to setup espnow without the wlan0 interface, but this seems to be not so straight forward. |
Summary
The PR proposes improvements to espnow pktradio, it separates the rx from the tx and simplifies the addressing used by espnow for sixlowpan. It also enables future expansion for ciphered data exchange.
Changes:
Impact
As the introduction of espnow is fairly recent it should have a large impact on users, the setup of espnow nodes is simplified.
Testing
All changes were validated on esp32-devkitc using the espnow config.