GONEC_ARTERY_Modem_Main/Src/ModemAlmanah.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;
}