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

Go to the source code of this file.

Classes

struct  TU_ATTR_PACKED
 AUDIO Channel Cluster Descriptor (4.1) More...
 
struct  hcd_data_t
 

Typedefs

typedef struct TU_ATTR_PACKED buffer_descriptor_t
 
typedef struct TU_ATTR_PACKED endpoint_state_t
 
typedef struct TU_ATTR_PACKED pipe_state_t
 

Enumerations

enum  {
  TOK_PID_OUT = 0x1u , TOK_PID_IN = 0x9u , TOK_PID_SETUP = 0xDu , TOK_PID_DATA0 = 0x3u ,
  TOK_PID_DATA1 = 0xbu , TOK_PID_ACK = 0x2u , TOK_PID_STALL = 0xeu , TOK_PID_NAK = 0xau ,
  TOK_PID_BUSTO = 0x0u , TOK_PID_ERR = 0xfu
}
 

Functions

 TU_VERIFY_STATIC (sizeof(buffer_descriptor_t)==8, "size is not correct")
 
CFG_TUH_MEM_SECTION TU_ATTR_ALIGNED (512)
 
static int prepare_packets (int pipenum)
 
static int select_next_pipenum (int pipenum)
 
static bool continue_transfer (int pipenum, buffer_descriptor_t *bd)
 
static bool resume_transfer (int pipenum)
 
static void suspend_transfer (int pipenum, buffer_descriptor_t *bd)
 
static void process_tokdne (uint8_t rhport)
 
static void process_attach (uint8_t rhport)
 
static void process_bus_reset (uint8_t rhport)
 
bool hcd_init (uint8_t rhport, const tusb_rhport_init_t *rh_init)
 
void hcd_int_enable (uint8_t rhport)
 
void hcd_int_disable (uint8_t rhport)
 
uint32_t hcd_frame_number (uint8_t rhport)
 
bool hcd_port_connect_status (uint8_t rhport)
 
void hcd_port_reset (uint8_t rhport)
 
void hcd_port_reset_end (uint8_t rhport)
 
tusb_speed_t hcd_port_speed_get (uint8_t rhport)
 
void hcd_device_close (uint8_t rhport, uint8_t dev_addr)
 
bool hcd_setup_send (uint8_t rhport, uint8_t dev_addr, uint8_t const setup_packet[8])
 
bool hcd_edpt_open (uint8_t rhport, uint8_t dev_addr, tusb_desc_endpoint_t const *ep_desc)
 
bool hcd_edpt_xfer (uint8_t rhport, uint8_t dev_addr, uint8_t ep_addr, uint8_t *buffer, uint16_t buflen)
 
bool hcd_edpt_abort_xfer (uint8_t rhport, uint8_t dev_addr, uint8_t ep_addr)
 
bool hcd_edpt_clear_stall (uint8_t rhport, uint8_t dev_addr, uint8_t ep_addr)
 
void hcd_int_handler (uint8_t rhport, bool in_isr)
 

Typedef Documentation

◆ buffer_descriptor_t

◆ endpoint_state_t

◆ pipe_state_t

typedef struct TU_ATTR_PACKED pipe_state_t

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
TOK_PID_OUT 
TOK_PID_IN 
TOK_PID_SETUP 
TOK_PID_DATA0 
TOK_PID_DATA1 
TOK_PID_ACK 
TOK_PID_STALL 
TOK_PID_NAK 
TOK_PID_BUSTO 
TOK_PID_ERR 

Definition at line 44 of file hcd_khci.c.

Function Documentation

◆ continue_transfer()

static bool continue_transfer ( int  pipenum,
buffer_descriptor_t bd 
)
static

Definition at line 205 of file hcd_khci.c.

◆ hcd_device_close()

void hcd_device_close ( uint8_t  rhport,
uint8_t  dev_addr 
)

Definition at line 465 of file hcd_khci.c.

◆ hcd_edpt_abort_xfer()

bool hcd_edpt_abort_xfer ( uint8_t  rhport,
uint8_t  dev_addr,
uint8_t  ep_addr 
)

Definition at line 568 of file hcd_khci.c.

◆ hcd_edpt_clear_stall()

bool hcd_edpt_clear_stall ( uint8_t  rhport,
uint8_t  dev_addr,
uint8_t  ep_addr 
)

Definition at line 576 of file hcd_khci.c.

◆ hcd_edpt_open()

bool hcd_edpt_open ( uint8_t  rhport,
uint8_t  dev_addr,
tusb_desc_endpoint_t const *  ep_desc 
)

Definition at line 512 of file hcd_khci.c.

◆ hcd_edpt_xfer()

bool hcd_edpt_xfer ( uint8_t  rhport,
uint8_t  dev_addr,
uint8_t  ep_addr,
uint8_t *  buffer,
uint16_t  buflen 
)

Definition at line 546 of file hcd_khci.c.

◆ hcd_frame_number()

uint32_t hcd_frame_number ( uint8_t  rhport)

Definition at line 415 of file hcd_khci.c.

◆ hcd_init()

bool hcd_init ( uint8_t  rhport,
const tusb_rhport_init_t rh_init 
)

Definition at line 371 of file hcd_khci.c.

◆ hcd_int_disable()

void hcd_int_disable ( uint8_t  rhport)

Definition at line 409 of file hcd_khci.c.

◆ hcd_int_enable()

void hcd_int_enable ( uint8_t  rhport)

Definition at line 403 of file hcd_khci.c.

◆ hcd_int_handler()

void hcd_int_handler ( uint8_t  rhport,
bool  in_isr 
)

Definition at line 589 of file hcd_khci.c.

◆ hcd_port_connect_status()

bool hcd_port_connect_status ( uint8_t  rhport)

Definition at line 429 of file hcd_khci.c.

◆ hcd_port_reset()

void hcd_port_reset ( uint8_t  rhport)

Definition at line 437 of file hcd_khci.c.

◆ hcd_port_reset_end()

void hcd_port_reset_end ( uint8_t  rhport)

Definition at line 449 of file hcd_khci.c.

◆ hcd_port_speed_get()

tusb_speed_t hcd_port_speed_get ( uint8_t  rhport)

Definition at line 453 of file hcd_khci.c.

◆ hcd_setup_send()

bool hcd_setup_send ( uint8_t  rhport,
uint8_t  dev_addr,
uint8_t const  setup_packet[8] 
)

Definition at line 482 of file hcd_khci.c.

◆ prepare_packets()

static int prepare_packets ( int  pipenum)
static

Definition at line 155 of file hcd_khci.c.

◆ process_attach()

static void process_attach ( uint8_t  rhport)
static

Definition at line 339 of file hcd_khci.c.

◆ process_bus_reset()

static void process_bus_reset ( uint8_t  rhport)
static

Definition at line 350 of file hcd_khci.c.

◆ process_tokdne()

static void process_tokdne ( uint8_t  rhport)
static

Definition at line 281 of file hcd_khci.c.

◆ resume_transfer()

static bool resume_transfer ( int  pipenum)
static

Definition at line 232 of file hcd_khci.c.

◆ select_next_pipenum()

static int select_next_pipenum ( int  pipenum)
static

Definition at line 192 of file hcd_khci.c.

◆ suspend_transfer()

static void suspend_transfer ( int  pipenum,
buffer_descriptor_t bd 
)
static

Definition at line 269 of file hcd_khci.c.

◆ TU_ATTR_ALIGNED()

CFG_TUH_MEM_SECTION TU_ATTR_ALIGNED ( 512  )

Definition at line 140 of file hcd_khci.c.

◆ TU_VERIFY_STATIC()

TU_VERIFY_STATIC ( sizeof(buffer_descriptor_t = =8,
"size is not correct"   
)