More USB fixes
authorMichael McMaster <michael@codesrc.com>
Mon, 15 Feb 2021 11:45:26 +0000 (21:45 +1000)
committerMichael McMaster <michael@codesrc.com>
Mon, 15 Feb 2021 11:45:26 +0000 (21:45 +1000)
src/firmware/usb_device/usbd_composite.c
src/firmware/usb_device/usbd_msc_storage_sd.c

index 87715b84969dbce2c91f3ac7ab5d65eb3891a8c6..aea505da3c5023dece4e75ea386c62e3f63e9fb1 100755 (executable)
 
 
 // Support 2 USB devices.
+#ifdef S2S_USB_FS
 __ALIGN_BEGIN static USBD_CompositeClassData fsClassData __ALIGN_END;
+#endif
+#ifdef S2S_USB_HS
 __ALIGN_BEGIN static USBD_CompositeClassData hsClassData __ALIGN_END;
+#endif
 
 static uint8_t  USBD_Composite_Init (USBD_HandleTypeDef *pdev, uint8_t cfgidx);
 
@@ -270,6 +274,7 @@ static uint8_t  USBD_Composite_Init(USBD_HandleTypeDef *pdev, uint8_t cfgidx)
        USBD_LL_OpenEP(pdev, HID_EPOUT_ADDR, USBD_EP_TYPE_INTR, HID_EPOUT_SIZE);
 
        USBD_CompositeClassData* classData;
+#ifdef S2S_USB_HS
     if(pdev->dev_speed == USBD_SPEED_HIGH)
        {
                classData = &hsClassData;
@@ -278,7 +283,9 @@ static uint8_t  USBD_Composite_Init(USBD_HandleTypeDef *pdev, uint8_t cfgidx)
        USBD_LL_OpenEP(pdev, MSC_EPOUT_ADDR, USBD_EP_TYPE_BULK, MSC_MAX_HS_PACKET);
        USBD_LL_OpenEP(pdev, MSC_EPIN_ADDR, USBD_EP_TYPE_BULK, MSC_MAX_HS_PACKET);
        }
-       else
+#endif
+#ifdef S2S_USB_FS
+    if(pdev->dev_speed != USBD_SPEED_HIGH)
        {
                classData = &fsClassData;
 
@@ -286,6 +293,8 @@ static uint8_t  USBD_Composite_Init(USBD_HandleTypeDef *pdev, uint8_t cfgidx)
        USBD_LL_OpenEP(pdev, MSC_EPOUT_ADDR, USBD_EP_TYPE_BULK, MSC_MAX_FS_PACKET);
        USBD_LL_OpenEP(pdev, MSC_EPIN_ADDR, USBD_EP_TYPE_BULK, MSC_MAX_FS_PACKET);
        }
+#endif
+
        classData->hid.state = HID_IDLE;
        classData->hid.reportReady = 0;
        classData->DataInReady = 0;
index afa86e67c538adc27018115b59b4e7ad48b9326d..132d7a561bd87060ca757752519039c1b0d09372 100755 (executable)
@@ -151,7 +151,7 @@ int8_t s2s_usbd_storage_Read (uint8_t lun,
        {
                BSP_SD_ReadBlocks_DMA(
                        buf,
-                       (cfg->sdSectorStart + blk_addr) * 512ll,
+                       cfg->sdSectorStart + blk_addr,
                        blk_len);
        }
        else
@@ -166,7 +166,7 @@ int8_t s2s_usbd_storage_Read (uint8_t lun,
                                uint8_t partial[512] S2S_DMA_ALIGN;
                                BSP_SD_ReadBlocks_DMA(
                                        partial,
-                                       sdSectorNum * 512LL,
+                                       sdSectorNum,
                                        1);
                                sdSectorNum++;
 
@@ -197,7 +197,7 @@ int8_t s2s_usbd_storage_Write (uint8_t lun,
        {
                BSP_SD_WriteBlocks_DMA(
                        buf,
-                       (cfg->sdSectorStart + blk_addr) * 512ll,
+                       cfg->sdSectorStart + blk_addr,
                        blk_len);
        }
        else
@@ -214,7 +214,7 @@ int8_t s2s_usbd_storage_Write (uint8_t lun,
 
                                BSP_SD_WriteBlocks_DMA(
                                        partial,
-                                       sdSectorNum * 512LL,
+                                       sdSectorNum,
                                        1);
                                sdSectorNum++;