[FATFileSystem] Fixed API integer widths

Several integer widths in the public API were incorrect, and have been
modified to match the underlying FatFs library.
pull/1457/head
neilt6 2015-11-26 09:59:52 -07:00
parent 7fcda4012c
commit 11dbe1d3ae
5 changed files with 24 additions and 24 deletions

View File

@ -323,14 +323,14 @@ int USBHostMSD::disk_initialize() {
return readCapacity(); return readCapacity();
} }
int USBHostMSD::disk_write(const uint8_t* buffer, uint64_t block_number, uint8_t count) { int USBHostMSD::disk_write(const uint8_t* buffer, uint32_t block_number, uint32_t count) {
USB_DBG("FILESYSTEM: write block: %lld, count: %d", block_number, count); USB_DBG("FILESYSTEM: write block: %lld, count: %d", block_number, count);
if (!disk_init) { if (!disk_init) {
disk_initialize(); disk_initialize();
} }
if (!disk_init) if (!disk_init)
return -1; return -1;
for (uint64_t b = block_number; b < block_number + count; b++) { for (uint32_t b = block_number; b < block_number + count; b++) {
if (dataTransfer((uint8_t*)buffer, b, 1, HOST_TO_DEVICE)) if (dataTransfer((uint8_t*)buffer, b, 1, HOST_TO_DEVICE))
return -1; return -1;
buffer += 512; buffer += 512;
@ -338,14 +338,14 @@ int USBHostMSD::disk_write(const uint8_t* buffer, uint64_t block_number, uint8_t
return 0; return 0;
} }
int USBHostMSD::disk_read(uint8_t* buffer, uint64_t block_number, uint8_t count) { int USBHostMSD::disk_read(uint8_t* buffer, uint32_t block_number, uint32_t count) {
USB_DBG("FILESYSTEM: read block: %lld, count: %d", block_number, count); USB_DBG("FILESYSTEM: read block: %lld, count: %d", block_number, count);
if (!disk_init) { if (!disk_init) {
disk_initialize(); disk_initialize();
} }
if (!disk_init) if (!disk_init)
return -1; return -1;
for (uint64_t b = block_number; b < block_number + count; b++) { for (uint32_t b = block_number; b < block_number + count; b++) {
if (dataTransfer((uint8_t*)buffer, b, 1, DEVICE_TO_HOST)) if (dataTransfer((uint8_t*)buffer, b, 1, DEVICE_TO_HOST))
return -1; return -1;
buffer += 512; buffer += 512;
@ -353,7 +353,7 @@ int USBHostMSD::disk_read(uint8_t* buffer, uint64_t block_number, uint8_t count)
return 0; return 0;
} }
uint64_t USBHostMSD::disk_sectors() { uint32_t USBHostMSD::disk_sectors() {
USB_DBG("FILESYSTEM: sectors"); USB_DBG("FILESYSTEM: sectors");
if (!disk_init) { if (!disk_init) {
disk_initialize(); disk_initialize();

View File

@ -59,10 +59,10 @@ protected:
// From FATFileSystem // From FATFileSystem
virtual int disk_initialize(); virtual int disk_initialize();
virtual int disk_status() {return 0;}; virtual int disk_status() {return 0;};
virtual int disk_read(uint8_t* buffer, uint64_t sector, uint8_t count); virtual int disk_read(uint8_t* buffer, uint32_t sector, uint32_t count);
virtual int disk_write(const uint8_t* buffer, uint64_t sector, uint8_t count); virtual int disk_write(const uint8_t* buffer, uint32_t sector, uint32_t count);
virtual int disk_sync() {return 0;}; virtual int disk_sync() {return 0;};
virtual uint64_t disk_sectors(); virtual uint32_t disk_sectors();
private: private:
USBHost * host; USBHost * host;
@ -104,7 +104,7 @@ private:
int getMaxLun(); int getMaxLun();
int blockSize; int blockSize;
uint64_t blockCount; uint32_t blockCount;
int msd_intf; int msd_intf;
bool msd_device_found; bool msd_device_found;

View File

@ -84,10 +84,10 @@ public:
virtual int disk_initialize() { return 0; } virtual int disk_initialize() { return 0; }
virtual int disk_status() { return 0; } virtual int disk_status() { return 0; }
virtual int disk_read(uint8_t * buffer, uint64_t sector, uint8_t count) = 0; virtual int disk_read(uint8_t *buffer, uint32_t sector, uint32_t count) = 0;
virtual int disk_write(const uint8_t * buffer, uint64_t sector, uint8_t count) = 0; virtual int disk_write(const uint8_t *buffer, uint32_t sector, uint32_t count) = 0;
virtual int disk_sync() { return 0; } virtual int disk_sync() { return 0; }
virtual uint64_t disk_sectors() = 0; virtual uint32_t disk_sectors() = 0;
}; };

View File

@ -223,12 +223,12 @@ int SDFileSystem::disk_initialize() {
return 0; return 0;
} }
int SDFileSystem::disk_write(const uint8_t* buffer, uint64_t block_number, uint8_t count) { int SDFileSystem::disk_write(const uint8_t* buffer, uint32_t block_number, uint32_t count) {
if (!_is_initialized) { if (!_is_initialized) {
return -1; return -1;
} }
for (uint64_t b = block_number; b < block_number + count; b++) { for (uint32_t b = block_number; b < block_number + count; b++) {
// set write address for single block (CMD24) // set write address for single block (CMD24)
if (_cmd(24, b * cdv) != 0) { if (_cmd(24, b * cdv) != 0) {
return 1; return 1;
@ -242,12 +242,12 @@ int SDFileSystem::disk_write(const uint8_t* buffer, uint64_t block_number, uint8
return 0; return 0;
} }
int SDFileSystem::disk_read(uint8_t* buffer, uint64_t block_number, uint8_t count) { int SDFileSystem::disk_read(uint8_t* buffer, uint32_t block_number, uint32_t count) {
if (!_is_initialized) { if (!_is_initialized) {
return -1; return -1;
} }
for (uint64_t b = block_number; b < block_number + count; b++) { for (uint32_t b = block_number; b < block_number + count; b++) {
// set read address for single block (CMD17) // set read address for single block (CMD17)
if (_cmd(17, b * cdv) != 0) { if (_cmd(17, b * cdv) != 0) {
return 1; return 1;
@ -271,7 +271,7 @@ int SDFileSystem::disk_status() {
} }
int SDFileSystem::disk_sync() { return 0; } int SDFileSystem::disk_sync() { return 0; }
uint64_t SDFileSystem::disk_sectors() { return _sectors; } uint32_t SDFileSystem::disk_sectors() { return _sectors; }
// PRIVATE FUNCTIONS // PRIVATE FUNCTIONS
@ -443,11 +443,11 @@ static uint32_t ext_bits(unsigned char *data, int msb, int lsb) {
return bits; return bits;
} }
uint64_t SDFileSystem::_sd_sectors() { uint32_t SDFileSystem::_sd_sectors() {
uint32_t c_size, c_size_mult, read_bl_len; uint32_t c_size, c_size_mult, read_bl_len;
uint32_t block_len, mult, blocknr, capacity; uint32_t block_len, mult, blocknr, capacity;
uint32_t hc_c_size; uint32_t hc_c_size;
uint64_t blocks; uint32_t blocks;
// CMD9, Response R2 (R1 byte + 16-byte block read) // CMD9, Response R2 (R1 byte + 16-byte block read)
if (_cmdx(9, 0) != 0) { if (_cmdx(9, 0) != 0) {

View File

@ -54,10 +54,10 @@ public:
SDFileSystem(PinName mosi, PinName miso, PinName sclk, PinName cs, const char* name); SDFileSystem(PinName mosi, PinName miso, PinName sclk, PinName cs, const char* name);
virtual int disk_initialize(); virtual int disk_initialize();
virtual int disk_status(); virtual int disk_status();
virtual int disk_read(uint8_t* buffer, uint64_t block_number, uint8_t count); virtual int disk_read(uint8_t* buffer, uint32_t block_number, uint32_t count);
virtual int disk_write(const uint8_t* buffer, uint64_t block_number, uint8_t count); virtual int disk_write(const uint8_t* buffer, uint32_t block_number, uint32_t count);
virtual int disk_sync(); virtual int disk_sync();
virtual uint64_t disk_sectors(); virtual uint32_t disk_sectors();
protected: protected:
@ -71,8 +71,8 @@ protected:
int _read(uint8_t * buffer, uint32_t length); int _read(uint8_t * buffer, uint32_t length);
int _write(const uint8_t *buffer, uint32_t length); int _write(const uint8_t *buffer, uint32_t length);
uint64_t _sd_sectors(); uint32_t _sd_sectors();
uint64_t _sectors; uint32_t _sectors;
void set_init_sck(uint32_t sck) { _init_sck = sck; } void set_init_sck(uint32_t sck) { _init_sck = sck; }
// Note: The highest SPI clock rate is 20 MHz for MMC and 25 MHz for SD // Note: The highest SPI clock rate is 20 MHz for MMC and 25 MHz for SD