From: zhangyanjiao Date: Wed, 24 Oct 2018 02:31:58 +0000 (+0800) Subject: wifi: add long range code X-Git-Tag: v3.3-beta1~68^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ad22d280c60afccdc1ff43f901d0bf0246576101;p=esp-idf wifi: add long range code --- diff --git a/examples/wifi/espnow/README.md b/examples/wifi/espnow/README.md index 0c3642b43a..047cf85a4a 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 be6b6ffdd9..782fd5b017 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 78576137a8..49e04c8366 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.