Version of USBDevice that works for KL25Z on Mbed OS2.

Fork of USBDevice by mbed official

Revision:
11:eeb3cbbaa996
Parent:
8:335f2506f422
Child:
14:d495202c90f4
diff -r 1e3d126a322b -r eeb3cbbaa996 USBMSD/USBMSD.cpp
--- a/USBMSD/USBMSD.cpp	Thu May 30 17:16:57 2013 +0100
+++ b/USBMSD/USBMSD.cpp	Mon Aug 05 14:13:36 2013 +0300
@@ -192,16 +192,16 @@
             sendCSW();
             break;
 
-            // an error has occured
-        case ERROR:
+        // the host has received the CSW -> we wait a CBW
+        case WAIT_CSW:
+            stage = READ_CBW;
+            break;
+
+        // an error has occured
+        default:
             stallEndpoint(EPBULK_IN);
             sendCSW();
             break;
-
-            // the host has received the CSW -> we wait a CBW
-        case WAIT_CSW:
-            stage = READ_CBW;
-            break;
     }
     return true;
 }
@@ -284,15 +284,15 @@
 
 bool USBMSD::readFormatCapacity() {
     uint8_t capacity[] = { 0x00, 0x00, 0x00, 0x08,
-                           (BlockCount >> 24) & 0xff,
-                           (BlockCount >> 16) & 0xff,
-                           (BlockCount >> 8) & 0xff,
-                           (BlockCount >> 0) & 0xff,
+                           (uint8_t)((BlockCount >> 24) & 0xff),
+                           (uint8_t)((BlockCount >> 16) & 0xff),
+                           (uint8_t)((BlockCount >> 8) & 0xff),
+                           (uint8_t)((BlockCount >> 0) & 0xff),
 
                            0x02,
-                           (BlockSize >> 16) & 0xff,
-                           (BlockSize >> 8) & 0xff,
-                           (BlockSize >> 0) & 0xff,
+                           (uint8_t)((BlockSize >> 16) & 0xff),
+                           (uint8_t)((BlockSize >> 8) & 0xff),
+                           (uint8_t)((BlockSize >> 0) & 0xff),
                          };
     if (!write(capacity, sizeof(capacity))) {
         return false;
@@ -303,15 +303,15 @@
 
 bool USBMSD::readCapacity (void) {
     uint8_t capacity[] = {
-        ((BlockCount - 1) >> 24) & 0xff,
-        ((BlockCount - 1) >> 16) & 0xff,
-        ((BlockCount - 1) >> 8) & 0xff,
-        ((BlockCount - 1) >> 0) & 0xff,
+        (uint8_t)(((BlockCount - 1) >> 24) & 0xff),
+        (uint8_t)(((BlockCount - 1) >> 16) & 0xff),
+        (uint8_t)(((BlockCount - 1) >> 8) & 0xff),
+        (uint8_t)(((BlockCount - 1) >> 0) & 0xff),
 
-        (BlockSize >> 24) & 0xff,
-        (BlockSize >> 16) & 0xff,
-        (BlockSize >> 8) & 0xff,
-        (BlockSize >> 0) & 0xff,
+        (uint8_t)((BlockSize >> 24) & 0xff),
+        (uint8_t)((BlockSize >> 16) & 0xff),
+        (uint8_t)((BlockSize >> 8) & 0xff),
+        (uint8_t)((BlockSize >> 0) & 0xff),
     };
     if (!write(capacity, sizeof(capacity))) {
         return false;