USBUS CDC ECM - USBUS CDC ethernet control model

USBUS CDC ECM interface module. More...

Detailed Description

USBUS CDC ECM interface module.

Files

file  ecm.h
 Interface and definitions for USB CDC ECM type interfaces.
 

Data Structures

struct  usbus_cdcecm_device
 USBUS CDC ECM device interface context. More...
 

Macros

#define USBUS_CDC_ECM_CONFIG_SPEED   1000000
 Link throughput as reported by the peripheral. More...
 
#define USBUS_CDC_ECM_CONFIG_SPEED_DOWNSTREAM   USBUS_CDC_ECM_CONFIG_SPEED
 Link download speed as reported by the peripheral.
 
#define USBUS_CDC_ECM_CONFIG_SPEED_UPSTREAM   USBUS_CDC_ECM_CONFIG_SPEED
 Link upload speed as reported by the peripheral.
 
#define USBUS_CDCECM_EP_CTRL_SIZE   16
 CDC ECM interrupt endpoint size. More...
 
#define USBUS_CDCECM_EP_DATA_SIZE   64
 CDC ECM bulk data endpoint size. More...
 

Typedefs

typedef struct usbus_cdcecm_device usbus_cdcecm_device_t
 USBUS CDC ECM device interface context.
 

Enumerations

enum  usbus_cdcecm_notif_t { USBUS_CDCECM_NOTIF_NONE, USBUS_CDCECM_NOTIF_LINK_UP, USBUS_CDCECM_NOTIF_SPEED }
 notification state, used to track which information must be send to the host More...
 

Functions

void usbus_cdcecm_init (usbus_t *usbus, usbus_cdcecm_device_t *handler)
 CDC ECM initialization function. More...
 

Macro Definition Documentation

◆ USBUS_CDC_ECM_CONFIG_SPEED

#define USBUS_CDC_ECM_CONFIG_SPEED   1000000

Link throughput as reported by the peripheral.

This defines a common up and down link throughput in bits/second. The USB peripheral will report this to the host. This doesn't affect the actual throughput, only what the peripheral reports to the host.

Definition at line 46 of file ecm.h.

◆ USBUS_CDCECM_EP_CTRL_SIZE

#define USBUS_CDCECM_EP_CTRL_SIZE   16

CDC ECM interrupt endpoint size.

Used by the device to report events to the host.

Note
Must be at least 16B to allow for reporting the link throughput

Definition at line 70 of file ecm.h.

◆ USBUS_CDCECM_EP_DATA_SIZE

#define USBUS_CDCECM_EP_DATA_SIZE   64

CDC ECM bulk data endpoint size.

Used for the transfer of network frames.

Definition at line 77 of file ecm.h.

Enumeration Type Documentation

◆ usbus_cdcecm_notif_t

notification state, used to track which information must be send to the host

Enumerator
USBUS_CDCECM_NOTIF_NONE 

Nothing notified so far.

USBUS_CDCECM_NOTIF_LINK_UP 

Link status is notified.

USBUS_CDCECM_NOTIF_SPEED 

Link speed is notified.

Definition at line 83 of file ecm.h.

Function Documentation

◆ usbus_cdcecm_init()

void usbus_cdcecm_init ( usbus_t usbus,
usbus_cdcecm_device_t handler 
)

CDC ECM initialization function.

Parameters
usbusUSBUS thread to use
handlerCDCECM device struct