Surasak Nasuriwong / FileManager

Dependencies:   SDFileSystem

Dependents:   RwSDCard_Xml_GPS

FileManager.h

Committer:
Lucyjungz
Date:
2016-05-10
Revision:
2:18e004a47f52
Parent:
1:1f1f2b99756b
Child:
3:6e08d0bba1bb

File content as of revision 2:18e004a47f52:

#define DEVICE_NAME             "sd"

// DEVICE_NAME must be put in between "/" for file name 
#define SETUP_FILE_NAME         "/sd/RMS_Tester.xml"
#define GPS_LOG_FILE_NAME       "/sd/YYYY-MM-DD.gps.csv "
#define RTL_LOG_FILE_NAME       "/sd/YYYY-MM-DD.rtl.csv"
#define VARIABLE_FILE_NAME      "/sd/20160216185627_upload.xml"
#define MINIRMS_LOG_FILE_NAME   "/sd/miniRMS.log"

#define GPS_TAG                 "<Gps>"
#define DATA_TAG                "<Data>"
#define UPDATE_INTERVAL_TAG     "<Update_Interval>"
#define VAR_NAME_TAG            "<varName>"
#define VAR_ADDR_TAG            "<varAddress>"
#define XMLTEXT_SIZE            20

#define VAR_NAME_MAX_SIZE       20
#define VAR_ADDR_MAX_SIZE       10
#define MAX_VAR                 50

#define RMS_HEADER_TIME         "Time"

typedef enum  {
    STATE_FINDING,    /** Finding */
    STATE_FOUND_DATA,  /** Found Data tag */
    STATE_FOUND_DATA_INTERVAL,  /**< Found update internal of tag*/
    STATE_FOUND_GPS,  /** Found GPS tag */
    STATE_FOUND_GPS_INTERVAL,  /** Found update internal of GPS*/
} ReadingFileState;


typedef struct {
    char varName[VAR_NAME_MAX_SIZE];
    char varAddress[VAR_ADDR_MAX_SIZE+1];
} Variable_Data_TypeDef;

void readSetupFile();
void delete_file(char filename[]);
int GPSInterval();
int DataInterval();
void logGPSData(time_t timestamp ,char lat[], char longti[]);
void logSystemData(float gps_interval);
Variable_Data_TypeDef * readVarFile();
int getAmountVarList();
Variable_Data_TypeDef * getVarList();
void logRMSData(time_t timestamp ,float * var, int size);
void logRMSHeader(time_t timestamp);
bool is_file_exist(char filename[]);