#pragma once

#include "stm32f4xx_hal.h"

#include <iostream>
#include <string>
#include <array>
using namespace std;

class SDLogger
{
public:
	static SDLogger& getInstance()
	{
		static SDLogger instance;
		cout << "\t\tpublic SDLogger& getInstance" << endl;
		return instance;
	}

private:
	SDLogger()
	{
		cout << "\t\tprivate SDLogger constructor" << endl;
		configLogger();
	}
		
public:

	void logEngrMsg(char *engrMsg, size_t msgSize);
	void logSciMsg(string sciMsg, uint8_t fileSection);
	void logDuraMsg(string duraMsg);
	void logIsusMsg(string isusMsg);
	void logLogMsg(string logMsg);
	void openFiles();
	void closeFiles();
	
protected:
	
private:
	void configLogger()
	{}
	void getFileName(string &fileName);
};

