45 lines
1.0 KiB
C
45 lines
1.0 KiB
C
//
|
|
// Created by cfif on 27.02.23.
|
|
//
|
|
#include "ModemAlmanah.h"
|
|
|
|
// Инициализация записи файла альманаха
|
|
bool initWriteAlmanah(tFs *fs) {
|
|
FRESULT fr;
|
|
|
|
fr = f_unlink_i(fs, file_tmp_almhs);
|
|
}
|
|
|
|
// Запись файла альманаха
|
|
bool writeAlmanah(tModemMain *env) {
|
|
bool ret;
|
|
FRESULT fr;
|
|
|
|
fr = f_unlink_i(env->fs, file_tmp_almhs);
|
|
|
|
FIL file;
|
|
|
|
fr = f_open_i(env->fs, &file, (TCHAR *) file_tmp_almhs, FA_WRITE | FA_CREATE_ALWAYS);
|
|
if (fr) {
|
|
return false;
|
|
}
|
|
|
|
UINT bytes_written;
|
|
fr = f_write_i(env->fs, &file, env->bufReceivedPacket, env->bufReceivedPacketLen, &bytes_written);
|
|
|
|
f_close_i(env->fs, &file);
|
|
|
|
if (osMutexAcquire(env->accessHTTP, TIME_MUTEX_HTTP_ACCESS) == osOK) {
|
|
fr = f_unlink_i(env->fs, file_cur_almhs);
|
|
fr = f_rename_i(env->fs, file_tmp_almhs, file_cur_almhs);
|
|
osMutexRelease(env->accessHTTP);
|
|
} else {
|
|
return false;
|
|
}
|
|
|
|
almac_load_from_file(env);
|
|
|
|
return true;
|
|
}
|
|
|