Microchip® Advanced Software Framework

uhc.h File Reference

Interface of the USB Host Controller (UHC)

Copyright (c) 2011-2018 Microchip Technology Inc. and its subsidiaries.

#include "conf_usb_host.h"
#include "usb_protocol.h"
#include "uhd.h"

Data Structures

struct  uhc_device_t
 Structure to store device information. More...
 

Macros

#define UHC_BSS(x)   COMPILER_ALIGNED(x)
 
#define UHC_DATA(x)   COMPILER_ALIGNED(x)
 

Enumerations

enum  uhc_enum_status_t {
  UHC_ENUM_SUCCESS = 0,
  UHC_ENUM_UNSUPPORTED,
  UHC_ENUM_OVERCURRENT,
  UHC_ENUM_FAIL,
  UHC_ENUM_HARDWARE_LIMIT,
  UHC_ENUM_SOFTWARE_LIMIT,
  UHC_ENUM_MEMORY_LIMIT,
  UHC_ENUM_DISCONNECT
}
 Enumeration status Used in UHC_ENUM_EVENT() callback when a USB device enumeration is completed. More...
 

Functions

Functions to control the USB host stack
void uhc_start (void)
 Starts the host mode. More...
 
void uhc_stop (bool b_id_stop)
 Stops the host mode. More...
 
void uhc_suspend (bool b_remotewakeup)
 Suspends a USB line. More...
 
bool uhc_is_suspend (void)
 Test if the suspend state is enabled on the USB line. More...
 
void uhc_resume (void)
 Resumes the USB line. More...
 
bool uhc_suspend_lpm (bool b_remotewakeup, uint8_t hird)
 Suspends a USB line through LPM feature. More...
 
User functions to manage a device
uint8_t uhc_get_device_number (void)
 Returns the number of connected devices. More...
 
char * uhc_dev_get_string_manufacturer (uhc_device_t *dev)
 Gets the USB string manufacturer from a USB device. More...
 
char * uhc_dev_get_string_product (uhc_device_t *dev)
 Gets the USB string product from a USB device. More...
 
char * uhc_dev_get_string_serial (uhc_device_t *dev)
 Gets the USB string serial from a USB device. More...
 
char * uhc_dev_get_string (uhc_device_t *dev, uint8_t str_id)
 Gets a USB string from a USB device. More...
 
uint16_t uhc_dev_get_power (uhc_device_t *dev)
 Gets the maximum consumption of a device (mA) More...
 
uhd_speed_t uhc_dev_get_speed (uhc_device_t *dev)
 Returns the current device speed. More...
 
bool uhc_dev_is_high_speed_support (uhc_device_t *dev)
 Tests if the device supports the USB high speed This function can wait the end of a setup request and the timing can be long (1ms to 5s). More...
 
void uhc_dev_reset (uhc_device_t *dev)
 Reset to re-enumerate. More...