Open Model Railroad Network (OpenMRN)
Loading...
Searching...
No Matches
Esp32WiFiManager.hxx File Reference
#include "freertos_drivers/esp32/Esp32WiFiConfiguration.hxx"
#include "executor/Executor.hxx"
#include "executor/Service.hxx"
#include "executor/StateFlow.hxx"
#include "openlcb/ConfigRepresentation.hxx"
#include "openlcb/ConfiguredTcpConnection.hxx"
#include "utils/ConfigUpdateListener.hxx"
#include "utils/GcTcpHub.hxx"
#include "utils/macros.h"
#include "utils/Singleton.hxx"
#include <esp_event.h>
#include <esp_netif.h>
#include <esp_wifi_types.h>
#include <freertos/event_groups.h>

Go to the source code of this file.

Classes

class  openmrn_arduino::Esp32WiFiManager
 This class provides a simple way for ESP32 nodes to manage the WiFi and mDNS systems of the ESP32, the node being a hub and connecting to an uplink node to participate in the CAN bus. More...
 
class  openmrn_arduino::Esp32WiFiManager::UplinkNotifiable
 This class provides a proxy for the Notifiable provided by the SocketClient. More...
 
class  openmrn_arduino::Esp32WiFiManager::WiFiStackFlow
 StateFlow that is responsible for startup and maintenance of the WiFi stack. More...
 

Namespaces

namespace  openlcb
 

Typedefs

typedef std::function< void(esp_network_interface_t, uint32_t)> openmrn_arduino::esp_network_up_callback_t
 Callback function definition for the network up events.
 
typedef std::function< void(esp_network_interface_t)> openmrn_arduino::esp_network_down_callback_t
 Callback function definition for the network down events.
 
typedef std::function< void(esp_network_interface_t)> openmrn_arduino::esp_network_init_callback_t
 Callback function definition for the network is initializing.
 
typedef std::function< void(time_t)> openmrn_arduino::esp_network_time_callback_t
 Callback function definition for network time synchronization.
 

Enumerations

enum  openmrn_arduino::esp_network_interface_t : uint8_t { openmrn_arduino::STATION_INTERFACE = 0 , openmrn_arduino::SOFTAP_INTERFACE , openmrn_arduino::MAX_NETWORK_INTERFACES }
 ESP32 network interfaces. More...
 

Detailed Description

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

ESP32 WiFi Manager

Author
Mike Dunston
Date
4 February 2019

Definition in file Esp32WiFiManager.hxx.

Typedef Documentation

◆ esp_network_down_callback_t

typedef std::function<void(esp_network_interface_t)> openmrn_arduino::esp_network_down_callback_t

Callback function definition for the network down events.

The first parameter is the interface that is down.

NOTE: The callback will be invoked for SOFTAP_INTERFACE (SoftAP) when the interface is stopped, for STATION_INTERFACE (station) it will be called when the IP address has been lost or connection to the AP has been lost.

Definition at line 101 of file Esp32WiFiManager.hxx.

◆ esp_network_init_callback_t

typedef std::function<void(esp_network_interface_t)> openmrn_arduino::esp_network_init_callback_t

Callback function definition for the network is initializing.

The first parameter is the interface that is initializing.

NOTE: This will be called for STATION_INTERFACE only. It will be called for initial startup and reconnect events.

Definition at line 109 of file Esp32WiFiManager.hxx.

◆ esp_network_time_callback_t

typedef std::function<void(time_t)> openmrn_arduino::esp_network_time_callback_t

Callback function definition for network time synchronization.

The parameter is the standard time_t structure containing the new time.

Definition at line 114 of file Esp32WiFiManager.hxx.

◆ esp_network_up_callback_t

typedef std::function<void(esp_network_interface_t , uint32_t)> openmrn_arduino::esp_network_up_callback_t

Callback function definition for the network up events.

The first parameter is the interface that is up and read to use. The second is the IP address for the interface in network byte order.

NOTE: The callback will be invoked for SOFTAP_INTERFACE (SoftAP) upon start and STATION_INTERFACE (station) only after the IP address has been received. The callback will be called multiple times if both SoftAP and Station are enabled.

Definition at line 92 of file Esp32WiFiManager.hxx.

Enumeration Type Documentation

◆ esp_network_interface_t

ESP32 network interfaces.

At this time only the Station and SoftAP interfaces are supported. There are no plans to support the Ethernet interface at this time.

Enumerator
STATION_INTERFACE 

This is used for the Station WiFi interface.

SOFTAP_INTERFACE 

This is used for the SoftAP WiFi interface.

MAX_NETWORK_INTERFACES 

This is the maximum supported WiFi interfaces of the ESP32 and is not a valid network interface for user code.

Definition at line 69 of file Esp32WiFiManager.hxx.