Browse Source

Removed send cb flag

xnecas 6 days ago
parent
commit
ac2ff3e5da
2 changed files with 13 additions and 6 deletions
  1. 7 6
      src/EspNowSerial/EspNowSerial.cpp
  2. 6 0
      src/EspNowSerial/EspNowSerial.h

+ 7 - 6
src/EspNowSerial/EspNowSerial.cpp

@@ -45,6 +45,11 @@ esp_err_t EspNowSerial::add_peer_encrypted(EspMacAddress peer_address, CcmpMaste
     return esp_now_add_peer(&peer_info);
 }
 
+bool EspNowSerial::get_sent_status()
+{
+    return _data_sent;
+}
+
 esp_err_t EspNowSerial::begin(uint8_t channel, bool broadcast, CcmpMasterKey pmk)
 {
     _broadcast = broadcast;                                             // set broadcast flag
@@ -53,6 +58,7 @@ esp_err_t EspNowSerial::begin(uint8_t channel, bool broadcast, CcmpMasterKey pmk
     _data_sent = 1;                                                     // reset data sent flag
 
     WiFi.mode(_wifi_mode);                                              // set device as a Wi-Fi Station
+    esp_wifi_set_ps(WIFI_PS_NONE);                                      // disable power save mode
     esp_wifi_set_channel(channel, WIFI_SECOND_CHAN_NONE);               // force WiFi channel
                                             
     esp_err_t status = esp_now_init();                                  // init esp-now
@@ -114,9 +120,7 @@ int EspNowSerial::peek()
 
 size_t EspNowSerial::write(uint8_t value)
 { 
-    if (!_data_sent)
-        return 0;
-   
+   _data_sent = 0;
    uint8_t buffer[1] = {value};
    esp_err_t result = esp_now_send(nullptr, buffer, 1);
 
@@ -128,9 +132,6 @@ size_t EspNowSerial::write(uint8_t value)
 
 size_t EspNowSerial::write(const uint8_t *buffer, size_t size)
 {
-    if (!_data_sent)
-        return 0;
-    
     _data_sent = 0;     // reset data sent flag
     esp_err_t result = esp_now_send(nullptr, buffer, size);
 

+ 6 - 0
src/EspNowSerial/EspNowSerial.h

@@ -86,6 +86,12 @@ public:
      */
     esp_err_t add_peer_encrypted(EspMacAddress peer_address, CcmpMasterKey lmk);
 
+    /**
+     * @brief Get sent status from callbacl.
+     * @return status
+     */
+    bool get_sent_status();
+
     /**
      * @brief Get the number of bytes available for reading.
      *