Moved firmware to subfoler firmware

This commit is contained in:
Yury Shuvakin
2023-03-29 19:11:33 +03:00
parent fb819e50a1
commit 4561bcc255
231 changed files with 46 additions and 2 deletions

119
firmware/Core/Inc/SD_Card.h Normal file
View File

@@ -0,0 +1,119 @@
/*
* SD_Card.h
*
* Created on: 24 дек. 2021 г.
* Author: Николай
*/
#ifndef INC_SD_CARD_H_
#define INC_SD_CARD_H_
#include "GSM.h"
#include "fatfs.h"
//FATFS
#define __MIN_FREE_SPACE_REQUIRED 500*1000*1000 //bytes
FATFS FatFs; //Fatfs handle
FIL fil; //File handle
FRESULT fres; //Result after operations
DIR dir;
FILINFO flinf;
DWORD free_clusters, free_sectors, total_sectors;
uint32_t free_space;
FATFS* getFreeFs;
UINT nRead;
char readbuff[1024];
uint32_t sizeWritten;
unsigned int BytesWr;
typedef enum{
SD_OP_DONOTHING,
SD_OP_WRITE_STATUS,
SD_OP_WRITE_PARAM,
SD_OP_WRITE_HEADER,
SD_OP_DELETEOLD,
SD_OP_MOUNT,
SD_OP_UMOUNT
}SD_Op_Commands;
typedef enum{
SD_READY,
SD_BUSY,
SD_ERROR,
SD_COMMAND_SET,
SD_COMMAND_NOT_SET
}SD_Card_states;
typedef enum{
SD_IDLE,
SD_MOUNT,
SD_OPEN_DIR,
SD_OPEN_FILE,
SD_WRITE,
SD_WRITE_HEADER,
SD_READ,
SD_CLOSE,
SD_UMOUNT,
SD_DELETE_OLD_FILES,
SD_CHECK_FREE_SPACE
} SD_Stages;
typedef struct{
uint64_t Battery_Serial;
HTTP_DATA_Struct CSV_DATA;
Battery_Data_Struct BATTERY_DATA;
char Raw_var[100];
SD_Op_Commands SD_Active_Command;
SD_Card_states SD_State_to_return;
SD_Stages SD_Stages_list;
uint8_t SD_CARD_ChipDetect;
char* DATA0;
char DATA0_ch[1000];
char* Header;
char* FileName;
char* Path;
char Path_ch[100];
char Filename_ch[20];
uint8_t Mount_Flag;
uint8_t Mount_CMD_SET;
uint8_t Filename_Check_Done;
FRESULT Fat_result;
}SD_CARD_Global_Struct;
typedef struct{
char isDir;
char fullpath_ch[100];
char* fullpath;
char filename_ch[13];
char* filename;
uint32_t value;
uint32_t FN_Value;
uint8_t Lastfound_FN_Month;
uint8_t Lastfound_FN_Year;
uint8_t Oldest_FN_Month;
uint8_t Oldest_FN_Year;
uint32_t Oldest_FN_Value;
}ff_search_struct;
void Battery_Data_to_CSV_Converter(SD_CARD_Global_Struct* Sd_Struct, HTTP_DATA_Struct* DST);
void CSV_Status_Data_Compilation(SD_CARD_Global_Struct* Sd_Struct);
void CSV_Param_Data_Compilation(SD_CARD_Global_Struct* Sd_Struct);
SD_Card_states SD_Set_Command(SD_CARD_Global_Struct* SD_Struct, SD_Op_Commands CMD, uint32_t Timeout);
void SD_Card_Processing(SD_CARD_Global_Struct* SD_Struct);
uint64_t Filename_to_Value(char* FN);
uint8_t Configure_Path_to_delete(char* path, uint32_t Value);
void Search_for_Oldest(volatile ff_search_struct* sourceStruct,char* Path, uint64_t ActualSerial);
void SD_Update_Path(SD_CARD_Global_Struct* source);
#endif /* INC_SD_CARD_H_ */