main/task_wifi.h

Mon, 22 Oct 2018 21:43:45 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Mon, 22 Oct 2018 21:43:45 +0200
changeset 6
e84200edc852
parent 1
ad2c8b13eb88
child 22
90f22a101fc6
permissions
-rw-r--r--

Updated esp-ide. Removed VNC server corre encoding because no clients would use it. Enabled WiFi error logmessages. Write runtime record is now debug logging. Removed recipe.Record number, not usefull and was wrong too. Removed console print of json log data.

/**
 * @file task_wifi.h
 * @brief WiFi task. Connects to a known Access Point. If we know more then
 *        one AP, try to connect all of them until it succeeds (Not yet written).
 */

#ifndef _TASK_WIFI_H
#define _TASK_WIFI_H


/**
 * @brief Defines the maximum number of access points that can be scanned.
 *
 * To save memory and avoid nasty out of memory errors,
 * we can limit the number of APs detected in a wifi scan.
 * The display can handle 7 entries, allow a few more.
 */
#define MAX_AP_NUM 			10

/** 
 * @brief Defines access point's maximum number of clients. 
 */
#define AP_MAX_CONNECTIONS 		4


/**
 * @brief Structure containing the information of the driver task.
 */
typedef struct {
    bool		AP_active;		///< Is the AP active.
    uint8_t		AP_clients;		///< Connected AP clients.
    bool		STA_connected;		///< Connected to AP as station.
    char		STA_ssid[33];		///< Connected to this SSID.
    int8_t		STA_rssi;		///< Signal strength.
    char		STA_ip[16];		///< IP address.
    char		STA_nm[16];		///< IP netmask.
    char		STA_gw[16];		///< IP gateway.
} WIFI_State;

/**
 * @brief Update reason codes.
 */
typedef enum update_reason_code_t {
    UPDATE_CONNECTION_OK = 0,
    UPDATE_FAILED_ATTEMPT = 1,
    UPDATE_USER_DISCONNECT = 2,
    UPDATE_LOST_CONNECTION = 3
} update_reason_code_t;



/**
 * @brief Main task for the wifi_manager
 */
void task_wifi(void *);

/**
 * @brief WiFi setup, init screens.
 */
bool WiFi_Init(void);

/**
 * @brief WiFi setup, loop screens.
 */
bool WiFi_Loop(void);


#endif

mercurial