mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-11-03 22:08:28 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			60 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* Wi-Fi iperf Example
 | 
						|
 | 
						|
   This example code is in the Public Domain (or CC0 licensed, at your option.)
 | 
						|
 | 
						|
   Unless required by applicable law or agreed to in writing, this
 | 
						|
   software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 | 
						|
   CONDITIONS OF ANY KIND, either express or implied.
 | 
						|
*/
 | 
						|
 | 
						|
#include <errno.h>
 | 
						|
#include <string.h>
 | 
						|
#include "esp_wifi.h"
 | 
						|
#include "esp_log.h"
 | 
						|
#include "esp_err.h"
 | 
						|
#include "nvs_flash.h"
 | 
						|
#include "esp_console.h"
 | 
						|
#include "cmd_decl.h"
 | 
						|
 | 
						|
void app_main(void)
 | 
						|
{
 | 
						|
    esp_err_t ret = nvs_flash_init();
 | 
						|
    if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) {
 | 
						|
        ESP_ERROR_CHECK(nvs_flash_erase());
 | 
						|
        ret = nvs_flash_init();
 | 
						|
    }
 | 
						|
    ESP_ERROR_CHECK( ret );
 | 
						|
 | 
						|
    initialise_wifi();
 | 
						|
 | 
						|
    esp_console_repl_t *repl = NULL;
 | 
						|
    esp_console_repl_config_t repl_config = ESP_CONSOLE_REPL_CONFIG_DEFAULT();
 | 
						|
    repl_config.prompt = "iperf>";
 | 
						|
 | 
						|
    // init console REPL environment
 | 
						|
#if CONFIG_ESP_CONSOLE_UART
 | 
						|
    esp_console_dev_uart_config_t uart_config = ESP_CONSOLE_DEV_UART_CONFIG_DEFAULT();
 | 
						|
    ESP_ERROR_CHECK(esp_console_new_repl_uart(&uart_config, &repl_config, &repl));
 | 
						|
#elif CONFIG_ESP_CONSOLE_USB_CDC
 | 
						|
    esp_console_dev_usb_cdc_config_t cdc_config = ESP_CONSOLE_DEV_CDC_CONFIG_DEFAULT();
 | 
						|
    ESP_ERROR_CHECK(esp_console_new_repl_usb_cdc(&cdc_config, &repl_config, &repl));
 | 
						|
#endif
 | 
						|
 | 
						|
    /* Register commands */
 | 
						|
    register_system();
 | 
						|
    register_wifi();
 | 
						|
 | 
						|
    printf("\n ==================================================\n");
 | 
						|
    printf(" |       Steps to test WiFi throughput            |\n");
 | 
						|
    printf(" |                                                |\n");
 | 
						|
    printf(" |  1. Print 'help' to gain overview of commands  |\n");
 | 
						|
    printf(" |  2. Configure device to station or soft-AP     |\n");
 | 
						|
    printf(" |  3. Setup WiFi connection                      |\n");
 | 
						|
    printf(" |  4. Run iperf to test UDP/TCP RX/TX throughput |\n");
 | 
						|
    printf(" |                                                |\n");
 | 
						|
    printf(" =================================================\n\n");
 | 
						|
 | 
						|
    // start console REPL
 | 
						|
    ESP_ERROR_CHECK(esp_console_start_repl(repl));
 | 
						|
}
 |