62 #include <adi_callback.h> 63 #include <rtos_map/adi_rtos_map.h> 66 #include <MQTTPacket.h> 67 #include <MQTTConnect.h> 70 #define ADI_WIFI_LOCK(timeout) 73 #define ADI_WIFI_UNLOCK_RADIO() 76 #define ADI_WIFI_WAIT_FOR_COMPLETION(timeout) adi_wifi_WaitForResponseWithTimeout(timeout, gWiFiDevice.eCurCmdOpCode); 79 #define ADI_WIFI_RADIO_CMD_START(x) { \ 80 memset(pWiFiDevice->pDataPkt, 0u, sizeof(pWiFiDevice->pDataPkt)); \ 81 pWiFiDevice->eCurCmdOpCode = x; \ 82 pWiFiDevice->nResponseSize = 0; \ 86 #define ADI_WIFI_RADIO_CMD_END() { \ 87 pWiFiDevice->eCurCmdOpCode = 0; \ 91 #define ADI_WIFI_RADIO_CMD_TIMEOUT (10000u) 94 #define ADI_WIFI_RADIO_RST_DELAY (0xFFFFFFu) 97 #define ADI_WIFI_RADIO_BOOT_DELAY (0xFFFFFu) 100 #define ADI_WIFI_RADIO_PUBREL_RETRIES (0x5u) 103 #define ADI_WIFI_RADIO_MAX_MODE (3u) 106 #define ADI_WIFI_RADIO_MAX_NUM_CONNECTIONS (5u) 109 #define ADI_WIFI_RADIO_MAX_KEEPALIVE (7200u) 112 #define ADI_WIFI_RADIO_CIPSTATUS_RESP (0x3a) 115 #define ADI_WIFI_MAX_SSID (32u) 118 #define ADI_WIFI_MAX_PASSWORD (64u) 121 #define ADI_WIFI_MAX_BSSID (48u) 124 #define ADI_WIFI_MAX_IP_ADDR_SIZE (39u) 127 #define ADI_WIFI_MAX_PORT_SIZE (5u) 130 #define ADI_WIFI_AT_CMD "AT\r\n" 133 #define ADI_WIFI_RST_CMD "AT+RST\r\n" 136 #define ADI_WIFI_GMR_CMD "AT+GMR\r\n" 139 #define ADI_WIFI_CWMODE_CMD "AT+CWMODE" 142 #define ADI_WIFI_CWJAP_CMD "AT+CWJAP" 145 #define ADI_WIFI_CWQAP_CMD "AT+CWQAP\r\n" 148 #define ADI_WIFI_CIPSTART_CMD "AT+CIPSTART=" 151 #define ADI_WIFI_CIPSEND_CMD "AT+CIPSEND=" 154 #define ADI_WIFI_CIPMUX_CMD "AT+CIPMUX" 157 #define ADI_WIFI_CIPSTATUS_CMD "AT+CIPSTATUS" 197 CMD_AT_CIPSEND_DISCONN,
199 CMD_AT_CIPSEND_PUBREL,
201 CMD_AT_CIPSEND_PINGREQ,
212 } ADI_WIFI_AT_CMDCODE;
238 uint16_t nTCPKeepAlive;
239 }ADI_WIFI_TCP_CONNECT_CONFIG;
252 uint16_t nMQTTKeepAlive;
253 }ADI_WIFI_MQTT_CONNECT_CONFIG;
264 uint32_t nMQTTDataSize;
269 }ADI_WIFI_PUBLISH_CONFIG;
281 uint16_t nDataLength;
282 }ADI_WIFI_SEND_DATA_CONFIG;
296 }ADI_WIFI_SUBSCRIBE_CONFIG;
306 ADI_WIFI_RESULT
adi_wifi_radio_ConnectToAP(
const uint8_t *
const pSSID,
const uint8_t *
const pPassword,
const uint8_t *
const pBSSID);
309 ADI_WIFI_RESULT
adi_wifi_radio_SendData(ADI_WIFI_SEND_DATA_CONFIG *
const pSendDataConfig, ADI_WIFI_AT_CMDCODE eCipSendCmd);
ADI_WIFI_RESULT adi_wifi_radio_MQTTPing(uint32_t nLinkID)
Ping the MQTT broker.
Definition: adi_wifi.c:909
ADI_WIFI_RESULT adi_wifi_radio_GetAP(uint8_t *const pAPInfo, uint32_t nBufSize)
Get information on the access point the Wi-Fi module is connected to.
Definition: adi_wifi.c:193
void adi_wifi_GetData(uint8_t *const pPacket, uint32_t *nValidBytes)
Get data packet.
Definition: adi_wifi.c:1238
: Header file for adi_wifi_transport.c Copyright (c) 2017 Analog Devices, Inc.
ADI_WIFI_RESULT adi_wifi_radio_MQTTSubscribe(ADI_WIFI_SUBSCRIBE_CONFIG *const pSubscribeConfig)
Subscribe to a topic.
Definition: adi_wifi.c:946
ADI_WIFI_RESULT adi_wifi_radio_GetVersionInfo(uint8_t *const pVersionInfoBuf, uint32_t nBufSize)
Get the AT command version and SDK version info.
Definition: adi_wifi.c:340
ADI_WIFI_RESULT adi_wifi_radio_SendData(ADI_WIFI_SEND_DATA_CONFIG *const pSendDataConfig, ADI_WIFI_AT_CMDCODE eCipSendCmd)
Send data to server.
Definition: adi_wifi.c:632
ADI_WIFI_RESULT adi_wifi_radio_ConnectToAP(const uint8_t *const pSSID, const uint8_t *const pPassword, const uint8_t *const pBSSID)
Connect to the access point.
Definition: adi_wifi.c:446
ADI_WIFI_RESULT adi_wifi_radio_Init(ADI_CALLBACK pCallbackFunc)
Initialize Wi-Fi module.
Definition: adi_wifi.c:100
ADI_WIFI_RESULT adi_wifi_radio_MQTTConnect(ADI_WIFI_MQTT_CONNECT_CONFIG *const pMQTTConnect)
Connect to a MQTT broker.
Definition: adi_wifi.c:776
ADI_WIFI_RESULT adi_wifi_radio_MQTTDisconnect(uint32_t nLinkID)
Disconnect from the MQTT broker.
Definition: adi_wifi.c:876
ADI_WIFI_RESULT adi_wifi_radio_DisconnectFromAP()
Disconnect from the access point.
Definition: adi_wifi.c:500
support functions to log wifi events
ADI_WIFI_RESULT adi_wifi_radio_TestAT()
Test AT command.
Definition: adi_wifi.c:257
ADI_WIFI_RESULT adi_wifi_radio_EnableMultipleConnections(uint8_t nEnable)
Enable/disable multiple connections.
Definition: adi_wifi.c:729
ADI_WIFI_RESULT adi_wifi_GetEvent(ADI_WIFI_AT_CMDCODE eCommandType)
Application event interface.
Definition: adi_wifi.c:985
ADI_WIFI_RESULT adi_wifi_radio_GetConnectionStatus(uint8_t *const pStatus)
Get information about the connection.
Definition: adi_wifi.c:134
ADI_WIFI_RESULT adi_wifi_radio_MQTTPublish(ADI_WIFI_PUBLISH_CONFIG *const pPublishConfig)
Publish MQTT data.
Definition: adi_wifi.c:819
ADI_WIFI_RESULT adi_wifi_radio_SetWiFiMode(uint32_t nMode)
Set the Wi-Fi mode.
Definition: adi_wifi.c:403
ADI_WIFI_RESULT adi_wifi_ParseSubscriberData()
Parse the +IPD messages received when the Wi-Fi module is acting as an MQTT subscriber.
Definition: adi_wifi.c:1191
ADI_WIFI_RESULT adi_wifi_radio_EstablishTCPConnection(ADI_WIFI_TCP_CONNECT_CONFIG *const pTCPConnect)
Establish TCP connection.
Definition: adi_wifi.c:546
ADI_WIFI_RESULT adi_wifi_radio_Restart()
Restart Wi-Fi module.
Definition: adi_wifi.c:290