Skip to content

Commit

Permalink
Moved into Class
Browse files Browse the repository at this point in the history
Moved functions into class and renamed to fit Arduino style
  • Loading branch information
mrengineer7777 committed Apr 6, 2023
1 parent 16b2c63 commit b2f0ee9
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 64 deletions.
116 changes: 55 additions & 61 deletions libraries/WiFi/src/WiFiGeneric.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -764,61 +764,8 @@ wifi_ps_type_t WiFiGenericClass::_sleepEnabled = WIFI_PS_NONE;
wifi_ps_type_t WiFiGenericClass::_sleepEnabled = WIFI_PS_MIN_MODEM;
#endif

//---C function prototypes---
const char * ArduinoEventIdToCStr(arduino_event_id_t id);
const char * WiFiErrReasonToCStr(wifi_err_reason_t reason);
//---C function prototypes---

/**
* @brief Convert arduino_event_id_t to a string.
* @param [in] id The event id to be converted.
* @return A string representation of the event id.
* @note: arduino_event_id_t values as of Mar 2023 (arduino-esp32 r2.0.7) are: 0-39 (ARDUINO_EVENT_MAX=40) and are defined in WiFiGeneric.h.
*/
const char * ArduinoEventIdToCStr(arduino_event_id_t id) {
switch(id) {
case ARDUINO_EVENT_WIFI_READY: return "WIFI_READY";
case ARDUINO_EVENT_WIFI_SCAN_DONE: return "SCAN_DONE";
case ARDUINO_EVENT_WIFI_STA_START: return "STA_START";
case ARDUINO_EVENT_WIFI_STA_STOP: return "STA_STOP";
case ARDUINO_EVENT_WIFI_STA_CONNECTED: return "STA_CONNECTED";
case ARDUINO_EVENT_WIFI_STA_DISCONNECTED: return "STA_DISCONNECTED";
case ARDUINO_EVENT_WIFI_STA_AUTHMODE_CHANGE: return "STA_AUTHMODE_CHANGE";
case ARDUINO_EVENT_WIFI_STA_GOT_IP: return "STA_GOT_IP";
case ARDUINO_EVENT_WIFI_STA_GOT_IP6: return "STA_GOT_IP6";
case ARDUINO_EVENT_WIFI_STA_LOST_IP: return "STA_LOST_IP";
case ARDUINO_EVENT_WIFI_AP_START: return "AP_START";
case ARDUINO_EVENT_WIFI_AP_STOP: return "AP_STOP";
case ARDUINO_EVENT_WIFI_AP_STACONNECTED: return "AP_STACONNECTED";
case ARDUINO_EVENT_WIFI_AP_STADISCONNECTED: return "AP_STADISCONNECTED";
case ARDUINO_EVENT_WIFI_AP_STAIPASSIGNED: return "AP_STAIPASSIGNED";
case ARDUINO_EVENT_WIFI_AP_PROBEREQRECVED: return "AP_PROBEREQRECVED";
case ARDUINO_EVENT_WIFI_AP_GOT_IP6: return "AP_GOT_IP6";
case ARDUINO_EVENT_WIFI_FTM_REPORT: return "FTM_REPORT";
case ARDUINO_EVENT_ETH_START: return "ETH_START";
case ARDUINO_EVENT_ETH_STOP: return "ETH_STOP";
case ARDUINO_EVENT_ETH_CONNECTED: return "ETH_CONNECTED";
case ARDUINO_EVENT_ETH_DISCONNECTED: return "ETH_DISCONNECTED";
case ARDUINO_EVENT_ETH_GOT_IP: return "ETH_GOT_IP";
case ARDUINO_EVENT_ETH_GOT_IP6: return "ETH_GOT_IP6";
case ARDUINO_EVENT_WPS_ER_SUCCESS: return "WPS_ER_SUCCESS";
case ARDUINO_EVENT_WPS_ER_FAILED: return "WPS_ER_FAILED";
case ARDUINO_EVENT_WPS_ER_TIMEOUT: return "WPS_ER_TIMEOUT";
case ARDUINO_EVENT_WPS_ER_PIN: return "WPS_ER_PIN";
case ARDUINO_EVENT_WPS_ER_PBC_OVERLAP: return "WPS_ER_PBC_OVERLAP";
case ARDUINO_EVENT_SC_SCAN_DONE: return "SC_SCAN_DONE";
case ARDUINO_EVENT_SC_FOUND_CHANNEL: return "SC_FOUND_CHANNEL";
case ARDUINO_EVENT_SC_GOT_SSID_PSWD: return "SC_GOT_SSID_PSWD";
case ARDUINO_EVENT_SC_SEND_ACK_DONE: return "SC_SEND_ACK_DONE";
case ARDUINO_EVENT_PROV_INIT: return "PROV_INIT";
case ARDUINO_EVENT_PROV_DEINIT: return "PROV_DEINIT";
case ARDUINO_EVENT_PROV_START: return "PROV_START";
case ARDUINO_EVENT_PROV_END: return "PROV_END";
case ARDUINO_EVENT_PROV_CRED_RECV: return "PROV_CRED_RECV";
case ARDUINO_EVENT_PROV_CRED_FAIL: return "PROV_CRED_FAIL";
case ARDUINO_EVENT_PROV_CRED_SUCCESS: return "PROV_CRED_SUCCESS";
default: return "";
}
WiFiGenericClass::WiFiGenericClass()
{
}

/**
Expand All @@ -827,7 +774,7 @@ const char * ArduinoEventIdToCStr(arduino_event_id_t id) {
* @return A string representation of the error code.
* @note: wifi_err_reason_t values as of Mar 2023 (arduino-esp32 r2.0.7) are: (1-39, 46-51, 67-68, 200-208) and are defined in /tools/sdk/esp32/include/esp_wifi/include/esp_wifi_types.h.
*/
const char * WiFiErrReasonToCStr(wifi_err_reason_t reason) {
const char * WiFiGenericClass::disconnectReasonName(wifi_err_reason_t reason) {
switch(reason) {
//ESP_ARDUINO_VERSION >= ESP_ARDUINO_VERSION_VAL(2,0,7)
case WIFI_REASON_UNSPECIFIED: return "UNSPECIFIED";
Expand Down Expand Up @@ -885,13 +832,60 @@ const char * WiFiErrReasonToCStr(wifi_err_reason_t reason) {
case WIFI_REASON_CONNECTION_FAIL: return "CONNECTION_FAIL";
case WIFI_REASON_AP_TSF_RESET: return "AP_TSF_RESET";
case WIFI_REASON_ROAMING: return "ROAMING";
case WIFI_REASON_ASSOC_COMEBACK_TIME_TOO_LONG: return "ASSOC_COMEBACK_TIME_TOO_LONG";
default: return "";
}
}

WiFiGenericClass::WiFiGenericClass()
{
/**
* @brief Convert arduino_event_id_t to a C string.
* @param [in] id The event id to be converted.
* @return A string representation of the event id.
* @note: arduino_event_id_t values as of Mar 2023 (arduino-esp32 r2.0.7) are: 0-39 (ARDUINO_EVENT_MAX=40) and are defined in WiFiGeneric.h.
*/
const char * WiFiGenericClass::eventName(arduino_event_id_t id) {
switch(id) {
case ARDUINO_EVENT_WIFI_READY: return "WIFI_READY";
case ARDUINO_EVENT_WIFI_SCAN_DONE: return "SCAN_DONE";
case ARDUINO_EVENT_WIFI_STA_START: return "STA_START";
case ARDUINO_EVENT_WIFI_STA_STOP: return "STA_STOP";
case ARDUINO_EVENT_WIFI_STA_CONNECTED: return "STA_CONNECTED";
case ARDUINO_EVENT_WIFI_STA_DISCONNECTED: return "STA_DISCONNECTED";
case ARDUINO_EVENT_WIFI_STA_AUTHMODE_CHANGE: return "STA_AUTHMODE_CHANGE";
case ARDUINO_EVENT_WIFI_STA_GOT_IP: return "STA_GOT_IP";
case ARDUINO_EVENT_WIFI_STA_GOT_IP6: return "STA_GOT_IP6";
case ARDUINO_EVENT_WIFI_STA_LOST_IP: return "STA_LOST_IP";
case ARDUINO_EVENT_WIFI_AP_START: return "AP_START";
case ARDUINO_EVENT_WIFI_AP_STOP: return "AP_STOP";
case ARDUINO_EVENT_WIFI_AP_STACONNECTED: return "AP_STACONNECTED";
case ARDUINO_EVENT_WIFI_AP_STADISCONNECTED: return "AP_STADISCONNECTED";
case ARDUINO_EVENT_WIFI_AP_STAIPASSIGNED: return "AP_STAIPASSIGNED";
case ARDUINO_EVENT_WIFI_AP_PROBEREQRECVED: return "AP_PROBEREQRECVED";
case ARDUINO_EVENT_WIFI_AP_GOT_IP6: return "AP_GOT_IP6";
case ARDUINO_EVENT_WIFI_FTM_REPORT: return "FTM_REPORT";
case ARDUINO_EVENT_ETH_START: return "ETH_START";
case ARDUINO_EVENT_ETH_STOP: return "ETH_STOP";
case ARDUINO_EVENT_ETH_CONNECTED: return "ETH_CONNECTED";
case ARDUINO_EVENT_ETH_DISCONNECTED: return "ETH_DISCONNECTED";
case ARDUINO_EVENT_ETH_GOT_IP: return "ETH_GOT_IP";
case ARDUINO_EVENT_ETH_GOT_IP6: return "ETH_GOT_IP6";
case ARDUINO_EVENT_WPS_ER_SUCCESS: return "WPS_ER_SUCCESS";
case ARDUINO_EVENT_WPS_ER_FAILED: return "WPS_ER_FAILED";
case ARDUINO_EVENT_WPS_ER_TIMEOUT: return "WPS_ER_TIMEOUT";
case ARDUINO_EVENT_WPS_ER_PIN: return "WPS_ER_PIN";
case ARDUINO_EVENT_WPS_ER_PBC_OVERLAP: return "WPS_ER_PBC_OVERLAP";
case ARDUINO_EVENT_SC_SCAN_DONE: return "SC_SCAN_DONE";
case ARDUINO_EVENT_SC_FOUND_CHANNEL: return "SC_FOUND_CHANNEL";
case ARDUINO_EVENT_SC_GOT_SSID_PSWD: return "SC_GOT_SSID_PSWD";
case ARDUINO_EVENT_SC_SEND_ACK_DONE: return "SC_SEND_ACK_DONE";
case ARDUINO_EVENT_PROV_INIT: return "PROV_INIT";
case ARDUINO_EVENT_PROV_DEINIT: return "PROV_DEINIT";
case ARDUINO_EVENT_PROV_START: return "PROV_START";
case ARDUINO_EVENT_PROV_END: return "PROV_END";
case ARDUINO_EVENT_PROV_CRED_RECV: return "PROV_CRED_RECV";
case ARDUINO_EVENT_PROV_CRED_FAIL: return "PROV_CRED_FAIL";
case ARDUINO_EVENT_PROV_CRED_SUCCESS: return "PROV_CRED_SUCCESS";
default: return "";
}
}

const char * WiFiGenericClass::getHostname()
Expand Down Expand Up @@ -1038,7 +1032,7 @@ esp_err_t WiFiGenericClass::_eventCallback(arduino_event_t *event)

if(!event) return ESP_OK; //Null would crash this function

log_d("Arduino Event: %d - %s", event->event_id, ArduinoEventIdToCStr(event->event_id));
log_d("Arduino Event: %d - %s", event->event_id, WiFi.eventName(event->event_id));
if(event->event_id == ARDUINO_EVENT_WIFI_SCAN_DONE) {
WiFiScanClass::_scanDone();
} else if(event->event_id == ARDUINO_EVENT_WIFI_STA_START) {
Expand All @@ -1060,7 +1054,7 @@ esp_err_t WiFiGenericClass::_eventCallback(arduino_event_t *event)
// Reason 0 causes crash, use reason 1 (UNSPECIFIED) instead
if(!reason)
reason = WIFI_REASON_UNSPECIFIED;
log_w("Reason: %u - %s", reason, WiFiErrReasonToCStr((wifi_err_reason_t)reason));
log_w("Reason: %u - %s", reason, WiFi.disconnectReasonName((wifi_err_reason_t)reason));
if(reason == WIFI_REASON_NO_AP_FOUND) {
WiFiSTAClass::_setStatus(WL_NO_SSID_AVAIL);
} else if((reason == WIFI_REASON_AUTH_FAIL) && !first_connect){
Expand Down
5 changes: 2 additions & 3 deletions libraries/WiFi/src/WiFiGeneric.h
Original file line number Diff line number Diff line change
Expand Up @@ -151,9 +151,6 @@ typedef enum {
WIFI_TX_ANT_AUTO
} wifi_tx_ant_t;

extern const char * ArduinoEventIdToCStr(arduino_event_id_t id);
extern const char * WiFiErrReasonToCStr(wifi_err_reason_t reason);

class WiFiGenericClass
{
public:
Expand Down Expand Up @@ -191,6 +188,8 @@ class WiFiGenericClass

static bool setDualAntennaConfig(uint8_t gpio_ant1, uint8_t gpio_ant2, wifi_rx_ant_t rx_mode, wifi_tx_ant_t tx_mode);

const char * disconnectReasonName(wifi_err_reason_t reason);
const char * eventName(arduino_event_id_t id);
static const char * getHostname();
static bool setHostname(const char * hostname);
static bool hostname(const String& aHostname) { return setHostname(aHostname.c_str()); }
Expand Down

0 comments on commit b2f0ee9

Please sign in to comment.