added function to enable power saving mode for es_wifi driver (Inventek Systems ISM43362-M3G-L44 )
Fork of DISCO_L475VG_IOT01A_wifi by
es_wifi.h@2:9bbbcd0eff1c, 2018-01-13 (annotated)
- Committer:
- jaafaryn
- Date:
- Sat Jan 13 23:37:46 2018 +0000
- Revision:
- 2:9bbbcd0eff1c
- Parent:
- 1:b37920c1ddb9
added function to enable power saving mode
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
adustm | 0:c61a93635433 | 1 | /** |
adustm | 0:c61a93635433 | 2 | ****************************************************************************** |
adustm | 0:c61a93635433 | 3 | * @file es-wifi.h |
adustm | 0:c61a93635433 | 4 | * @author MCD Application Team |
adustm | 0:c61a93635433 | 5 | * @version V1.8.0 |
adustm | 0:c61a93635433 | 6 | * @date 21-April-2017 |
adustm | 0:c61a93635433 | 7 | * @brief header file for the es-wifi module. |
adustm | 0:c61a93635433 | 8 | ****************************************************************************** |
adustm | 0:c61a93635433 | 9 | * @attention |
adustm | 0:c61a93635433 | 10 | * |
adustm | 0:c61a93635433 | 11 | * <h2><center>© Copyright (c) 2017 STMicroelectronics International N.V. |
adustm | 0:c61a93635433 | 12 | * All rights reserved.</center></h2> |
adustm | 0:c61a93635433 | 13 | * |
adustm | 0:c61a93635433 | 14 | * Redistribution and use in source and binary forms, with or without |
adustm | 0:c61a93635433 | 15 | * modification, are permitted, provided that the following conditions are met: |
adustm | 0:c61a93635433 | 16 | * |
adustm | 0:c61a93635433 | 17 | * 1. Redistribution of source code must retain the above copyright notice, |
adustm | 0:c61a93635433 | 18 | * this list of conditions and the following disclaimer. |
adustm | 0:c61a93635433 | 19 | * 2. Redistributions in binary form must reproduce the above copyright notice, |
adustm | 0:c61a93635433 | 20 | * this list of conditions and the following disclaimer in the documentation |
adustm | 0:c61a93635433 | 21 | * and/or other materials provided with the distribution. |
adustm | 0:c61a93635433 | 22 | * 3. Neither the name of STMicroelectronics nor the names of other |
adustm | 0:c61a93635433 | 23 | * contributors to this software may be used to endorse or promote products |
adustm | 0:c61a93635433 | 24 | * derived from this software without specific written permission. |
adustm | 0:c61a93635433 | 25 | * 4. This software, including modifications and/or derivative works of this |
adustm | 0:c61a93635433 | 26 | * software, must execute solely and exclusively on microcontroller or |
adustm | 0:c61a93635433 | 27 | * microprocessor devices manufactured by or for STMicroelectronics. |
adustm | 0:c61a93635433 | 28 | * 5. Redistribution and use of this software other than as permitted under |
adustm | 0:c61a93635433 | 29 | * this license is void and will automatically terminate your rights under |
adustm | 0:c61a93635433 | 30 | * this license. |
adustm | 0:c61a93635433 | 31 | * |
adustm | 0:c61a93635433 | 32 | * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" |
adustm | 0:c61a93635433 | 33 | * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT |
adustm | 0:c61a93635433 | 34 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A |
adustm | 0:c61a93635433 | 35 | * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY |
adustm | 0:c61a93635433 | 36 | * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT |
adustm | 0:c61a93635433 | 37 | * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, |
adustm | 0:c61a93635433 | 38 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
adustm | 0:c61a93635433 | 39 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, |
adustm | 0:c61a93635433 | 40 | * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF |
adustm | 0:c61a93635433 | 41 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING |
adustm | 0:c61a93635433 | 42 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, |
adustm | 0:c61a93635433 | 43 | * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
adustm | 0:c61a93635433 | 44 | * |
adustm | 0:c61a93635433 | 45 | ****************************************************************************** |
adustm | 0:c61a93635433 | 46 | */ |
adustm | 0:c61a93635433 | 47 | /* Define to prevent recursive inclusion -------------------------------------*/ |
adustm | 0:c61a93635433 | 48 | #ifndef __ES_WIFI_H |
adustm | 0:c61a93635433 | 49 | #define __ES_WIFI_H |
adustm | 0:c61a93635433 | 50 | |
adustm | 0:c61a93635433 | 51 | #ifdef __cplusplus |
adustm | 0:c61a93635433 | 52 | extern "C" { |
adustm | 0:c61a93635433 | 53 | #endif |
adustm | 0:c61a93635433 | 54 | |
adustm | 0:c61a93635433 | 55 | /* Includes ------------------------------------------------------------------*/ |
adustm | 0:c61a93635433 | 56 | #include "stdint.h" |
adustm | 0:c61a93635433 | 57 | #include "string.h" |
adustm | 0:c61a93635433 | 58 | #include "stdio.h" |
adustm | 0:c61a93635433 | 59 | #include "es_wifi_conf.h" |
adustm | 0:c61a93635433 | 60 | |
adustm | 0:c61a93635433 | 61 | /* Exported Constants --------------------------------------------------------*/ |
adustm | 0:c61a93635433 | 62 | #define ES_WIFI_PAYLOAD_SIZE 1200 |
adustm | 0:c61a93635433 | 63 | /* Exported macro-------------------------------------------------------------*/ |
adustm | 0:c61a93635433 | 64 | #define MIN(a, b) ((a) < (b) ? (a) : (b)) |
adustm | 0:c61a93635433 | 65 | |
adustm | 0:c61a93635433 | 66 | typedef int8_t (*IO_Init_Func)( void); |
adustm | 0:c61a93635433 | 67 | typedef int8_t (*IO_DeInit_Func)( void); |
adustm | 0:c61a93635433 | 68 | typedef void (*IO_Delay_Func)(uint32_t); |
adustm | 0:c61a93635433 | 69 | typedef int16_t (*IO_Send_Func)( uint8_t *, uint16_t len, uint32_t); |
adustm | 0:c61a93635433 | 70 | typedef int16_t (*IO_Receive_Func)(uint8_t *, uint16_t len, uint32_t); |
adustm | 0:c61a93635433 | 71 | |
adustm | 0:c61a93635433 | 72 | /* Exported typedef ----------------------------------------------------------*/ |
adustm | 0:c61a93635433 | 73 | typedef enum { |
adustm | 0:c61a93635433 | 74 | ES_WIFI_STATUS_OK = 0, |
adustm | 0:c61a93635433 | 75 | ES_WIFI_STATUS_REQ_DATA_STAGE = 1, |
adustm | 0:c61a93635433 | 76 | ES_WIFI_STATUS_ERROR = 2, |
adustm | 0:c61a93635433 | 77 | ES_WIFI_STATUS_TIMEOUT = 3, |
adustm | 0:c61a93635433 | 78 | ES_WIFI_STATUS_IO_ERROR = 4, |
adustm | 0:c61a93635433 | 79 | }ES_WIFI_Status_t; |
adustm | 0:c61a93635433 | 80 | |
adustm | 0:c61a93635433 | 81 | typedef enum { |
adustm | 0:c61a93635433 | 82 | ES_WIFI_MODE_SINGLE = 0, |
adustm | 0:c61a93635433 | 83 | ES_WIFI_MODE_MULTI = 1, |
adustm | 0:c61a93635433 | 84 | }ES_WIFI_ConnMode_t; |
adustm | 0:c61a93635433 | 85 | |
adustm | 0:c61a93635433 | 86 | typedef enum { |
adustm | 0:c61a93635433 | 87 | ES_WIFI_TCP_CONNECTION = 0, |
adustm | 0:c61a93635433 | 88 | ES_WIFI_UDP_CONNECTION = 1, |
adustm | 0:c61a93635433 | 89 | ES_WIFI_UDP_LITE_CONNECTION = 2, |
adustm | 0:c61a93635433 | 90 | ES_WIFI_TCP_SSL_CONNECTION = 3, |
adustm | 0:c61a93635433 | 91 | ES_WIFI_MQTT_CONNECTION = 4, |
adustm | 0:c61a93635433 | 92 | }ES_WIFI_ConnType_t; |
adustm | 0:c61a93635433 | 93 | |
adustm | 0:c61a93635433 | 94 | /* Security settings for wifi network */ |
adustm | 0:c61a93635433 | 95 | typedef enum { |
adustm | 0:c61a93635433 | 96 | ES_WIFI_SEC_OPEN = 0x00, /*!< Wifi is open */ |
adustm | 0:c61a93635433 | 97 | ES_WIFI_SEC_WEP = 0x01, /*!< Wired Equivalent Privacy option for wifi security. \note This mode can't be used when setting up ES_WIFI wifi */ |
adustm | 0:c61a93635433 | 98 | ES_WIFI_SEC_WPA = 0x02, /*!< Wi-Fi Protected Access */ |
adustm | 0:c61a93635433 | 99 | ES_WIFI_SEC_WPA2 = 0x03, /*!< Wi-Fi Protected Access 2 */ |
adustm | 0:c61a93635433 | 100 | ES_WIFI_SEC_WPA_WPA2= 0x04, /*!< Wi-Fi Protected Access with both modes */ |
adustm | 0:c61a93635433 | 101 | ES_WIFI_SEC_WPA2_TKIP= 0x05, /*!< Wi-Fi Protected Access with both modes */ |
adustm | 0:c61a93635433 | 102 | ES_WIFI_SEC_UNKNOWN = 0xFF, /*!< Wi-Fi Unknown Security mode */ |
adustm | 0:c61a93635433 | 103 | } ES_WIFI_SecurityType_t; |
adustm | 0:c61a93635433 | 104 | |
adustm | 0:c61a93635433 | 105 | typedef enum { |
adustm | 0:c61a93635433 | 106 | ES_WIFI_IPV4 = 0x00, |
adustm | 0:c61a93635433 | 107 | ES_WIFI_IPV6 = 0x01, |
adustm | 0:c61a93635433 | 108 | } ES_WIFI_IPVer_t; |
adustm | 0:c61a93635433 | 109 | |
adustm | 0:c61a93635433 | 110 | typedef enum { |
adustm | 0:c61a93635433 | 111 | ES_WIFI_AP_NONE = 0x00, |
adustm | 0:c61a93635433 | 112 | ES_WIFI_AP_ASSIGNED = 0x01, |
adustm | 0:c61a93635433 | 113 | ES_WIFI_AP_JOINED = 0x02, |
adustm | 0:c61a93635433 | 114 | ES_WIFI_AP_ERROR = 0xFF, |
adustm | 0:c61a93635433 | 115 | } ES_WIFI_APState_t; |
adustm | 0:c61a93635433 | 116 | |
adustm | 0:c61a93635433 | 117 | |
adustm | 0:c61a93635433 | 118 | typedef struct |
adustm | 0:c61a93635433 | 119 | { |
adustm | 0:c61a93635433 | 120 | uint32_t Port; |
adustm | 0:c61a93635433 | 121 | uint32_t BaudRate; |
adustm | 0:c61a93635433 | 122 | uint32_t DataWidth; |
adustm | 0:c61a93635433 | 123 | uint32_t Parity; |
adustm | 0:c61a93635433 | 124 | uint32_t StopBits; |
adustm | 0:c61a93635433 | 125 | uint32_t Mode; |
adustm | 0:c61a93635433 | 126 | |
adustm | 0:c61a93635433 | 127 | }ES_WIFI_UARTConfig_t; |
adustm | 0:c61a93635433 | 128 | |
adustm | 0:c61a93635433 | 129 | |
adustm | 0:c61a93635433 | 130 | typedef struct |
adustm | 0:c61a93635433 | 131 | { |
adustm | 0:c61a93635433 | 132 | uint32_t Configuration; |
adustm | 0:c61a93635433 | 133 | uint32_t WPSPin; |
adustm | 0:c61a93635433 | 134 | uint32_t VID; |
adustm | 0:c61a93635433 | 135 | uint32_t PID; |
adustm | 0:c61a93635433 | 136 | uint8_t MAC[6]; |
adustm | 0:c61a93635433 | 137 | uint8_t AP_IPAddress[4]; |
adustm | 0:c61a93635433 | 138 | uint32_t PS_Mode; |
adustm | 0:c61a93635433 | 139 | uint32_t RadioMode; |
adustm | 0:c61a93635433 | 140 | uint32_t CurrentBeacon; |
adustm | 0:c61a93635433 | 141 | uint32_t PrevBeacon; |
adustm | 0:c61a93635433 | 142 | uint32_t ProductName; |
adustm | 0:c61a93635433 | 143 | |
adustm | 0:c61a93635433 | 144 | }ES_WIFI_SystemConfig_t; |
adustm | 0:c61a93635433 | 145 | |
adustm | 0:c61a93635433 | 146 | typedef struct { |
adustm | 0:c61a93635433 | 147 | uint8_t* Address; /*!< Pointer to domain or IP to ping */ |
adustm | 0:c61a93635433 | 148 | uint32_t Time; /*!< Time in milliseconds needed for pinging */ |
adustm | 0:c61a93635433 | 149 | uint8_t Success; /*!< Status indicates if ping was successful */ |
adustm | 0:c61a93635433 | 150 | }ES_WIFI_Ping_t; |
adustm | 0:c61a93635433 | 151 | |
adustm | 0:c61a93635433 | 152 | typedef struct { |
adustm | 0:c61a93635433 | 153 | uint8_t SSID[ES_WIFI_MAX_SSID_NAME_SIZE + 1]; /*!< Service Set Identifier value.Wi-Fi spot name */ |
adustm | 0:c61a93635433 | 154 | ES_WIFI_SecurityType_t Security; /*!< Security of Wi-Fi spot. */ |
adustm | 0:c61a93635433 | 155 | int16_t RSSI; /*!< Signal strength of Wi-Fi spot */ |
adustm | 0:c61a93635433 | 156 | uint8_t MAC[6]; /*!< MAC address of spot */ |
adustm | 0:c61a93635433 | 157 | uint8_t Channel; /*!< Wi-Fi channel */ |
adustm | 0:c61a93635433 | 158 | } ES_WIFI_AP_t; |
adustm | 0:c61a93635433 | 159 | |
adustm | 0:c61a93635433 | 160 | /* Access point configuration */ |
adustm | 0:c61a93635433 | 161 | typedef struct { |
adustm | 0:c61a93635433 | 162 | uint8_t SSID[ES_WIFI_MAX_SSID_NAME_SIZE + 1]; /*!< Network public name for ESP AP mode */ |
adustm | 0:c61a93635433 | 163 | uint8_t Pass[ES_WIFI_MAX_PSWD_NAME_SIZE + 1]; /*!< Network password for ESP AP mode */ |
adustm | 0:c61a93635433 | 164 | ES_WIFI_SecurityType_t Security; /*!< Security of Wi-Fi spot. This parameter can be a value of \ref ESP8266_Ecn_t enumeration */ |
adustm | 0:c61a93635433 | 165 | uint8_t Channel; /*!< Channel Wi-Fi is operating at */ |
adustm | 0:c61a93635433 | 166 | uint8_t MaxConnections; /*!< Max number of stations that are allowed to connect to ESP AP, between 1 and 4 */ |
adustm | 0:c61a93635433 | 167 | uint8_t Hidden; /*!< Set to 1 if network is hidden (not broadcast) or zero if noz */ |
adustm | 0:c61a93635433 | 168 | } ES_WIFI_APConfig_t; |
adustm | 0:c61a93635433 | 169 | |
adustm | 0:c61a93635433 | 170 | |
adustm | 0:c61a93635433 | 171 | typedef struct { |
adustm | 0:c61a93635433 | 172 | uint8_t SSID[ES_WIFI_MAX_SSID_NAME_SIZE + 1]; /*!< Network public name for ESP AP mode */ |
adustm | 0:c61a93635433 | 173 | uint8_t IP_Addr[4]; /*!< IP Address */ |
adustm | 0:c61a93635433 | 174 | uint8_t MAC_Addr[6]; /*!< MAC address */ |
adustm | 0:c61a93635433 | 175 | } ES_WIFI_APSettings_t; |
adustm | 0:c61a93635433 | 176 | |
adustm | 0:c61a93635433 | 177 | typedef struct { |
adustm | 0:c61a93635433 | 178 | ES_WIFI_AP_t AP[ES_WIFI_MAX_DETECTED_AP]; |
adustm | 0:c61a93635433 | 179 | uint8_t nbr; |
adustm | 0:c61a93635433 | 180 | |
adustm | 0:c61a93635433 | 181 | }ES_WIFI_APs_t; |
adustm | 0:c61a93635433 | 182 | |
adustm | 0:c61a93635433 | 183 | typedef struct { |
adustm | 0:c61a93635433 | 184 | uint8_t SSID[ES_WIFI_MAX_SSID_NAME_SIZE + 1]; |
adustm | 0:c61a93635433 | 185 | uint8_t pswd[ES_WIFI_MAX_PSWD_NAME_SIZE + 1]; |
adustm | 0:c61a93635433 | 186 | ES_WIFI_SecurityType_t Security; |
adustm | 0:c61a93635433 | 187 | uint8_t DHCP_IsEnabled; |
adustm | 0:c61a93635433 | 188 | uint8_t JoinRetries; |
adustm | 0:c61a93635433 | 189 | uint8_t IsConnected; |
adustm | 0:c61a93635433 | 190 | uint8_t AutoConnect; |
adustm | 0:c61a93635433 | 191 | ES_WIFI_IPVer_t IP_Ver; |
adustm | 0:c61a93635433 | 192 | uint8_t IP_Addr[4]; |
adustm | 0:c61a93635433 | 193 | uint8_t IP_Mask[4]; |
adustm | 0:c61a93635433 | 194 | uint8_t Gateway_Addr[4]; |
adustm | 0:c61a93635433 | 195 | uint8_t DNS1[4]; |
adustm | 0:c61a93635433 | 196 | uint8_t DNS2[4]; |
adustm | 0:c61a93635433 | 197 | } ES_WIFI_Network_t; |
adustm | 0:c61a93635433 | 198 | |
adustm | 0:c61a93635433 | 199 | #if (ES_WIFI_USE_AWS == 1) |
adustm | 0:c61a93635433 | 200 | typedef struct { |
adustm | 0:c61a93635433 | 201 | ES_WIFI_ConnType_t Type; |
adustm | 0:c61a93635433 | 202 | uint8_t Number; |
adustm | 0:c61a93635433 | 203 | uint16_t RemotePort; |
adustm | 0:c61a93635433 | 204 | uint8_t RemoteIP[4]; |
adustm | 0:c61a93635433 | 205 | uint8_t *PublishTopic; |
adustm | 0:c61a93635433 | 206 | uint8_t *SubscribeTopic; |
adustm | 0:c61a93635433 | 207 | uint8_t *ClientID; |
adustm | 0:c61a93635433 | 208 | uint8_t MQTTMode; |
adustm | 0:c61a93635433 | 209 | } ES_WIFI_AWS_Conn_t; |
adustm | 0:c61a93635433 | 210 | #endif |
adustm | 0:c61a93635433 | 211 | |
adustm | 0:c61a93635433 | 212 | typedef struct { |
adustm | 0:c61a93635433 | 213 | ES_WIFI_ConnType_t Type; |
adustm | 0:c61a93635433 | 214 | uint8_t Number; |
adustm | 0:c61a93635433 | 215 | uint16_t RemotePort; |
adustm | 0:c61a93635433 | 216 | uint16_t LocalPort; |
adustm | 0:c61a93635433 | 217 | uint8_t RemoteIP[4]; |
adustm | 0:c61a93635433 | 218 | char* Name; |
adustm | 0:c61a93635433 | 219 | } ES_WIFI_Conn_t; |
adustm | 0:c61a93635433 | 220 | |
adustm | 0:c61a93635433 | 221 | typedef struct { |
adustm | 0:c61a93635433 | 222 | IO_Init_Func IO_Init; |
adustm | 0:c61a93635433 | 223 | IO_DeInit_Func IO_DeInit; |
adustm | 0:c61a93635433 | 224 | IO_Delay_Func IO_Delay; |
adustm | 0:c61a93635433 | 225 | IO_Send_Func IO_Send; |
adustm | 0:c61a93635433 | 226 | IO_Receive_Func IO_Receive; |
adustm | 0:c61a93635433 | 227 | } ES_WIFI_IO_t; |
adustm | 0:c61a93635433 | 228 | |
adustm | 0:c61a93635433 | 229 | typedef struct { |
adustm | 0:c61a93635433 | 230 | uint8_t Product_ID[ES_WIFI_PRODUCT_ID_SIZE]; |
adustm | 0:c61a93635433 | 231 | uint8_t FW_Rev[ES_WIFI_FW_REV_SIZE]; |
adustm | 0:c61a93635433 | 232 | uint8_t API_Rev[ES_WIFI_API_REV_SIZE]; |
adustm | 0:c61a93635433 | 233 | uint8_t Stack_Rev[ES_WIFI_STACK_REV_SIZE]; |
adustm | 0:c61a93635433 | 234 | uint8_t RTOS_Rev[ES_WIFI_RTOS_REV_SIZE]; |
adustm | 0:c61a93635433 | 235 | uint8_t Product_Name[ES_WIFI_PRODUCT_NAME_SIZE]; |
adustm | 0:c61a93635433 | 236 | uint32_t CPU_Clock; |
adustm | 0:c61a93635433 | 237 | ES_WIFI_SecurityType_t Security; |
adustm | 0:c61a93635433 | 238 | ES_WIFI_Network_t NetSettings; |
adustm | 0:c61a93635433 | 239 | ES_WIFI_APSettings_t APSettings; |
adustm | 0:c61a93635433 | 240 | ES_WIFI_IO_t fops; |
adustm | 0:c61a93635433 | 241 | uint8_t CmdData[ES_WIFI_DATA_SIZE]; |
adustm | 0:c61a93635433 | 242 | uint32_t Timeout; |
adustm | 0:c61a93635433 | 243 | uint32_t BufferSize; |
adustm | 0:c61a93635433 | 244 | }ES_WIFIObject_t; |
adustm | 0:c61a93635433 | 245 | |
adustm | 0:c61a93635433 | 246 | |
adustm | 0:c61a93635433 | 247 | /* Exported functions --------------------------------------------------------*/ |
adustm | 0:c61a93635433 | 248 | ES_WIFI_Status_t ES_WIFI_Init(ES_WIFIObject_t *Obj); |
adustm | 0:c61a93635433 | 249 | ES_WIFI_Status_t ES_WIFI_SetTimeout(ES_WIFIObject_t *Obj, uint32_t Timeout); |
adustm | 0:c61a93635433 | 250 | ES_WIFI_Status_t ES_WIFI_ListAccessPoints(ES_WIFIObject_t *Obj, ES_WIFI_APs_t *APs); |
adustm | 0:c61a93635433 | 251 | ES_WIFI_Status_t ES_WIFI_Connect(ES_WIFIObject_t *Obj, const char* SSID, const char* Password, |
adustm | 0:c61a93635433 | 252 | ES_WIFI_SecurityType_t SecType); |
adustm | 0:c61a93635433 | 253 | ES_WIFI_Status_t ES_WIFI_Disconnect(ES_WIFIObject_t *Obj); |
adustm | 0:c61a93635433 | 254 | uint8_t ES_WIFI_IsConnected(ES_WIFIObject_t *Obj); |
adustm | 0:c61a93635433 | 255 | ES_WIFI_Status_t ES_WIFI_GetNetworkSettings(ES_WIFIObject_t *Obj); |
adustm | 0:c61a93635433 | 256 | ES_WIFI_Status_t ES_WIFI_GetMACAddress(ES_WIFIObject_t *Obj, uint8_t *mac); |
adustm | 0:c61a93635433 | 257 | ES_WIFI_Status_t ES_WIFI_GetIPAddress(ES_WIFIObject_t *Obj, uint8_t *ipaddr); |
adustm | 0:c61a93635433 | 258 | ES_WIFI_Status_t ES_WIFI_GetProductID(ES_WIFIObject_t *Obj, uint8_t *productID); |
adustm | 0:c61a93635433 | 259 | ES_WIFI_Status_t ES_WIFI_GetFWRevID(ES_WIFIObject_t *Obj, uint8_t *FWRev); |
adustm | 0:c61a93635433 | 260 | ES_WIFI_Status_t ES_WIFI_GetRTOSRev(ES_WIFIObject_t *Obj, uint8_t *RTOSRev); |
adustm | 0:c61a93635433 | 261 | ES_WIFI_Status_t ES_WIFI_GetProductName(ES_WIFIObject_t *Obj, uint8_t *productName); |
adustm | 0:c61a93635433 | 262 | ES_WIFI_Status_t ES_WIFI_GetAPIRev(ES_WIFIObject_t *Obj, uint8_t *APIRev); |
adustm | 0:c61a93635433 | 263 | ES_WIFI_Status_t ES_WIFI_GetStackRev(ES_WIFIObject_t *Obj, uint8_t *StackRev); |
adustm | 0:c61a93635433 | 264 | |
adustm | 0:c61a93635433 | 265 | |
adustm | 0:c61a93635433 | 266 | ES_WIFI_Status_t ES_WIFI_SetMACAddress(ES_WIFIObject_t *Obj, uint8_t *mac); |
adustm | 0:c61a93635433 | 267 | ES_WIFI_Status_t ES_WIFI_ResetToFactoryDefault(ES_WIFIObject_t *Obj); |
adustm | 0:c61a93635433 | 268 | ES_WIFI_Status_t ES_WIFI_ResetModule(ES_WIFIObject_t *Obj); |
adustm | 0:c61a93635433 | 269 | ES_WIFI_Status_t ES_WIFI_SetProductName(ES_WIFIObject_t *Obj, uint8_t *ProductName); |
adustm | 0:c61a93635433 | 270 | #if (ES_WIFI_USE_PING == 1) |
adustm | 0:c61a93635433 | 271 | ES_WIFI_Status_t ES_WIFI_Ping(ES_WIFIObject_t *Obj, uint8_t *address, uint16_t count, uint16_t interval_ms); |
adustm | 0:c61a93635433 | 272 | #endif |
adustm | 0:c61a93635433 | 273 | ES_WIFI_Status_t ES_WIFI_DNS_LookUp(ES_WIFIObject_t *Obj, const char *url, uint8_t *ipaddress); |
adustm | 0:c61a93635433 | 274 | ES_WIFI_Status_t ES_WIFI_StartClientConnection(ES_WIFIObject_t *Obj, ES_WIFI_Conn_t *conn); |
adustm | 0:c61a93635433 | 275 | ES_WIFI_Status_t ES_WIFI_StopClientConnection(ES_WIFIObject_t *Obj, ES_WIFI_Conn_t *conn); |
adustm | 0:c61a93635433 | 276 | #if (ES_WIFI_USE_AWS == 1) |
adustm | 0:c61a93635433 | 277 | ES_WIFI_Status_t ES_WIFI_StartAWSClientConnection(ES_WIFIObject_t *Obj, ES_WIFI_AWS_Conn_t *conn); |
adustm | 0:c61a93635433 | 278 | #endif |
adustm | 0:c61a93635433 | 279 | ES_WIFI_Status_t ES_WIFI_StartServerSingleConn(ES_WIFIObject_t *Obj, ES_WIFI_Conn_t *conn); |
adustm | 0:c61a93635433 | 280 | ES_WIFI_Status_t ES_WIFI_StopServerSingleConn(ES_WIFIObject_t *Obj); |
adustm | 0:c61a93635433 | 281 | ES_WIFI_Status_t ES_WIFI_StartServerMultiConn(ES_WIFIObject_t *Obj, ES_WIFI_Conn_t *conn); |
adustm | 0:c61a93635433 | 282 | ES_WIFI_Status_t ES_WIFI_StopServerMultiConn(ES_WIFIObject_t *Obj); |
adustm | 0:c61a93635433 | 283 | ES_WIFI_Status_t ES_WIFI_SendData(ES_WIFIObject_t *Obj, uint8_t Socket, uint8_t *pdata, uint16_t Reqlen , uint16_t *SentLen, uint32_t timeout); |
adustm | 0:c61a93635433 | 284 | ES_WIFI_Status_t ES_WIFI_ReceiveData(ES_WIFIObject_t *Obj, uint8_t Socket, uint8_t *pdata, uint16_t Reqlen, uint16_t *Receivedlen, uint32_t timeout); |
adustm | 0:c61a93635433 | 285 | ES_WIFI_Status_t ES_WIFI_ActivateAP(ES_WIFIObject_t *Obj, ES_WIFI_APConfig_t *ApConfig); |
adustm | 0:c61a93635433 | 286 | ES_WIFI_APState_t ES_WIFI_WaitAPStateChange(ES_WIFIObject_t *Obj); |
adustm | 0:c61a93635433 | 287 | |
adustm | 0:c61a93635433 | 288 | #if (ES_WIFI_USE_FIRMWAREUPDATE == 1) |
adustm | 0:c61a93635433 | 289 | ES_WIFI_Status_t ES_WIFI_OTA_Upgrade(ES_WIFIObject_t *Obj, uint8_t *link); |
adustm | 0:c61a93635433 | 290 | #endif |
adustm | 0:c61a93635433 | 291 | |
adustm | 0:c61a93635433 | 292 | #if (ES_WIFI_USE_UART == 1) |
adustm | 0:c61a93635433 | 293 | ES_WIFI_Status_t ES_WIFI_SetUARTBaudRate(ES_WIFIObject_t *Obj, uint16_t BaudRate); |
adustm | 0:c61a93635433 | 294 | ES_WIFI_Status_t ES_WIFI_GetUARTConfig(ES_WIFIObject_t *Obj, ES_WIFI_UARTConfig_t *pconf); |
adustm | 0:c61a93635433 | 295 | #endif |
adustm | 0:c61a93635433 | 296 | |
adustm | 0:c61a93635433 | 297 | ES_WIFI_Status_t ES_WIFI_GetSystemConfig(ES_WIFIObject_t *Obj, ES_WIFI_SystemConfig_t *pconf); |
adustm | 0:c61a93635433 | 298 | |
adustm | 0:c61a93635433 | 299 | ES_WIFI_Status_t ES_WIFI_RegisterBusIO(ES_WIFIObject_t *Obj, IO_Init_Func IO_Init, |
adustm | 0:c61a93635433 | 300 | IO_DeInit_Func IO_DeInit, |
adustm | 0:c61a93635433 | 301 | IO_Delay_Func IO_Delay, |
adustm | 0:c61a93635433 | 302 | IO_Send_Func IO_Send, |
adustm | 0:c61a93635433 | 303 | IO_Receive_Func IO_Receive); |
jaafaryn | 1:b37920c1ddb9 | 304 | |
jaafaryn | 2:9bbbcd0eff1c | 305 | ES_WIFI_Status_t ES_WIFI_SetPowerSaveMode(ES_WIFIObject_t *Obj, uint8_t beacon_int, uint32_t sleep_ms); |
jaafaryn | 1:b37920c1ddb9 | 306 | |
adustm | 0:c61a93635433 | 307 | #ifdef __cplusplus |
adustm | 0:c61a93635433 | 308 | } |
adustm | 0:c61a93635433 | 309 | #endif |
adustm | 0:c61a93635433 | 310 | #endif /*__ES_WIFI_H*/ |
adustm | 0:c61a93635433 | 311 | |
adustm | 0:c61a93635433 | 312 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |