From 94f94260ace13688285fc8c62687079b26c18854 Mon Sep 17 00:00:00 2001 From: jaseg Date: Sun, 20 Dec 2020 15:18:02 +0100 Subject: Submodule-cache WIP --- fw/midi-dials/Middlewares/USBMIDI/Src/usbd_midi.c | 199 ---------------------- 1 file changed, 199 deletions(-) delete mode 100644 fw/midi-dials/Middlewares/USBMIDI/Src/usbd_midi.c (limited to 'fw/midi-dials/Middlewares/USBMIDI/Src') diff --git a/fw/midi-dials/Middlewares/USBMIDI/Src/usbd_midi.c b/fw/midi-dials/Middlewares/USBMIDI/Src/usbd_midi.c deleted file mode 100644 index b43229c..0000000 --- a/fw/midi-dials/Middlewares/USBMIDI/Src/usbd_midi.c +++ /dev/null @@ -1,199 +0,0 @@ -/** - ****************************************************************************** - * @file usbd_midi.c - ****************************************************************************** - - (CC at)2016 by D.F.Mac. @TripArts Music - -*/ - -/* Includes ------------------------------------------------------------------*/ -#include "usbd_midi.h" -#include "usbd_desc.h" -#include "stm32f0xx_hal_conf.h" -#include "usbd_ctlreq.h" -#include "stm32f0xx_hal.h" - -static uint8_t USBD_MIDI_Init (USBD_HandleTypeDef *pdev, uint8_t cfgidx); -static uint8_t USBD_MIDI_DeInit (USBD_HandleTypeDef *pdev, uint8_t cfgidx); -static uint8_t USBD_MIDI_DataIn (USBD_HandleTypeDef *pdev, uint8_t epnum); -static uint8_t USBD_MIDI_DataOut (USBD_HandleTypeDef *pdev, uint8_t epnum); - -static uint8_t *USBD_MIDI_GetCfgDesc (uint16_t *length); -//uint8_t *USBD_MIDI_GetDeviceQualifierDescriptor (uint16_t *length); -USBD_HandleTypeDef *pInstance = NULL; - -uint32_t APP_Rx_ptr_in = 0; -uint32_t APP_Rx_ptr_out = 0; -uint32_t APP_Rx_length = 0; -uint8_t USB_Tx_State = 0; - -__ALIGN_BEGIN uint8_t USB_Rx_Buffer[MIDI_DATA_OUT_PACKET_SIZE] __ALIGN_END ; -__ALIGN_BEGIN uint8_t APP_Rx_Buffer[APP_RX_DATA_SIZE] __ALIGN_END ; - -/* USB Standard Device Descriptor */ -/* -__ALIGN_BEGIN static uint8_t USBD_MIDI_DeviceQualifierDesc[USB_LEN_DEV_QUALIFIER_DESC] __ALIGN_END = -{ - USB_LEN_DEV_QUALIFIER_DESC, - USB_DESC_TYPE_DEVICE_QUALIFIER, - 0x00, - 0x02, - 0x00, - 0x00, - 0x00, - 0x40, - 0x01, - 0x00, -}; -*/ - -/* USB MIDI interface class callbacks structure */ -USBD_ClassTypeDef USBD_MIDI = -{ - USBD_MIDI_Init, - USBD_MIDI_DeInit, - NULL, - NULL, - NULL, - USBD_MIDI_DataIn, - USBD_MIDI_DataOut, - NULL, - NULL, - NULL, - NULL,// HS - USBD_MIDI_GetCfgDesc,// FS - NULL,// OTHER SPEED - NULL,// DEVICE_QUALIFIER -}; - -/* USB MIDI device Configuration Descriptor */ -__ALIGN_BEGIN uint8_t USBD_MIDI_CfgDesc[USB_MIDI_CONFIG_DESC_SIZ] __ALIGN_END = -{ - // configuration descriptor - 0x09, 0x02, 0x65 + 6+6+9+9+1+1, 0x00, 0x02, 0x01, 0x00, 0x80, 0x0A, - - // The Audio Interface Collection - 0x09, 0x04, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, // Standard AC Interface Descriptor - 0x09, 0x24, 0x01, 0x00, 0x01, 0x09, 0x00, 0x01, 0x01, // Class-specific AC Interface Descriptor - 0x09, 0x04, 0x01, 0x00, 0x02, 0x01, 0x03, 0x00, 0x00, // MIDIStreaming Interface Descriptors - 0x07, 0x24, 0x01, 0x00, 0x01, 0x25 + 6+6+9+9, 0x00, // Class-Specific MS Interface Header Descriptor - - // MIDI IN JACKS - 0x06, 0x24, 0x02, 0x01, 0x01, 0x00,//MIDI-IN 1 (embedded) - 0x06, 0x24, 0x02, 0x02, 0x02, 0x00,//MIDI-IN 1 (external) - - 0x06, 0x24, 0x02, 0x01, 0x11, 0x00,//MIDI-IN 2 (embedded) - 0x06, 0x24, 0x02, 0x02, 0x12, 0x00,//MIDI-IN 2 (external) - - // MIDI OUT JACKS - 0x09, 0x24, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x00,//MIDI-OUT 1 (embedded) - 0x09, 0x24, 0x03, 0x02, 0x04, 0x01, 0x01, 0x01, 0x00,//MIDI-OUT 1 (external) - - 0x09, 0x24, 0x03, 0x01, 0x13, 0x01, 0x12, 0x01, 0x00,//MIDI-OUT 2 (embedded) - 0x09, 0x24, 0x03, 0x02, 0x14, 0x01, 0x11, 0x01, 0x00,//MIDI-OUT 2 (external) - - // OUT endpoint descriptor - 0x09, 0x05, MIDI_OUT_EP, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, - 0x06, 0x25, 0x01, 0x02, 0x01, 0x11, - - // IN endpoint descriptor - 0x09, 0x05, MIDI_IN_EP, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, - 0x06, 0x25, 0x01, 0x02, 0x03, 0x13, -}; - -static uint8_t USBD_MIDI_Init(USBD_HandleTypeDef *pdev, uint8_t cfgidx){ - pInstance = pdev; - USBD_LL_OpenEP(pdev,MIDI_IN_EP,USBD_EP_TYPE_BULK,MIDI_DATA_IN_PACKET_SIZE); - USBD_LL_OpenEP(pdev,MIDI_OUT_EP,USBD_EP_TYPE_BULK,MIDI_DATA_OUT_PACKET_SIZE); - USBD_LL_PrepareReceive(pdev,MIDI_OUT_EP,(uint8_t*)(USB_Rx_Buffer),MIDI_DATA_OUT_PACKET_SIZE); - return 0; -} - -static uint8_t USBD_MIDI_DeInit (USBD_HandleTypeDef *pdev, uint8_t cfgidx){ - pInstance = NULL; - USBD_LL_CloseEP(pdev,MIDI_IN_EP); - USBD_LL_CloseEP(pdev,MIDI_OUT_EP); - return 0; -} - -static uint8_t USBD_MIDI_DataIn (USBD_HandleTypeDef *pdev, uint8_t epnum){ - - if (USB_Tx_State == 1){ - USB_Tx_State = 0; - } - return USBD_OK; -} - -static uint8_t USBD_MIDI_DataOut (USBD_HandleTypeDef *pdev, uint8_t epnum) -{ - uint16_t USB_Rx_Cnt; - - USBD_MIDI_ItfTypeDef *pmidi; - pmidi = (USBD_MIDI_ItfTypeDef *)(pdev->pUserData); - - USB_Rx_Cnt = ((PCD_HandleTypeDef*)pdev->pData)->OUT_ep[epnum].xfer_count; - - pmidi->pIf_MidiRx((uint8_t *)&USB_Rx_Buffer, USB_Rx_Cnt); - - USBD_LL_PrepareReceive(pdev,MIDI_OUT_EP,(uint8_t*)(USB_Rx_Buffer),MIDI_DATA_OUT_PACKET_SIZE); - return USBD_OK; -} - -void USBD_MIDI_SendPacket (){ - uint16_t USB_Tx_ptr; - uint16_t USB_Tx_length; - - if(USB_Tx_State != 1){ - if (APP_Rx_ptr_out == APP_RX_DATA_SIZE){ - APP_Rx_ptr_out = 0; - } - - if(APP_Rx_ptr_out == APP_Rx_ptr_in){ - USB_Tx_State = 0; - return; - } - - if(APP_Rx_ptr_out > APP_Rx_ptr_in){ - APP_Rx_length = APP_RX_DATA_SIZE - APP_Rx_ptr_out; - }else{ - APP_Rx_length = APP_Rx_ptr_in - APP_Rx_ptr_out; - } - - if (APP_Rx_length > MIDI_DATA_IN_PACKET_SIZE){ - USB_Tx_ptr = APP_Rx_ptr_out; - USB_Tx_length = MIDI_DATA_IN_PACKET_SIZE; - APP_Rx_ptr_out += MIDI_DATA_IN_PACKET_SIZE; - APP_Rx_length -= MIDI_DATA_IN_PACKET_SIZE; - }else{ - USB_Tx_ptr = APP_Rx_ptr_out; - USB_Tx_length = APP_Rx_length; - APP_Rx_ptr_out += APP_Rx_length; - APP_Rx_length = 0; - } - USB_Tx_State = 1; - USBD_LL_Transmit (pInstance, MIDI_IN_EP,(uint8_t*)&APP_Rx_Buffer[USB_Tx_ptr],USB_Tx_length); - } -} - -static uint8_t *USBD_MIDI_GetCfgDesc (uint16_t *length){ - *length = sizeof (USBD_MIDI_CfgDesc); - return USBD_MIDI_CfgDesc; -} - -//uint8_t *USBD_MIDI_GetDeviceQualifierDescriptor (uint16_t *length){ -// *length = sizeof (USBD_MIDI_DeviceQualifierDesc); -// return USBD_MIDI_DeviceQualifierDesc; -//} - -uint8_t USBD_MIDI_RegisterInterface(USBD_HandleTypeDef *pdev, USBD_MIDI_ItfTypeDef *fops) -{ - uint8_t ret = USBD_FAIL; - - if(fops != NULL){ - pdev->pUserData= fops; - ret = USBD_OK; - } - - return ret; -} -- cgit