Exported Types

Exported Types

group HCD_Exported_Types

Typedefs

typedef struct hal_hcd_handle_s hal_hcd_handle_t

HCD handle structure type

typedef void ( * hal_hcd_cb_t ) ( hal_hcd_handle_t * hhcd )

HAL USB HCD Callback pointer definition.

typedef void ( * hal_hcd_ch_notify_urb_change_cb_t ) ( hal_hcd_handle_t * hhcd , hal_hcd_channel_t ch_num , hal_hcd_channel_urb_state_t urb_state )

HAL USB HCD Host Channel Notify URB Change Callback pointer definition.

typedef void ( * hal_hcd_ch_cb_t ) ( hal_hcd_handle_t * hhcd , hal_hcd_channel_t ch_num )

HAL USB HCD Host Channel Callback pointer definition.

Enums

enum hal_hcd_t

HAL USB Instance definition.

Values:

enumerator HAL_HCD_DRD_FS

USB DRD FS Instance

enum hal_hcd_state_t

HAL USB HCD States definition.

Values:

enumerator HAL_HCD_STATE_RESET

HAL HCD STATE RESET

enumerator HAL_HCD_STATE_INIT

HAL HCD STATE INIT

enumerator HAL_HCD_STATE_IDLE

HAL HCD STATE IDLE

enumerator HAL_HCD_STATE_ACTIVE

HAL HCD STATE ACTIVE

enumerator HAL_HCD_STATE_FAULT

HAL HCD STATE FAULT

enum hal_hcd_port_state_t

HAL USB HCD Port State definition.

Values:

enumerator HAL_HCD_PORT_STATE_DEV_DISCONNECT

HAL HCD PORT STATE Device DISCONNECT

enumerator HAL_HCD_PORT_STATE_DEV_CONNECT

HAL HCD PORT STATE Device CONNECT

enumerator HAL_HCD_PORT_STATE_DEV_RESET

HAL HCD PORT STATE Device RESET

enumerator HAL_HCD_PORT_STATE_DEV_RUN

HAL HCD PORT STATE Device RUN

enumerator HAL_HCD_PORT_STATE_DEV_SUSPEND

HAL HCD PORT STATE Device SUSPEND

enumerator HAL_HCD_PORT_STATE_DEV_RESUME

HAL HCD PORT STATE Device RESUME

enum hal_hcd_channel_state_t

HAL USB HCD Host channel States definition.

Values:

enumerator HAL_HCD_CHANNEL_STATE_RESET

HAL HCD CHANNEL STATE RESET

enumerator HAL_HCD_CHANNEL_STATE_IDLE

HAL HCD CHANNEL STATE IDLE

enumerator HAL_HCD_CHANNEL_STATE_XFRC

HAL HCD CHANNEL STATE XFRC

enumerator HAL_HCD_CHANNEL_STATE_HALTED

HAL HCD CHANNEL STATE HALTED

enumerator HAL_HCD_CHANNEL_STATE_ACK

HAL HCD CHANNEL STATE ACK

enumerator HAL_HCD_CHANNEL_STATE_NAK

HAL HCD CHANNEL STATE NAK

enumerator HAL_HCD_CHANNEL_STATE_STALL

HAL HCD CHANNEL STATE STALL

enumerator HAL_HCD_CHANNEL_STATE_XFR

HAL HCD CHANNEL STATE XFR

enumerator HAL_HCD_CHANNEL_STATE_XACTERR

HAL HCD CHANNEL STATE XACTERR

enum hal_hcd_channel_urb_state_t

HAL USB HCD CHANNEL URB States definition.

Values:

enumerator HAL_HCD_CHANNEL_URB_STATE_RESET

HAL HCD CHANNEL URB STATE RESET

enumerator HAL_HCD_CHANNEL_URB_STATE_IDLE

HAL HCD CHANNEL URB STATE IDLE

enumerator HAL_HCD_CHANNEL_URB_STATE_DONE

HAL HCD CHANNEL URB STATE DONE

enumerator HAL_HCD_CHANNEL_URB_STATE_NOTREADY

HAL HCD CHANNEL URB STATE NOTREADY

enumerator HAL_HCD_CHANNEL_URB_STATE_ERROR

HAL HCD CHANNEL URB STATE ERROR

enumerator HAL_HCD_CHANNEL_URB_STATE_STALL

HAL HCD CHANNEL URB STATE STALL

enum hal_hcd_channel_t

HAL USB HCD CHANNEL identifier definition.

Values:

enumerator HAL_HCD_CHANNEL_0

HAL HCD CHANNEL 0

enumerator HAL_HCD_CHANNEL_1

HAL HCD CHANNEL 1

enumerator HAL_HCD_CHANNEL_2

HAL HCD CHANNEL 2

enumerator HAL_HCD_CHANNEL_3

HAL HCD CHANNEL 3

enumerator HAL_HCD_CHANNEL_4

HAL HCD CHANNEL 4

enumerator HAL_HCD_CHANNEL_5

HAL HCD CHANNEL 5

enumerator HAL_HCD_CHANNEL_6

HAL HCD CHANNEL 6

enumerator HAL_HCD_CHANNEL_7

HAL HCD CHANNEL 7

enumerator HAL_HCD_CHANNEL_8

HAL HCD CHANNEL 8

enumerator HAL_HCD_CHANNEL_9

HAL HCD CHANNEL 9

enumerator HAL_HCD_CHANNEL_10

HAL HCD CHANNEL 10

enumerator HAL_HCD_CHANNEL_11

HAL HCD CHANNEL 11

enumerator HAL_HCD_CHANNEL_12

HAL HCD CHANNEL 12

enumerator HAL_HCD_CHANNEL_13

HAL HCD CHANNEL 13

enumerator HAL_HCD_CHANNEL_14

HAL HCD CHANNEL 14

enumerator HAL_HCD_CHANNEL_15

HAL HCD CHANNEL 15

enumerator HAL_HCD_CHANNEL_FF

HAL HCD CHANNEL FF

enum hal_hcd_speed_t

HAL USB HCD Speed structure definition.

Values:

enumerator HAL_HCD_SPEED_FS

HAL HCD SPEED FULL SPEED

enum hal_hcd_device_speed_t

HAL USB HCD Device Speed structure definition.

Values:

enumerator HAL_HCD_DEVICE_SPEED_LS

HAL HCD DEVICE SPEED LOW

enumerator HAL_HCD_DEVICE_SPEED_FS

HAL HCD DEVICE SPEED FULL

enumerator HAL_HCD_DEVICE_SPEED_ERROR

HAL HCD DEVICE SPEED ERROR

enum hal_hcd_port_speed_t

HAL USB HCD Port Speed structure definition.

Values:

enumerator HAL_HCD_PORT_SPEED_FS

HAL HCD PORT SPEED FULL

enumerator HAL_HCD_PORT_SPEED_LS

HAL HCD PORT SPEED LOW

enum hal_hcd_phy_module_t

HAL USB HCD PHY Module structure definition.

Values:

enumerator HAL_HCD_PHY_EMBEDDED_FS

HAL HCD EMBEDDED FS PHY

enum hal_hcd_ch_direction_t

HAL USB HCD Channel Direction structure definition.

Values:

enumerator HAL_HCD_CH_OUT_DIR

HAL HCD CH OUT DIR: 0

enumerator HAL_HCD_CH_IN_DIR

HAL HCD CH IN DIR: 1

enum hal_hcd_ep_type_t

HAL USB HCD Endpoint Type structure definition.

Values:

enumerator HAL_HCD_EP_TYPE_CTRL
enumerator HAL_HCD_EP_TYPE_ISOC
enumerator HAL_HCD_EP_TYPE_BULK
enumerator HAL_HCD_EP_TYPE_INTR
enum hal_hcd_dma_status_t

HAL USB HCD DMA status definition.

Values:

enumerator HAL_HCD_DMA_DISABLED

HAL HCD DMA DISABLED

enumerator HAL_HCD_DMA_ENABLED

HAL HCD DMA ENABLED

enum hal_hcd_bulk_db_status_t

HAL USB HCD Bulk Double buffer status definition.

Values:

enumerator HAL_HCD_BULK_DB_DISABLED

HAL HCD BULK DB DISABLED

enumerator HAL_HCD_BULK_DB_ENABLED

HAL HCD BULK DB ENABLED

enum hal_hcd_iso_db_status_t

HAL USB HCD ISO Double buffer status definition.

Values:

enumerator HAL_HCD_ISO_DB_DISABLED

HAL HCD ISO DB DISABLED

enumerator HAL_HCD_ISO_DB_ENABLED

HAL HCD ISO DB ENABLED

struct hal_hcd_config_t
#include <stm32c5xx_hal_hcd.h>

HAL USB HCD Instance configuration Structure definition.

Public Members

hal_hcd_speed_t hcd_speed

USB core speed

hal_hcd_phy_module_t phy_interface

Select the used PHY interface.

hal_hcd_bulk_db_status_t bulk_doublebuffer_enable

Enable or disable the double buffer mode on bulk EP

hal_hcd_iso_db_status_t iso_doublebuffer_enable

Enable or disable the Single buffer mode on Isochronous EP

struct hal_hcd_channel_config_t
#include <stm32c5xx_hal_hcd.h>

HAL USB HCD Channel configuration Structure definition.

Public Members

uint8_t ep_address

Endpoint address

uint8_t device_address

Device address

uint16_t ep_mps

Endpoint MPS

hal_hcd_device_speed_t device_speed

Device speed

hal_hcd_ep_type_t ep_type

Endpoint type

struct hal_hcd_channel_transfer_req_t
#include <stm32c5xx_hal_hcd.h>

HAL USB HCD Channel transfer request Structure definition.

Public Members

hal_hcd_ch_direction_t ch_dir

Channel direction

hal_hcd_ep_type_t ep_type

Endpoint type

uint8_t token_type

token type

uint8_t do_ping

Do ping

uint16_t transfer_length

transfer length

uint8_t * p_buffer

buffer pointer

struct hal_hcd_ch_t
#include <stm32c5xx_hal_hcd.h>

HAL USB HCD channel Structure definition.

Public Members

usb_core_ch_t core_ch

Core Channel

hal_hcd_channel_state_t state

Host Channel state This parameter can be any value of hal_hcd_channel_state_t

hal_hcd_channel_urb_state_t urb_state

Channel URB state This parameter can be any value of hal_hcd_channel_urb_state_t

uint8_t toggle_in

IN transfer current toggle flag This parameter must be a number between Min_Data = 0 and Max_Data = 1

uint8_t toggle_out

OUT transfer current toggle flag This parameter must be a number between Min_Data = 0 and Max_Data = 1

uint32_t err_cnt

Host channel error count

uint8_t ep_ss_schedule

Enable periodic endpoint start split schedule

struct hal_hcd_handle_s
#include <stm32c5xx_hal_hcd.h>

HAL USB HCD Handle Structure definition.

Public Members

hal_hcd_t instance

Register base address

volatile hal_hcd_state_t global_state

HCD communication state

volatile hal_hcd_port_state_t port_state

HCD Port state

volatile uint32_t last_error_codes

Errors limited to the last process This parameter can be a combination of Error Codes

uint8_t host_channels_nbr

Number of host channels

hal_hcd_ch_t channel [ 6U ]

Host channels parameters

usb_core_mode_t current_mode

store Current Mode

usb_core_hcd_driver_t driver

USB low layer driver

void ( * p_irq_handler ) ( struct hal_hcd_handle_s * hhcd )

USB instance interrupt handler

const void * p_user_data

User Data Pointer

hal_hcd_cb_t p_port_connect_cb

USB HCD Port Connect callback

hal_hcd_cb_t p_port_disconnect_cb

USB HCD Port Disconnect callback

hal_hcd_cb_t p_port_enable_cb

USB HCD Port Enable callback

hal_hcd_cb_t p_port_disable_cb

USB HCD Port Disable callback

hal_hcd_cb_t p_port_suspend_cb

USB HCD Port Suspend callback

hal_hcd_cb_t p_port_resume_cb

USB HCD Port Resume callback

hal_hcd_cb_t p_sof_cb

USB HCD SOF callback

hal_hcd_ch_notify_urb_change_cb_t p_ch_notify_urb_change_cb

USB HCD Host Channel Notify URB Change callback

hal_hcd_ch_cb_t p_ch_abort_transfer_cb

USB HCD Channel Abort Transfer callback

hal_hcd_cb_t p_error_cb

USB HCD Error callback