Added timestamps for connected/disconnected
This commit is contained in:
@@ -41,6 +41,9 @@ std::optional<WiFiStaStatus> lastStatus;
|
||||
|
||||
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;
|
||||
espchrono::millis_clock::time_point _lastConnect;
|
||||
|
||||
@@ -105,6 +108,8 @@ std::vector<ConnectPlanItem> connectPlan;
|
||||
|
||||
const WiFiState &wifiStateMachineState{_wifiState};
|
||||
cpputils::Signal<> scanResultChanged{};
|
||||
const std::optional<espchrono::millis_clock::time_point> &lastStaSwitchedFromConnected{_lastStaSwitchedFromConnected};
|
||||
const std::optional<espchrono::millis_clock::time_point> &lastStaSwitchedToConnected{_lastStaSwitchedToConnected};
|
||||
|
||||
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)
|
||||
{
|
||||
ESP_LOGI(TAG, "%s", toString(status).c_str());
|
||||
_sta_status = status;
|
||||
WiFiStaStatus oldStatus = _sta_status.exchange(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()
|
||||
|
@@ -3,6 +3,7 @@
|
||||
// system includes
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <optional>
|
||||
|
||||
// esp-idf includes
|
||||
#include <esp_wifi.h>
|
||||
@@ -32,6 +33,9 @@ extern const WiFiState &wifiStateMachineState;
|
||||
|
||||
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
|
||||
void init(const config &config);
|
||||
|
||||
|
Reference in New Issue
Block a user