新增文件检测功能,找不到索引就新建文件
This commit is contained in:
parent
0095bbf59d
commit
a2605479a5
@ -40,7 +40,7 @@ extern "C" {
|
||||
#define LEDC_DUTY (4096) // Set duty to 50%. (2 ** 13) * 50% = 4096
|
||||
#define LEDC_FREQUENCY (4000) // Frequency in Hertz. Set frequency at 4 kHz
|
||||
|
||||
#define DEFAULT_LIGHT (9000)
|
||||
#define DEFAULT_LIGHT (900)
|
||||
|
||||
/* 定义进行电池AD采样的通道 */
|
||||
#define BATTERY_ADC_CHANNEL ADC_CHANNEL_8
|
||||
|
||||
@ -251,21 +251,35 @@ void flux_sd_init(void)
|
||||
/**
|
||||
* @brief 获取文件索引
|
||||
*
|
||||
* 每次开机后重置当前文件索引值
|
||||
* 1.每次开机后重置当前文件索引值
|
||||
* 以该索引值新建日志文件、测试结果输出文件
|
||||
*
|
||||
* 2.当用于存储索引的文件不存在时进行自动新建索引文件
|
||||
*/
|
||||
esp_err_t sd_current_fileIndex_get(void)
|
||||
{
|
||||
/* 读取当前文件索引值 */
|
||||
ESP_LOGI(SD_TAG, "Opening file %s", INDEX_FILE_NAME);
|
||||
|
||||
/* 判断文件是否存在 */
|
||||
if (access(INDEX_FILE_NAME, F_OK) == -1)
|
||||
{
|
||||
/*当文件不存在时创建文件*/
|
||||
FILE *new_f = fopen(INDEX_FILE_NAME, "w");
|
||||
fprintf(new_f, "0");
|
||||
fclose(new_f);
|
||||
sdData.file_index = 0;
|
||||
|
||||
ESP_LOGI(SD_TAG, "File not found, creating new file");
|
||||
|
||||
}else{
|
||||
|
||||
/* 当文件存在时直接获取当前索引值 */
|
||||
FILE *f = fopen(INDEX_FILE_NAME, "r");
|
||||
if (f == NULL) {
|
||||
ESP_LOGE(SD_TAG, "Failed to open file for reading");
|
||||
return ESP_FAIL;
|
||||
}
|
||||
|
||||
char line[EXAMPLE_MAX_CHAR_SIZE];
|
||||
fgets(line, sizeof(line), f);
|
||||
|
||||
@ -273,15 +287,17 @@ esp_err_t sd_current_fileIndex_get(void)
|
||||
sdData.file_index = atoi(line);
|
||||
ESP_LOGI(SD_TAG, "Read from file: '%s' , current Index = %d", line,sdData.file_index);
|
||||
|
||||
}
|
||||
|
||||
/* 重置索引值 */
|
||||
f = fopen(INDEX_FILE_NAME, "w");
|
||||
if (f == NULL)
|
||||
FILE *new_index_f = fopen(INDEX_FILE_NAME, "w");
|
||||
if (new_index_f == NULL)
|
||||
{
|
||||
return ESP_FAIL;
|
||||
}
|
||||
|
||||
fprintf(f, "%d", sdData.file_index+1);
|
||||
fclose(f);
|
||||
fprintf(new_index_f, "%d", sdData.file_index+1);
|
||||
fclose(new_index_f);
|
||||
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user