HPM APP
HPMicro Application solution
monitor.c File Reference
#include <stdlib.h>
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
#include "hpm_soc.h"
#include "hpm_clock_drv.h"
#include "hpm_l1c_drv.h"
#include "hpm_common.h"
#include "hpm_gptmr_drv.h"
#include "common.h"
#include "netconf.h"
#include "sys_arch.h"
#include "lwip.h"
#include "lwip/init.h"
#include "lwip/tcp.h"
#include "monitor_log.h"
#include "monitor_task.h"
#include "monitor_profile.h"
#include "monitor.h"

Data Structures

struct  enet_tcp_send_ctx_t
 

Macros

#define ENET_TCP_PUMP_BUDGET   4096U
 

Typedefs

typedef void(* monitor_enet_timer_cb) (void)
 

Functions

hpm_stat_t enet_init (ENET_Type *ptr)
 
static err_t tcpecho_recv (void *arg, struct tcp_pcb *tpcb, struct pbuf *p, err_t err)
 
static err_t tcpecho_accept (void *arg, struct tcp_pcb *newpcb, err_t err)
 
static void enet_tcp_send_fail (void)
 
static err_t enet_tcp_try_write_chunk (void)
 
static void enet_tcp_send_pump (void)
 
static int enet_tcp_block_output (uint8_t *buff, uint32_t len)
 
void tcp_echo_init (void)
 
void monitor_enet_timer_isr (void)
 
static void monitor_enet_timer_create (uint32_t ms, monitor_enet_timer_cb cb)
 
int monitor_enet_init (void)
 
int monitor_init (void)
 
void monitor_handle (void)
 
bool monitor_send_is_idle (void)
 

Variables

__RW enet_rx_desc_t dma_rx_desc_tab [ENET_RX_BUFF_COUNT]
 
__RW enet_tx_desc_t dma_tx_desc_tab [ENET_TX_BUFF_COUNT]
 
__RW uint8_t rx_buff [ENET_RX_BUFF_COUNT][ENET_RX_BUFF_SIZE]
 
__RW uint8_t tx_buff [ENET_TX_BUFF_COUNT][ENET_TX_BUFF_SIZE]
 
enet_desc_t desc
 
uint8_t mac [ENET_MAC_SIZE]
 
struct netif gnetif
 
static struct tcp_pcb * send_newpcb = NULL
 
static bool monitor_enet_send_done
 
static enet_tcp_send_ctx_t s_tcp_send = {0}
 
static monitor_enet_timer_cb enet_timer_cb
 

Macro Definition Documentation

◆ ENET_TCP_PUMP_BUDGET

#define ENET_TCP_PUMP_BUDGET   4096U

Bytes copied into lwIP per monitor_handle iteration (keeps RX/command path responsive).

Typedef Documentation

◆ monitor_enet_timer_cb

typedef void(* monitor_enet_timer_cb) (void)

Function Documentation

◆ enet_init()

hpm_stat_t enet_init ( ENET_Type *  ptr)

◆ enet_tcp_block_output()

static int enet_tcp_block_output ( uint8_t *  buff,
uint32_t  len 
)
static

◆ enet_tcp_send_fail()

static void enet_tcp_send_fail ( void  )
static

◆ enet_tcp_send_pump()

static void enet_tcp_send_pump ( void  )
static

◆ enet_tcp_try_write_chunk()

static err_t enet_tcp_try_write_chunk ( void  )
static

◆ monitor_enet_init()

int monitor_enet_init ( void  )

◆ monitor_enet_timer_create()

static void monitor_enet_timer_create ( uint32_t  ms,
monitor_enet_timer_cb  cb 
)
static

◆ monitor_enet_timer_isr()

void monitor_enet_timer_isr ( void  )

◆ monitor_handle()

void monitor_handle ( void  )

◆ monitor_init()

int monitor_init ( void  )

◆ monitor_send_is_idle()

bool monitor_send_is_idle ( void  )

◆ tcp_echo_init()

void tcp_echo_init ( void  )

◆ tcpecho_accept()

static err_t tcpecho_accept ( void *  arg,
struct tcp_pcb *  newpcb,
err_t  err 
)
static

◆ tcpecho_recv()

static err_t tcpecho_recv ( void *  arg,
struct tcp_pcb *  tpcb,
struct pbuf *  p,
err_t  err 
)
static

Variable Documentation

◆ desc

enet_desc_t desc

◆ dma_rx_desc_tab

__RW enet_rx_desc_t dma_rx_desc_tab[ENET_RX_BUFF_COUNT]

◆ dma_tx_desc_tab

__RW enet_tx_desc_t dma_tx_desc_tab[ENET_TX_BUFF_COUNT]

◆ enet_timer_cb

monitor_enet_timer_cb enet_timer_cb
static

◆ gnetif

struct netif gnetif

◆ mac

uint8_t mac[ENET_MAC_SIZE]

◆ monitor_enet_send_done

bool monitor_enet_send_done
static

◆ rx_buff

__RW uint8_t rx_buff[ENET_RX_BUFF_COUNT][ENET_RX_BUFF_SIZE]

◆ s_tcp_send

enet_tcp_send_ctx_t s_tcp_send = {0}
static

◆ send_newpcb

struct tcp_pcb* send_newpcb = NULL
static

◆ tx_buff

__RW uint8_t tx_buff[ENET_TX_BUFF_COUNT][ENET_TX_BUFF_SIZE]