Microchip® Advanced Software Framework

winc3400/wifi_drv/driver/source/nmdrv.h File Reference

This module contains WINC3400 M2M driver APIs declarations.

Copyright (c) 2017-2019 Microchip Technology Inc. and its subsidiaries.

#include "common/include/nm_common.h"

Data Structures

struct  tstrM2mRev
 Structure holding firmware version parameters and build date/time. More...
 

Enumerations

enum  tenuNmState {
  NM_STATE_DEINIT,
  NM_STATE_INIT,
  NM_STATE_START
}
 Enumeration for WINC state The following is used to track the state of the WINC (not initialized, initialized or started) More...
 

Functions

sint8 nm_cpu_start (void)
 Start CPU from the WINC module. More...
 
sint8 nm_drv_deinit (void *arg)
 
sint8 nm_drv_init (void *arg, uint32 req_serial_number)
 
sint8 nm_drv_init_download_mode (uint32 req_serial_number)
 
sint8 nm_drv_init_hold (uint32 req_serial_number)
 
sint8 nm_drv_init_start (void *arg)
 
sint8 nm_get_firmware_full_info (tstrM2mRev *pstrRev)
 Get Firmware version info. More...
 
sint8 nm_get_hif_info (uint16 *pu16FwHifInfo, uint16 *pu16OtaHifInfo)
 Get Hif info of images in both partitions (Firmware and Ota). More...
 
sint8 nm_get_ota_firmware_info (tstrM2mRev *pstrRev)
 Get Firmware version info. More...
 
tenuNmState nm_get_state (void)
 Get the current state of the WINC module. More...
 

Enumeration for WINC state The following is used to track the state of the WINC (not initialized, initialized or started)

Remarks
This is useful when putting the WINC in "download mode" to access the flash via SPI. By using nm_get_state and checking against the desired state, it is possible to validate whether it is safe to proceed with SPI Flash access.
Enumerator
NM_STATE_DEINIT 

WINC is not initialized

NM_STATE_INIT 

WINC has been initialized. SPI flash access is possible.

NM_STATE_START 

WINC has started

sint8 nm_cpu_start ( void  )

Start CPU from the WINC module.

Returns
M2M_SUCCESS in case of success and Negative error code in case of failure

References cpu_start(), and ret.

Referenced by enter_wifi_firmware_download().

sint8 nm_drv_deinit ( void *  arg)
sint8 nm_drv_init ( void *  arg,
uint32  req_serial_number 
)
sint8 nm_drv_init_download_mode ( uint32  req_serial_number)
sint8 nm_drv_init_start ( void *  arg)
sint8 nm_get_firmware_full_info ( tstrM2mRev pstrRev)

Get Firmware version info.

Parameters
[out]M2mRevPointer holds address of structure tstrM2mRev that contains the firmware version parameters
[out]pstrRevPointer holds address of structure tstrM2mRev that contains the version parameters of image in the active partition.
Returns
M2M_SUCCESS in case of success and Negative error code in case of failure
Parameters
[out]M2mRevpointer holds address of structure "tstrM2mRev" that contains the firmware version parameters
Version
1.0
sint8 nm_get_hif_info ( uint16 pu16FwHifInfo,
uint16 pu16OtaHifInfo 
)

Get Hif info of images in both partitions (Firmware and Ota).

Parameters
[out]pu16FwHifInfoPointer holding Hif info of image in the active partition.
[out]pu16OtaHifInfoPointer holding Hif info of image in the inactive partition.
Returns
M2M_SUCCESS in case of success and Negative error code in case of failure

References M2M_SUCCESS, nm_read_reg_with_ret(), NMI_REV_REG, NULL, and ret.

Referenced by hif_enable_access(), m2m_wifi_check_ota_rb(), nm_get_firmware_full_info(), and nm_get_ota_firmware_info().

sint8 nm_get_ota_firmware_info ( tstrM2mRev pstrRev)

Get Firmware version info.

Parameters
[out]M2mRevPointer holds address of structure tstrM2mRev that contains the firmware version parameters
[out]pstrRevPointer holds address of structure tstrM2mRev that contains the version parameters of image in the inactive partition.
Returns
M2M_SUCCESS in case of success and Negative error code in case of failure
Parameters
[out]M2mRevpointer holds address of structure "tstrM2mRev" that contains the firmware version parameters
Version
1.0
tenuNmState nm_get_state ( void  )

Get the current state of the WINC module.

Returns
The current state of the WINC module

References genuNmState.

Referenced by find_flash_section(), m2m_flash_erase_sector(), m2m_flash_read(), m2m_flash_switch_firmware(), m2m_flash_write(), and m2m_wifi_get_state().