Open FFBoard
Open source force feedback firmware
ecm_rndis_device.c File Reference

Go to the source code of this file.

Classes

struct  netd_interface_t
 
struct  ecm_notify_struct
 

Functions

void rndis_class_set_handler (uint8_t *data, int size)
 
void tud_network_recv_renew (void)
 
static void do_in_xfer (uint8_t *buf, uint16_t len)
 
void netd_report (uint8_t *buf, uint16_t len)
 
void netd_init (void)
 
bool netd_deinit (void)
 
void netd_reset (uint8_t rhport)
 
uint16_t netd_open (uint8_t rhport, tusb_desc_interface_t const *itf_desc, uint16_t max_len)
 
static void ecm_report (bool nc)
 
bool netd_control_xfer_cb (uint8_t rhport, uint8_t stage, tusb_control_request_t const *request)
 
static void handle_incoming_packet (uint32_t len)
 
bool netd_xfer_cb (uint8_t rhport, uint8_t ep_addr, xfer_result_t result, uint32_t xferred_bytes)
 
bool tud_network_can_xmit (uint16_t size)
 
void tud_network_xmit (void *ref, uint16_t arg)
 

Variables

CFG_TUD_MEM_SECTION CFG_TUSB_MEM_ALIGN tu_static uint8_t received [CFG_TUD_NET_PACKET_PREFIX_LEN+CFG_TUD_NET_MTU+CFG_TUD_NET_PACKET_PREFIX_LEN]
 
CFG_TUD_MEM_SECTION CFG_TUSB_MEM_ALIGN tu_static uint8_t transmitted [CFG_TUD_NET_PACKET_PREFIX_LEN+CFG_TUD_NET_MTU+CFG_TUD_NET_PACKET_PREFIX_LEN]
 
tu_static const struct ecm_notify_struct ecm_notify_nc
 
tu_static const struct ecm_notify_struct ecm_notify_csc
 
union {
   uint8_t   rndis_buf [120]
 
   struct ecm_notify_struct   ecm_buf
 
notify
 
CFG_TUD_MEM_SECTION tu_static netd_interface_t _netd_itf
 
tu_static bool can_xmit
 

Function Documentation

◆ do_in_xfer()

static void do_in_xfer ( uint8_t *  buf,
uint16_t  len 
)
static

Definition at line 117 of file ecm_rndis_device.c.

◆ ecm_report()

static void ecm_report ( bool  nc)
static

Definition at line 235 of file ecm_rndis_device.c.

◆ handle_incoming_packet()

static void handle_incoming_packet ( uint32_t  len)
static

Definition at line 357 of file ecm_rndis_device.c.

◆ netd_control_xfer_cb()

bool netd_control_xfer_cb ( uint8_t  rhport,
uint8_t  stage,
tusb_control_request_t const *  request 
)

Definition at line 245 of file ecm_rndis_device.c.

◆ netd_deinit()

bool netd_deinit ( void  )

Definition at line 139 of file ecm_rndis_device.c.

◆ netd_init()

void netd_init ( void  )

Definition at line 135 of file ecm_rndis_device.c.

◆ netd_open()

uint16_t netd_open ( uint8_t  rhport,
tusb_desc_interface_t const *  itf_desc,
uint16_t  max_len 
)

Definition at line 150 of file ecm_rndis_device.c.

◆ netd_report()

void netd_report ( uint8_t *  buf,
uint16_t  len 
)

Definition at line 123 of file ecm_rndis_device.c.

◆ netd_reset()

void netd_reset ( uint8_t  rhport)

Definition at line 143 of file ecm_rndis_device.c.

◆ netd_xfer_cb()

bool netd_xfer_cb ( uint8_t  rhport,
uint8_t  ep_addr,
xfer_result_t  result,
uint32_t  xferred_bytes 
)

Definition at line 385 of file ecm_rndis_device.c.

◆ rndis_class_set_handler()

void rndis_class_set_handler ( uint8_t *  data,
int  size 
)

◆ tud_network_can_xmit()

bool tud_network_can_xmit ( uint16_t  size)

Definition at line 420 of file ecm_rndis_device.c.

◆ tud_network_recv_renew()

void tud_network_recv_renew ( void  )

Definition at line 112 of file ecm_rndis_device.c.

◆ tud_network_xmit()

void tud_network_xmit ( void *  ref,
uint16_t  arg 
)

Definition at line 427 of file ecm_rndis_device.c.

Variable Documentation

◆ _netd_itf

CFG_TUD_MEM_SECTION tu_static netd_interface_t _netd_itf

Definition at line 108 of file ecm_rndis_device.c.

◆ can_xmit

tu_static bool can_xmit

Definition at line 110 of file ecm_rndis_device.c.

◆ ecm_buf

struct ecm_notify_struct ecm_buf

Definition at line 101 of file ecm_rndis_device.c.

◆ ecm_notify_csc

tu_static const struct ecm_notify_struct ecm_notify_csc
Initial value:
=
{
.header = {
.bmRequestType = 0xA1,
.bRequest = 0x2A ,
.wLength = 8,
},
.downlink = 9728000,
.uplink = 9728000,
}

Definition at line 86 of file ecm_rndis_device.c.

◆ ecm_notify_nc

tu_static const struct ecm_notify_struct ecm_notify_nc
Initial value:
=
{
.header = {
.bmRequestType = 0xA1,
.bRequest = 0 ,
.wValue = 1 ,
.wLength = 0,
},
}

Definition at line 76 of file ecm_rndis_device.c.

◆ 

CFG_TUD_MEM_SECTION CFG_TUSB_MEM_ALIGN tu_static union { ... } notify

◆ received

CFG_TUD_MEM_SECTION CFG_TUSB_MEM_ALIGN tu_static uint8_t received[CFG_TUD_NET_PACKET_PREFIX_LEN+CFG_TUD_NET_MTU+CFG_TUD_NET_PACKET_PREFIX_LEN]

Definition at line 65 of file ecm_rndis_device.c.

◆ rndis_buf

uint8_t rndis_buf[120]

Definition at line 100 of file ecm_rndis_device.c.

◆ transmitted

CFG_TUD_MEM_SECTION CFG_TUSB_MEM_ALIGN tu_static uint8_t transmitted[CFG_TUD_NET_PACKET_PREFIX_LEN+CFG_TUD_NET_MTU+CFG_TUD_NET_PACKET_PREFIX_LEN]

Definition at line 68 of file ecm_rndis_device.c.