ESP8266 Developer Zone The Official ESP8266 Forum 2015-12-23T16:12:20+08:00 https://bbs.espressif.com:443/feed.php?f=7&t=1548 2015-12-23T16:12:20+08:00 2015-12-23T16:12:20+08:00 https://bbs.espressif.com:443/viewtopic.php?t=1548&p=5140#p5140 <![CDATA[Re: ESP-NOW uses ACKs?!?]]> Statistics: Posted by tvoneicken — Wed Dec 23, 2015 4:12 pm


]]>
2015-12-23T14:56:57+08:00 2015-12-23T14:56:57+08:00 https://bbs.espressif.com:443/viewtopic.php?t=1548&p=5139#p5139 <![CDATA[ESP-NOW uses ACKs?!?]]>
Looking at the current draw profile for this application, it is clear that a single esp_now_send() sometimes results in multiple radio transmissions. Looking at the timing of those transmissions (and the timing of the gateway's serial output), it appears that
  • The very first transmission does indeed contain the esp-now data
  • Once the gateway has received and processed a transmission, it won't process any subsequent one in the same sample cycle
  • Later transmissions also contain the data, and if the gateway missed the first, it may still receive and process subsequent ones
  • Later transmissions take significantly longer, suggesting a slower data rate

This all suggests that ESP-NOW is in fact a two-way communication using acknowledgements and (a limited number of) retransmits. Testing this theory, I powered down the gateway, and indeed, now every single sample cycle on the sender resulted in a large number (around 10) of (increasingly longer) retransmissions --- as obviously the intended recipient would not reply with an acknowledgement.

Unfortunately, this is not at all what we need for out application. The power on the measurement unit has to be strictly (and predictably) managed; Sending the data out "live" via ESP-NOW is a bit of an optional luxury. It is no problem for us if some, or even most, of the esp-now packets fail to be received; It is a problem if the energy-per-sample depends on whether an ACK is received from the gateway or not.

So, a couple of questions:
  • Is there a way to configure the number of re-transmits for ESP-NOW data? And if so, can it be configured to 0?
  • As we have no interest in receiving ACKs, or anything else, during those sample cycles --- is there a way to use ESP-NOW without activating the radio for any other purpose. I.e. is there a way to disable radio RX (and save about 50mA of supply current) and still be able to use ESP-NOW for sending?
  • If not, is there some other low-level mechanism to simply transmit a single packet, no questions asked, and receive it on another ESP8266, which at the same time is joined to a Wifi network?

Statistics: Posted by umisef — Wed Dec 23, 2015 2:56 pm


]]>