Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
esp_offload.c File Reference
#include <logging/log.h>
#include <zephyr.h>
#include <kernel.h>
#include <device.h>
#include <string.h>
#include <stdlib.h>
#include <errno.h>
#include <net/net_pkt.h>
#include <net/net_if.h>
#include <net/net_offload.h>
#include "esp.h"

Macros

#define CIPRECVDATA_CMD_MIN_LEN   (sizeof("+CIPRECVDATA,L:") - 1)
 
#define CIPRECVDATA_CMD_MAX_LEN   (sizeof("+CIPRECVDATA,LLLL:") - 1)
 

Functions

 LOG_MODULE_REGISTER (wifi_esp_at_offload, CONFIG_WIFI_LOG_LEVEL)
 
static int esp_bind (struct net_context *context, const struct sockaddr *addr, socklen_t addrlen)
 
static int esp_listen (struct net_context *context, int backlog)
 
void esp_connect_work (struct k_work *work)
 
static int esp_connect (struct net_context *context, const struct sockaddr *addr, socklen_t addrlen, net_context_connect_cb_t cb, int32_t timeout, void *user_data)
 
static int esp_accept (struct net_context *context, net_tcp_accept_cb_t cb, int32_t timeout, void *user_data)
 
 MODEM_CMD_DIRECT_DEFINE (on_cmd_tx_ready)
 
 MODEM_CMD_DEFINE (on_cmd_send_ok)
 
 MODEM_CMD_DEFINE (on_cmd_send_fail)
 
static bool esp_socket_can_send (struct esp_socket *sock)
 
static int esp_socket_send_one_pkt (struct esp_socket *sock)
 
void esp_send_work (struct k_work *work)
 
static int esp_sendto (struct net_pkt *pkt, const struct sockaddr *dst_addr, socklen_t addrlen, net_context_send_cb_t cb, int32_t timeout, void *user_data)
 
static int esp_send (struct net_pkt *pkt, net_context_send_cb_t cb, int32_t timeout, void *user_data)
 
static int cmd_ciprecvdata_parse (struct esp_socket *sock, struct net_buf *buf, uint16_t len, int *data_offset, int *data_len)
 
 MODEM_CMD_DIRECT_DEFINE (on_cmd_ciprecvdata)
 
void esp_recvdata_work (struct k_work *work)
 
void esp_close_work (struct k_work *work)
 
static int esp_recv (struct net_context *context, net_context_recv_cb_t cb, int32_t timeout, void *user_data)
 
static int esp_put (struct net_context *context)
 
static int esp_get (sa_family_t family, enum net_sock_type type, enum net_ip_protocol ip_proto, struct net_context **context)
 
int esp_offload_init (struct net_if *iface)
 

Variables

static struct net_offload esp_offload
 

Macro Definition Documentation

◆ CIPRECVDATA_CMD_MAX_LEN

#define CIPRECVDATA_CMD_MAX_LEN   (sizeof("+CIPRECVDATA,LLLL:") - 1)

◆ CIPRECVDATA_CMD_MIN_LEN

#define CIPRECVDATA_CMD_MIN_LEN   (sizeof("+CIPRECVDATA,L:") - 1)

Function Documentation

◆ cmd_ciprecvdata_parse()

static int cmd_ciprecvdata_parse ( struct esp_socket sock,
struct net_buf buf,
uint16_t  len,
int *  data_offset,
int *  data_len 
)
static

◆ esp_accept()

static int esp_accept ( struct net_context context,
net_tcp_accept_cb_t  cb,
int32_t  timeout,
void user_data 
)
static

◆ esp_bind()

static int esp_bind ( struct net_context context,
const struct sockaddr addr,
socklen_t  addrlen 
)
static

◆ esp_close_work()

void esp_close_work ( struct k_work work)

◆ esp_connect()

static int esp_connect ( struct net_context context,
const struct sockaddr addr,
socklen_t  addrlen,
net_context_connect_cb_t  cb,
int32_t  timeout,
void user_data 
)
static

◆ esp_connect_work()

void esp_connect_work ( struct k_work work)

◆ esp_get()

static int esp_get ( sa_family_t  family,
enum net_sock_type  type,
enum net_ip_protocol  ip_proto,
struct net_context **  context 
)
static

◆ esp_listen()

static int esp_listen ( struct net_context context,
int  backlog 
)
static

◆ esp_offload_init()

int esp_offload_init ( struct net_if iface)

◆ esp_put()

static int esp_put ( struct net_context context)
static

◆ esp_recv()

static int esp_recv ( struct net_context context,
net_context_recv_cb_t  cb,
int32_t  timeout,
void user_data 
)
static

◆ esp_recvdata_work()

void esp_recvdata_work ( struct k_work work)

◆ esp_send()

static int esp_send ( struct net_pkt pkt,
net_context_send_cb_t  cb,
int32_t  timeout,
void user_data 
)
static

◆ esp_send_work()

void esp_send_work ( struct k_work work)

◆ esp_sendto()

static int esp_sendto ( struct net_pkt pkt,
const struct sockaddr dst_addr,
socklen_t  addrlen,
net_context_send_cb_t  cb,
int32_t  timeout,
void user_data 
)
static

◆ esp_socket_can_send()

static bool esp_socket_can_send ( struct esp_socket sock)
static

◆ esp_socket_send_one_pkt()

static int esp_socket_send_one_pkt ( struct esp_socket sock)
static

◆ LOG_MODULE_REGISTER()

LOG_MODULE_REGISTER ( wifi_esp_at_offload  ,
CONFIG_WIFI_LOG_LEVEL   
)

◆ MODEM_CMD_DEFINE() [1/2]

MODEM_CMD_DEFINE ( on_cmd_send_fail  )

◆ MODEM_CMD_DEFINE() [2/2]

MODEM_CMD_DEFINE ( on_cmd_send_ok  )

◆ MODEM_CMD_DIRECT_DEFINE() [1/2]

MODEM_CMD_DIRECT_DEFINE ( on_cmd_ciprecvdata  )

◆ MODEM_CMD_DIRECT_DEFINE() [2/2]

MODEM_CMD_DIRECT_DEFINE ( on_cmd_tx_ready  )

Variable Documentation

◆ esp_offload

struct net_offload esp_offload
static
Initial value:
= {
.get = esp_get,
.bind = esp_bind,
.listen = esp_listen,
.connect = esp_connect,
.accept = esp_accept,
.send = esp_send,
.sendto = esp_sendto,
.recv = esp_recv,
.put = esp_put,
}
static int esp_get(sa_family_t family, enum net_sock_type type, enum net_ip_protocol ip_proto, struct net_context **context)
Definition: esp_offload.c:597
static int esp_bind(struct net_context *context, const struct sockaddr *addr, socklen_t addrlen)
Definition: esp_offload.c:24
static int esp_accept(struct net_context *context, net_tcp_accept_cb_t cb, int32_t timeout, void *user_data)
Definition: esp_offload.c:154
static int esp_put(struct net_context *context)
Definition: esp_offload.c:562
static int esp_send(struct net_pkt *pkt, net_context_send_cb_t cb, int32_t timeout, void *user_data)
Definition: esp_offload.c:401
static int esp_recv(struct net_context *context, net_context_recv_cb_t cb, int32_t timeout, void *user_data)
Definition: esp_offload.c:531
static int esp_listen(struct net_context *context, int backlog)
Definition: esp_offload.c:34
static int esp_sendto(struct net_pkt *pkt, const struct sockaddr *dst_addr, socklen_t addrlen, net_context_send_cb_t cb, int32_t timeout, void *user_data)
Definition: esp_offload.c:346
static int esp_connect(struct net_context *context, const struct sockaddr *addr, socklen_t addrlen, net_context_connect_cb_t cb, int32_t timeout, void *user_data)
Definition: esp_offload.c:110