Selaa lähdekoodia

Use raw SD card access for contiguous files.

When the image file is detected to be contiguous, it gets
automatically converted to a raw mapping.
This avoids SdFat internal overhead.
Petteri Aimonen 3 vuotta sitten
vanhempi
sitoutus
1c98755230
1 muutettua tiedostoa jossa 12 lisäystä ja 0 poistoa
  1. 12 0
      src/ZuluSCSI_disk.cpp

+ 12 - 0
src/ZuluSCSI_disk.cpp

@@ -93,6 +93,18 @@ public:
         else
         {
             m_fsfile = SD.open(filename, O_RDWR);
+
+            uint32_t begin = 0, end = 0;
+            if (m_fsfile.contiguousRange(&begin, &end))
+            {
+                // Convert to raw mapping, this avoids some unnecessary
+                // access overhead in SdFat library.
+                m_israw = true;
+                m_blockdev = SD.card();
+                m_bgnsector = begin;
+                m_endsector = end;
+                m_fsfile.close();
+            }
         }
     }