diff --git a/examples/wifi/espnow/README.md b/examples/wifi/espnow/README.md index 0c3642b43..047cf85a4 100644 --- a/examples/wifi/espnow/README.md +++ b/examples/wifi/espnow/README.md @@ -44,6 +44,9 @@ make menuconfig The sending device and the recving device must be on the same channel. * Set Send count and Send delay under Example Configuration Options. * Set Send len under Example Configuration Options. +* Set Enable Long Range Options. + When this parameter is enabled, the ESP32 device will send data at the PHY rate of 512Kbps or 256Kbps + then the data can be transmitted over long range between two ESP32 devices. ### Build and Flash diff --git a/examples/wifi/espnow/main/Kconfig.projbuild b/examples/wifi/espnow/main/Kconfig.projbuild index be6b6ffdd..782fd5b01 100644 --- a/examples/wifi/espnow/main/Kconfig.projbuild +++ b/examples/wifi/espnow/main/Kconfig.projbuild @@ -48,8 +48,14 @@ config ESPNOW_SEND_DELAY config ESPNOW_SEND_LEN int "Send len" range 10 250 - default 200 + default 10 help Length of ESPNOW data to be sent, unit: byte. +config ENABLE_LONG_RANGE + bool "Enable Long Range" + default "n" + help + When enable long range, the PHY rate of ESP32 will be 512Kbps or 256Kbps + endmenu diff --git a/examples/wifi/espnow/main/espnow_example_main.c b/examples/wifi/espnow/main/espnow_example_main.c index 78576137a..49e04c836 100644 --- a/examples/wifi/espnow/main/espnow_example_main.c +++ b/examples/wifi/espnow/main/espnow_example_main.c @@ -67,6 +67,10 @@ static void example_wifi_init(void) * been already on the same channel. */ ESP_ERROR_CHECK( esp_wifi_set_channel(CONFIG_ESPNOW_CHANNEL, 0) ); + +#if CONFIG_ENABLE_LONG_RANGE + ESP_ERROR_CHECK( esp_wifi_set_protocol(ESPNOW_WIFI_IF, WIFI_PROTOCOL_11B|WIFI_PROTOCOL_11G|WIFI_PROTOCOL_11N|WIFI_PROTOCOL_LR) ); +#endif } /* ESPNOW sending or receiving callback function is called in WiFi task.