main/task_wifi.h

changeset 0
913eb9ca40b1
child 1
86b275481021
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main/task_wifi.h	Thu Oct 19 17:32:16 2023 +0200
@@ -0,0 +1,65 @@
+/**
+ * @file task_wifi.h
+ * @brief WiFi task. Connect to the known AP with the strongest signal.
+ */
+
+#ifndef _TASK_WIFI_H
+#define _TASK_WIFI_H
+
+
+/**
+ * @brief Structure containing the information of the driver task.
+ */
+typedef struct {
+    bool		STA_connected;		///< Connected to AP as station.
+    bool		STA_online;		///< Connected and online.
+    char		STA_ssid[33];		///< Connected to this SSID.
+    char		STA_bssid[18];		///< Connected to this BSSID.
+    int8_t		STA_rssi;		///< Signal strength.
+    uint8_t		STA_channel;		///< Connected channel.
+    char		STA_ip[17];		///< IP address.
+    char		STA_nm[17];		///< IP netmask.
+    char		STA_gw[17];		///< IP gateway.
+} WIFI_State;
+
+
+
+/**
+ * @brief Test if Wifi is ready and connected
+ * @return Return true is connected and we have an IP address.
+ */
+bool ready_WiFi(void);
+
+
+/**
+ * @brief Signal to update the WiFi rssi status.
+ */
+void status_WiFi(void);
+
+
+/**
+ * @brief Request a WiFi connection.
+ */
+void request_WiFi(void);
+
+
+/**
+ * @brief Request a WiFi scan.
+ */
+void scan_WiFi(void);
+
+
+/**
+ * @brief Request WiFi disconnect.
+ */
+void disconnect_WiFi(void);
+
+
+/**
+ * @brief Main task for the wifi_manager
+ * @param pvParameters Parameters for the task.
+ */
+void task_wifi(void *pvParameters);
+
+
+#endif

mercurial