Open FFBoard
Open source force feedback firmware
Loading...
Searching...
No Matches
dcd_nuc120.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
}
 

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)
 
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_disconnect (uint8_t rhport)
 
void dcd_connect (uint8_t rhport)
 
void dcd_sof_enable (uint8_t rhport, bool en)
 

Variables

static volatile uint8_t assigned_address
 
static uint32_t bufseg_addr
 
static bool active_ep0_xfer
 
static struct xfer_ctl_t xfer_table [PERIPH_MAX_EP]
 
static const uint32_t enabled_irqs = USBD_INTSTS_FLDET_STS_Msk | USBD_INTSTS_BUS_STS_Msk | USBD_INTSTS_SETUP_Msk | USBD_INTSTS_USB_STS_Msk
 

Enumeration Type Documentation

◆ ep_enum

enum ep_enum
Enumerator
PERIPH_EP0 
PERIPH_EP1 
PERIPH_EP2 
PERIPH_EP3 
PERIPH_EP4 
PERIPH_EP5 
PERIPH_MAX_EP 

Definition at line 55 of file dcd_nuc120.c.

Function Documentation

◆ bus_reset()

static void bus_reset ( void )
static

Definition at line 167 of file dcd_nuc120.c.

◆ dcd_connect()

void dcd_connect ( uint8_t rhport)

Definition at line 496 of file dcd_nuc120.c.

◆ dcd_disconnect()

void dcd_disconnect ( uint8_t rhport)

Definition at line 490 of file dcd_nuc120.c.

◆ dcd_edpt_clear_stall()

void dcd_edpt_clear_stall ( uint8_t rhport,
uint8_t ep_addr )

Definition at line 352 of file dcd_nuc120.c.

◆ dcd_edpt_close_all()

void dcd_edpt_close_all ( uint8_t rhport)

Definition at line 278 of file dcd_nuc120.c.

◆ dcd_edpt_open()

bool dcd_edpt_open ( uint8_t rhport,
tusb_desc_endpoint_t const * p_endpoint_desc )

Definition at line 247 of file dcd_nuc120.c.

◆ dcd_edpt_stall()

void dcd_edpt_stall ( uint8_t rhport,
uint8_t ep_addr )

Definition at line 345 of file dcd_nuc120.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 284 of file dcd_nuc120.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 316 of file dcd_nuc120.c.

◆ dcd_in_xfer()

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

Definition at line 147 of file dcd_nuc120.c.

◆ dcd_init()

bool dcd_init ( uint8_t rhport,
const tusb_rhport_init_t * rh_init )

Definition at line 204 of file dcd_nuc120.c.

◆ dcd_int_disable()

void dcd_int_disable ( uint8_t rhport)

Definition at line 228 of file dcd_nuc120.c.

◆ dcd_int_enable()

void dcd_int_enable ( uint8_t rhport)

Definition at line 222 of file dcd_nuc120.c.

◆ dcd_int_handler()

void dcd_int_handler ( uint8_t rhport)

Definition at line 359 of file dcd_nuc120.c.

◆ dcd_remote_wakeup()

void dcd_remote_wakeup ( uint8_t rhport)

Definition at line 241 of file dcd_nuc120.c.

◆ dcd_set_address()

void dcd_set_address ( uint8_t rhport,
uint8_t dev_addr )

Definition at line 234 of file dcd_nuc120.c.

◆ dcd_sof_enable()

void dcd_sof_enable ( uint8_t rhport,
bool en )

Definition at line 502 of file dcd_nuc120.c.

◆ decode_ep_addr()

static uint8_t decode_ep_addr ( USBD_EP_T * ep)
static

Definition at line 114 of file dcd_nuc120.c.

◆ ep_entry()

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

Definition at line 123 of file dcd_nuc120.c.

◆ usb_attach()

static void usb_attach ( void )
static

Definition at line 92 of file dcd_nuc120.c.

◆ usb_control_send_zlp()

static void usb_control_send_zlp ( void )
static

Definition at line 107 of file dcd_nuc120.c.

◆ usb_detach()

static void usb_detach ( void )
static

Definition at line 97 of file dcd_nuc120.c.

◆ usb_memcpy()

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

Definition at line 102 of file dcd_nuc120.c.

Variable Documentation

◆ active_ep0_xfer

bool active_ep0_xfer
static

Definition at line 73 of file dcd_nuc120.c.

◆ assigned_address

volatile uint8_t assigned_address
static

Definition at line 67 of file dcd_nuc120.c.

◆ bufseg_addr

uint32_t bufseg_addr
static

Definition at line 70 of file dcd_nuc120.c.

◆ enabled_irqs

const uint32_t enabled_irqs = USBD_INTSTS_FLDET_STS_Msk | USBD_INTSTS_BUS_STS_Msk | USBD_INTSTS_SETUP_Msk | USBD_INTSTS_USB_STS_Msk
static

Definition at line 198 of file dcd_nuc120.c.

◆ xfer_table

struct xfer_ctl_t xfer_table[PERIPH_MAX_EP]
static