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

Go to the source code of this file.

Classes

struct  xfer_ctl_t
 

Enumerations

enum  ep_enum {
  PERIPH_EP0 = 0 , PERIPH_EP1 = 1 , PERIPH_EP2 = 2 , PERIPH_EP3 = 3 ,
  PERIPH_EP4 = 4 , PERIPH_EP5 = 5 , PERIPH_MAX_EP , PERIPH_EP0 = 0 ,
  PERIPH_EP1 = 1 , PERIPH_EP2 = 2 , PERIPH_EP3 = 3 , PERIPH_EP4 = 4 ,
  PERIPH_EP5 = 5 , PERIPH_EP6 = 6 , PERIPH_EP7 = 7 , PERIPH_MAX_EP ,
  PERIPH_EPA = 0 , PERIPH_EPB = 1 , PERIPH_EPC = 2 , PERIPH_EPD = 3 ,
  PERIPH_EPE = 4 , PERIPH_EPF = 5 , PERIPH_EPG = 6 , PERIPH_EPH = 7 ,
  PERIPH_EPI = 8 , PERIPH_EPJ = 9 , PERIPH_EPK = 10 , PERIPH_EPL = 11 ,
  PERIPH_MAX_EP
}
 
enum  { ENABLED_IRQS }
 

Functions

static void usb_attach (void)
 
static void usb_detach (void)
 
static void usb_memcpy (uint8_t *dest, uint8_t *src, uint16_t size)
 
static void usb_control_send_zlp (void)
 
static uint8_t decode_ep_addr (USBD_EP_T *ep)
 
static USBD_EP_T * ep_entry (uint8_t ep_addr, bool add)
 
static void dcd_in_xfer (struct xfer_ctl_t *xfer, USBD_EP_T *ep)
 
static void bus_reset (void)
 
bool dcd_init (uint8_t rhport, const tusb_rhport_init_t *rh_init)
 
void dcd_int_enable (uint8_t rhport)
 
void dcd_int_disable (uint8_t rhport)
 
void dcd_set_address (uint8_t rhport, uint8_t dev_addr)
 
static void remote_wakeup_delay (void)
 
void dcd_remote_wakeup (uint8_t rhport)
 
bool dcd_edpt_open (uint8_t rhport, tusb_desc_endpoint_t const *p_endpoint_desc)
 
void dcd_edpt_close_all (uint8_t rhport)
 
bool dcd_edpt_xfer (uint8_t rhport, uint8_t ep_addr, uint8_t *buffer, uint16_t total_bytes)
 
bool dcd_edpt_xfer_fifo (uint8_t rhport, uint8_t ep_addr, tu_fifo_t *ff, uint16_t total_bytes)
 
void dcd_edpt_stall (uint8_t rhport, uint8_t ep_addr)
 
void dcd_edpt_clear_stall (uint8_t rhport, uint8_t ep_addr)
 
void dcd_int_handler (uint8_t rhport)
 
void dcd_edpt0_status_complete (uint8_t rhport, tusb_control_request_t const *request)
 
void dcd_disconnect (uint8_t rhport)
 
void dcd_connect (uint8_t rhport)
 
void dcd_sof_enable (uint8_t rhport, bool en)
 

Variables

static uint32_t bufseg_addr
 
static bool active_ep0_xfer
 
static struct xfer_ctl_t xfer_table [PERIPH_MAX_EP]
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
ENABLED_IRQS 

Definition at line 203 of file dcd_nuc121.c.

◆ ep_enum

enum ep_enum
Enumerator
PERIPH_EP0 
PERIPH_EP1 
PERIPH_EP2 
PERIPH_EP3 
PERIPH_EP4 
PERIPH_EP5 
PERIPH_MAX_EP 
PERIPH_EP0 
PERIPH_EP1 
PERIPH_EP2 
PERIPH_EP3 
PERIPH_EP4 
PERIPH_EP5 
PERIPH_EP6 
PERIPH_EP7 
PERIPH_MAX_EP 
PERIPH_EPA 
PERIPH_EPB 
PERIPH_EPC 
PERIPH_EPD 
PERIPH_EPE 
PERIPH_EPF 
PERIPH_EPG 
PERIPH_EPH 
PERIPH_EPI 
PERIPH_EPJ 
PERIPH_EPK 
PERIPH_EPL 
PERIPH_MAX_EP 

Definition at line 61 of file dcd_nuc121.c.

Function Documentation

◆ bus_reset()

static void bus_reset ( void  )
static

Definition at line 172 of file dcd_nuc121.c.

◆ dcd_connect()

void dcd_connect ( uint8_t  rhport)

Definition at line 550 of file dcd_nuc121.c.

◆ dcd_disconnect()

void dcd_disconnect ( uint8_t  rhport)

Definition at line 544 of file dcd_nuc121.c.

◆ dcd_edpt0_status_complete()

void dcd_edpt0_status_complete ( uint8_t  rhport,
tusb_control_request_t const *  request 
)

Definition at line 529 of file dcd_nuc121.c.

◆ dcd_edpt_clear_stall()

void dcd_edpt_clear_stall ( uint8_t  rhport,
uint8_t  ep_addr 
)

Definition at line 380 of file dcd_nuc121.c.

◆ dcd_edpt_close_all()

void dcd_edpt_close_all ( uint8_t  rhport)

Definition at line 306 of file dcd_nuc121.c.

◆ dcd_edpt_open()

bool dcd_edpt_open ( uint8_t  rhport,
tusb_desc_endpoint_t const *  p_endpoint_desc 
)

Definition at line 275 of file dcd_nuc121.c.

◆ dcd_edpt_stall()

void dcd_edpt_stall ( uint8_t  rhport,
uint8_t  ep_addr 
)

Definition at line 373 of file dcd_nuc121.c.

◆ dcd_edpt_xfer()

bool dcd_edpt_xfer ( uint8_t  rhport,
uint8_t  ep_addr,
uint8_t *  buffer,
uint16_t  total_bytes 
)

Definition at line 312 of file dcd_nuc121.c.

◆ dcd_edpt_xfer_fifo()

bool dcd_edpt_xfer_fifo ( uint8_t  rhport,
uint8_t  ep_addr,
tu_fifo_t ff,
uint16_t  total_bytes 
)

Definition at line 344 of file dcd_nuc121.c.

◆ dcd_in_xfer()

static void dcd_in_xfer ( struct xfer_ctl_t xfer,
USBD_EP_T *  ep 
)
static

Definition at line 152 of file dcd_nuc121.c.

◆ dcd_init()

bool dcd_init ( uint8_t  rhport,
const tusb_rhport_init_t rh_init 
)

Definition at line 212 of file dcd_nuc121.c.

◆ dcd_int_disable()

void dcd_int_disable ( uint8_t  rhport)

Definition at line 240 of file dcd_nuc121.c.

◆ dcd_int_enable()

void dcd_int_enable ( uint8_t  rhport)

Definition at line 234 of file dcd_nuc121.c.

◆ dcd_int_handler()

void dcd_int_handler ( uint8_t  rhport)

Definition at line 387 of file dcd_nuc121.c.

◆ dcd_remote_wakeup()

void dcd_remote_wakeup ( uint8_t  rhport)

Definition at line 263 of file dcd_nuc121.c.

◆ dcd_set_address()

void dcd_set_address ( uint8_t  rhport,
uint8_t  dev_addr 
)

Definition at line 246 of file dcd_nuc121.c.

◆ dcd_sof_enable()

void dcd_sof_enable ( uint8_t  rhport,
bool  en 
)

Definition at line 556 of file dcd_nuc121.c.

◆ decode_ep_addr()

static uint8_t decode_ep_addr ( USBD_EP_T *  ep)
static

Definition at line 119 of file dcd_nuc121.c.

◆ ep_entry()

static USBD_EP_T * ep_entry ( uint8_t  ep_addr,
bool  add 
)
static

Definition at line 128 of file dcd_nuc121.c.

◆ remote_wakeup_delay()

static void remote_wakeup_delay ( void  )
static

Definition at line 256 of file dcd_nuc121.c.

◆ usb_attach()

static void usb_attach ( void  )
static

Definition at line 97 of file dcd_nuc121.c.

◆ usb_control_send_zlp()

static void usb_control_send_zlp ( void  )
static

Definition at line 112 of file dcd_nuc121.c.

◆ usb_detach()

static void usb_detach ( void  )
static

Definition at line 102 of file dcd_nuc121.c.

◆ usb_memcpy()

static void usb_memcpy ( uint8_t *  dest,
uint8_t *  src,
uint16_t  size 
)
inlinestatic

Definition at line 107 of file dcd_nuc121.c.

Variable Documentation

◆ active_ep0_xfer

bool active_ep0_xfer
static

Definition at line 78 of file dcd_nuc121.c.

◆ bufseg_addr

uint32_t bufseg_addr
static

Definition at line 75 of file dcd_nuc121.c.

◆ xfer_table

struct xfer_ctl_t xfer_table[PERIPH_MAX_EP]
static