Exported Types

Exported Types

group PCD_Exported_Types

Typedefs

typedef usb_core_ep_t hal_pcd_ep_t

PCD endpoint structure type

typedef struct hal_pcd_handle_s hal_pcd_handle_t

PCD handle structure type

typedef void ( * hal_pcd_cb_t ) ( hal_pcd_handle_t * hpcd )

pointer to a PCD callback function.

typedef void ( * hal_pcd_data_cb_t ) ( hal_pcd_handle_t * hpcd , uint8_t ep_num )

pointer to a data callback function.

typedef void ( * hal_pcd_iso_cb_t ) ( hal_pcd_handle_t * hpcd , uint8_t ep_num )

pointer to an iso callback function.

typedef void ( * hal_pcd_lpm_cb_t ) ( hal_pcd_handle_t * hpcd , hal_pcd_lpm_active_status_t lpm_status )

pointer to an LPM callback function.

typedef void ( * hal_pcd_bcd_cb_t ) ( hal_pcd_handle_t * hpcd , hal_pcd_bcd_port_type_t port_type )

pointer to a BCD callback function.

Enums

enum hal_pcd_t

HAL USB Instance definition.

Values:

enumerator HAL_PCD_DRD_FS

USB DRD FS Instance

enum hal_pcd_state_t

HAL USB PCD State structure definition.

Values:

enumerator HAL_PCD_STATE_RESET

HAL PCD STATE RESET

enumerator HAL_PCD_STATE_INIT

HAL PCD STATE INIT

enumerator HAL_PCD_STATE_IDLE

HAL PCD STATE IDLE

enumerator HAL_PCD_STATE_ACTIVE

HAL PCD STATE ACTIVE

enumerator HAL_PCD_STATE_XFR_ABORT

HAL PCD STATE TRANSFER ABORT

enumerator HAL_PCD_STATE_FAULT

HAL PCD STATE FAULT

enum hal_pcd_port_state_t

HAL USB PCD Device State Options.

Values:

enumerator HAL_PCD_PORT_STATE_DEV_DISCONNECT

HAL PCD PORT STATE Device DISCONNECT

enumerator HAL_PCD_PORT_STATE_DEV_CONNECT

HAL PCD PORT STATE Device CONNECT

enumerator HAL_PCD_PORT_STATE_DEV_RESET

HAL PCD PORT STATE Device RESET

enumerator HAL_PCD_PORT_STATE_DEV_RUN

HAL PCD PORT STATE Device RUN

enumerator HAL_PCD_PORT_STATE_DEV_SUSPEND

HAL PCD PORT STATE Device SUSPEND

enumerator HAL_PCD_PORT_STATE_DEV_RESUME

HAL PCD PORT STATE Device RESUME

enum hal_pcd_lpm_state_t

HAL USB PCD LPM State structure definition.

Values:

enumerator HAL_PCD_LPM_STATE_L0

PCD LPM STATE L0: on

enumerator HAL_PCD_LPM_STATE_L1

PCD LPM STATE L1: sleep

enum hal_pcd_lpm_active_status_t

HAL USB PCD LPM message structure definition.

Values:

enumerator HAL_PCD_LPM_L0_ACTIVE

PCD LPM ACTIVE STATE L0: on

enumerator HAL_PCD_LPM_L1_ACTIVE

PCD LPM ACTIVE STATE L1: sleep

enum hal_pcd_bcd_port_type_t

HAL USB PCD BCD State structure definition.

Values:

enumerator HAL_PCD_BCD_STD_DOWNSTREAM_PORT

PCD BCD STANDARD DOWNSTREAM PORT

enumerator HAL_PCD_BCD_CHARGING_DOWNSTREAM_PORT

PCD BCD CHARGING DOWNSTREAM PORT

enumerator HAL_PCD_BCD_DEDICATED_CHARGING_PORT

PCD BCD DEDICATED CHARGING PORT

enumerator HAL_PCD_BCD_DISCOVERY_COMPLETED

PCD BCD DISCOVERY COMPLETED

enumerator HAL_PCD_BCD_ERROR

PCD BCD ERROR

enum hal_pcd_bcd_port_status_t

HAL USB BCD Structure definition.

Values:

enumerator HAL_PCD_BCD_PORT_STATUS_DEFAULT

USB PCD Default BCD Status Port

enumerator HAL_PCD_BCD_PORT_STATUS_NOT_STD_DOWNSTREAM

USB PCD NOT STD Downstream Port

enumerator HAL_PCD_BCD_PORT_STATUS_STD_DOWNSTREAM

USB PCD STD Downstream Port

enumerator HAL_PCD_BCD_PORT_STATUS_DEDICATED_CHARGING

USB PCD Dedicated Charging Port

enumerator HAL_PCD_BCD_PORT_STATUS_CHARGING_DOWNSTREAM

USB PCD Charging Downstream Port

enum hal_pcd_speed_t

HAL USB PCD Speed structure definition.

Values:

enumerator HAL_PCD_SPEED_FS

HAL PCD SPEED FULL SPEED

enum hal_pcd_device_speed_t

HAL USB PCD Device Speed structure definition.

Values:

enumerator HAL_PCD_DEVICE_SPEED_FS

HAL PCD DEVICE FULL SPEED

enumerator HAL_PCD_DEVICE_SPEED_ERROR

HAL PCD DEVICE SPEED ERROR

enum hal_pcd_phy_module_t

HAL USB PCD PHY Module structure definition.

Values:

enumerator HAL_PCD_PHY_EMBEDDED_FS

PCD PHY EMBEDDED

enum hal_pcd_dma_status_t

HAL USB PCD DMA status definition.

Values:

enumerator HAL_PCD_DMA_DISABLED

HAL PCD DMA DISABLED

enumerator HAL_PCD_DMA_ENABLED

HAL PCD DMA ENABLED

enum hal_pcd_sof_status_t

HAL USB PCD SOF status definition.

Values:

enumerator HAL_PCD_SOF_DISABLED

HAL PCD SOF DISABLED

enumerator HAL_PCD_SOF_ENABLED

HAL PCD SOF ENABLED

enum hal_pcd_lpm_status_t

HAL USB PCD Low Power Management status definition.

Values:

enumerator HAL_PCD_LPM_DISABLED

HAL PCD Low Power Management DISABLED

enumerator HAL_PCD_LPM_ENABLED

HAL PCD Low Power Management ENABLED

enum hal_pcd_bcd_status_t

HAL USB PCD Battery Charging status definition.

Values:

enumerator HAL_PCD_BCD_DISABLED

HAL PCD USB Battery Charging DISABLED

enumerator HAL_PCD_BCD_ENABLED

HAL PCD USB Battery Charging ENABLED

enum hal_pcd_vbus_sense_status_t

HAL USB PCD Vbus Sensing status definition.

Values:

enumerator HAL_PCD_VBUS_SENSE_DISABLED

HAL PCD USB Vbus sensing DISABLED

enumerator HAL_PCD_VBUS_SENSE_ENABLED

HAL PCD USB Vbus sensing ENABLED

enum hal_pcd_bulk_db_status_t

HAL USB PCD bulk double buffer status definition.

Values:

enumerator HAL_PCD_BULK_DB_DISABLED

HAL PCD USB Bulk Double buffer mode DISABLED

enumerator HAL_PCD_BULK_DB_ENABLED

HAL PCD USB Bulk Double buffer mode ENABLED

enum hal_pcd_ep_type_t

HAL USB PCD Endpoint Type structure definition.

Values:

enumerator HAL_PCD_EP_TYPE_CTRL
enumerator HAL_PCD_EP_TYPE_ISOC
enumerator HAL_PCD_EP_TYPE_BULK
enumerator HAL_PCD_EP_TYPE_INTR
struct hal_pcd_config_t
#include <stm32c5xx_hal_pcd.h>

HAL USB PCD Instance configuration Structure definition.

Public Members

hal_pcd_dma_status_t dma_enable

USB DMA state

hal_pcd_speed_t pcd_speed

USB PCD core speed

hal_pcd_phy_module_t phy_interface

PHY interface

hal_pcd_sof_status_t sof_enable

SOF signal output enable status

hal_pcd_lpm_status_t lpm_enable

Link power management enable status

hal_pcd_bcd_status_t battery_charging_enable

Battery charging enable status

hal_pcd_vbus_sense_status_t vbus_sensing_enable

VBUS sensing enable status

hal_pcd_bulk_db_status_t bulk_doublebuffer_enable

Bulk endpoint double buffer mode enable status

struct hal_pcd_handle_s
#include <stm32c5xx_hal_pcd.h>

HAL USB PCD Handle Structure definition.

Public Members

hal_pcd_t instance

Register base address

volatile hal_pcd_state_t global_state

PCD communication state

volatile hal_pcd_port_state_t device_state

PCD Port Device state

volatile hal_pcd_lpm_state_t lpm_state

LPM State

volatile uint8_t usb_address

USB Device Address

volatile uint32_t last_error_codes

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

uint8_t endpoints_nbr

Number of device endpoints This parameter depends on the used USB core.

uint32_t setup [ 12 ]

Setup packet buffer

uint8_t * p_setup

Setup packet buffer pointer

hal_pcd_ep_t in_ep [ 6U ]

IN endpoint parameters

hal_pcd_ep_t out_ep [ 6U ]

OUT endpoint parameters

usb_core_mode_t current_mode

store Current Mode

hal_pcd_lpm_status_t lpm_active

Link power management active status This parameter can be set to ENABLE or DISABLE

uint32_t lpm_besl

Best Effort Service Latency

hal_pcd_bcd_status_t battery_charging_active

Battery charging active status This parameter can be set to ENABLE or DISABLE

usb_core_pcd_driver_t driver

USB low layer driver

void ( * p_irq_handler ) ( struct hal_pcd_handle_s * hpcd )

USB instance interrupt handler

const void * p_user_data

User Data Pointer

hal_pcd_cb_t p_sof_cb

USB HAL PCD SOF callback

hal_pcd_cb_t p_setup_stage_cb

USB HAL PCD Setup Stage callback

hal_pcd_cb_t p_reset_cb

USB HAL PCD Reset callback

hal_pcd_cb_t p_suspend_cb

USB HAL PCD Suspend callback

hal_pcd_cb_t p_resume_cb

USB HAL PCD Resume callback

hal_pcd_cb_t p_connect_cb

USB HAL PCD Connect callback

hal_pcd_cb_t p_disconnect_cb

USB HAL PCD Disconnect callback

hal_pcd_data_cb_t p_data_out_stage_cb

USB HAL PCD Data OUT Stage callback

hal_pcd_data_cb_t p_data_in_stage_cb

USB HAL PCD Data IN Stage callback

hal_pcd_iso_cb_t p_iso_out_incomplete_cb

USB HAL PCD ISO OUT Incomplete callback

hal_pcd_iso_cb_t p_iso_in_incomplete_cb

USB HAL PCD ISO IN Incomplete callback

hal_pcd_cb_t p_error_cb

USB HAL PCD Error callback

hal_pcd_data_cb_t p_ep_abort_transfer_cb

USB HAL PCD Endpoint Abort Transfer callback

hal_pcd_bcd_cb_t p_battery_charging_cb

USB HAL PCD Battery charging callback

hal_pcd_lpm_cb_t p_low_power_management_cb

USB HAL PCD USB Link Power management callback