Data Structures | |
struct | TLineCoding |
Defines | |
#define | DSCR_DEVICE 1 |
#define | DSCR_CONFIG 2 |
#define | DSCR_STRING 3 |
#define | DSCR_INTRFC 4 |
#define | DSCR_ENDPNT 5 |
#define | CS_INTERFACE 0x24 |
#define | CS_ENDPOINT 0x25 |
#define | LE_WORD(x) ((x)&0xFF),((x)>>8) |
#define | SET_LINE_CODING 0x20 |
#define | GET_LINE_CODING 0x21 |
#define | SET_CONTROL_LINE_STATE 0x22 |
#define | MIOS32_USB_MIDI_NUM_INTERFACES 2 |
#define | MIOS32_USB_MIDI_AC_INTERFACE_IX 0x00 |
#define | MIOS32_USB_MIDI_AS_INTERFACE_IX 0x01 |
#define | MIOS32_USB_MIDI_INTERFACE_OFFSET 2 |
#define | MIOS32_USB_MIDI_SIZ_CLASS_DESC (7+MIOS32_USB_MIDI_NUM_PORTS*(6+6+9+9)+9+(4+MIOS32_USB_MIDI_NUM_PORTS)+9+(4+MIOS32_USB_MIDI_NUM_PORTS)) |
#define | MIOS32_USB_MIDI_SIZ_CONFIG_DESC (9+MIOS32_USB_MIDI_USE_AC_INTERFACE*(9+9)+MIOS32_USB_MIDI_SIZ_CLASS_DESC) |
#define | MIOS32_USB_MIDI_SIZ_CLASS_DESC_SINGLE_USB (7+1*(6+6+9+9)+9+(4+1)+9+(4+1)) |
#define | MIOS32_USB_MIDI_SIZ_CONFIG_DESC_SINGLE_USB (9+MIOS32_USB_MIDI_USE_AC_INTERFACE*(9+9)+MIOS32_USB_MIDI_SIZ_CLASS_DESC_SINGLE_USB) |
#define | MIOS32_USB_COM_NUM_INTERFACES 2 |
#define | MIOS32_USB_COM_SIZ_CONFIG_DESC 58 |
#define | MIOS32_USB_COM_CC_INTERFACE_IX (MIOS32_USB_MIDI_INTERFACE_OFFSET + 0x00) |
#define | MIOS32_USB_COM_CD_INTERFACE_IX (MIOS32_USB_MIDI_INTERFACE_OFFSET + 0x01) |
#define | MIOS32_USB_COM_INTERFACE_OFFSET (MIOS32_USB_MIDI_INTERFACE_OFFSET + 2) |
#define | MIOS32_USB_NUM_INTERFACES (MIOS32_USB_MIDI_NUM_INTERFACES + MIOS32_USB_COM_NUM_INTERFACES) |
#define | MIOS32_USB_SIZ_CONFIG_DESC (9 + MIOS32_USB_MIDI_SIZ_CONFIG_DESC + MIOS32_USB_COM_SIZ_CONFIG_DESC) |
#define | MIOS32_USB_SIZ_CONFIG_DESC_SINGLE_USB (9 + MIOS32_USB_MIDI_SIZ_CONFIG_DESC_SINGLE_USB) |
#define | MIOS32_USB_SIZ_DEVICE_DESC 18 |
#define | BUFFER_SIZE 100 |
#define | DSCR_DEVICE 1 |
#define | DSCR_CONFIG 2 |
#define | DSCR_STRING 3 |
#define | DSCR_INTRFC 4 |
#define | DSCR_ENDPNT 5 |
#define | CS_INTERFACE 0x24 |
#define | CS_ENDPOINT 0x25 |
#define | IMR_MSK (CNTR_CTRM | CNTR_RESETM) |
#define | MIOS32_USB_MIDI_NUM_INTERFACES 2 |
#define | MIOS32_USB_MIDI_AC_INTERFACE_IX 0x00 |
#define | MIOS32_USB_MIDI_AS_INTERFACE_IX 0x01 |
#define | MIOS32_USB_MIDI_INTERFACE_OFFSET 2 |
#define | MIOS32_USB_MIDI_SIZ_CLASS_DESC (7+MIOS32_USB_MIDI_NUM_PORTS*(6+6+9+9)+9+(4+MIOS32_USB_MIDI_NUM_PORTS)+9+(4+MIOS32_USB_MIDI_NUM_PORTS)) |
#define | MIOS32_USB_MIDI_SIZ_CONFIG_DESC (9+MIOS32_USB_MIDI_USE_AC_INTERFACE*(9+9)+MIOS32_USB_MIDI_SIZ_CLASS_DESC) |
#define | MIOS32_USB_MIDI_SIZ_CLASS_DESC_SINGLE_USB (7+1*(6+6+9+9)+9+(4+1)+9+(4+1)) |
#define | MIOS32_USB_MIDI_SIZ_CONFIG_DESC_SINGLE_USB (9+MIOS32_USB_MIDI_USE_AC_INTERFACE*(9+9)+MIOS32_USB_MIDI_SIZ_CLASS_DESC) |
#define | MIOS32_USB_COM_NUM_INTERFACES 2 |
#define | MIOS32_USB_COM_SIZ_CONFIG_DESC 58 |
#define | MIOS32_USB_COM_CC_INTERFACE_IX (MIOS32_USB_MIDI_INTERFACE_OFFSET + 0x00) |
#define | MIOS32_USB_COM_CD_INTERFACE_IX (MIOS32_USB_MIDI_INTERFACE_OFFSET + 0x01) |
#define | MIOS32_USB_COM_INTERFACE_OFFSET (MIOS32_USB_MIDI_INTERFACE_OFFSET + 2) |
#define | MIOS32_USB_NUM_INTERFACES (MIOS32_USB_MIDI_NUM_INTERFACES + MIOS32_USB_COM_NUM_INTERFACES) |
#define | MIOS32_USB_SIZ_CONFIG_DESC (9 + MIOS32_USB_MIDI_SIZ_CONFIG_DESC + MIOS32_USB_COM_SIZ_CONFIG_DESC) |
#define | MIOS32_USB_SIZ_CONFIG_DESC_SINGLE_USB (9 + MIOS32_USB_MIDI_SIZ_CONFIG_DESC_SINGLE_USB) |
#define | MIOS32_USB_SIZ_DEVICE_DESC 18 |
#define | DSCR_DEVICE 1 |
#define | DSCR_CONFIG 2 |
#define | DSCR_STRING 3 |
#define | DSCR_INTRFC 4 |
#define | DSCR_ENDPNT 5 |
#define | CS_INTERFACE 0x24 |
#define | CS_ENDPOINT 0x25 |
#define | MIOS32_USB_MIDI_NUM_INTERFACES 2 |
#define | MIOS32_USB_MIDI_AC_INTERFACE_IX 0x00 |
#define | MIOS32_USB_MIDI_AS_INTERFACE_IX 0x01 |
#define | MIOS32_USB_MIDI_INTERFACE_OFFSET 2 |
#define | MIOS32_USB_MIDI_SIZ_CLASS_DESC (7+MIOS32_USB_MIDI_NUM_PORTS*(6+6+9+9)+9+(4+MIOS32_USB_MIDI_NUM_PORTS)+9+(4+MIOS32_USB_MIDI_NUM_PORTS)) |
#define | MIOS32_USB_MIDI_SIZ_CONFIG_DESC (9+MIOS32_USB_MIDI_USE_AC_INTERFACE*(9+9)+MIOS32_USB_MIDI_SIZ_CLASS_DESC) |
#define | MIOS32_USB_MIDI_SIZ_CLASS_DESC_SINGLE_USB (7+1*(6+6+9+9)+9+(4+1)+9+(4+1)) |
#define | MIOS32_USB_MIDI_SIZ_CONFIG_DESC_SINGLE_USB (9+MIOS32_USB_MIDI_USE_AC_INTERFACE*(9+9)+MIOS32_USB_MIDI_SIZ_CLASS_DESC) |
#define | MIOS32_USB_COM_NUM_INTERFACES 2 |
#define | MIOS32_USB_COM_SIZ_CONFIG_DESC 58 |
#define | MIOS32_USB_COM_CC_INTERFACE_IX (MIOS32_USB_MIDI_INTERFACE_OFFSET + 0x00) |
#define | MIOS32_USB_COM_CD_INTERFACE_IX (MIOS32_USB_MIDI_INTERFACE_OFFSET + 0x01) |
#define | MIOS32_USB_COM_INTERFACE_OFFSET (MIOS32_USB_MIDI_INTERFACE_OFFSET + 2) |
#define | MIOS32_USB_NUM_INTERFACES (MIOS32_USB_MIDI_NUM_INTERFACES + MIOS32_USB_COM_NUM_INTERFACES) |
#define | MIOS32_USB_SIZ_CONFIG_DESC (9 + MIOS32_USB_MIDI_SIZ_CONFIG_DESC + MIOS32_USB_COM_SIZ_CONFIG_DESC) |
#define | MIOS32_USB_SIZ_CONFIG_DESC_SINGLE_USB (9 + MIOS32_USB_MIDI_SIZ_CONFIG_DESC_SINGLE_USB) |
#define | MIOS32_USB_SIZ_DEVICE_DESC 18 |
Typedefs | |
typedef enum _DEVICE_STATE | DEVICE_STATE |
Enumerations | |
enum | _DEVICE_STATE { UNCONNECTED, ATTACHED, POWERED, SUSPENDED, ADDRESSED, CONFIGURED } |
Functions | |
s32 | MIOS32_USB_Init (u32 mode) |
void | USB_IRQHandler (void) |
s32 | MIOS32_USB_IsInitialized (void) |
s32 | MIOS32_USB_ForceSingleUSB (void) |
void | USB_LP_CAN1_RX0_IRQHandler (void) |
void | USB_OTG_BSP_Init (USB_OTG_CORE_HANDLE *pdev) |
USB_OTG_BSP_Init Initilizes BSP configurations. | |
void | USB_OTG_BSP_EnableInterrupt (USB_OTG_CORE_HANDLE *pdev) |
USB_OTG_BSP_EnableInterrupt Enabele USB Global interrupt. | |
void | OTG_FS_IRQHandler (void) |
This function handles OTG_FS Handler. | |
void | USB_OTG_BSP_uDelay (const uint32_t usec) |
USB_OTG_BSP_uDelay This function provides delay time in micro sec. | |
void | USB_OTG_BSP_mDelay (const uint32_t msec) |
USB_OTG_BSP_mDelay This function provides delay time in milli sec. | |
void | USB_OTG_BSP_ConfigVBUS (USB_OTG_CORE_HANDLE *pdev) |
USB_OTG_BSP_ConfigVBUS Configures the IO for the Vbus and OverCurrent. | |
void | USB_OTG_BSP_DriveVBUS (USB_OTG_CORE_HANDLE *pdev, uint8_t state) |
BSP_Drive_VBUS Drives the Vbus signal through IO. | |
s32 | MIOS32_USB_ForceDeviceMode (void) |
Variables | |
DEVICE_INFO * | pInformation |
DEVICE | Device_Table |
DEVICE_PROP * | pProperty |
USER_STANDARD_REQUESTS * | pUser_Standard_Requests |
void(* | pEpInt_IN [7])(void) |
void(* | pEpInt_OUT [7])(void) |
__ALIGN_BEGIN USB_OTG_CORE_HANDLE USB_OTG_dev | __ALIGN_END |
uint32_t | USB_rx_buffer [MIOS32_USB_MIDI_DATA_OUT_SIZE/4] |
const USBH_Class_cb_TypeDef | MIOS32_MIDI_USBH_Callbacks |
USB driver for MIOS32
Uses LPCUSB driver from Bertrik Sikken (bertrik@sikken.nl) which is installed under $MIOS32_PATH/drivers/LPC17xx/usbstack -> http://sourceforge.net/projects/lpcusb
Applications shouldn't call these functions directly, instead please use MIOS32_COM or MIOS32_MIDI layer functions
USB driver for MIOS32
Based on driver included in STM32 USB library Some code copied and modified from Virtual_COM_Port demo
Applications shouldn't call these functions directly, instead please use MIOS32_COM or MIOS32_MIDI layer functions
#define BUFFER_SIZE 100 |
#define CS_ENDPOINT 0x25 |
#define CS_ENDPOINT 0x25 |
#define CS_ENDPOINT 0x25 |
#define CS_INTERFACE 0x24 |
#define CS_INTERFACE 0x24 |
#define CS_INTERFACE 0x24 |
#define DSCR_CONFIG 2 |
#define DSCR_CONFIG 2 |
#define DSCR_CONFIG 2 |
#define DSCR_DEVICE 1 |
#define DSCR_DEVICE 1 |
#define DSCR_DEVICE 1 |
#define DSCR_ENDPNT 5 |
#define DSCR_ENDPNT 5 |
#define DSCR_ENDPNT 5 |
#define DSCR_INTRFC 4 |
#define DSCR_INTRFC 4 |
#define DSCR_INTRFC 4 |
#define DSCR_STRING 3 |
#define DSCR_STRING 3 |
#define DSCR_STRING 3 |
#define GET_LINE_CODING 0x21 |
#define IMR_MSK (CNTR_CTRM | CNTR_RESETM) |
#define MIOS32_USB_COM_CC_INTERFACE_IX (MIOS32_USB_MIDI_INTERFACE_OFFSET + 0x00) |
#define MIOS32_USB_COM_CC_INTERFACE_IX (MIOS32_USB_MIDI_INTERFACE_OFFSET + 0x00) |
#define MIOS32_USB_COM_CC_INTERFACE_IX (MIOS32_USB_MIDI_INTERFACE_OFFSET + 0x00) |
#define MIOS32_USB_COM_CD_INTERFACE_IX (MIOS32_USB_MIDI_INTERFACE_OFFSET + 0x01) |
#define MIOS32_USB_COM_CD_INTERFACE_IX (MIOS32_USB_MIDI_INTERFACE_OFFSET + 0x01) |
#define MIOS32_USB_COM_CD_INTERFACE_IX (MIOS32_USB_MIDI_INTERFACE_OFFSET + 0x01) |
#define MIOS32_USB_COM_INTERFACE_OFFSET (MIOS32_USB_MIDI_INTERFACE_OFFSET + 2) |
#define MIOS32_USB_COM_INTERFACE_OFFSET (MIOS32_USB_MIDI_INTERFACE_OFFSET + 2) |
#define MIOS32_USB_COM_INTERFACE_OFFSET (MIOS32_USB_MIDI_INTERFACE_OFFSET + 2) |
#define MIOS32_USB_COM_NUM_INTERFACES 2 |
#define MIOS32_USB_COM_NUM_INTERFACES 2 |
#define MIOS32_USB_COM_NUM_INTERFACES 2 |
#define MIOS32_USB_COM_SIZ_CONFIG_DESC 58 |
#define MIOS32_USB_COM_SIZ_CONFIG_DESC 58 |
#define MIOS32_USB_COM_SIZ_CONFIG_DESC 58 |
#define MIOS32_USB_MIDI_AC_INTERFACE_IX 0x00 |
#define MIOS32_USB_MIDI_AC_INTERFACE_IX 0x00 |
#define MIOS32_USB_MIDI_AC_INTERFACE_IX 0x00 |
#define MIOS32_USB_MIDI_AS_INTERFACE_IX 0x01 |
#define MIOS32_USB_MIDI_AS_INTERFACE_IX 0x01 |
#define MIOS32_USB_MIDI_AS_INTERFACE_IX 0x01 |
#define MIOS32_USB_MIDI_INTERFACE_OFFSET 2 |
#define MIOS32_USB_MIDI_INTERFACE_OFFSET 2 |
#define MIOS32_USB_MIDI_INTERFACE_OFFSET 2 |
#define MIOS32_USB_MIDI_NUM_INTERFACES 2 |
#define MIOS32_USB_MIDI_NUM_INTERFACES 2 |
#define MIOS32_USB_MIDI_NUM_INTERFACES 2 |
#define MIOS32_USB_MIDI_SIZ_CLASS_DESC (7+MIOS32_USB_MIDI_NUM_PORTS*(6+6+9+9)+9+(4+MIOS32_USB_MIDI_NUM_PORTS)+9+(4+MIOS32_USB_MIDI_NUM_PORTS)) |
#define MIOS32_USB_MIDI_SIZ_CLASS_DESC (7+MIOS32_USB_MIDI_NUM_PORTS*(6+6+9+9)+9+(4+MIOS32_USB_MIDI_NUM_PORTS)+9+(4+MIOS32_USB_MIDI_NUM_PORTS)) |
#define MIOS32_USB_MIDI_SIZ_CLASS_DESC (7+MIOS32_USB_MIDI_NUM_PORTS*(6+6+9+9)+9+(4+MIOS32_USB_MIDI_NUM_PORTS)+9+(4+MIOS32_USB_MIDI_NUM_PORTS)) |
#define MIOS32_USB_MIDI_SIZ_CLASS_DESC_SINGLE_USB (7+1*(6+6+9+9)+9+(4+1)+9+(4+1)) |
#define MIOS32_USB_MIDI_SIZ_CLASS_DESC_SINGLE_USB (7+1*(6+6+9+9)+9+(4+1)+9+(4+1)) |
#define MIOS32_USB_MIDI_SIZ_CLASS_DESC_SINGLE_USB (7+1*(6+6+9+9)+9+(4+1)+9+(4+1)) |
#define MIOS32_USB_MIDI_SIZ_CONFIG_DESC (9+MIOS32_USB_MIDI_USE_AC_INTERFACE*(9+9)+MIOS32_USB_MIDI_SIZ_CLASS_DESC) |
#define MIOS32_USB_MIDI_SIZ_CONFIG_DESC (9+MIOS32_USB_MIDI_USE_AC_INTERFACE*(9+9)+MIOS32_USB_MIDI_SIZ_CLASS_DESC) |
#define MIOS32_USB_MIDI_SIZ_CONFIG_DESC (9+MIOS32_USB_MIDI_USE_AC_INTERFACE*(9+9)+MIOS32_USB_MIDI_SIZ_CLASS_DESC) |
#define MIOS32_USB_MIDI_SIZ_CONFIG_DESC_SINGLE_USB (9+MIOS32_USB_MIDI_USE_AC_INTERFACE*(9+9)+MIOS32_USB_MIDI_SIZ_CLASS_DESC) |
#define MIOS32_USB_MIDI_SIZ_CONFIG_DESC_SINGLE_USB (9+MIOS32_USB_MIDI_USE_AC_INTERFACE*(9+9)+MIOS32_USB_MIDI_SIZ_CLASS_DESC) |
#define MIOS32_USB_MIDI_SIZ_CONFIG_DESC_SINGLE_USB (9+MIOS32_USB_MIDI_USE_AC_INTERFACE*(9+9)+MIOS32_USB_MIDI_SIZ_CLASS_DESC_SINGLE_USB) |
#define MIOS32_USB_NUM_INTERFACES (MIOS32_USB_MIDI_NUM_INTERFACES + MIOS32_USB_COM_NUM_INTERFACES) |
#define MIOS32_USB_NUM_INTERFACES (MIOS32_USB_MIDI_NUM_INTERFACES + MIOS32_USB_COM_NUM_INTERFACES) |
#define MIOS32_USB_NUM_INTERFACES (MIOS32_USB_MIDI_NUM_INTERFACES + MIOS32_USB_COM_NUM_INTERFACES) |
#define MIOS32_USB_SIZ_CONFIG_DESC (9 + MIOS32_USB_MIDI_SIZ_CONFIG_DESC + MIOS32_USB_COM_SIZ_CONFIG_DESC) |
#define MIOS32_USB_SIZ_CONFIG_DESC (9 + MIOS32_USB_MIDI_SIZ_CONFIG_DESC + MIOS32_USB_COM_SIZ_CONFIG_DESC) |
#define MIOS32_USB_SIZ_CONFIG_DESC (9 + MIOS32_USB_MIDI_SIZ_CONFIG_DESC + MIOS32_USB_COM_SIZ_CONFIG_DESC) |
#define MIOS32_USB_SIZ_CONFIG_DESC_SINGLE_USB (9 + MIOS32_USB_MIDI_SIZ_CONFIG_DESC_SINGLE_USB) |
#define MIOS32_USB_SIZ_CONFIG_DESC_SINGLE_USB (9 + MIOS32_USB_MIDI_SIZ_CONFIG_DESC_SINGLE_USB) |
#define MIOS32_USB_SIZ_CONFIG_DESC_SINGLE_USB (9 + MIOS32_USB_MIDI_SIZ_CONFIG_DESC_SINGLE_USB) |
#define MIOS32_USB_SIZ_DEVICE_DESC 18 |
#define MIOS32_USB_SIZ_DEVICE_DESC 18 |
#define MIOS32_USB_SIZ_DEVICE_DESC 18 |
#define SET_CONTROL_LINE_STATE 0x22 |
#define SET_LINE_CODING 0x20 |
typedef enum _DEVICE_STATE DEVICE_STATE |
enum _DEVICE_STATE |
s32 MIOS32_USB_ForceDeviceMode | ( | void | ) |
s32 MIOS32_USB_ForceSingleUSB | ( | void | ) |
Initializes USB interface
[in] | mode |
|
s32 MIOS32_USB_IsInitialized | ( | void | ) |
Allows to query, if the USB interface has already been initialized.
This function is used by the bootloader to avoid a reconnection, it isn't relevant for typical applications!
void OTG_FS_IRQHandler | ( | void | ) |
This function handles OTG_FS Handler.
None |
None |
void USB_IRQHandler | ( | void | ) |
Interrupt handler for USB
void USB_LP_CAN1_RX0_IRQHandler | ( | void | ) |
Interrupt handler for USB
void USB_OTG_BSP_ConfigVBUS | ( | USB_OTG_CORE_HANDLE * | pdev | ) |
USB_OTG_BSP_ConfigVBUS Configures the IO for the Vbus and OverCurrent.
None |
None |
void USB_OTG_BSP_DriveVBUS | ( | USB_OTG_CORE_HANDLE * | pdev, | |
uint8_t | state | |||
) |
BSP_Drive_VBUS Drives the Vbus signal through IO.
state | : VBUS states |
None |
void USB_OTG_BSP_EnableInterrupt | ( | USB_OTG_CORE_HANDLE * | pdev | ) |
USB_OTG_BSP_EnableInterrupt Enabele USB Global interrupt.
None |
None |
void USB_OTG_BSP_Init | ( | USB_OTG_CORE_HANDLE * | pdev | ) |
USB_OTG_BSP_Init Initilizes BSP configurations.
None |
None |
void USB_OTG_BSP_mDelay | ( | const uint32_t | msec | ) |
USB_OTG_BSP_mDelay This function provides delay time in milli sec.
msec | : Value of delay required in milli sec |
None |
void USB_OTG_BSP_uDelay | ( | const uint32_t | usec | ) |
USB_OTG_BSP_uDelay This function provides delay time in micro sec.
usec | : Value of delay required in micro sec |
None |
const __ALIGN_BEGIN u8 USBD_LangIDDesc [4] __ALIGN_END |
{ 4, USB_DESC_TYPE_STRING, 0x09, 0x04, }
DEVICE Device_Table |
const USBH_Class_cb_TypeDef MIOS32_MIDI_USBH_Callbacks |
void(* pEpInt_IN[7])(void) |
{ NOP_Process, NOP_Process, NOP_Process, NOP_Process, NOP_Process, NOP_Process, NOP_Process }
void(* pEpInt_OUT[7])(void) |
{ NOP_Process, NOP_Process, NOP_Process, NOP_Process, NOP_Process, NOP_Process, NOP_Process }
DEVICE_INFO* pInformation |
DEVICE_PROP* pProperty |
USER_STANDARD_REQUESTS* pUser_Standard_Requests |
uint32_t USB_rx_buffer[MIOS32_USB_MIDI_DATA_OUT_SIZE/4] |