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_ip_cb(), m2m_wifi_cb(), m2m_wifi_prng_get_random_bytes(), m2m_wifi_send_ethernet_pkt(), and sendto().
#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 hif_send(), m2m_wifi_prng_get_random_bytes(), m2m_wifi_send_ethernet_pkt(), and sendto().
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. |
[in] | u8OpCode | HIF Opcode type. |
[in] | u16DataSize | HIF data length. |
[in] | u32Addr | HIF address. |
[in] | grp | HIF group type. |
To make the chip sleep.
To make the chip sleep.
To clear the chip sleep but keep the chip sleep.
To clear the chip count only but keep the chip awake
To Wakeup the chip.
To Wakeup the chip.
To Deinitialize HIF layer.
To De-initialize HIF layer.
To Deinitialize HIF layer.
[in] | arg | Pointer to the arguments. |
[in] | arg | Pointer to the arguments. |
Get the sleep mode of the HIF layer.
Handle interrupt received from NMC1500 firmware.
Handle interrupt received from NMC1500 firmware.
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(), and m2m_wifi_init_start().
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.
[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). |
[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_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().