feat: wifiscan

This commit is contained in:
2025-09-12 22:08:47 +02:00
parent 5bf2283063
commit fe3943b48a
10 changed files with 502 additions and 2 deletions

View File

@@ -2,12 +2,33 @@
#include <WiFiUdp.h>
#include <map>
#include <vector>
#include "NodeInfo.h"
#include <functional>
#include <string>
#include <initializer_list>
#include "Config.h"
// Forward declaration
class TaskManager;
// WiFi access point structure
struct WiFiAccessPoint {
String ssid;
int32_t rssi;
uint8_t encryption;
uint8_t* bssid;
int32_t channel;
bool isHidden;
WiFiAccessPoint() : rssi(0), encryption(0), bssid(nullptr), channel(0), isHidden(false) {}
~WiFiAccessPoint() {
if (bssid) {
delete[] bssid;
}
}
};
class NodeContext {
public:
NodeContext();
@@ -19,10 +40,14 @@ public:
NodeInfo self;
std::map<String, NodeInfo>* memberList;
Config config;
TaskManager* taskManager;
using EventCallback = std::function<void(void*)>;
std::map<std::string, std::vector<EventCallback>> eventRegistry;
void on(const std::string& event, EventCallback cb);
void fire(const std::string& event, void* data);
// WiFi access points storage
std::vector<WiFiAccessPoint>* wifiAccessPoints;
};