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

Go to the source code of this file.

Classes

struct  xfer_ctl_t
 

Typedefs

typedef volatile uint8_t * ep_regs_t
 

Enumerations

enum  ep_regs_index_t {
  CNF = 0 , BBAX = 1 , BCTX = 2 , BBAY = 5 ,
  BCTY = 6 , SIZXY = 7
}
 

Functions

static void bus_reset (void)
 
static void enable_functional_reset (const bool enable)
 
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)
 
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 (uint8_t rhport, uint8_t ep_addr)
 
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_edpt0_status_complete (uint8_t rhport, tusb_control_request_t const *request)
 
static void receive_packet (uint8_t ep_num)
 
static void transmit_packet (uint8_t ep_num)
 
static void handle_setup_packet (void)
 
static TU_ATTR_ALWAYS_INLINE void tu_delay (uint32_t ms)
 
static void handle_bus_power_event (void *param)
 
void dcd_int_handler (uint8_t rhport)
 

Variables

static volatile uint16_t usbiepie_mirror = 0
 
static volatile uint16_t usboepie_mirror = 0
 
static volatile uint8_t usbie_mirror = 0
 
static volatile uint16_t usbpwrctl_mirror = 0
 
static bool in_isr = false
 
uint8_t _setup_packet [8]
 
xfer_ctl_t xfer_status [8][2]
 

Typedef Documentation

◆ ep_regs_t

typedef volatile uint8_t* ep_regs_t

Definition at line 62 of file dcd_msp430x5xx.c.

Enumeration Type Documentation

◆ ep_regs_index_t

Enumerator
CNF 
BBAX 
BCTX 
BBAY 
BCTY 
SIZXY 

Definition at line 64 of file dcd_msp430x5xx.c.

Function Documentation

◆ bus_reset()

static void bus_reset ( void  )
static

Definition at line 76 of file dcd_msp430x5xx.c.

◆ dcd_connect()

void dcd_connect ( uint8_t  rhport)

Definition at line 230 of file dcd_msp430x5xx.c.

◆ dcd_disconnect()

void dcd_disconnect ( uint8_t  rhport)

Definition at line 241 of file dcd_msp430x5xx.c.

◆ dcd_edpt0_status_complete()

void dcd_edpt0_status_complete ( uint8_t  rhport,
tusb_control_request_t const *  request 
)

Definition at line 479 of file dcd_msp430x5xx.c.

◆ dcd_edpt_clear_stall()

void dcd_edpt_clear_stall ( uint8_t  rhport,
uint8_t  ep_addr 
)

Definition at line 452 of file dcd_msp430x5xx.c.

◆ dcd_edpt_close()

void dcd_edpt_close ( uint8_t  rhport,
uint8_t  ep_addr 
)

Definition at line 336 of file dcd_msp430x5xx.c.

◆ dcd_edpt_close_all()

void dcd_edpt_close_all ( uint8_t  rhport)

Definition at line 341 of file dcd_msp430x5xx.c.

◆ dcd_edpt_open()

bool dcd_edpt_open ( uint8_t  rhport,
tusb_desc_endpoint_t const *  desc_edpt 
)

Definition at line 264 of file dcd_msp430x5xx.c.

◆ dcd_edpt_stall()

void dcd_edpt_stall ( uint8_t  rhport,
uint8_t  ep_addr 
)

Definition at line 425 of file dcd_msp430x5xx.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 347 of file dcd_msp430x5xx.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 396 of file dcd_msp430x5xx.c.

◆ dcd_init()

bool dcd_init ( uint8_t  rhport,
const tusb_rhport_init_t rh_init 
)

Definition at line 133 of file dcd_msp430x5xx.c.

◆ dcd_int_disable()

void dcd_int_disable ( uint8_t  rhport)

Definition at line 198 of file dcd_msp430x5xx.c.

◆ dcd_int_enable()

void dcd_int_enable ( uint8_t  rhport)

Definition at line 176 of file dcd_msp430x5xx.c.

◆ dcd_int_handler()

void dcd_int_handler ( uint8_t  rhport)

Definition at line 719 of file dcd_msp430x5xx.c.

◆ dcd_remote_wakeup()

void dcd_remote_wakeup ( uint8_t  rhport)

Definition at line 225 of file dcd_msp430x5xx.c.

◆ dcd_set_address()

void dcd_set_address ( uint8_t  rhport,
uint8_t  dev_addr 
)

Definition at line 215 of file dcd_msp430x5xx.c.

◆ dcd_sof_enable()

void dcd_sof_enable ( uint8_t  rhport,
bool  en 
)

Definition at line 252 of file dcd_msp430x5xx.c.

◆ enable_functional_reset()

static void enable_functional_reset ( const bool  enable)
static

Definition at line 109 of file dcd_msp430x5xx.c.

◆ handle_bus_power_event()

static void handle_bus_power_event ( void *  param)
static

Definition at line 679 of file dcd_msp430x5xx.c.

◆ handle_setup_packet()

static void handle_setup_packet ( void  )
static

Definition at line 636 of file dcd_msp430x5xx.c.

◆ receive_packet()

static void receive_packet ( uint8_t  ep_num)
static

Definition at line 497 of file dcd_msp430x5xx.c.

◆ transmit_packet()

static void transmit_packet ( uint8_t  ep_num)
static

Definition at line 574 of file dcd_msp430x5xx.c.

◆ tu_delay()

static TU_ATTR_ALWAYS_INLINE void tu_delay ( uint32_t  ms)
inlinestatic

Definition at line 666 of file dcd_msp430x5xx.c.

Variable Documentation

◆ _setup_packet

uint8_t _setup_packet[8]

Definition at line 45 of file dcd_msp430x5xx.c.

◆ in_isr

bool in_isr = false
static

Definition at line 43 of file dcd_msp430x5xx.c.

◆ usbie_mirror

volatile uint8_t usbie_mirror = 0
static

Definition at line 41 of file dcd_msp430x5xx.c.

◆ usbiepie_mirror

volatile uint16_t usbiepie_mirror = 0
static

Definition at line 39 of file dcd_msp430x5xx.c.

◆ usboepie_mirror

volatile uint16_t usboepie_mirror = 0
static

Definition at line 40 of file dcd_msp430x5xx.c.

◆ usbpwrctl_mirror

volatile uint16_t usbpwrctl_mirror = 0
static

Definition at line 42 of file dcd_msp430x5xx.c.

◆ xfer_status

xfer_ctl_t xfer_status[8][2]

Definition at line 58 of file dcd_msp430x5xx.c.