supla-device
Loading...
Searching...
No Matches
netif_wifi.h
1// SPDX-FileCopyrightText: AC SOFTWARE SP. Z O.O.
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#ifndef SRC_SUPLA_NETWORK_NETIF_WIFI_H_
5#define SRC_SUPLA_NETWORK_NETIF_WIFI_H_
6
7#include "network.h"
8
9#define MAX_SSID_SIZE 33
10#define MAX_WIFI_PASSWORD_SIZE 64
11
12namespace Supla {
13
14constexpr uint32_t WifiScanRefreshIntervalMs = 60 * 1000;
15
16class Wifi : public Supla::Network {
17 public:
18 Wifi(const char *wifiSsid = nullptr,
19 const char *wifiPassword = nullptr,
20 unsigned char *ip = nullptr);
21
22 void setSsid(const char *wifiSsid) override;
23 void setPassword(const char *wifiPassword) override;
24 bool isWifiConfigRequired() override;
25 const char* getIntfName() const override;
26 virtual void startConfigModeScan();
27 bool iterate() override;
28
29 void onLoadConfig() override;
30
31 protected:
32 void requestConfigModeScanIfDue();
33 virtual bool isConfigModeScanInProgress() const;
34 char ssid[MAX_SSID_SIZE] = {};
35 char password[MAX_WIFI_PASSWORD_SIZE] = {};
36 uint32_t lastConfigModeScanStartMs = 0;
37 bool configModeScanStartRecorded = false;
38};
39
40}; // namespace Supla
41
42#endif // SRC_SUPLA_NETWORK_NETIF_WIFI_H_
Definition network.h:21
Definition netif_wifi.h:16