Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
simplelink_support.c File Reference
#include <stdlib.h>
#include <string.h>
#include "simplelink_log.h"
#include <zephyr.h>
#include <stdint.h>
#include <ti/drivers/net/wifi/simplelink.h>
#include <ti/net/slnetif.h>
#include <ti/net/slnetutils.h>
#include <ti/drivers/net/wifi/slnetifwifi.h>
#include <CC3220SF_LAUNCHXL.h>
#include "simplelink_support.h"

Data Structures

struct  nwp_status
 

Macros

#define SET_STATUS_BIT(status, bit)   {status |= (1 << (bit)); }
 
#define CLR_STATUS_BIT(status, bit)   {status &= ~(1 << (bit)); }
 
#define GET_STATUS_BIT(status, bit)   (0 != (status & (1 << (bit))))
 
#define SL_STOP_TIMEOUT   (200)
 
#define ASSERT_ON_ERROR(ret, e)   __ASSERT(ret >= 0, e)
 
#define DEVICE_ERROR   "See \"DEVICE ERRORS CODES\" in SimpleLink errors.h"
 
#define WLAN_ERROR   "See \"WLAN ERRORS CODES\" in SimpleLink errors.h"
 
#define NETAPP_ERROR   "See \"NETAPP ERRORS CODES\" in SimpleLink errors.h"
 
#define CHANNEL_MASK_ALL   (0x1FFF)
 
#define RSSI_TH_MAX   (-95)
 
#define SLNET_IF_WIFI_PRIO   (5)
 
#define SLNET_IF_WIFI_NAME   "CC32xx"
 

Enumerations

enum  status_bits {
  STATUS_BIT_NWP_INIT = 0 , STATUS_BIT_CONNECTION , STATUS_BIT_IP_LEASED , STATUS_BIT_IP_ACQUIRED ,
  STATUS_BIT_IPV6_ACQUIRED
}
 

Functions

 LOG_MODULE_DECLARE (wifi_simplelink)
 
static int32_t configure_simplelink (void)
 
void SimpleLinkWlanEventHandler (SlWlanEvent_t *wlan_event)
 SimpleLinkWlanEventHandler. More...
 
void SimpleLinkNetAppEventHandler (SlNetAppEvent_t *netapp_event)
 SimpleLinkNetAppEventHandler. More...
 
void SimpleLinkGeneralEventHandler (SlDeviceEvent_t *dev_event)
 SimpleLinkGeneralEventHandler. More...
 
void SimpleLinkFatalErrorEventHandler (SlDeviceFatal_t *fatal_err_event)
 SimpleLinkFatalErrorEventHandler. More...
 
void SimpleLinkSockEventHandler (SlSockEvent_t *psock)
 
void SimpleLinkHttpServerEventHandler (SlNetAppHttpServerEvent_t *http_event, SlNetAppHttpServerResponse_t *http_resp)
 
void SimpleLinkNetAppRequestEventHandler (SlNetAppRequest_t *netapp_request, SlNetAppResponse_t *netapp_response)
 
void SimpleLinkNetAppRequestMemFreeEventHandler (uint8_t *buffer)
 

Variables

struct sl_connect_state sl_conn
 
static struct nwp_status nwp
 
static SlNetIf_Config_t slnetifwifi_config_zephyr
 

Macro Definition Documentation

◆ ASSERT_ON_ERROR

#define ASSERT_ON_ERROR (   ret,
 
)    __ASSERT(ret >= 0, e)

◆ CHANNEL_MASK_ALL

#define CHANNEL_MASK_ALL   (0x1FFF)

◆ CLR_STATUS_BIT

#define CLR_STATUS_BIT (   status,
  bit 
)    {status &= ~(1 << (bit)); }

◆ DEVICE_ERROR

#define DEVICE_ERROR   "See \"DEVICE ERRORS CODES\" in SimpleLink errors.h"

◆ GET_STATUS_BIT

#define GET_STATUS_BIT (   status,
  bit 
)    (0 != (status & (1 << (bit))))

◆ NETAPP_ERROR

#define NETAPP_ERROR   "See \"NETAPP ERRORS CODES\" in SimpleLink errors.h"

◆ RSSI_TH_MAX

#define RSSI_TH_MAX   (-95)

◆ SET_STATUS_BIT

#define SET_STATUS_BIT (   status,
  bit 
)    {status |= (1 << (bit)); }

◆ SL_STOP_TIMEOUT

#define SL_STOP_TIMEOUT   (200)

◆ SLNET_IF_WIFI_NAME

#define SLNET_IF_WIFI_NAME   "CC32xx"

◆ SLNET_IF_WIFI_PRIO

#define SLNET_IF_WIFI_PRIO   (5)

◆ WLAN_ERROR

#define WLAN_ERROR   "See \"WLAN ERRORS CODES\" in SimpleLink errors.h"

Enumeration Type Documentation

◆ status_bits

Enumerator
STATUS_BIT_NWP_INIT 
STATUS_BIT_CONNECTION 
STATUS_BIT_IP_LEASED 
STATUS_BIT_IP_ACQUIRED 
STATUS_BIT_IPV6_ACQUIRED 

Function Documentation

◆ configure_simplelink()

static int32_t configure_simplelink ( void  )
static

◆ LOG_MODULE_DECLARE()

LOG_MODULE_DECLARE ( wifi_simplelink  )

◆ SimpleLinkFatalErrorEventHandler()

void SimpleLinkFatalErrorEventHandler ( SlDeviceFatal_t *  fatal_err_event)

SimpleLinkFatalErrorEventHandler.

This handler gets called whenever a driver error occurs requiring restart of the device in order to recover.

◆ SimpleLinkGeneralEventHandler()

void SimpleLinkGeneralEventHandler ( SlDeviceEvent_t *  dev_event)

SimpleLinkGeneralEventHandler.

This handler gets called whenever a general error is reported by the NWP / Host driver. Since these errors are not fatal, the application can handle them.

Note
See the CC3120/CC3220 NWP programmer's guide (SWRU455) section 17.9.

◆ SimpleLinkHttpServerEventHandler()

void SimpleLinkHttpServerEventHandler ( SlNetAppHttpServerEvent_t *  http_event,
SlNetAppHttpServerResponse_t *  http_resp 
)

◆ SimpleLinkNetAppEventHandler()

void SimpleLinkNetAppEventHandler ( SlNetAppEvent_t *  netapp_event)

SimpleLinkNetAppEventHandler.

This handler gets called whenever a Netapp event is reported by the host driver / NWP.

Note
See the CC3120/CC3220 NWP programmer's guide (SWRU455) section 5.7.

◆ SimpleLinkNetAppRequestEventHandler()

void SimpleLinkNetAppRequestEventHandler ( SlNetAppRequest_t *  netapp_request,
SlNetAppResponse_t *  netapp_response 
)

◆ SimpleLinkNetAppRequestMemFreeEventHandler()

void SimpleLinkNetAppRequestMemFreeEventHandler ( uint8_t buffer)

◆ SimpleLinkSockEventHandler()

void SimpleLinkSockEventHandler ( SlSockEvent_t *  psock)

◆ SimpleLinkWlanEventHandler()

void SimpleLinkWlanEventHandler ( SlWlanEvent_t *  wlan_event)

SimpleLinkWlanEventHandler.

This handler gets called whenever a WLAN event is reported by the host driver / NWP.

Note
See the CC3120/CC3220 NWP programmer's guide (SWRU455) sections 4.3.4, 4.4.5 and 4.5.5.

Variable Documentation

◆ nwp

struct nwp_status nwp
static

◆ sl_conn

struct sl_connect_state sl_conn

◆ slnetifwifi_config_zephyr

SlNetIf_Config_t slnetifwifi_config_zephyr
static
Initial value:
= {
.sockCreate = SlNetIfWifi_socket,
.sockClose = SlNetIfWifi_close,
.sockSelect = SlNetIfWifi_select,
.sockSetOpt = SlNetIfWifi_setSockOpt,
.sockGetOpt = SlNetIfWifi_getSockOpt,
.sockRecvFrom = SlNetIfWifi_recvFrom,
.sockSendTo = SlNetIfWifi_sendTo,
.utilGetHostByName = SlNetIfWifi_getHostByName,
.ifGetIPAddr = SlNetIfWifi_getIPAddr,
.ifGetConnectionStatus = SlNetIfWifi_getConnectionStatus
}