LoRa Access Point 1.5.2018
Dependencies: mbed ds3231 SX1276Lib_LoRa_Access_Point
SD.cpp
- Committer:
- lukas_formanek
- Date:
- 2021-05-08
- Revision:
- 11:376bfcdda0d4
- Parent:
- 10:e62222c46ee9
File content as of revision 11:376bfcdda0d4:
#include "SD.h" // SD SDcard(SD_MOSI, SD_MISO, SD_SCK, SD_CS); SDFileSystem sd(SD_MOSI, SD_MISO, SD_SCK, SD_CS, "sd"); // SD karta - MOSI, MISO, SCK, CS SD SDcard; extern time_t epoch_time; //rtc object //Ds3231 rtc(PB_9, PB_8); SD::SD() { // Init(); // sdCard(SD_MOSI, SD_MISO, SD_SCK, SD_CS, "sd"); // ds3231_cntl_stat_t rtc_control_status = {0,0}; // ds3231_time_t rtc_time; // ds3231_calendar_t rtc_calendar; // rtc.set_cntl_stat_reg(rtc_control_status); }; SD::SD(PinName mosi, PinName miso, PinName sck, PinName cs) // : sdCard(mosi, miso, sck, cs , "sd") { // myLogFile = NULL; }; void SD::Init() { pc.printf("1. \r\n"); FILE *myLogFile = fopen("/sd/DATA_LOG.txt","r"); pc.printf("2. \r\n"); if (myLogFile != NULL) { // fprintf(myLogFile,"\r\n-------------------- NODE NUMBER --------------------\r\n\n"); // fprintf(myLogFile,"| DATUM | CAS | ADC | v[m/s] |\r\n\n"); fclose(myLogFile); free(myLogFile); pc.printf("File already exist. Appending data to current file.\r\n"); pc.printf("3. \r\n"); } else { myLogFile = fopen("/sd/DATA_LOG.txt","w"); if (myLogFile == NULL) { pc.printf("Unable to create file \r\n"); } else { fprintf(myLogFile,"-------------------- NODE NUMBER --------------------\r\n\n"); fprintf(myLogFile,"| DATUM | CAS | ADC | v[m/s] |\r\n\n"); fclose(myLogFile); free(myLogFile); pc.printf("File successfully create! \r\n"); } } }; void SD::Write(char* data) { // __disable_irq(); // Disable Interrupts // pc.printf("1. \r\n"); /* if (myLogFile =! NULL) { fclose(myLogFile); free(myLogFile); } */ // ds3231_cntl_stat_t rtc_control_status = {0,0}; // rtc.set_cntl_stat_reg(rtc_control_status); // time_t epoch_time; // epoch_time = rtc.get_epoch(); // pc.printf("\nTime as seconds since January 1, 1970 = %d\r\n", epoch_time); // pc.printf("Time as a basic string = %.19s \r\n", ctime(&epoch_time)); // pc.printf("bla bla \r\n"); FILE *myLogFile = fopen("/sd/DATA_LOG.txt","a"); // pc.printf("2. \r\n"); if (myLogFile == NULL) { pc.printf("ERROR: failed to open the log file for writing!\r\n"); } else { // pc.printf("3. \r\n"); // fprintf(myLogFile,"HAMTALA"); // fprintf(myLogFile,"%.19s|", ctime(&epoch_time)); // fprintf(myLogFile,"%s", actual_time); // fprintf(myLogFile,"%s", rtcClock.GetTime()); fprintf(myLogFile,"%s\r\n", data); // pc.printf("4. \r\n"); // fprintf(myLogFile,"HAMTALA"); // if(myLogFile != NULL) fclose(myLogFile); // fclose(myLogFile); // free(myLogFile); } // pc.printf("5. \r\n"); // fclose(myLogFile); // __enable_irq(); // Enable Interrupts } void SD::Read() { char myline [50]; FILE *myLogFile = fopen("/sd/DATA_LOG.txt","r"); if (myLogFile == NULL) { pc.printf("ERROR: failed to open the log file for writing!\r\n"); } else { pc.printf("READING FROM SD ::!\r\n"); while (!feof(myLogFile)) { fscanf(myLogFile,"%[^\n]\n",myline); // pc.printf("%s\r\n", myline); wifi.SendMessage((char *)myline); wait(0.01f); } fclose(myLogFile); } };