forked from espressif/esp-protocols
feat(eppp): Add support for TUN interface
* Implement factory pattern * Make netif type configurable (PPP vs. TUN) * Use ICMP for TUN netif connection * Relax deps criteria (mainly for Ethernet)use the tun feature
This commit is contained in:
1 parent
b8cdd373f4
commit
2ff150c310
22 files changed
+1531
-705
No files matched your search
@@ -18,10 +18,66 @@ menu "Example Configuration"
|
||||
help
|
||||
Set the Maximum retry to avoid station reconnecting to the AP unlimited when the AP is really inexistent.
|
||||
|
||||
config EXAMPLE_SPI_HOST
|
||||
int "SPI Host"
|
||||
depends on EPPP_LINK_DEVICE_SPI
|
||||
default 1
|
||||
range 0 2
|
||||
help
|
||||
SPI host to use (SPI1_HOST=0, SPI2_HOST=1, SPI3_HOST=2).
|
||||
|
||||
config EXAMPLE_SPI_MOSI_PIN
|
||||
int "MOSI Pin Number"
|
||||
depends on EPPP_LINK_DEVICE_SPI
|
||||
default 23
|
||||
range 0 39
|
||||
help
|
||||
Pin number of SPI MOSI.
|
||||
|
||||
config EXAMPLE_SPI_MISO_PIN
|
||||
int "MISO Pin Number"
|
||||
depends on EPPP_LINK_DEVICE_SPI
|
||||
default 19
|
||||
range 0 39
|
||||
help
|
||||
Pin number of SPI MISO.
|
||||
|
||||
config EXAMPLE_SPI_SCLK_PIN
|
||||
int "SCLK Pin Number"
|
||||
depends on EPPP_LINK_DEVICE_SPI
|
||||
default 18
|
||||
range 0 39
|
||||
help
|
||||
Pin number of SPI SCLK.
|
||||
|
||||
config EXAMPLE_SPI_CS_PIN
|
||||
int "CS Pin Number"
|
||||
depends on EPPP_LINK_DEVICE_SPI
|
||||
default 5
|
||||
range 0 39
|
||||
help
|
||||
Pin number of SPI CS.
|
||||
|
||||
config EXAMPLE_SPI_INTR_PIN
|
||||
int "Interrupt Pin Number"
|
||||
depends on EPPP_LINK_DEVICE_SPI
|
||||
default 17
|
||||
range 0 39
|
||||
help
|
||||
Pin number of SPI interrupt.
|
||||
|
||||
config EXAMPLE_SPI_FREQUENCY
|
||||
int "SPI Frequency (Hz)"
|
||||
depends on EPPP_LINK_DEVICE_SPI
|
||||
default 1000000
|
||||
range 100000 80000000
|
||||
help
|
||||
SPI frequency in Hz.
|
||||
|
||||
config EXAMPLE_UART_TX_PIN
|
||||
int "TXD Pin Number"
|
||||
depends on EPPP_LINK_DEVICE_UART
|
||||
default 11
|
||||
default 18
|
||||
range 0 31
|
||||
help
|
||||
Pin number of UART TX.
|
||||
@@ -29,7 +85,7 @@ menu "Example Configuration"
|
||||
config EXAMPLE_UART_RX_PIN
|
||||
int "RXD Pin Number"
|
||||
depends on EPPP_LINK_DEVICE_UART
|
||||
default 10
|
||||
default 17
|
||||
range 0 31
|
||||
help
|
||||
Pin number of UART RX.
|
||||
@@ -37,7 +93,7 @@ menu "Example Configuration"
|
||||
config EXAMPLE_UART_BAUDRATE
|
||||
int "Baudrate"
|
||||
depends on EPPP_LINK_DEVICE_UART
|
||||
default 2000000
|
||||
default 921600
|
||||
range 0 4000000
|
||||
help
|
||||
Baudrate used by the PPP over UART
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Unlicense OR CC0-1.0
|
||||
*/
|
||||
@@ -55,9 +55,6 @@ void init_network_interface(void)
|
||||
{
|
||||
s_wifi_event_group = xEventGroupCreate();
|
||||
|
||||
ESP_ERROR_CHECK(esp_netif_init());
|
||||
|
||||
ESP_ERROR_CHECK(esp_event_loop_create_default());
|
||||
esp_netif_create_default_wifi_sta();
|
||||
|
||||
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
|
||||
@@ -66,15 +63,15 @@ void init_network_interface(void)
|
||||
esp_event_handler_instance_t instance_any_id;
|
||||
esp_event_handler_instance_t instance_got_ip;
|
||||
ESP_ERROR_CHECK(esp_event_handler_instance_register(WIFI_EVENT,
|
||||
ESP_EVENT_ANY_ID,
|
||||
&event_handler,
|
||||
NULL,
|
||||
&instance_any_id));
|
||||
ESP_EVENT_ANY_ID,
|
||||
&event_handler,
|
||||
NULL,
|
||||
&instance_any_id));
|
||||
ESP_ERROR_CHECK(esp_event_handler_instance_register(IP_EVENT,
|
||||
IP_EVENT_STA_GOT_IP,
|
||||
&event_handler,
|
||||
NULL,
|
||||
&instance_got_ip));
|
||||
IP_EVENT_STA_GOT_IP,
|
||||
&event_handler,
|
||||
NULL,
|
||||
&instance_got_ip));
|
||||
|
||||
wifi_config_t wifi_config = {
|
||||
.sta = {
|
||||
@@ -82,9 +79,9 @@ void init_network_interface(void)
|
||||
.password = CONFIG_ESP_WIFI_PASSWORD,
|
||||
},
|
||||
};
|
||||
ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA) );
|
||||
ESP_ERROR_CHECK(esp_wifi_set_config(WIFI_IF_STA, &wifi_config) );
|
||||
ESP_ERROR_CHECK(esp_wifi_start() );
|
||||
ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA));
|
||||
ESP_ERROR_CHECK(esp_wifi_set_config(WIFI_IF_STA, &wifi_config));
|
||||
ESP_ERROR_CHECK(esp_wifi_start());
|
||||
|
||||
ESP_LOGI(TAG, "wifi_init_sta finished.");
|
||||
|
||||
@@ -127,13 +124,21 @@ void app_main(void)
|
||||
}
|
||||
ESP_ERROR_CHECK(ret);
|
||||
|
||||
ESP_ERROR_CHECK(esp_netif_init());
|
||||
ESP_ERROR_CHECK(esp_event_loop_create_default());
|
||||
init_network_interface(); // WiFi station if withing SoC capabilities (otherwise a placeholder)
|
||||
// ESP_ERROR_CHECK(esp_netif_init());
|
||||
// ESP_ERROR_CHECK(esp_event_loop_create_default());
|
||||
|
||||
eppp_config_t config = EPPP_DEFAULT_SERVER_CONFIG();
|
||||
#if CONFIG_EPPP_LINK_DEVICE_SPI
|
||||
config.transport = EPPP_TRANSPORT_SPI;
|
||||
config.spi.is_master = false;
|
||||
config.spi.host = CONFIG_EXAMPLE_SPI_HOST;
|
||||
config.spi.mosi = CONFIG_EXAMPLE_SPI_MOSI_PIN;
|
||||
config.spi.miso = CONFIG_EXAMPLE_SPI_MISO_PIN;
|
||||
config.spi.sclk = CONFIG_EXAMPLE_SPI_SCLK_PIN;
|
||||
config.spi.cs = CONFIG_EXAMPLE_SPI_CS_PIN;
|
||||
config.spi.intr = CONFIG_EXAMPLE_SPI_INTR_PIN;
|
||||
config.spi.freq = CONFIG_EXAMPLE_SPI_FREQUENCY;
|
||||
#elif CONFIG_EPPP_LINK_DEVICE_UART
|
||||
config.transport = EPPP_TRANSPORT_UART;
|
||||
config.uart.tx_io = CONFIG_EXAMPLE_UART_TX_PIN;
|
||||
|
||||
Reference in new issue
Block a user