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

Go to the source code of this file.

Classes

struct  xfer_ctl_t
 

Functions

static uint8_t get_free_fifo (void)
 
static void bus_reset (void)
 
static void enum_done_processing (void)
 
bool dcd_init (uint8_t rhport, const tusb_rhport_init_t *rh_init)
 
void dcd_set_address (uint8_t rhport, uint8_t dev_addr)
 
void dcd_remote_wakeup (uint8_t rhport)
 
void dcd_connect (uint8_t rhport)
 
void dcd_disconnect (uint8_t rhport)
 
void dcd_sof_enable (uint8_t rhport, bool en)
 
bool dcd_edpt_open (uint8_t rhport, tusb_desc_endpoint_t const *desc_edpt)
 
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)
 
static void receive_packet (xfer_ctl_t *xfer, uint16_t xfer_size)
 
static void transmit_packet (xfer_ctl_t *xfer, volatile usb_in_endpoint_t *in_ep, uint8_t fifo_num)
 
static void read_rx_fifo (void)
 
static void handle_epout_ints (void)
 
static void handle_epin_ints (void)
 
static void _dcd_int_handler (void *arg)
 
void dcd_int_enable (uint8_t rhport)
 
void dcd_int_disable (uint8_t rhport)
 

Variables

static const char * TAG = "TUSB:DCD"
 
static intr_handle_t usb_ih
 
static uint32_t _setup_packet [2]
 
static xfer_ctl_t xfer_status [EP_MAX][2]
 
static uint8_t _allocated_fifos = 1
 

Function Documentation

◆ _dcd_int_handler()

static void _dcd_int_handler ( void *  arg)
static

Definition at line 766 of file dcd_esp32sx.c.

◆ bus_reset()

static void bus_reset ( void  )
static

Definition at line 96 of file dcd_esp32sx.c.

◆ dcd_connect()

void dcd_connect ( uint8_t  rhport)

Definition at line 244 of file dcd_esp32sx.c.

◆ dcd_disconnect()

void dcd_disconnect ( uint8_t  rhport)

Definition at line 251 of file dcd_esp32sx.c.

◆ dcd_edpt_clear_stall()

void dcd_edpt_clear_stall ( uint8_t  rhport,
uint8_t  ep_addr 
)

Definition at line 484 of file dcd_esp32sx.c.

◆ dcd_edpt_close_all()

void dcd_edpt_close_all ( uint8_t  rhport)

Definition at line 340 of file dcd_esp32sx.c.

◆ dcd_edpt_open()

bool dcd_edpt_open ( uint8_t  rhport,
tusb_desc_endpoint_t const *  desc_edpt 
)

Definition at line 269 of file dcd_esp32sx.c.

◆ dcd_edpt_stall()

void dcd_edpt_stall ( uint8_t  rhport,
uint8_t  ep_addr 
)

Definition at line 430 of file dcd_esp32sx.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 364 of file dcd_esp32sx.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 424 of file dcd_esp32sx.c.

◆ dcd_init()

bool dcd_init ( uint8_t  rhport,
const tusb_rhport_init_t rh_init 
)

Definition at line 175 of file dcd_esp32sx.c.

◆ dcd_int_disable()

void dcd_int_disable ( uint8_t  rhport)

Definition at line 883 of file dcd_esp32sx.c.

◆ dcd_int_enable()

void dcd_int_enable ( uint8_t  rhport)

Definition at line 877 of file dcd_esp32sx.c.

◆ dcd_remote_wakeup()

void dcd_remote_wakeup ( uint8_t  rhport)

Definition at line 226 of file dcd_esp32sx.c.

◆ dcd_set_address()

void dcd_set_address ( uint8_t  rhport,
uint8_t  dev_addr 
)

Definition at line 217 of file dcd_esp32sx.c.

◆ dcd_sof_enable()

void dcd_sof_enable ( uint8_t  rhport,
bool  en 
)

Definition at line 257 of file dcd_esp32sx.c.

◆ enum_done_processing()

static void enum_done_processing ( void  )
static

Definition at line 150 of file dcd_esp32sx.c.

◆ get_free_fifo()

static uint8_t get_free_fifo ( void  )
static

Definition at line 89 of file dcd_esp32sx.c.

◆ handle_epin_ints()

static void handle_epin_ints ( void  )
static

Definition at line 725 of file dcd_esp32sx.c.

◆ handle_epout_ints()

static void handle_epout_ints ( void  )
static

Definition at line 690 of file dcd_esp32sx.c.

◆ read_rx_fifo()

static void read_rx_fifo ( void  )
static

Definition at line 641 of file dcd_esp32sx.c.

◆ receive_packet()

static void receive_packet ( xfer_ctl_t xfer,
uint16_t  xfer_size 
)
static

Definition at line 517 of file dcd_esp32sx.c.

◆ transmit_packet()

static void transmit_packet ( xfer_ctl_t xfer,
volatile usb_in_endpoint_t *  in_ep,
uint8_t  fifo_num 
)
static

Definition at line 588 of file dcd_esp32sx.c.

Variable Documentation

◆ _allocated_fifos

uint8_t _allocated_fifos = 1
static

Definition at line 86 of file dcd_esp32sx.c.

◆ _setup_packet

uint32_t _setup_packet[2]
static

Definition at line 80 of file dcd_esp32sx.c.

◆ TAG

const char* TAG = "TUSB:DCD"
static

Definition at line 76 of file dcd_esp32sx.c.

◆ usb_ih

intr_handle_t usb_ih
static

Definition at line 77 of file dcd_esp32sx.c.

◆ xfer_status

xfer_ctl_t xfer_status[EP_MAX][2]
static

Definition at line 83 of file dcd_esp32sx.c.