Browse Source

fix sample data bug

master
zhaohe 1 year ago
parent
commit
78e7eb7ef6
  1. 13
      app/src/sample_data_manager.c

13
app/src/sample_data_manager.c

@ -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

Loading…
Cancel
Save