Analog Devices Wi-Fi Software Reference Manual  Release 1.0.0
adi_wifi_transport.h
Go to the documentation of this file.
1 
52 #ifndef ADI_WIFI_TAL_H
53 #define ADI_WIFI_TAL_H
54 
56 #include <stdint.h>
57 #include <stdlib.h>
59 #include <adi_wifi_config.h>
60 
61 #ifdef __cplusplus
62 extern "C" {
63 #endif /* __cplusplus */
64 
65 #if (ADI_WIFI_TAL_PROTOCOL_CFG == 1u)
66 #include <adi_uart.h>
68 #define ADI_TAL_MEMORY (ADI_UART_BIDIR_MEMORY_SIZE)
69 
70 #define ADI_TAL_UART_DIRECTION (ADI_UART_DIR_BIDIRECTION)
71 
72 #else
73 #include <drivers/spi/adi_spi.h>
75 #define ADI_TAL_MEMORY (ADI_SPI_MEMORY_SIZE)
76 #endif
77 
85 typedef struct
86 {
87 #if (ADI_WIFI_TAL_PROTOCOL_CFG == 1u)
88  ADI_UART_HANDLE hDevice;
89 #else
90  ADI_SPI_HANDLE hDevice;
91 #endif
92  uint8_t aDeviceMemory[ADI_TAL_MEMORY];
95 
96 
104 typedef enum
105 {
115 
116 
117 /* Public APIs */
118 ADI_WIFI_TAL_RESULT adi_wifi_tal_Init(ADI_CALLBACK pEventCallback);
119 ADI_WIFI_TAL_RESULT adi_wifi_tal_Uninit(void);
120 ADI_WIFI_TAL_RESULT adi_wifi_tal_Write(uint8_t * const pBuf, const uint32_t nBufSize);
121 ADI_WIFI_TAL_RESULT adi_wifi_tal_Read(uint8_t * const pBuf, uint32_t nNumBytes);
122 #if (ADI_WIFI_TAL_PROTOCOL_CFG == 1u)
123 ADI_WIFI_TAL_RESULT adi_wifi_tal_ConfigBaudRate(uint16_t const nDivC, uint8_t const nDivM, uint16_t const nDivN, uint8_t const nOSR);
124 ADI_WIFI_TAL_RESULT adi_wifi_tal_SetConfiguration(ADI_UART_PARITY const eParity, ADI_UART_STOPBITS const eStopBits, ADI_UART_WORDLEN const eWordLength);
125 ADI_WIFI_TAL_RESULT adi_wifi_tal_FlushRxChannel(void);
126 #endif
127 
128 #ifdef __cplusplus
129 }
130 #endif /* __cplusplus */
131 
132 #endif /* ADI_WIFI_TAL_H */
133 
134 /* @} */
Definition: adi_wifi_transport.h:112
Data structure for the Wi-Fi transport layer driver.
Definition: adi_wifi_transport.h:85
Definition: adi_wifi_transport.h:106
: WiFi configuration
ADI_WIFI_TAL_RESULT
Definition: adi_wifi_transport.h:104
ADI_WIFI_TAL_RESULT adi_wifi_tal_Read(uint8_t *const pBuf, uint32_t nNumBytes)
Transport layer blocking read.
Definition: adi_wifi_transport.c:169
Definition: adi_wifi_transport.h:111
Definition: adi_wifi_transport.h:109
ADI_WIFI_TAL_RESULT adi_wifi_tal_Write(uint8_t *const pBuf, const uint32_t nBufSize)
Transport layer write.
Definition: adi_wifi_transport.c:139
Definition: adi_wifi_transport.h:108
Definition: adi_wifi_transport.h:107
ADI_WIFI_TAL_RESULT adi_wifi_tal_Uninit(void)
Transport layer un-initialization.
Definition: adi_wifi_transport.c:111
ADI_WIFI_TAL_RESULT adi_wifi_tal_Init(ADI_CALLBACK pEventCallback)
Transport layer initialization.
Definition: adi_wifi_transport.c:82
ADI_SPI_HANDLE hDevice
Definition: adi_wifi_transport.h:90
: Common definitions shared accross BLE sources
Definition: adi_wifi_transport.h:110