|
|
@ -5,7 +5,7 @@ |
|
|
|
#include "zeeprom_fs.h" |
|
|
|
#include "znordic.h" |
|
|
|
|
|
|
|
static sample_data_fileinfo_t fileinfocache[MAX_FILE_NUM]; |
|
|
|
static sample_data_fileinfo_t fileinfocache[MAX_FILE_NUM * 2]; |
|
|
|
static uint8_t fileinfocache_count = 0; |
|
|
|
|
|
|
|
void sample_data_mgr_init() { zeeprom_fs_init(); } |
|
|
@ -14,6 +14,7 @@ void sample_data_mgr_uninit() { zeeprom_fs_uinit(); } |
|
|
|
sample_data_fileinfo_list_t* sample_data_mgr_get_fileinfo_list() { // |
|
|
|
static sample_data_fileinfo_list_t fileinfo_list; |
|
|
|
memset(&fileinfo_list, 0, sizeof(fileinfo_list)); |
|
|
|
fileinfocache_count = 0; |
|
|
|
|
|
|
|
// 读取所有记录信息 |
|
|
|
zeeprom_header_t* header = zeeprom_fs_get_header(); |
|
|
@ -22,13 +23,19 @@ sample_data_fileinfo_list_t* sample_data_mgr_get_fileinfo_list() { // |
|
|
|
zeeprom_sector_info_t* sectorinfo = &header->sectorinfos[i]; |
|
|
|
if (sectorinfo->usage == 1 && sectorinfo->sector_index_in_file == 0) { |
|
|
|
// 读取文件信息 |
|
|
|
sample_data_fileinfo_t* fileinfo = &fileinfocache[i]; |
|
|
|
if (fileinfocache_count >= ZARRAY_SIZE(fileinfocache)) { |
|
|
|
ZLOGE("fileinfocache_count >= MAX_FILE_NUM"); |
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
sample_data_fileinfo_t* fileinfo = &fileinfocache[fileinfocache_count]; |
|
|
|
fileinfo->fileuuid = sectorinfo->fileuuid; |
|
|
|
memcpy(fileinfo->filename, sectorinfo->filename, sizeof(fileinfo->filename)); |
|
|
|
fileinfo->size = zeeprom_fs_get_filesize_by_fileuuid(fileinfo->fileuuid); |
|
|
|
|
|
|
|
fileinfo_list.fileinfo[fileinfo_list.count] = fileinfo; |
|
|
|
fileinfo_list.count++; |
|
|
|
fileinfocache_count++; |
|
|
|
} |
|
|
|
} |
|
|
|
// 根据文件uuid排序,uuid最大的排在最前面 |
|
|
@ -44,7 +51,7 @@ sample_data_fileinfo_list_t* sample_data_mgr_get_fileinfo_list() { // |
|
|
|
return &fileinfo_list; |
|
|
|
} |
|
|
|
|
|
|
|
bool sample_data_mgr_storage_is_full() { return zeeprom_fs_get_file_num() >= MAX_FILE_NUM; } |
|
|
|
bool sample_data_mgr_storage_is_full() { return zeeprom_fs_get_file_num() >= MAX_FILE_NUM; } |
|
|
|
int32_t sample_data_mgr_get_file_num() { return zeeprom_fs_get_file_num(); } |
|
|
|
|
|
|
|
#if 1 |
|
|
|