1.1.1 System Interface

The system interface provides APIs for initializing and maintaining the core WINCS02 driver as well as monitoring its status.

Driver Initialization

Harmony will initialize the WINCS02 driver by calling WDRV_WINC_Initialize with a WDRV_WINC_SYS_INIT structure populated by MCC.

WDRV_WINC_SYS_INIT consists of configuration for:

  • SPI - A pointer to a WDRV_WINC_SPI_CFG structure which will be passed to WDRV_WINC_SPIInitialize.

  • Interrupts - The interrupt source which will be passed to WDRV_WINC_INTInitialize.

Driver status can be monitored by the application by calling WDRV_WINC_Status. This function will return the following values indicating driver status.

StatusMeaning
SYS_STATUS_ERRORAn error occurred.
SYS_STATUS_UNINITIALIZEDThe driver has not been initialized.
SYS_STATUS_BUSYThe driver is initializing.
SYS_STATUS_READYThe driver and WINS02 have finished initializing.

Driver System Task

The driver main system task is called periodically by Harmony. The function WDRV_WINC_Tasks updates and maintains the driver state.

Driver Interrupt

The WINCS02 device uses an interrupt request GPIO to signal when it requires attention. Upon assertion of this interrupt signal the system must call WDRV_WINC_ISR to allow the WINCS02 driver to service the signal.

Driver System Event Callback

Status events are provided by the driver through the System Event Callback. This callback is registered by calling WDRV_WINC_RegisterSystemEventCallback with a suitable WDRV_WINC_SYSTEM_EVENT_CALLBACK type callback function.

System events are listed in WDRV_WINC_SYSTEM_EVENT_TYPE.