|
|
|
@ -44,6 +44,20 @@ void DataStore::begin() { |
|
|
|
#include <InternalFileSystem.h> |
|
|
|
#endif |
|
|
|
|
|
|
|
#if defined(NRF52_PLATFORM) || defined(STM32_PLATFORM) |
|
|
|
int _countLfsBlock(void *p, lfs_block_t block){ |
|
|
|
lfs_size_t *size = (lfs_size_t*) p; |
|
|
|
*size += 1; |
|
|
|
return 0; |
|
|
|
} |
|
|
|
|
|
|
|
lfs_ssize_t _getLfsUsedBlockCount() { |
|
|
|
lfs_size_t size = 0; |
|
|
|
lfs_traverse(InternalFS._getFS(), _countLfsBlock, &size); |
|
|
|
return size; |
|
|
|
} |
|
|
|
#endif |
|
|
|
|
|
|
|
uint32_t DataStore::getStorageUsedKb() const { |
|
|
|
#if defined(ESP32) |
|
|
|
return SPIFFS.usedBytes() / 1024; |
|
|
|
@ -52,8 +66,13 @@ uint32_t DataStore::getStorageUsedKb() const { |
|
|
|
info.usedBytes = 0; |
|
|
|
_fs->info(info); |
|
|
|
return info.usedBytes / 1024; |
|
|
|
#elif defined(NRF52_PLATFORM) || defined(STM32_PLATFORM) |
|
|
|
const lfs_config* config = InternalFS._getFS()->cfg; |
|
|
|
int usedBlockCount = _getLfsUsedBlockCount(); |
|
|
|
int usedBytes = config->block_size * usedBlockCount; |
|
|
|
return usedBytes / 1024; |
|
|
|
#else |
|
|
|
return 0; // TODO: InternalFS. method?
|
|
|
|
return 0; |
|
|
|
#endif |
|
|
|
} |
|
|
|
|
|
|
|
@ -65,8 +84,12 @@ uint32_t DataStore::getStorageTotalKb() const { |
|
|
|
info.totalBytes = 0; |
|
|
|
_fs->info(info); |
|
|
|
return info.totalBytes / 1024; |
|
|
|
#elif defined(NRF52_PLATFORM) || defined(STM32_PLATFORM) |
|
|
|
const lfs_config* config = InternalFS._getFS()->cfg; |
|
|
|
int totalBytes = config->block_size * config->block_count; |
|
|
|
return totalBytes / 1024; |
|
|
|
#else |
|
|
|
return 0; // TODO: InternalFS. method?
|
|
|
|
return 0; |
|
|
|
#endif |
|
|
|
} |
|
|
|
|
|
|
|
|