dRonin  adbada4
dRonin firmware
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages

Glue between PiOS and STM32 libs. More...

Files

file  pios_usbhook.h
 APIs for PIOS_USBHOOK layer.
 

Data Structures

struct  pios_usbhook_descriptor
 
struct  pios_usb_ifops
 
struct  usb_if_entry
 
struct  usb_ep_entry
 

Typedefs

typedef bool(* pios_usbhook_epcb )(uintptr_t context, uint8_t epnum, uint16_t len)
 

Enumerations

enum  usb_string_desc
 

Functions

enum usb_string_desc __attribute__ ((packed))
 
void PIOS_USBHOOK_RegisterDevice (const uint8_t *desc, uint16_t desc_size)
 
void PIOS_USBHOOK_RegisterConfig (uint8_t config_id, const uint8_t *desc, uint16_t desc_size)
 
void PIOS_USBHOOK_RegisterString (enum usb_string_desc string_id, const uint8_t *desc, uint16_t desc_size)
 
void PIOS_USBHOOK_RegisterIfOps (uint8_t ifnum, struct pios_usb_ifops *ifops, uintptr_t context)
 
void PIOS_USBHOOK_RegisterEpInCallback (uint8_t epnum, uint16_t max_len, pios_usbhook_epcb cb, uintptr_t context)
 
void PIOS_USBHOOK_RegisterEpOutCallback (uint8_t epnum, uint16_t max_len, pios_usbhook_epcb cb, uintptr_t context)
 
void PIOS_USBHOOK_DeRegisterEpInCallback (uint8_t epnum)
 
void PIOS_USBHOOK_DeRegisterEpOutCallback (uint8_t epnum)
 
void PIOS_USBHOOK_CtrlTx (const uint8_t *buf, uint16_t len)
 
void PIOS_USBHOOK_CtrlRx (uint8_t *buf, uint16_t len)
 
void PIOS_USBHOOK_EndpointTx (uint8_t epnum, const uint8_t *buf, uint16_t len)
 
void PIOS_USBHOOK_EndpointRx (uint8_t epnum, uint8_t *buf, uint16_t len)
 
void PIOS_USBHOOK_Activate (void)
 
void PIOS_USBHOOK_Deactivate (void)
 
void PIOS_USB_HID_RegisterHidDescriptor (const uint8_t *desc, uint16_t desc_size)
 
void PIOS_USB_HID_RegisterHidReport (const uint8_t *desc, uint16_t desc_size)
 
static void PIOS_USBHOOK_Init (void)
 
static void PIOS_USBHOOK_Reset (void)
 
static void PIOS_USBHOOK_Status_In (void)
 
static void PIOS_USBHOOK_Status_Out (void)
 
static RESULT PIOS_USBHOOK_Data_Setup (uint8_t RequestNo)
 
static RESULT PIOS_USBHOOK_NoData_Setup (uint8_t RequestNo)
 
static RESULT PIOS_USBHOOK_Get_Interface_Setting (uint8_t Interface, uint8_t AlternateSetting)
 
static const uint8_t * PIOS_USBHOOK_GetDeviceDescriptor (uint16_t Length)
 
static const uint8_t * PIOS_USBHOOK_GetConfigDescriptor (uint16_t Length)
 
static const uint8_t * PIOS_USBHOOK_GetStringDescriptor (uint16_t Length)
 
static void PIOS_USBHOOK_SetConfiguration (void)
 
static void PIOS_USBHOOK_SetDeviceAddress (void)
 
static RESULT PIOS_USBHOOK_SetProtocol (void)
 
static const uint8_t * PIOS_USBHOOK_GetProtocolValue (uint16_t Length)
 
static const uint8_t * PIOS_USBHOOK_GetReportDescriptor (uint16_t Length)
 
static const uint8_t * PIOS_USBHOOK_GetHIDDescriptor (uint16_t Length)
 
uint8_t * PIOS_USB_CDC_SetLineCoding (uint16_t Length)
 
const uint8_t * PIOS_USB_CDC_GetLineCoding (uint16_t Length)
 
RESULT PIOS_USB_CDC_SetControlLineState (void)
 
void OTG_FS_IRQHandler (void)
 
static const uint8_t * PIOS_USBHOOK_DEV_GetDeviceDescriptor (uint8_t speed, uint16_t *length)
 
static const uint8_t * PIOS_USBHOOK_DEV_GetLangIDStrDescriptor (uint8_t speed, uint16_t *length)
 
static const uint8_t * PIOS_USBHOOK_DEV_GetManufacturerStrDescriptor (uint8_t speed, uint16_t *length)
 
static const uint8_t * PIOS_USBHOOK_DEV_GetProductStrDescriptor (uint8_t speed, uint16_t *length)
 
static const uint8_t * PIOS_USBHOOK_DEV_GetSerialStrDescriptor (uint8_t speed, uint16_t *length)
 
static const uint8_t * PIOS_USBHOOK_DEV_GetConfigurationStrDescriptor (uint8_t speed, uint16_t *length)
 
static const uint8_t * PIOS_USBHOOK_DEV_GetInterfaceStrDescriptor (uint8_t speed, uint16_t *length)
 
static void PIOS_USBHOOK_USR_Init (void)
 
static void PIOS_USBHOOK_USR_DeviceReset (uint8_t speed)
 
static void PIOS_USBHOOK_USR_DeviceConfigured (void)
 
static void PIOS_USBHOOK_USR_DeviceSuspended (void)
 
static void PIOS_USBHOOK_USR_DeviceResumed (void)
 
static void PIOS_USBHOOK_USR_DeviceConnected (void)
 
static void PIOS_USBHOOK_USR_DeviceDisconnected (void)
 
static uint8_t PIOS_USBHOOK_CLASS_Init (void *pdev, uint8_t cfgidx)
 
static uint8_t PIOS_USBHOOK_CLASS_DeInit (void *pdev, uint8_t cfgidx)
 
static uint8_t PIOS_USBHOOK_CLASS_Setup (void *pdev, USB_SETUP_REQ *req)
 
static uint8_t PIOS_USBHOOK_CLASS_EP0_TxSent (void *pdev)
 
static uint8_t PIOS_USBHOOK_CLASS_EP0_RxReady (void *pdev)
 
static uint8_t PIOS_USBHOOK_CLASS_DataIn (void *pdev, uint8_t epnum)
 
static uint8_t PIOS_USBHOOK_CLASS_DataOut (void *pdev, uint8_t epnum)
 
static uint8_t PIOS_USBHOOK_CLASS_SOF (void *pdev)
 
static uint8_t PIOS_USBHOOK_CLASS_IsoINIncomplete (void *pdev)
 
static uint8_t PIOS_USBHOOK_CLASS_IsoOUTIncomplete (void *pdev)
 
static const uint8_t * PIOS_USBHOOK_CLASS_GetConfigDescriptor (uint8_t speed, uint16_t *length)
 

Variables

const uint8_t * pios_usbhook_descriptor::descriptor
 
uint16_t pios_usbhook_descriptor::length
 
 USB_STRING_DESC_LANG = 0
 
 USB_STRING_DESC_VENDOR = 1
 
 USB_STRING_DESC_PRODUCT = 2
 
 USB_STRING_DESC_SERIAL = 3
 
void(* pios_usb_ifops::init )(uintptr_t context)
 
void(* pios_usb_ifops::deinit )(uintptr_t context)
 
bool(* pios_usb_ifops::setup )(uintptr_t context, struct usb_setup_request *req)
 
void(* pios_usb_ifops::ctrl_data_out )(uintptr_t context, const struct usb_setup_request *req)
 
struct pios_usb_ifops __attribute__
 
static ONE_DESCRIPTOR Device_Descriptor
 
static ONE_DESCRIPTOR Config_Descriptor
 
static ONE_DESCRIPTOR String_Descriptor [4]
 
static ONE_DESCRIPTOR Hid_Descriptor
 
static ONE_DESCRIPTOR Hid_Report_Descriptor
 
__IO uint8_t EXTI_Enable
 
uint32_t ProtocolValue
 
DEVICE Device_Table
 
DEVICE_PROP Device_Property
 
USER_STANDARD_REQUESTS User_Standard_Requests
 
static struct
pios_usbhook_descriptor 
Device_Descriptor
 
static struct
pios_usbhook_descriptor 
String_Descriptor [4]
 
static struct
pios_usbhook_descriptor 
Config_Descriptor
 
static USB_OTG_CORE_HANDLE pios_usb_otg_core_handle
 
static USBD_Class_cb_TypeDef class_callbacks
 
static USBD_DEVICE device_callbacks
 
static USBD_Usr_cb_TypeDef user_callbacks
 
struct pios_usb_ifopsusb_if_entry::ifops
 
uintptr_t usb_if_entry::context
 
static struct usb_if_entry usb_if_table [3]
 
pios_usbhook_epcb usb_ep_entry::cb
 
uintptr_t usb_ep_entry::context
 
uint16_t usb_ep_entry::max_len
 
static struct usb_ep_entry usb_epin_table [6]
 
static struct usb_ep_entry usb_epout_table [6]
 
static struct usb_setup_request usb_ep0_active_req
 

Detailed Description

Glue between PiOS and STM32 libs.

Typedef Documentation

typedef bool(* pios_usbhook_epcb)(uintptr_t context, uint8_t epnum, uint16_t len)

Definition at line 63 of file pios_usbhook.h.

Enumeration Type Documentation

Definition at line 43 of file pios_usbhook.h.

Function Documentation

enum usb_string_desc __attribute__ ( (packed)  )

Definition at line 38 of file serial_4way.h.

void OTG_FS_IRQHandler ( void  )

Definition at line 96 of file pios_usbhook.c.

const uint8_t* PIOS_USB_CDC_GetLineCoding ( uint16_t  Length)
RESULT PIOS_USB_CDC_SetControlLineState ( void  )
uint8_t* PIOS_USB_CDC_SetLineCoding ( uint16_t  Length)
void PIOS_USB_HID_RegisterHidDescriptor ( const uint8_t *  desc,
uint16_t  desc_size 
)

Definition at line 70 of file pios_usbhook.c.

void PIOS_USB_HID_RegisterHidReport ( const uint8_t *  desc,
uint16_t  desc_size 
)

Definition at line 78 of file pios_usbhook.c.

void PIOS_USBHOOK_Activate ( void  )

Definition at line 80 of file pios_usbhook.c.

static uint8_t PIOS_USBHOOK_CLASS_DataIn ( void *  pdev,
uint8_t  epnum 
)
static

Definition at line 401 of file pios_usbhook.c.

static uint8_t PIOS_USBHOOK_CLASS_DataOut ( void *  pdev,
uint8_t  epnum 
)
static

Definition at line 417 of file pios_usbhook.c.

static uint8_t PIOS_USBHOOK_CLASS_DeInit ( void *  pdev,
uint8_t  cfgidx 
)
static

Definition at line 336 of file pios_usbhook.c.

static uint8_t PIOS_USBHOOK_CLASS_EP0_RxReady ( void *  pdev)
static

Definition at line 388 of file pios_usbhook.c.

static uint8_t PIOS_USBHOOK_CLASS_EP0_TxSent ( void *  pdev)
static

Definition at line 383 of file pios_usbhook.c.

static const uint8_t* PIOS_USBHOOK_CLASS_GetConfigDescriptor ( uint8_t  speed,
uint16_t *  length 
)
static

Definition at line 448 of file pios_usbhook.c.

static uint8_t PIOS_USBHOOK_CLASS_Init ( void *  pdev,
uint8_t  cfgidx 
)
static

Definition at line 324 of file pios_usbhook.c.

static uint8_t PIOS_USBHOOK_CLASS_IsoINIncomplete ( void *  pdev)
static

Definition at line 438 of file pios_usbhook.c.

static uint8_t PIOS_USBHOOK_CLASS_IsoOUTIncomplete ( void *  pdev)
static

Definition at line 443 of file pios_usbhook.c.

static uint8_t PIOS_USBHOOK_CLASS_Setup ( void *  pdev,
USB_SETUP_REQ *  req 
)
static

Definition at line 349 of file pios_usbhook.c.

static uint8_t PIOS_USBHOOK_CLASS_SOF ( void *  pdev)
static

Definition at line 433 of file pios_usbhook.c.

void PIOS_USBHOOK_CtrlRx ( uint8_t *  buf,
uint16_t  len 
)

Definition at line 202 of file pios_usbhook.c.

void PIOS_USBHOOK_CtrlTx ( const uint8_t *  buf,
uint16_t  len 
)

Definition at line 197 of file pios_usbhook.c.

static RESULT PIOS_USBHOOK_Data_Setup ( uint8_t  RequestNo)
static

Definition at line 310 of file pios_usbhook.c.

void PIOS_USBHOOK_Deactivate ( void  )

Definition at line 84 of file pios_usbhook.c.

void PIOS_USBHOOK_DeRegisterEpInCallback ( uint8_t  epnum)

Definition at line 146 of file pios_usbhook.c.

void PIOS_USBHOOK_DeRegisterEpOutCallback ( uint8_t  epnum)

Definition at line 188 of file pios_usbhook.c.

static const uint8_t* PIOS_USBHOOK_DEV_GetConfigurationStrDescriptor ( uint8_t  speed,
uint16_t *  length 
)
static

Definition at line 253 of file pios_usbhook.c.

static const uint8_t* PIOS_USBHOOK_DEV_GetDeviceDescriptor ( uint8_t  speed,
uint16_t *  length 
)
static

Definition at line 223 of file pios_usbhook.c.

static const uint8_t* PIOS_USBHOOK_DEV_GetInterfaceStrDescriptor ( uint8_t  speed,
uint16_t *  length 
)
static

Definition at line 258 of file pios_usbhook.c.

static const uint8_t* PIOS_USBHOOK_DEV_GetLangIDStrDescriptor ( uint8_t  speed,
uint16_t *  length 
)
static

Definition at line 229 of file pios_usbhook.c.

static const uint8_t* PIOS_USBHOOK_DEV_GetManufacturerStrDescriptor ( uint8_t  speed,
uint16_t *  length 
)
static

Definition at line 235 of file pios_usbhook.c.

static const uint8_t* PIOS_USBHOOK_DEV_GetProductStrDescriptor ( uint8_t  speed,
uint16_t *  length 
)
static

Definition at line 241 of file pios_usbhook.c.

static const uint8_t* PIOS_USBHOOK_DEV_GetSerialStrDescriptor ( uint8_t  speed,
uint16_t *  length 
)
static

Definition at line 247 of file pios_usbhook.c.

void PIOS_USBHOOK_EndpointRx ( uint8_t  epnum,
uint8_t *  buf,
uint16_t  len 
)

Definition at line 214 of file pios_usbhook.c.

void PIOS_USBHOOK_EndpointTx ( uint8_t  epnum,
const uint8_t *  buf,
uint16_t  len 
)

Definition at line 207 of file pios_usbhook.c.

static RESULT PIOS_USBHOOK_Get_Interface_Setting ( uint8_t  Interface,
uint8_t  AlternateSetting 
)
static

Definition at line 522 of file pios_usbhook.c.

static const uint8_t * PIOS_USBHOOK_GetConfigDescriptor ( uint16_t  Length)
static

Definition at line 467 of file pios_usbhook.c.

static const uint8_t * PIOS_USBHOOK_GetDeviceDescriptor ( uint16_t  Length)
static

Definition at line 455 of file pios_usbhook.c.

static const uint8_t * PIOS_USBHOOK_GetHIDDescriptor ( uint16_t  Length)
static

Definition at line 508 of file pios_usbhook.c.

static const uint8_t * PIOS_USBHOOK_GetProtocolValue ( uint16_t  Length)
static

Definition at line 553 of file pios_usbhook.c.

static const uint8_t * PIOS_USBHOOK_GetReportDescriptor ( uint16_t  Length)
static

Definition at line 496 of file pios_usbhook.c.

static const uint8_t * PIOS_USBHOOK_GetStringDescriptor ( uint16_t  Length)
static

Definition at line 479 of file pios_usbhook.c.

static void PIOS_USBHOOK_Init ( void  )
static

Definition at line 158 of file pios_usbhook.c.

static RESULT PIOS_USBHOOK_NoData_Setup ( uint8_t  RequestNo)
static

Definition at line 412 of file pios_usbhook.c.

void PIOS_USBHOOK_RegisterConfig ( uint8_t  config_id,
const uint8_t *  desc,
uint16_t  desc_size 
)

Definition at line 52 of file pios_usbhook.c.

void PIOS_USBHOOK_RegisterDevice ( const uint8_t *  desc,
uint16_t  desc_size 
)

Definition at line 44 of file pios_usbhook.c.

void PIOS_USBHOOK_RegisterEpInCallback ( uint8_t  epnum,
uint16_t  max_len,
pios_usbhook_epcb  cb,
uintptr_t  context 
)

Definition at line 128 of file pios_usbhook.c.

void PIOS_USBHOOK_RegisterEpOutCallback ( uint8_t  epnum,
uint16_t  max_len,
pios_usbhook_epcb  cb,
uintptr_t  context 
)

Definition at line 156 of file pios_usbhook.c.

void PIOS_USBHOOK_RegisterIfOps ( uint8_t  ifnum,
struct pios_usb_ifops ifops,
uintptr_t  context 
)

Definition at line 113 of file pios_usbhook.c.

void PIOS_USBHOOK_RegisterString ( enum usb_string_desc  string_id,
const uint8_t *  desc,
uint16_t  desc_size 
)

Definition at line 60 of file pios_usbhook.c.

static void PIOS_USBHOOK_Reset ( void  )
static

Definition at line 178 of file pios_usbhook.c.

static void PIOS_USBHOOK_SetConfiguration ( void  )
static

Definition at line 255 of file pios_usbhook.c.

static void PIOS_USBHOOK_SetDeviceAddress ( void  )
static

Definition at line 273 of file pios_usbhook.c.

static RESULT PIOS_USBHOOK_SetProtocol ( void  )
static

Definition at line 539 of file pios_usbhook.c.

static void PIOS_USBHOOK_Status_In ( void  )
static

Definition at line 285 of file pios_usbhook.c.

static void PIOS_USBHOOK_Status_Out ( void  )
static

Definition at line 296 of file pios_usbhook.c.

static void PIOS_USBHOOK_USR_DeviceConfigured ( void  )
static

Definition at line 289 of file pios_usbhook.c.

static void PIOS_USBHOOK_USR_DeviceConnected ( void  )
static

Definition at line 304 of file pios_usbhook.c.

static void PIOS_USBHOOK_USR_DeviceDisconnected ( void  )
static

Definition at line 309 of file pios_usbhook.c.

static void PIOS_USBHOOK_USR_DeviceReset ( uint8_t  speed)
static

Definition at line 284 of file pios_usbhook.c.

static void PIOS_USBHOOK_USR_DeviceResumed ( void  )
static

Definition at line 299 of file pios_usbhook.c.

static void PIOS_USBHOOK_USR_DeviceSuspended ( void  )
static

Definition at line 294 of file pios_usbhook.c.

static void PIOS_USBHOOK_USR_Init ( void  )
static

Definition at line 273 of file pios_usbhook.c.

Variable Documentation

pios_usbhook_epcb usb_ep_entry::cb

Definition at line 123 of file pios_usbhook.c.

static USBD_Class_cb_TypeDef class_callbacks
static
Initial value:
= {
}
static uint8_t PIOS_USBHOOK_CLASS_DataIn(void *pdev, uint8_t epnum)
Definition: pios_usbhook.c:401
static uint8_t PIOS_USBHOOK_CLASS_DataOut(void *pdev, uint8_t epnum)
Definition: pios_usbhook.c:417
static uint8_t PIOS_USBHOOK_CLASS_Init(void *pdev, uint8_t cfgidx)
Definition: pios_usbhook.c:324
static const uint8_t * PIOS_USBHOOK_CLASS_GetConfigDescriptor(uint8_t speed, uint16_t *length)
Definition: pios_usbhook.c:448
static uint8_t PIOS_USBHOOK_CLASS_IsoINIncomplete(void *pdev)
Definition: pios_usbhook.c:438
static uint8_t PIOS_USBHOOK_CLASS_EP0_TxSent(void *pdev)
Definition: pios_usbhook.c:383
static uint8_t PIOS_USBHOOK_CLASS_DeInit(void *pdev, uint8_t cfgidx)
Definition: pios_usbhook.c:336
static uint8_t PIOS_USBHOOK_CLASS_Setup(void *pdev, USB_SETUP_REQ *req)
Definition: pios_usbhook.c:349
static uint8_t PIOS_USBHOOK_CLASS_IsoOUTIncomplete(void *pdev)
Definition: pios_usbhook.c:443
static uint8_t PIOS_USBHOOK_CLASS_SOF(void *pdev)
Definition: pios_usbhook.c:433
static uint8_t PIOS_USBHOOK_CLASS_EP0_RxReady(void *pdev)
Definition: pios_usbhook.c:388

Definition at line 76 of file pios_usbhook.c.

ONE_DESCRIPTOR Config_Descriptor
static

Definition at line 50 of file pios_usbhook.c.

struct pios_usbhook_descriptor Config_Descriptor
static

Definition at line 67 of file pios_usbhook.c.

uintptr_t usb_if_entry::context

Definition at line 110 of file pios_usbhook.c.

uintptr_t usb_ep_entry::context

Definition at line 124 of file pios_usbhook.c.

void(* pios_usb_ifops::ctrl_data_out)(uintptr_t context, const struct usb_setup_request *req)

Definition at line 58 of file pios_usbhook.h.

void(* pios_usb_ifops::deinit)(uintptr_t context)

Definition at line 56 of file pios_usbhook.h.

const uint8_t* pios_usbhook_descriptor::descriptor

Definition at line 39 of file pios_usbhook.h.

static USBD_DEVICE device_callbacks
static
Initial value:
= {
.GetDeviceDescriptor = PIOS_USBHOOK_DEV_GetDeviceDescriptor,
.GetLangIDStrDescriptor = PIOS_USBHOOK_DEV_GetLangIDStrDescriptor,
.GetManufacturerStrDescriptor = PIOS_USBHOOK_DEV_GetManufacturerStrDescriptor,
.GetProductStrDescriptor = PIOS_USBHOOK_DEV_GetProductStrDescriptor,
.GetSerialStrDescriptor = PIOS_USBHOOK_DEV_GetSerialStrDescriptor,
.GetConfigurationStrDescriptor = PIOS_USBHOOK_DEV_GetConfigurationStrDescriptor,
.GetInterfaceStrDescriptor = PIOS_USBHOOK_DEV_GetInterfaceStrDescriptor,
}
static const uint8_t * PIOS_USBHOOK_DEV_GetManufacturerStrDescriptor(uint8_t speed, uint16_t *length)
Definition: pios_usbhook.c:235
static const uint8_t * PIOS_USBHOOK_DEV_GetLangIDStrDescriptor(uint8_t speed, uint16_t *length)
Definition: pios_usbhook.c:229
static const uint8_t * PIOS_USBHOOK_DEV_GetSerialStrDescriptor(uint8_t speed, uint16_t *length)
Definition: pios_usbhook.c:247
static const uint8_t * PIOS_USBHOOK_DEV_GetConfigurationStrDescriptor(uint8_t speed, uint16_t *length)
Definition: pios_usbhook.c:253
static const uint8_t * PIOS_USBHOOK_DEV_GetDeviceDescriptor(uint8_t speed, uint16_t *length)
Definition: pios_usbhook.c:223
static const uint8_t * PIOS_USBHOOK_DEV_GetInterfaceStrDescriptor(uint8_t speed, uint16_t *length)
Definition: pios_usbhook.c:258
static const uint8_t * PIOS_USBHOOK_DEV_GetProductStrDescriptor(uint8_t speed, uint16_t *length)
Definition: pios_usbhook.c:241

Definition at line 77 of file pios_usbhook.c.

ONE_DESCRIPTOR Device_Descriptor
static

Definition at line 42 of file pios_usbhook.c.

struct pios_usbhook_descriptor Device_Descriptor
static

Definition at line 49 of file pios_usbhook.c.

DEVICE_PROP Device_Property
Initial value:
= {
.Process_Status_IN = PIOS_USBHOOK_Status_In,
.Process_Status_OUT = PIOS_USBHOOK_Status_Out,
.Class_Data_Setup = PIOS_USBHOOK_Data_Setup,
.Class_NoData_Setup = PIOS_USBHOOK_NoData_Setup,
.Class_Get_Interface_Setting = PIOS_USBHOOK_Get_Interface_Setting,
.GetDeviceDescriptor = PIOS_USBHOOK_GetDeviceDescriptor,
.GetConfigDescriptor = PIOS_USBHOOK_GetConfigDescriptor,
.GetStringDescriptor = PIOS_USBHOOK_GetStringDescriptor,
.RxEP_buffer = 0,
.MaxPacketSize = 0x40,
}
static const uint8_t * PIOS_USBHOOK_GetStringDescriptor(uint16_t Length)
Definition: pios_usbhook.c:479
static const uint8_t * PIOS_USBHOOK_GetConfigDescriptor(uint16_t Length)
Definition: pios_usbhook.c:467
static void PIOS_USBHOOK_Status_Out(void)
Definition: pios_usbhook.c:296
static void PIOS_USBHOOK_Status_In(void)
Definition: pios_usbhook.c:285
static RESULT PIOS_USBHOOK_NoData_Setup(uint8_t RequestNo)
Definition: pios_usbhook.c:412
static RESULT PIOS_USBHOOK_Get_Interface_Setting(uint8_t Interface, uint8_t AlternateSetting)
Definition: pios_usbhook.c:522
static void PIOS_USBHOOK_Reset(void)
Definition: pios_usbhook.c:178
static RESULT PIOS_USBHOOK_Data_Setup(uint8_t RequestNo)
Definition: pios_usbhook.c:310
static const uint8_t * PIOS_USBHOOK_GetDeviceDescriptor(uint16_t Length)
Definition: pios_usbhook.c:455
static void PIOS_USBHOOK_Init(void)
Definition: pios_usbhook.c:158

Definition at line 116 of file pios_usbhook.c.

DEVICE Device_Table
Initial value:
= {
1
}
#define PIOS_USB_BOARD_EP_NUM

Definition at line 100 of file pios_usbhook.c.

__IO uint8_t EXTI_Enable

Definition at line 96 of file pios_usbhook.c.

ONE_DESCRIPTOR Hid_Descriptor
static

Definition at line 68 of file pios_usbhook.c.

ONE_DESCRIPTOR Hid_Report_Descriptor
static

Definition at line 76 of file pios_usbhook.c.

struct pios_usb_ifops* usb_if_entry::ifops

Definition at line 109 of file pios_usbhook.c.

void(* pios_usb_ifops::init)(uintptr_t context)

Definition at line 55 of file pios_usbhook.h.

uint16_t pios_usbhook_descriptor::length

Definition at line 40 of file pios_usbhook.h.

uint16_t usb_ep_entry::max_len

Definition at line 125 of file pios_usbhook.c.

USB_OTG_CORE_HANDLE pios_usb_otg_core_handle
static

Definition at line 75 of file pios_usbhook.c.

uint32_t ProtocolValue

Definition at line 98 of file pios_usbhook.c.

bool(* pios_usb_ifops::setup)(uintptr_t context, struct usb_setup_request *req)

Definition at line 57 of file pios_usbhook.h.

struct pios_usbhook_descriptor String_Descriptor[4]
static

Definition at line 57 of file pios_usbhook.c.

ONE_DESCRIPTOR String_Descriptor[4]
static

Definition at line 58 of file pios_usbhook.c.

struct usb_setup_request usb_ep0_active_req
static

Definition at line 348 of file pios_usbhook.c.

struct usb_ep_entry usb_epin_table[6]
static

Definition at line 127 of file pios_usbhook.c.

struct usb_ep_entry usb_epout_table[6]
static

Definition at line 155 of file pios_usbhook.c.

struct usb_if_entry usb_if_table[3]
static

Definition at line 112 of file pios_usbhook.c.

USB_STRING_DESC_LANG = 0

Definition at line 36 of file pios_usbhook.h.

USB_STRING_DESC_PRODUCT = 2

Definition at line 38 of file pios_usbhook.h.

USB_STRING_DESC_SERIAL = 3

Definition at line 39 of file pios_usbhook.h.

USB_STRING_DESC_VENDOR = 1

Definition at line 37 of file pios_usbhook.h.

static USBD_Usr_cb_TypeDef user_callbacks
static
Initial value:
= {
.DeviceConfigured = PIOS_USBHOOK_USR_DeviceConfigured,
.DeviceDisconnected = PIOS_USBHOOK_USR_DeviceDisconnected,
}
static void PIOS_USBHOOK_USR_DeviceConnected(void)
Definition: pios_usbhook.c:304
static void PIOS_USBHOOK_USR_Init(void)
Definition: pios_usbhook.c:273
static void PIOS_USBHOOK_USR_DeviceConfigured(void)
Definition: pios_usbhook.c:289
static void PIOS_USBHOOK_USR_DeviceReset(uint8_t speed)
Definition: pios_usbhook.c:284
static void PIOS_USBHOOK_USR_DeviceDisconnected(void)
Definition: pios_usbhook.c:309
static void PIOS_USBHOOK_USR_DeviceResumed(void)
Definition: pios_usbhook.c:299
static void PIOS_USBHOOK_USR_DeviceSuspended(void)
Definition: pios_usbhook.c:294

Definition at line 78 of file pios_usbhook.c.

USER_STANDARD_REQUESTS User_Standard_Requests
Initial value:
= {
.User_GetConfiguration = NOP_Process,
.User_SetConfiguration = PIOS_USBHOOK_SetConfiguration,
.User_GetInterface = NOP_Process,
.User_SetInterface = NOP_Process,
.User_GetStatus = NOP_Process,
.User_ClearFeature = NOP_Process,
.User_SetEndPointFeature = NOP_Process,
.User_SetDeviceFeature = NOP_Process,
.User_SetDeviceAddress = PIOS_USBHOOK_SetDeviceAddress
}
static void PIOS_USBHOOK_SetDeviceAddress(void)
Definition: pios_usbhook.c:273
static void PIOS_USBHOOK_SetConfiguration(void)
Definition: pios_usbhook.c:255

Definition at line 134 of file pios_usbhook.c.