Open FFBoard
Open source force feedback firmware
rp2040_usb.h File Reference

Go to the source code of this file.

Classes

struct  hw_endpoint
 

Typedefs

typedef struct hw_endpoint hw_endpoint_t
 

Functions

void rp2040_usb_init (void)
 
void hw_endpoint_xfer_start (struct hw_endpoint *ep, uint8_t *buffer, uint16_t total_len)
 
bool hw_endpoint_xfer_continue (struct hw_endpoint *ep)
 
void hw_endpoint_reset_transfer (struct hw_endpoint *ep)
 
void hw_endpoint_start_next_buffer (struct hw_endpoint *ep)
 
static TU_ATTR_ALWAYS_INLINE void hw_endpoint_lock_update (__unused struct hw_endpoint *ep, __unused int delta)
 
void _hw_endpoint_buffer_control_update32 (struct hw_endpoint *ep, uint32_t and_mask, uint32_t or_mask)
 
static TU_ATTR_ALWAYS_INLINE uint32_t _hw_endpoint_buffer_control_get_value32 (struct hw_endpoint *ep)
 
static TU_ATTR_ALWAYS_INLINE void _hw_endpoint_buffer_control_set_value32 (struct hw_endpoint *ep, uint32_t value)
 
static TU_ATTR_ALWAYS_INLINE void _hw_endpoint_buffer_control_set_mask32 (struct hw_endpoint *ep, uint32_t value)
 
static TU_ATTR_ALWAYS_INLINE void _hw_endpoint_buffer_control_clear_mask32 (struct hw_endpoint *ep, uint32_t value)
 
static uintptr_t hw_data_offset (uint8_t *buf)
 

Variables

volatile uint32_t e15_last_sof
 
const char * ep_dir_string []
 

Typedef Documentation

◆ hw_endpoint_t

typedef struct hw_endpoint hw_endpoint_t

Function Documentation

◆ _hw_endpoint_buffer_control_clear_mask32()

static TU_ATTR_ALWAYS_INLINE void _hw_endpoint_buffer_control_clear_mask32 ( struct hw_endpoint ep,
uint32_t  value 
)
inlinestatic

Definition at line 130 of file rp2040_usb.h.

◆ _hw_endpoint_buffer_control_get_value32()

static TU_ATTR_ALWAYS_INLINE uint32_t _hw_endpoint_buffer_control_get_value32 ( struct hw_endpoint ep)
inlinestatic

Definition at line 115 of file rp2040_usb.h.

◆ _hw_endpoint_buffer_control_set_mask32()

static TU_ATTR_ALWAYS_INLINE void _hw_endpoint_buffer_control_set_mask32 ( struct hw_endpoint ep,
uint32_t  value 
)
inlinestatic

Definition at line 125 of file rp2040_usb.h.

◆ _hw_endpoint_buffer_control_set_value32()

static TU_ATTR_ALWAYS_INLINE void _hw_endpoint_buffer_control_set_value32 ( struct hw_endpoint ep,
uint32_t  value 
)
inlinestatic

Definition at line 120 of file rp2040_usb.h.

◆ _hw_endpoint_buffer_control_update32()

void _hw_endpoint_buffer_control_update32 ( struct hw_endpoint ep,
uint32_t  and_mask,
uint32_t  or_mask 
)

Definition at line 96 of file rp2040_usb.c.

◆ hw_data_offset()

static uintptr_t hw_data_offset ( uint8_t *  buf)
inlinestatic

Definition at line 135 of file rp2040_usb.h.

◆ hw_endpoint_lock_update()

static TU_ATTR_ALWAYS_INLINE void hw_endpoint_lock_update ( __unused struct hw_endpoint ep,
__unused int  delta 
)
inlinestatic

Definition at line 107 of file rp2040_usb.h.

◆ hw_endpoint_reset_transfer()

void hw_endpoint_reset_transfer ( struct hw_endpoint ep)

Definition at line 89 of file rp2040_usb.c.

◆ hw_endpoint_start_next_buffer()

void hw_endpoint_start_next_buffer ( struct hw_endpoint ep)

Definition at line 155 of file rp2040_usb.c.

◆ hw_endpoint_xfer_continue()

bool hw_endpoint_xfer_continue ( struct hw_endpoint ep)

Definition at line 302 of file rp2040_usb.c.

◆ hw_endpoint_xfer_start()

void hw_endpoint_xfer_start ( struct hw_endpoint ep,
uint8_t *  buffer,
uint16_t  total_len 
)

Definition at line 194 of file rp2040_usb.c.

◆ rp2040_usb_init()

void rp2040_usb_init ( void  )

Definition at line 65 of file rp2040_usb.c.

Variable Documentation

◆ e15_last_sof

volatile uint32_t e15_last_sof
extern

Definition at line 355 of file rp2040_usb.c.

◆ ep_dir_string

const char* ep_dir_string[]
extern