Posting here again with what I found in case anyone else can find anything.
I don't think its that the range is short when in AP+STA i think its that there are lots of packet losses due to collisions or something but when you have the two EPS's really close together then the esp-now packets signal is so strong it drowns out the collision.
It seems like esp-now is request-response. The controller sends a message and the slave receives that and and sends an acknowledgement and the controller receives that acknowledgement and all is good and the esp-now send_cb is called with a status of 0. If the controller doesn't get the acknowledgment then the callback gets called with a non-zero status.
So if you have the controller send a message wait for the callback to be called and if the status is not 0 then retry the send again then it will eventually work. And the further away the two ESPs are the more attempts it usually takes before it works. Sometimes you see the slave does get the sent message but the controller keeps re-sending so the slave acknowledgement can get lost too.
Yesterday I wondered if using different channels made a difference and was messing about with that it started working and the messages were always going through successfully on the first send, and that was left running for a few hours sending a message every 15 seconds. But I can't recreate that today and it always takes dozens or even hundreds or retries before a successful send.
No idea. Has anyone got this working?Statistics: Posted by torntrousers — Sun Feb 05, 2017 12:39 am
]]>