Added timestamps for connected/disconnected
This commit is contained in:
@@ -41,6 +41,9 @@ std::optional<WiFiStaStatus> lastStatus;
|
|||||||
|
|
||||||
WiFiState _wifiState;
|
WiFiState _wifiState;
|
||||||
|
|
||||||
|
std::optional<espchrono::millis_clock::time_point> _lastStaSwitchedFromConnected;
|
||||||
|
std::optional<espchrono::millis_clock::time_point> _lastStaSwitchedToConnected;
|
||||||
|
|
||||||
std::optional<espchrono::millis_clock::time_point> lastScanStarted;
|
std::optional<espchrono::millis_clock::time_point> lastScanStarted;
|
||||||
espchrono::millis_clock::time_point _lastConnect;
|
espchrono::millis_clock::time_point _lastConnect;
|
||||||
|
|
||||||
@@ -105,6 +108,8 @@ std::vector<ConnectPlanItem> connectPlan;
|
|||||||
|
|
||||||
const WiFiState &wifiStateMachineState{_wifiState};
|
const WiFiState &wifiStateMachineState{_wifiState};
|
||||||
cpputils::Signal<> scanResultChanged{};
|
cpputils::Signal<> scanResultChanged{};
|
||||||
|
const std::optional<espchrono::millis_clock::time_point> &lastStaSwitchedFromConnected{_lastStaSwitchedFromConnected};
|
||||||
|
const std::optional<espchrono::millis_clock::time_point> &lastStaSwitchedToConnected{_lastStaSwitchedToConnected};
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
@@ -495,8 +500,14 @@ esp_err_t goe_wifi_set_ap_config(const config &config, const std::string &ssid,
|
|||||||
|
|
||||||
void set_sta_status(WiFiStaStatus status)
|
void set_sta_status(WiFiStaStatus status)
|
||||||
{
|
{
|
||||||
ESP_LOGI(TAG, "%s", toString(status).c_str());
|
WiFiStaStatus oldStatus = _sta_status.exchange(status);
|
||||||
_sta_status = status;
|
|
||||||
|
ESP_LOGI(TAG, "%s (from %s)", toString(status).c_str(), toString(oldStatus).c_str());
|
||||||
|
|
||||||
|
if (oldStatus == WiFiStaStatus::WL_CONNECTED && status != WiFiStaStatus::WL_CONNECTED)
|
||||||
|
_lastStaSwitchedFromConnected = espchrono::millis_clock::now();
|
||||||
|
else if (oldStatus != WiFiStaStatus::WL_CONNECTED && status == WiFiStaStatus::WL_CONNECTED)
|
||||||
|
_lastStaSwitchedToConnected = espchrono::millis_clock::now();
|
||||||
}
|
}
|
||||||
|
|
||||||
void goe_wifi_scan_done()
|
void goe_wifi_scan_done()
|
||||||
|
@@ -3,6 +3,7 @@
|
|||||||
// system includes
|
// system includes
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
#include <optional>
|
||||||
|
|
||||||
// esp-idf includes
|
// esp-idf includes
|
||||||
#include <esp_wifi.h>
|
#include <esp_wifi.h>
|
||||||
@@ -32,6 +33,9 @@ extern const WiFiState &wifiStateMachineState;
|
|||||||
|
|
||||||
extern cpputils::Signal<> scanResultChanged;
|
extern cpputils::Signal<> scanResultChanged;
|
||||||
|
|
||||||
|
extern const std::optional<espchrono::millis_clock::time_point> &lastStaSwitchedFromConnected;
|
||||||
|
extern const std::optional<espchrono::millis_clock::time_point> &lastStaSwitchedToConnected;
|
||||||
|
|
||||||
//! Call once at startup
|
//! Call once at startup
|
||||||
void init(const config &config);
|
void init(const config &config);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user