Extending the X_NUCLEO_IDW01M1 to allow configuration of the board as an access point
Dependents: X_NUCLEO_IDW01M1_AP_Test
Fork of X_NUCLEO_IDW01M1 by
Spwf/inc/wifi_interface.h@18:b265b3b696f1, 2016-06-21 (annotated)
- Committer:
- scsims
- Date:
- Tue Jun 21 20:20:50 2016 +0000
- Revision:
- 18:b265b3b696f1
- Parent:
- 8:0f302a13e21b
- Child:
- 21:9de5d3ab3615
Added SPWFInterface::start_access_point() to allow the module to be put into AP mode. Operational data rates are configurable as is the channel number. AP's have to be open as the underlying driver only appears to support open APs at the moment
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mridup | 0:dc55f40eb04f | 1 | /** |
mridup | 0:dc55f40eb04f | 2 | ****************************************************************************** |
mridup | 0:dc55f40eb04f | 3 | * @file wifi_interface.h |
mridup | 0:dc55f40eb04f | 4 | * @author Central LAB |
mridup | 0:dc55f40eb04f | 5 | * @version V2.0.0 |
mridup | 0:dc55f40eb04f | 6 | * @date 10-February-2016 |
mridup | 0:dc55f40eb04f | 7 | * @brief Header file for X-CUBE-WIFI1 API |
mridup | 0:dc55f40eb04f | 8 | ****************************************************************************** |
mridup | 0:dc55f40eb04f | 9 | * @attention |
mridup | 0:dc55f40eb04f | 10 | * |
mridup | 0:dc55f40eb04f | 11 | * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2> |
mridup | 0:dc55f40eb04f | 12 | * |
mridup | 0:dc55f40eb04f | 13 | * Redistribution and use in source and binary forms, with or without modification, |
mridup | 0:dc55f40eb04f | 14 | * are permitted provided that the following conditions are met: |
mridup | 0:dc55f40eb04f | 15 | * 1. Redistributions of source code must retain the above copyright notice, |
mridup | 0:dc55f40eb04f | 16 | * this list of conditions and the following disclaimer. |
mridup | 0:dc55f40eb04f | 17 | * 2. Redistributions in binary form must reproduce the above copyright notice, |
mridup | 0:dc55f40eb04f | 18 | * this list of conditions and the following disclaimer in the documentation |
mridup | 0:dc55f40eb04f | 19 | * and/or other materials provided with the distribution. |
mridup | 0:dc55f40eb04f | 20 | * 3. Neither the name of STMicroelectronics nor the names of its contributors |
mridup | 0:dc55f40eb04f | 21 | * may be used to endorse or promote products derived from this software |
mridup | 0:dc55f40eb04f | 22 | * without specific prior written permission. |
mridup | 0:dc55f40eb04f | 23 | * |
mridup | 0:dc55f40eb04f | 24 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
mridup | 0:dc55f40eb04f | 25 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
mridup | 0:dc55f40eb04f | 26 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
mridup | 0:dc55f40eb04f | 27 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE |
mridup | 0:dc55f40eb04f | 28 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
mridup | 0:dc55f40eb04f | 29 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
mridup | 0:dc55f40eb04f | 30 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
mridup | 0:dc55f40eb04f | 31 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
mridup | 0:dc55f40eb04f | 32 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
mridup | 0:dc55f40eb04f | 33 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
mridup | 0:dc55f40eb04f | 34 | * |
mridup | 0:dc55f40eb04f | 35 | ****************************************************************************** |
mridup | 0:dc55f40eb04f | 36 | */ |
mridup | 0:dc55f40eb04f | 37 | /* Define to prevent recursive inclusion -------------------------------------*/ |
mridup | 0:dc55f40eb04f | 38 | #ifndef __WIFI_INTERFACE_H |
mridup | 0:dc55f40eb04f | 39 | #define __WIFI_INTERFACE_H |
mridup | 0:dc55f40eb04f | 40 | |
scsims | 18:b265b3b696f1 | 41 | #define DEBUG_PRINT 1 |
scsims | 18:b265b3b696f1 | 42 | |
mridup | 0:dc55f40eb04f | 43 | #ifdef __cplusplus |
mridup | 0:dc55f40eb04f | 44 | extern "C" { |
mridup | 0:dc55f40eb04f | 45 | #endif |
mridup | 0:dc55f40eb04f | 46 | |
mridup | 0:dc55f40eb04f | 47 | /* Includes ------------------------------------------------------------------*/ |
mridup | 0:dc55f40eb04f | 48 | #include<stdint.h> |
mridup | 0:dc55f40eb04f | 49 | |
mridup | 0:dc55f40eb04f | 50 | /** @addtogroup MIDDLEWARES |
mridup | 0:dc55f40eb04f | 51 | * @{ |
mridup | 0:dc55f40eb04f | 52 | */ |
mridup | 0:dc55f40eb04f | 53 | |
mridup | 0:dc55f40eb04f | 54 | |
mridup | 0:dc55f40eb04f | 55 | /** @addtogroup NUCLEO_WIFI_API |
mridup | 0:dc55f40eb04f | 56 | * @brief Wi-Fi_interface API |
mridup | 0:dc55f40eb04f | 57 | * @{ |
mridup | 0:dc55f40eb04f | 58 | */ |
mridup | 0:dc55f40eb04f | 59 | |
mridup | 0:dc55f40eb04f | 60 | |
mridup | 0:dc55f40eb04f | 61 | /** @addtogroup NUCLEO_WIFI_API_Private_Macros |
mridup | 0:dc55f40eb04f | 62 | * @{ |
mridup | 0:dc55f40eb04f | 63 | */ |
mridup | 0:dc55f40eb04f | 64 | |
mridup | 0:dc55f40eb04f | 65 | |
mridup | 0:dc55f40eb04f | 66 | /** |
mridup | 0:dc55f40eb04f | 67 | * @} |
mridup | 0:dc55f40eb04f | 68 | */ |
mridup | 0:dc55f40eb04f | 69 | |
mridup | 0:dc55f40eb04f | 70 | |
mridup | 0:dc55f40eb04f | 71 | /** @addtogroup NUCLEO_WIFI_API_Private_Variables |
mridup | 0:dc55f40eb04f | 72 | * @{ |
mridup | 0:dc55f40eb04f | 73 | */ |
mridup | 0:dc55f40eb04f | 74 | /* Private variables ---------------------------------------------------------*/ |
mridup | 0:dc55f40eb04f | 75 | |
mridup | 0:dc55f40eb04f | 76 | |
mridup | 0:dc55f40eb04f | 77 | /* Exported macro ------------------------------------------------------------*/ |
mridup | 0:dc55f40eb04f | 78 | #define _ARG6(_0, _1, _2, _3, _4, _5, _6, ...) _6 |
mridup | 0:dc55f40eb04f | 79 | #define NARG6(...) _ARG6(__VA_ARGS__, 6, 5, 4, 3, 2, 1, 0) |
mridup | 0:dc55f40eb04f | 80 | #define _FIVE_OR_SIX_ARGS_5(NAME, a, b, c, d, e) a, b, c, d, e, 1453727657 |
mridup | 0:dc55f40eb04f | 81 | #define _FIVE_OR_SIX_ARGS_6(NAME, a, b, c, d, e, f) a, b, c, d, e, f |
mridup | 0:dc55f40eb04f | 82 | #define __FIVE_OR_SIX_ARGS(NAME, N, ...) _FIVE_OR_SIX_ARGS_ ## N (NAME, __VA_ARGS__) |
mridup | 0:dc55f40eb04f | 83 | #define _FIVE_OR_SIX_ARGS(NAME, N, ...) __FIVE_OR_SIX_ARGS(NAME, N, __VA_ARGS__) |
mridup | 0:dc55f40eb04f | 84 | #define FIVE_OR_SIX_ARGS(NAME, ...) NAME(_FIVE_OR_SIX_ARGS(NAME, NARG6(__VA_ARGS__), __VA_ARGS__)) |
mridup | 0:dc55f40eb04f | 85 | |
mridup | 0:dc55f40eb04f | 86 | #define wifi_socket_client_security(...) FIVE_OR_SIX_ARGS(wifi_socket_client_security, __VA_ARGS__) |
mridup | 0:dc55f40eb04f | 87 | |
mridup | 0:dc55f40eb04f | 88 | /* Exported constants --------------------------------------------------------*/ |
mridup | 0:dc55f40eb04f | 89 | #define GPIO_IN "in" |
mridup | 0:dc55f40eb04f | 90 | #define GPIO_OUT "out" |
mridup | 0:dc55f40eb04f | 91 | |
mridup | 0:dc55f40eb04f | 92 | #define GPIO_Off '0' |
mridup | 0:dc55f40eb04f | 93 | #define GPIO_Rising 'R' |
mridup | 0:dc55f40eb04f | 94 | #define GPIO_Falling 'F' |
mridup | 0:dc55f40eb04f | 95 | #define GPIO_Both 'B' |
mridup | 0:dc55f40eb04f | 96 | |
mridup | 0:dc55f40eb04f | 97 | typedef enum GpioWriteValue |
mridup | 0:dc55f40eb04f | 98 | { |
mridup | 0:dc55f40eb04f | 99 | GPIO_OFF = 0, |
mridup | 0:dc55f40eb04f | 100 | GPIO_ON, |
mridup | 0:dc55f40eb04f | 101 | } GpioWriteValue; |
mridup | 0:dc55f40eb04f | 102 | |
mridup | 0:dc55f40eb04f | 103 | typedef enum GpioPin |
mridup | 0:dc55f40eb04f | 104 | { |
mridup | 0:dc55f40eb04f | 105 | GPIO_PIN0 = 0, |
mridup | 0:dc55f40eb04f | 106 | GPIO_PIN1, |
mridup | 0:dc55f40eb04f | 107 | GPIO_PIN2, |
mridup | 0:dc55f40eb04f | 108 | GPIO_PIN3, |
mridup | 0:dc55f40eb04f | 109 | GPIO_PIN4, |
mridup | 0:dc55f40eb04f | 110 | GPIO_PIN5, |
mridup | 0:dc55f40eb04f | 111 | GPIO_PIN6, |
mridup | 0:dc55f40eb04f | 112 | GPIO_PIN7, |
mridup | 0:dc55f40eb04f | 113 | GPIO_PIN8, |
mridup | 0:dc55f40eb04f | 114 | GPIO_PIN9, |
mridup | 0:dc55f40eb04f | 115 | GPIO_PIN10, |
mridup | 0:dc55f40eb04f | 116 | GPIO_PIN11, |
mridup | 0:dc55f40eb04f | 117 | GPIO_PIN12, |
mridup | 0:dc55f40eb04f | 118 | GPIO_PIN13, |
mridup | 0:dc55f40eb04f | 119 | GPIO_PIN14, |
mridup | 0:dc55f40eb04f | 120 | GPIO_PIN15 |
mridup | 0:dc55f40eb04f | 121 | } GpioPin; |
mridup | 0:dc55f40eb04f | 122 | |
mridup | 0:dc55f40eb04f | 123 | typedef enum wifi_bool |
mridup | 0:dc55f40eb04f | 124 | { |
mridup | 0:dc55f40eb04f | 125 | WIFI_FALSE = 0, |
mridup | 0:dc55f40eb04f | 126 | WIFI_TRUE = 1, |
mridup | 0:dc55f40eb04f | 127 | Undefine = 0xFF |
mridup | 0:dc55f40eb04f | 128 | } wifi_bool; |
mridup | 0:dc55f40eb04f | 129 | |
mridup | 0:dc55f40eb04f | 130 | typedef enum WiFi_Priv_Mode |
mridup | 0:dc55f40eb04f | 131 | { |
mridup | 0:dc55f40eb04f | 132 | None = 0, |
mridup | 0:dc55f40eb04f | 133 | WEP = 1, |
mridup | 0:dc55f40eb04f | 134 | WPA_Personal = 2, |
mridup | 0:dc55f40eb04f | 135 | } WiFi_Priv_Mode; |
mridup | 0:dc55f40eb04f | 136 | |
mridup | 0:dc55f40eb04f | 137 | /********** Wi-Fi Error *************/ |
mridup | 0:dc55f40eb04f | 138 | typedef enum WiFi_Status_t |
mridup | 0:dc55f40eb04f | 139 | { |
mridup | 0:dc55f40eb04f | 140 | WiFi_MODULE_SUCCESS = 0, |
mridup | 0:dc55f40eb04f | 141 | WiFi_TIME_OUT_ERROR = 1, |
mridup | 0:dc55f40eb04f | 142 | WiFi_MODULE_ERROR, |
mridup | 0:dc55f40eb04f | 143 | WiFi_HAL_OK, |
mridup | 0:dc55f40eb04f | 144 | WiFi_NOT_SUPPORTED, |
mridup | 0:dc55f40eb04f | 145 | WiFi_NOT_READY, |
mridup | 0:dc55f40eb04f | 146 | WiFi_SCAN_FAILED, |
mridup | 0:dc55f40eb04f | 147 | WiFi_AT_CMD_BUSY, |
mridup | 0:dc55f40eb04f | 148 | WiFi_SSID_ERROR, |
mridup | 0:dc55f40eb04f | 149 | WiFi_SecKey_ERROR, |
mridup | 0:dc55f40eb04f | 150 | WiFi_CONFIG_ERROR, |
mridup | 0:dc55f40eb04f | 151 | WiFi_STA_MODE_ERROR, |
mridup | 0:dc55f40eb04f | 152 | WiFi_AP_MODE_ERROR, |
mridup | 0:dc55f40eb04f | 153 | WiFi_AT_CMD_RESP_ERROR, |
mridup | 0:dc55f40eb04f | 154 | WiFi_AT_FILE_LENGTH_ERROR, |
mridup | 0:dc55f40eb04f | 155 | WiFi_HAL_UART_ERROR, |
mridup | 0:dc55f40eb04f | 156 | WiFi_IN_LOW_POWER_ERROR, |
mridup | 0:dc55f40eb04f | 157 | WiFi_HW_FAILURE_ERROR, |
mridup | 0:dc55f40eb04f | 158 | WiFi_HEAP_TOO_SMALL_WARNING, |
mridup | 0:dc55f40eb04f | 159 | WiFi_STACK_OVERFLOW_ERROR, |
mridup | 0:dc55f40eb04f | 160 | WiFi_HARD_FAULT_ERROR, |
mridup | 0:dc55f40eb04f | 161 | WiFi_MALLOC_FAILED_ERROR, |
mridup | 0:dc55f40eb04f | 162 | WiFi_INIT_ERROR, |
mridup | 0:dc55f40eb04f | 163 | WiFi_POWER_SAVE_WARNING, |
mridup | 0:dc55f40eb04f | 164 | WiFi_SIGNAL_LOW_WARNING, |
mridup | 0:dc55f40eb04f | 165 | WiFi_JOIN_FAILED, |
mridup | 0:dc55f40eb04f | 166 | WiFi_SCAN_BLEWUP, |
mridup | 0:dc55f40eb04f | 167 | WiFi_START_FAILED_ERROR, |
mridup | 0:dc55f40eb04f | 168 | WiFi_EXCEPTION_ERROR, |
mridup | 0:dc55f40eb04f | 169 | WiFi_DE_AUTH, |
mridup | 0:dc55f40eb04f | 170 | WiFi_DISASSOCIATION, |
mridup | 0:dc55f40eb04f | 171 | WiFi_UNHANDLED_IND_ERROR, |
mridup | 0:dc55f40eb04f | 172 | WiFi_RX_MGMT, |
mridup | 0:dc55f40eb04f | 173 | WiFi_RX_DATA, |
mridup | 0:dc55f40eb04f | 174 | WiFi_RX_UNK |
mridup | 0:dc55f40eb04f | 175 | } WiFi_Status_t; |
mridup | 0:dc55f40eb04f | 176 | |
mridup | 0:dc55f40eb04f | 177 | typedef enum power_mode |
mridup | 0:dc55f40eb04f | 178 | { |
mridup | 0:dc55f40eb04f | 179 | wifi_active = 0, |
mridup | 0:dc55f40eb04f | 180 | wifi_reactive = 1, |
mridup | 0:dc55f40eb04f | 181 | wifi_sleep = 2, |
mridup | 0:dc55f40eb04f | 182 | } power_mode; |
mridup | 0:dc55f40eb04f | 183 | |
mridup | 0:dc55f40eb04f | 184 | typedef enum tx_power_level |
mridup | 0:dc55f40eb04f | 185 | { |
mridup | 0:dc55f40eb04f | 186 | low = 0, |
mridup | 0:dc55f40eb04f | 187 | medium = 1, |
mridup | 0:dc55f40eb04f | 188 | high = 2, |
mridup | 0:dc55f40eb04f | 189 | max = 3, |
mridup | 0:dc55f40eb04f | 190 | } tx_power_level; |
mridup | 0:dc55f40eb04f | 191 | |
mridup | 0:dc55f40eb04f | 192 | typedef enum dhcp_mode |
mridup | 0:dc55f40eb04f | 193 | { |
mridup | 0:dc55f40eb04f | 194 | off = 0, |
mridup | 0:dc55f40eb04f | 195 | on = 1, |
mridup | 0:dc55f40eb04f | 196 | custom = 2, |
mridup | 0:dc55f40eb04f | 197 | } dhcp_mode; |
mridup | 0:dc55f40eb04f | 198 | |
mridup | 0:dc55f40eb04f | 199 | typedef struct wifi_security |
mridup | 0:dc55f40eb04f | 200 | { |
mridup | 0:dc55f40eb04f | 201 | wifi_bool wpa; |
mridup | 0:dc55f40eb04f | 202 | wifi_bool wpa2; |
mridup | 0:dc55f40eb04f | 203 | wifi_bool wps; |
mridup | 0:dc55f40eb04f | 204 | } wifi_security; |
mridup | 0:dc55f40eb04f | 205 | |
mridup | 0:dc55f40eb04f | 206 | typedef struct wifi_scan |
mridup | 0:dc55f40eb04f | 207 | { |
mridup | 0:dc55f40eb04f | 208 | uint8_t channel_num; |
mridup | 0:dc55f40eb04f | 209 | int rssi; |
mridup | 0:dc55f40eb04f | 210 | char ssid[30]; |
mridup | 0:dc55f40eb04f | 211 | wifi_security sec_type; |
mridup | 0:dc55f40eb04f | 212 | } wifi_scan; |
mridup | 0:dc55f40eb04f | 213 | |
mridup | 0:dc55f40eb04f | 214 | typedef struct wifi_config |
mridup | 0:dc55f40eb04f | 215 | { |
mridup | 0:dc55f40eb04f | 216 | wifi_bool ht_mode; |
mridup | 0:dc55f40eb04f | 217 | power_mode power; |
mridup | 0:dc55f40eb04f | 218 | tx_power_level power_level; |
mridup | 0:dc55f40eb04f | 219 | dhcp_mode dhcp; |
mridup | 0:dc55f40eb04f | 220 | char* ip_addr; |
mridup | 0:dc55f40eb04f | 221 | char* netmask_addr; |
mridup | 0:dc55f40eb04f | 222 | char* gateway_addr; |
mridup | 0:dc55f40eb04f | 223 | char* dns_addr; |
mridup | 0:dc55f40eb04f | 224 | char* host_name; |
mridup | 0:dc55f40eb04f | 225 | wifi_bool web_server; |
mridup | 0:dc55f40eb04f | 226 | char* ap_domain_name; |
mridup | 0:dc55f40eb04f | 227 | char* ap_config_page_name; |
mridup | 0:dc55f40eb04f | 228 | uint32_t http_timeout; |
mridup | 0:dc55f40eb04f | 229 | uint32_t dhcp_timeout; |
mridup | 0:dc55f40eb04f | 230 | uint8_t wifi_region; |
mridup | 0:dc55f40eb04f | 231 | uint32_t wifi_baud_rate; |
mridup | 0:dc55f40eb04f | 232 | } wifi_config; |
mridup | 0:dc55f40eb04f | 233 | |
mridup | 0:dc55f40eb04f | 234 | /* Exported functions ------------------------------------------------------- */ |
mridup | 0:dc55f40eb04f | 235 | |
mridup | 0:dc55f40eb04f | 236 | #ifdef WIFI_USE_VCOM |
mridup | 0:dc55f40eb04f | 237 | void wifi_vcom(void); |
mridup | 0:dc55f40eb04f | 238 | #endif |
mridup | 0:dc55f40eb04f | 239 | |
mridup | 0:dc55f40eb04f | 240 | WiFi_Status_t wifi_init(wifi_config* config); |
mridup | 0:dc55f40eb04f | 241 | WiFi_Status_t wifi_restore(void); |
mridup | 0:dc55f40eb04f | 242 | WiFi_Status_t wifi_enable(wifi_bool enable); |
mridup | 0:dc55f40eb04f | 243 | WiFi_Status_t wifi_disconnect(void); |
mridup | 0:dc55f40eb04f | 244 | WiFi_Status_t wifi_connect(char * ssid, char * sec_key, WiFi_Priv_Mode priv_mode); |
mridup | 0:dc55f40eb04f | 245 | WiFi_Status_t wifi_ap_start(uint8_t * ssid, uint8_t channel_num); |
mridup | 0:dc55f40eb04f | 246 | WiFi_Status_t wifi_adhoc_create(uint8_t * ssid, WiFi_Priv_Mode priv_mode); |
mridup | 0:dc55f40eb04f | 247 | WiFi_Status_t wifi_network_scan(wifi_scan *scan_result, uint16_t max_scan_number); |
mridup | 0:dc55f40eb04f | 248 | void wifi_reset(void); |
mridup | 0:dc55f40eb04f | 249 | |
mridup | 0:dc55f40eb04f | 250 | /******** Wi-Fi Socket Function **********/ |
mridup | 0:dc55f40eb04f | 251 | WiFi_Status_t wifi_socket_client_open(uint8_t * hostname, uint32_t port_number, uint8_t * protocol, uint8_t * sock_id); |
mridup | 8:0f302a13e21b | 252 | int wifi_socket_client_write(uint8_t sock_id, uint16_t DataLength,char * pData); |
mridup | 0:dc55f40eb04f | 253 | WiFi_Status_t wifi_socket_client_close(uint8_t sock_close_id); |
mridup | 0:dc55f40eb04f | 254 | WiFi_Status_t wifi_socket_client_security(uint8_t* tls_mode, uint8_t* root_ca_server, uint8_t* client_cert, uint8_t* client_key, uint8_t* client_domain, uint32_t tls_epoch_time); |
mridup | 0:dc55f40eb04f | 255 | |
mridup | 0:dc55f40eb04f | 256 | /********* Wi-Fi Socket Server ********/ |
mridup | 0:dc55f40eb04f | 257 | WiFi_Status_t wifi_socket_server_open(uint32_t port_number, uint8_t * protocol); |
mridup | 8:0f302a13e21b | 258 | int wifi_socket_server_write(uint16_t DataLength,char * pData); |
mridup | 0:dc55f40eb04f | 259 | WiFi_Status_t wifi_socket_server_close(void); |
mridup | 0:dc55f40eb04f | 260 | |
mridup | 0:dc55f40eb04f | 261 | /*** FileSystem Request ***********/ |
mridup | 0:dc55f40eb04f | 262 | WiFi_Status_t wifi_file_create(char *pFileName,uint16_t alength,char * databuff); |
mridup | 0:dc55f40eb04f | 263 | WiFi_Status_t wifi_file_delete(char * pFileName); |
mridup | 0:dc55f40eb04f | 264 | WiFi_Status_t wifi_file_list(void); |
mridup | 0:dc55f40eb04f | 265 | WiFi_Status_t wifi_file_show(uint8_t * pFileName); |
mridup | 0:dc55f40eb04f | 266 | WiFi_Status_t wifi_file_image_create(uint8_t * pHostName,uint8_t * pFileName, uint32_t port_number); |
mridup | 0:dc55f40eb04f | 267 | WiFi_Status_t wifi_file_erase_external_flash(void); |
mridup | 0:dc55f40eb04f | 268 | |
mridup | 0:dc55f40eb04f | 269 | /*** HTTP File Request ***********/ |
mridup | 0:dc55f40eb04f | 270 | WiFi_Status_t wifi_http_get(uint8_t * hostname, uint8_t * path, uint32_t port_number); |
mridup | 0:dc55f40eb04f | 271 | WiFi_Status_t wifi_http_post(uint8_t * url_path); |
mridup | 0:dc55f40eb04f | 272 | |
mridup | 0:dc55f40eb04f | 273 | WiFi_Status_t wifi_fw_update(uint8_t * hostname, uint8_t * filename_path, uint32_t port_number); |
mridup | 0:dc55f40eb04f | 274 | |
mridup | 0:dc55f40eb04f | 275 | /*** Power Configuration **********/ |
mridup | 0:dc55f40eb04f | 276 | WiFi_Status_t wifi_standby(uint8_t arg_standby_time); |
mridup | 0:dc55f40eb04f | 277 | WiFi_Status_t wifi_wakeup(wifi_bool enable); |
mridup | 0:dc55f40eb04f | 278 | |
mridup | 0:dc55f40eb04f | 279 | /*** GPIO Configuration **********/ |
mridup | 0:dc55f40eb04f | 280 | uint8_t wifi_gpio_init(GpioPin pin, char* dir, char irq); |
mridup | 0:dc55f40eb04f | 281 | uint8_t wifi_gpio_read(GpioPin pin, uint8_t *val, uint8_t *dir); |
mridup | 0:dc55f40eb04f | 282 | uint8_t wifi_gpio_write(GpioPin pin, GpioWriteValue value); |
mridup | 0:dc55f40eb04f | 283 | |
mridup | 0:dc55f40eb04f | 284 | WiFi_Status_t WiFi_Get_IP_Address(uint8_t *ip_addr); |
mridup | 0:dc55f40eb04f | 285 | WiFi_Status_t WiFi_Get_MAC_Address(uint8_t *mac_addr); |
mridup | 0:dc55f40eb04f | 286 | |
mridup | 0:dc55f40eb04f | 287 | void UART_Configuration(uint32_t baud_rate); |
mridup | 0:dc55f40eb04f | 288 | void GPIO_Configuration(void); |
mridup | 0:dc55f40eb04f | 289 | void Timer_Config(void); |
mridup | 0:dc55f40eb04f | 290 | void UART_Msg_Gpio_Init(void); |
mridup | 0:dc55f40eb04f | 291 | void USART_PRINT_MSG_Configuration(uint32_t baud_rate); |
mridup | 0:dc55f40eb04f | 292 | |
mridup | 0:dc55f40eb04f | 293 | /******** Wi-Fi Indication User Callback: For User to implement *********/ |
mridup | 0:dc55f40eb04f | 294 | void ind_wifi_warning(WiFi_Status_t warning_code); |
mridup | 0:dc55f40eb04f | 295 | void ind_wifi_error(WiFi_Status_t error_code); |
mridup | 0:dc55f40eb04f | 296 | void ind_wifi_connection_error(WiFi_Status_t status_code); |
mridup | 0:dc55f40eb04f | 297 | void ind_wifi_connected(void); |
mridup | 0:dc55f40eb04f | 298 | void ind_wifi_ap_ready(void); |
mridup | 0:dc55f40eb04f | 299 | void ind_wifi_ap_client_joined(uint8_t * client_mac_address); |
mridup | 0:dc55f40eb04f | 300 | void ind_wifi_ap_client_left(uint8_t * client_mac_address); |
mridup | 0:dc55f40eb04f | 301 | void ind_wifi_on(void); |
mridup | 0:dc55f40eb04f | 302 | void ind_wifi_packet_lost(WiFi_Status_t status_code); |
mridup | 0:dc55f40eb04f | 303 | void ind_wifi_gpio_changed(void); |
mridup | 0:dc55f40eb04f | 304 | void ind_wifi_socket_data_received(uint8_t socket_id, uint8_t * data_ptr, uint32_t message_size, uint32_t chunk_size); |
mridup | 0:dc55f40eb04f | 305 | void ind_wifi_socket_client_remote_server_closed(uint8_t * socketID); |
mridup | 0:dc55f40eb04f | 306 | void ind_wifi_socket_server_data_lost(void); |
mridup | 0:dc55f40eb04f | 307 | void ind_socket_server_client_joined(void); |
mridup | 0:dc55f40eb04f | 308 | void ind_socket_server_client_left(void); |
mridup | 0:dc55f40eb04f | 309 | void ind_wifi_http_data_available(uint8_t * data_ptr,uint32_t message_size); |
mridup | 0:dc55f40eb04f | 310 | void ind_wifi_file_data_available(uint8_t * data_ptr); |
mridup | 0:dc55f40eb04f | 311 | void ind_wifi_resuming(void); |
mridup | 0:dc55f40eb04f | 312 | |
mridup | 0:dc55f40eb04f | 313 | |
mridup | 0:dc55f40eb04f | 314 | /** |
mridup | 0:dc55f40eb04f | 315 | * @} |
mridup | 0:dc55f40eb04f | 316 | */ |
mridup | 0:dc55f40eb04f | 317 | |
mridup | 0:dc55f40eb04f | 318 | /** |
mridup | 0:dc55f40eb04f | 319 | * @} |
mridup | 0:dc55f40eb04f | 320 | */ |
mridup | 0:dc55f40eb04f | 321 | |
mridup | 0:dc55f40eb04f | 322 | /** |
mridup | 0:dc55f40eb04f | 323 | * @} |
mridup | 0:dc55f40eb04f | 324 | */ |
mridup | 0:dc55f40eb04f | 325 | |
mridup | 0:dc55f40eb04f | 326 | /** |
mridup | 0:dc55f40eb04f | 327 | * @} |
mridup | 0:dc55f40eb04f | 328 | */ |
mridup | 0:dc55f40eb04f | 329 | |
mridup | 0:dc55f40eb04f | 330 | #ifdef __cplusplus |
mridup | 0:dc55f40eb04f | 331 | } |
mridup | 0:dc55f40eb04f | 332 | #endif |
mridup | 0:dc55f40eb04f | 333 | |
mridup | 0:dc55f40eb04f | 334 | #endif /* __WIFI_INTERFACE_H */ |