This module contains WILC M2M host interface APIs implementation.
Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.
#include "common/include/nm_common.h"
Data Structures | |
struct | tstrHifHdr |
Structure to hold HIF header. More... | |
struct | tstrHifinitParam |
Structure to hold HIF Init Param. More... | |
Macros | |
#define | M2M_HIF_HDR_OFFSET (sizeof(tstrHifHdr) + 4) |
#define | M2M_HIF_MAX_PACKET_SIZE (1600 - 4) |
Typedefs | |
typedef void(* | tpfHifCallBack )(uint8 u8OpCode, uint16 u16DataSize, uint8 *pu8Buff) |
used to point to Wi-Fi call back function depend on Arduino project or other projects. More... | |
Functions | |
NMI_API sint8 | hif_chip_sleep (void) |
To make the chip sleep. More... | |
NMI_API sint8 | hif_chip_sleep_sc (void) |
To clear the chip sleep but keep the chip sleep. More... | |
NMI_API sint8 | hif_chip_wake (void) |
To Wakeup the chip. More... | |
NMI_API sint8 | hif_deinit (void *arg) |
To Deinitialize HIF layer. More... | |
NMI_API uint8 | hif_get_sleep_mode (void) |
Get the sleep mode of the HIF layer. More... | |
NMI_API sint8 | hif_handle_isr (void) |
Handle interrupt received from NMC1500 firmware. More... | |
NMI_API sint8 | hif_init (tstrHifinitParam *pstrInitParam) |
NMI_API sint8 | hif_receive (uint32 u32Addr, uint8 *pu8Buf, uint16 u16Sz, uint8 isDone) |
NMI_API sint8 | hif_register_cb (uint8 u8Grp, tpfHifCallBack fn) |
NMI_API sint8 | hif_send (uint8 u8Gid, uint8 u8Opcode, uint8 *pu8CtrlBuf, uint16 u16CtrlBufSize, uint8 *pu8DataBuf, uint16 u16DataSize, uint16 u16DataOffset) |
Send packet using host interface. More... | |
sint8 | hif_send_optimized (uint8 u8Gid, uint8 u8Opcode, uint8 *buffer, uint16 u16DataSize) |
NMI_API sint8 | hif_set_receive_buffer (void *pvBuffer, uint16 u16BufferLen) |
Handle interrupt received from NMC1500 firmware.More... | |
NMI_API void | hif_set_sleep_mode (uint8 u8Pstype) |
Set the sleep mode of the HIF layer. More... | |
#define M2M_HIF_HDR_OFFSET (sizeof(tstrHifHdr) + 4) |
Referenced by hif_isr(), hif_send(), m2m_wifi_cb(), and m2m_wifi_send_ethernet_pkt().
#define M2M_HIF_MAX_PACKET_SIZE (1600 - 4) |
< Include depends on UNO Board is used or not Maximum size of the buffer could be transferred between Host and Firmware.
Referenced by m2m_wifi_send_ethernet_pkt().
used to point to Wi-Fi call back function depend on Arduino project or other projects.
[in] | u8OpCode | HIF Opcode type. |
[in] | u16DataSize | HIF data length. |
[in] | pu8Buff | HIF Data Buffer. |
[in] | grp | HIF group type. |
To make the chip sleep.
To make the chip sleep.
References chip_sleep(), gu8ChipMode, gu8ChipSleep, M2M_NO_PS, and M2M_SUCCESS.
Referenced by gpio_ioctl(), hif_send(), hif_send_optimized(), m2m_wifi_get_mac_address(), and m2m_wifi_get_otp_mac_address().
To clear the chip sleep but keep the chip sleep.
To clear the chip count only but keep the chip awake
References gu8ChipSleep, and M2M_SUCCESS.
Referenced by hif_send().
To Wakeup the chip.
To Wakeup the chip.
References chip_wake(), gu8ChipMode, gu8ChipSleep, gu8HifSizeDone, M2M_NO_PS, and M2M_SUCCESS.
Referenced by gpio_ioctl(), hif_deinit(), hif_send(), hif_send_optimized(), m2m_wifi_get_mac_address(), and m2m_wifi_get_otp_mac_address().
To Deinitialize HIF layer.
To Deinitialize HIF layer.
[in] | arg | Pointer to the arguments. |
References hif_chip_wake(), M2M_DBG, M2M_DISABLE_PS, M2M_SUCCESS, nm_bsp_sleep(), and nm_read_reg().
Referenced by m2m_wifi_deinit().
Get the sleep mode of the HIF layer.
References gu8ChipMode.
Referenced by m2m_wifi_get_sleep_mode(), and m2m_wifi_set_sleep_mode().
Handle interrupt received from NMC1500 firmware.
Handle interrupt received from NMC1500 firmware.
References gu8Interrupt, hif_isr(), M2M_ERR, and M2M_SUCCESS.
Referenced by m2m_wifi_handle_events().
NMI_API sint8 hif_init | ( | tstrHifinitParam * | pstrInitParam | ) |
References gu8ChipMode, gu8ChipSleep, gu8Interrupt, hif_register_cb(), isr(), m2m_hif_cb(), m2m_memcpy(), M2M_NO_PS, M2M_REQ_GRP_HIF, M2M_SUCCESS, nm_bsp_register_isr(), NULL, and pfWifiCb.
Referenced by m2m_wifi_init().
NMI_API sint8 hif_register_cb | ( | uint8 | u8Grp, |
tpfHifCallBack | fn | ||
) |
References M2M_ERR, M2M_ERR_FAIL, M2M_REQ_GRP_HIF, M2M_REQ_GRP_WIFI, M2M_SUCCESS, pfHifCb, and pfWifiCb.
Referenced by hif_init(), and m2m_wifi_init().
NMI_API sint8 hif_send | ( | uint8 | u8Gid, |
uint8 | u8Opcode, | ||
uint8 * | pu8CtrlBuf, | ||
uint16 | u16CtrlBufSize, | ||
uint8 * | pu8DataBuf, | ||
uint16 | u16DataSize, | ||
uint16 | u16DataOffset | ||
) |
Send packet using host interface.
[in] | u8Gid | Group ID. |
[in] | u8Opcode | Operation ID. |
[in] | pu8CtrlBuf | Pointer to the Control buffer. |
[in] | u16CtrlBufSize | Control buffer size. |
[in] | u16DataOffset | Packet Data offset. |
[in] | pu8DataBuf | Packet buffer Allocated by the caller. |
[in] | u16DataSize | Packet buffer size (including the HIF header). |
References hif_chip_sleep(), hif_chip_sleep_sc(), hif_chip_wake(), INTERRUPT_CORTUS_2_3000D0, M2M_DBG, M2M_ERR, M2M_ERR_MEM_ALLOC, M2M_ERR_SEND, M2M_HIF_HDR_OFFSET, M2M_SUCCESS, NBIT7, NM_BSP_B_L_16, nm_read_reg_with_ret(), nm_write_block(), nm_write_reg(), NULL, and WIFI_HOST_RCV_CTRL_3.
Referenced by m2m_wifi_ap_add_black_list(), m2m_wifi_ap_get_assoc_info(), m2m_wifi_change_monitoring_channel(), m2m_wifi_connect(), m2m_wifi_disable_ap(), m2m_wifi_disable_mcast_filter(), m2m_wifi_disable_monitoring_mode(), m2m_wifi_disconnect(), m2m_wifi_download_cert(), m2m_wifi_enable_ap(), m2m_wifi_enable_mac_mcast(), m2m_wifi_enable_mcast_filter(), m2m_wifi_enable_monitoring_mode(), m2m_wifi_get_connection_info(), m2m_wifi_p2p(), m2m_wifi_p2p_disconnect(), m2m_wifi_req_curr_rssi(), m2m_wifi_req_scan_result(), m2m_wifi_request_scan(), m2m_wifi_request_scan_ssid(), m2m_wifi_send_wlan_pkt(), m2m_wifi_set_antenna_mode(), m2m_wifi_set_cust_InfoElement(), m2m_wifi_set_device_name(), m2m_wifi_set_ht_enable(), m2m_wifi_set_lsn_int(), m2m_wifi_set_mac_address(), m2m_wifi_set_max_tx_rate(), m2m_wifi_set_p2p_control_ifc(), m2m_wifi_set_p2p_pin(), m2m_wifi_set_scan_list(), m2m_wifi_set_scan_options(), m2m_wifi_set_scan_region(), m2m_wifi_set_sleep_mode(), m2m_wifi_set_tx_power(), m2m_wifi_wps(), and m2m_wifi_wps_disable().
References hif_chip_sleep(), hif_chip_wake(), INTERRUPT_CORTUS_2_3000D0, M2M_DBG, M2M_ERR, M2M_ERR_MEM_ALLOC, M2M_ERR_SEND, M2M_SUCCESS, NBIT7, NM_BSP_B_L_16, nm_read_reg_with_ret(), nm_write_block(), nm_write_reg(), tstrHifHdr::u16Length, tstrHifHdr::u8Gid, tstrHifHdr::u8Opcode, and WIFI_HOST_RCV_CTRL_3.
Referenced by m2m_wifi_send_ethernet_pkt().
Handle interrupt received from NMC1500 firmware.
[in] | pvBuffer | Pointer to the buffer. |
[in] | u16BufferLen | Size of the buffer. |
References M2M_ERR, tstrHifinitParam::pu8RcvBuff, and tstrHifinitParam::u32RcvBuffSize.
Referenced by m2m_wifi_set_receive_buffer().
Set the sleep mode of the HIF layer.
[in] | u8Pstype | Sleep mode. |
References gu8ChipMode.
Referenced by m2m_wifi_set_sleep_mode().