|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
-
-
- #if defined(__arm__)
- #include "SD_t3.h"
- #ifdef USE_TEENSY3_OPTIMIZED_CODE
-
- bool File::next_cluster()
- {
- SDCache fat;
- uint32_t lba, cluster;
-
- lba = SDClass::fat1_begin_lba;
- cluster = current_cluster;
-
-
-
-
-
- if (SDClass::fat_type == 16) {
- SDClass::sector_t *s = fat.read(lba + (cluster >> 8), true);
- if (!s) return false;
- cluster = s->u16[cluster & 255];
- } else {
- SDClass::sector_t *s = fat.read(lba + (cluster >> 7), true);
- if (!s) return false;
- cluster = s->u32[cluster & 127];
- }
-
-
-
-
-
- current_cluster = cluster;
- if (cluster > SDClass::max_cluster) return false;
- return true;
- }
-
- #endif
- #endif
|