Microchip® Advanced Software Framework

nm_common.h File Reference

This module contains WILC common APIs declarations.

Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries.

Macros

#define BOOT_START   0x12345678UL
 
#define BOOT_SUCCESS   0x10add09eUL
 
#define BYTE_0(word)   ((uint8)(((word) >> 0 ) & 0x000000FFUL))
 
#define BYTE_1(word)   ((uint8)(((word) >> 8 ) & 0x000000FFUL))
 
#define BYTE_2(word)   ((uint8)(((word) >> 16) & 0x000000FFUL))
 
#define BYTE_3(word)   ((uint8)(((word) >> 24) & 0x000000FFUL))
 
#define COMPUTE_PMK_IN_HOST
 
#define DATA_PKT_OFFSET   4
 
#define ERR_FIRMEWARE_EXCEED_SIZE   0xE5UL /*Total size of firmware exxed the max size 256k*/
 
#define ERR_PREFIX_NMIS   0xE4UL /*wrong first four byte in flash NMIS*/
 
#define I2C_ERR_LARGE_ADDRESS   0xE1UL /*the address exceed the max addressing mode in i2c flash*/
 
#define I2C_ERR_OVER_SIZE   0xE3UL
 
#define I2C_ERR_TX_ABRT   0xE2UL /*NO ack from slave*/
 
#define M2M_ACK   ((sint8)-11)
 
#define M2M_DBG(...)
 
#define M2M_DBG(...)
 
#define M2M_ERR(...)
 
#define M2M_ERR(...)
 
#define M2M_ERR_BUS_FAIL   ((sint8)-6)
 
#define M2M_ERR_FAIL   ((sint8)-12)
 
#define M2M_ERR_FIRMWARE   ((sint8)-8)
 
#define M2M_ERR_FIRMWARE_bURN   ((sint8)-10)
 
#define M2M_ERR_FW_VER_MISMATCH   ((sint8)-13)
 
#define M2M_ERR_INIT   ((sint8)-5)
 
#define M2M_ERR_MEM_ALLOC   ((sint8)-3)
 
#define M2M_ERR_RCV   ((sint8)-2)
 
#define M2M_ERR_SCAN_IN_PROGRESS   ((sint8)-14)
 
#define M2M_ERR_SEND   ((sint8)-1)
 
#define M2M_ERR_TIME_OUT   ((sint8)-4)
 
#define M2M_INFO(...)
 
#define M2M_INFO(...)
 
#define M2M_LOG_DBG   4
 
#define M2M_LOG_ERROR   1
 
#define M2M_LOG_INFO   2
 
#define M2M_LOG_LEVEL   M2M_LOG_DBG
 
#define M2M_LOG_NONE   0
 
#define M2M_LOG_REQ   3
 
#define M2M_MAX(A, B)   ((A) > (B) ? (A) : (B))
 
#define M2M_NOT_YET   ((sint8)-7)
 
#define M2M_PRINT(...)
 
#define M2M_REQ(...)
 
#define M2M_SEL(x, m1, m2, m3)   ((x>1)?((x>2)?(m3):(m2)):(m1))
 
#define M2M_SPI_FAIL   ((sint8)-9)
 
#define M2M_SUCCESS   ((sint8)0)
 
#define M2M_TIME_OUT_DELAY   10000
 
#define NBIT0   (0x00000001)
 
#define NBIT1   (0x00000002)
 
#define NBIT10   (0x00000400)
 
#define NBIT11   (0x00000800)
 
#define NBIT12   (0x00001000)
 
#define NBIT13   (0x00002000)
 
#define NBIT14   (0x00004000)
 
#define NBIT15   (0x00008000)
 
#define NBIT16   (0x00010000)
 
#define NBIT17   (0x00020000)
 
#define NBIT18   (0x00040000)
 
#define NBIT19   (0x00080000)
 
#define NBIT2   (0x00000004)
 
#define NBIT20   (0x00100000)
 
#define NBIT21   (0x00200000)
 
#define NBIT22   (0x00400000)
 
#define NBIT23   (0x00800000)
 
#define NBIT24   (0x01000000)
 
#define NBIT25   (0x02000000)
 
#define NBIT26   (0x04000000)
 
#define NBIT27   (0x08000000)
 
#define NBIT28   (0x10000000)
 
#define NBIT29   (0x20000000)
 
#define NBIT3   (0x00000008)
 
#define NBIT30   (0x40000000)
 
#define NBIT31   (0x80000000)
 
#define NBIT4   (0x00000010)
 
#define NBIT5   (0x00000020)
 
#define NBIT6   (0x00000040)
 
#define NBIT7   (0x00000080)
 
#define NBIT8   (0x00000100)
 
#define NBIT9   (0x00000200)
 
#define PROGRAM_START   0x26961735UL
 
#define WORD_ALIGN(val)   (((val) & 0x03) ? ((val) + 4 - ((val) & 0x03)) : (val))
 

Enumerations

enum  tenuM2mReqGrp {
  M2M_REQ_GRP_MAIN = 0,
  M2M_REQ_GRP_WIFI,
  M2M_REQ_GRP_HIF
}
 
enum  tenuM2mReqPkt {
  M2M_REQ_CONFIG_PKT,
  M2M_REQ_DATA_PKT = NBIT7
}
 

Functions

NMI_API uint8 m2m_checksum (uint8 *buf, int sz)
 
NMI_API sint8 m2m_memcmp (uint8 *pu8Buff1, uint8 *pu8Buff2, uint32 u32Size)
 
NMI_API void m2m_memcpy (uint8 *pDst, uint8 *pSrc, uint32 sz)
 
NMI_API void m2m_memset (uint8 *pBuf, uint8 val, uint32 sz)
 
NMI_API uint16 m2m_strlen (uint8 *pcStr)
 
NMI_API uint8 m2m_strncmp (uint8 *pcS1, uint8 *pcS2, uint16 u16Len)
 
NMI_API uint8m2m_strstr (uint8 *pcIn, uint8 *pcStr)
 

#define BOOT_START   0x12345678UL
#define BOOT_SUCCESS   0x10add09eUL
#define BYTE_0 (   word)    ((uint8)(((word) >> 0 ) & 0x000000FFUL))
#define BYTE_1 (   word)    ((uint8)(((word) >> 8 ) & 0x000000FFUL))
#define BYTE_2 (   word)    ((uint8)(((word) >> 16) & 0x000000FFUL))
#define BYTE_3 (   word)    ((uint8)(((word) >> 24) & 0x000000FFUL))
#define COMPUTE_PMK_IN_HOST
#define DATA_PKT_OFFSET   4
#define ERR_FIRMEWARE_EXCEED_SIZE   0xE5UL /*Total size of firmware exxed the max size 256k*/
#define ERR_PREFIX_NMIS   0xE4UL /*wrong first four byte in flash NMIS*/
#define I2C_ERR_LARGE_ADDRESS   0xE1UL /*the address exceed the max addressing mode in i2c flash*/
#define I2C_ERR_OVER_SIZE   0xE3UL
#define I2C_ERR_TX_ABRT   0xE2UL /*NO ack from slave*/
#define M2M_ACK   ((sint8)-11)
#define M2M_DBG (   ...)
#define M2M_ERR (   ...)
#define M2M_ERR_FIRMWARE   ((sint8)-8)
#define M2M_ERR_FIRMWARE_bURN   ((sint8)-10)
#define M2M_ERR_FW_VER_MISMATCH   ((sint8)-13)
#define M2M_ERR_INIT   ((sint8)-5)
#define M2M_ERR_MEM_ALLOC   ((sint8)-3)

Referenced by hif_send(), and hif_send_optimized().

#define M2M_ERR_RCV   ((sint8)-2)

Referenced by hif_isr().

#define M2M_ERR_SCAN_IN_PROGRESS   ((sint8)-14)
#define M2M_ERR_SEND   ((sint8)-1)

Referenced by hif_send(), and hif_send_optimized().

#define M2M_INFO (   ...)
#define M2M_INFO (   ...)
#define M2M_LOG_DBG   4
#define M2M_LOG_ERROR   1
#define M2M_LOG_INFO   2
#define M2M_LOG_LEVEL   M2M_LOG_DBG
#define M2M_LOG_NONE   0
#define M2M_LOG_REQ   3
#define M2M_MAX (   A,
 
)    ((A) > (B) ? (A) : (B))
#define M2M_NOT_YET   ((sint8)-7)
#define M2M_PRINT (   ...)

Referenced by spi_flash_rdid().

#define M2M_REQ (   ...)
#define M2M_SEL (   x,
  m1,
  m2,
  m3 
)    ((x>1)?((x>2)?(m3):(m2)):(m1))
#define M2M_SPI_FAIL   ((sint8)-9)
#define M2M_SUCCESS   ((sint8)0)

Referenced by chip_apply_conf(), chip_deinit(), chip_reset(), chip_sleep(), chip_wake(), cpu_start(), enable_interrupts(), firmware_download(), get_gpio_val(), gpio_ioctl(), hif_chip_sleep(), hif_chip_sleep_sc(), hif_chip_wake(), hif_deinit(), hif_handle_isr(), hif_init(), hif_isr(), hif_receive(), hif_register_cb(), hif_send(), hif_send_optimized(), hif_set_rx_done(), m2m_periph_gpio_pullup_ctrl(), m2m_periph_i2c_master_init(), m2m_periph_i2c_master_read(), m2m_periph_i2c_master_write(), m2m_periph_init(), m2m_wifi_ap_add_black_list(), m2m_wifi_ap_get_assoc_info(), m2m_wifi_connect(), m2m_wifi_deinit(), m2m_wifi_disable_ap(), m2m_wifi_enable_ap(), m2m_wifi_get_mac_address(), m2m_wifi_get_otp_mac_address(), m2m_wifi_init(), 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_set_receive_buffer(), m2m_wifi_set_scan_list(), m2m_wifi_set_scan_options(), m2m_wifi_set_sleep_mode(), m2m_wifi_set_tx_power(), m2m_wifi_wps_disable(), nm_bus_deinit(), nm_bus_iface_deinit(), nm_bus_iface_init(), nm_bus_iface_reconfigure(), nm_bus_init(), nm_bus_reset(), nm_drv_deinit(), nm_drv_init(), nm_get_firmware_info(), nm_read_block(), nm_sdio_deinit(), nm_sdio_init(), nm_write_block(), nmi_get_chipid(), nmi_get_mac_address(), nmi_get_otp_mac_address(), nmi_get_rfrevid(), nmi_sdio_cmd52(), nmi_sdio_cmd53(), os_m2m_wifi_init_imp(), pullup_ctrl(), sam4s_sdio_init(), sdio_int_enable(), sdio_read(), sdio_read_reg(), sdio_set_func0_block_size(), sdio_set_func0_csa_address(), sdio_set_func1_block_size(), sdio_write(), sdio_write_reg(), serial_bridge(), set_gpio_dir(), set_gpio_val(), spi_flash_get_size(), spi_flash_probe(), wait_for_firmware_start(), wilc_cmd52(), wilc_cmd53(), wilc_cmd53_compact(), and wilc_netif_tx_from_queue().

#define M2M_TIME_OUT_DELAY   10000
#define NBIT0   (0x00000001)
#define NBIT1   (0x00000002)
#define NBIT10   (0x00000400)
#define NBIT11   (0x00000800)
#define NBIT12   (0x00001000)
#define NBIT13   (0x00002000)
#define NBIT14   (0x00004000)
#define NBIT15   (0x00008000)
#define NBIT16   (0x00010000)
#define NBIT17   (0x00020000)
#define NBIT18   (0x00040000)
#define NBIT19   (0x00080000)
#define NBIT2   (0x00000004)
#define NBIT20   (0x00100000)
#define NBIT21   (0x00200000)
#define NBIT22   (0x00400000)
#define NBIT23   (0x00800000)
#define NBIT24   (0x01000000)
#define NBIT25   (0x02000000)
#define NBIT26   (0x04000000)
#define NBIT27   (0x08000000)
#define NBIT28   (0x10000000)
#define NBIT29   (0x20000000)
#define NBIT3   (0x00000008)
#define NBIT30   (0x40000000)
#define NBIT31   (0x80000000)
#define NBIT4   (0x00000010)
#define NBIT5   (0x00000020)
#define NBIT6   (0x00000040)
#define NBIT7   (0x00000080)

Referenced by hif_send(), and hif_send_optimized().

#define NBIT8   (0x00000100)
#define NBIT9   (0x00000200)
#define PROGRAM_START   0x26961735UL
#define WORD_ALIGN (   val)    (((val) & 0x03) ? ((val) + 4 - ((val) & 0x03)) : (val))

Enumerator
M2M_REQ_GRP_MAIN 
M2M_REQ_GRP_WIFI 
M2M_REQ_GRP_HIF 
Enumerator
M2M_REQ_CONFIG_PKT 
M2M_REQ_DATA_PKT 

NMI_API uint8 m2m_checksum ( uint8 buf,
int  sz 
)
NMI_API sint8 m2m_memcmp ( uint8 pu8Buff1,
uint8 pu8Buff2,
uint32  u32Size 
)
NMI_API void m2m_memset ( uint8 pBuf,
uint8  val,
uint32  sz 
)
NMI_API uint8 m2m_strncmp ( uint8 pcS1,
uint8 pcS2,
uint16  u16Len 
)

Referenced by m2m_strstr().

NMI_API uint8* m2m_strstr ( uint8 pcIn,
uint8 pcStr 
)

References m2m_strlen(), and m2m_strncmp().