LoRa Access Point 1.5.2018

Dependencies:   mbed ds3231 SX1276Lib_LoRa_Access_Point

Committer:
lukas_formanek
Date:
Thu Mar 28 09:55:48 2019 +0000
Revision:
10:e62222c46ee9
Parent:
9:28e272b6b018
Child:
11:376bfcdda0d4
28.3.2019 working SD,RTC

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lukas_formanek 8:5d99fbf255d6 1 #include "SD.h"
lukas_formanek 8:5d99fbf255d6 2
lukas_formanek 8:5d99fbf255d6 3
lukas_formanek 8:5d99fbf255d6 4 // SD SDcard(SD_MOSI, SD_MISO, SD_SCK, SD_CS);
lukas_formanek 8:5d99fbf255d6 5 SDFileSystem sd(SD_MOSI, SD_MISO, SD_SCK, SD_CS, "sd"); // SD karta - MOSI, MISO, SCK, CS
lukas_formanek 8:5d99fbf255d6 6 SD SDcard;
lukas_formanek 8:5d99fbf255d6 7
lukas_formanek 10:e62222c46ee9 8 extern time_t epoch_time;
lukas_formanek 10:e62222c46ee9 9
lukas_formanek 10:e62222c46ee9 10 //rtc object
lukas_formanek 10:e62222c46ee9 11 //Ds3231 rtc(PB_9, PB_8);
lukas_formanek 10:e62222c46ee9 12
lukas_formanek 8:5d99fbf255d6 13
lukas_formanek 8:5d99fbf255d6 14 SD::SD()
lukas_formanek 8:5d99fbf255d6 15 {
lukas_formanek 9:28e272b6b018 16 // Init();
lukas_formanek 8:5d99fbf255d6 17 // sdCard(SD_MOSI, SD_MISO, SD_SCK, SD_CS, "sd");
lukas_formanek 10:e62222c46ee9 18
lukas_formanek 10:e62222c46ee9 19 // ds3231_cntl_stat_t rtc_control_status = {0,0};
lukas_formanek 10:e62222c46ee9 20 // ds3231_time_t rtc_time;
lukas_formanek 10:e62222c46ee9 21 // ds3231_calendar_t rtc_calendar;
lukas_formanek 10:e62222c46ee9 22
lukas_formanek 10:e62222c46ee9 23 // rtc.set_cntl_stat_reg(rtc_control_status);
lukas_formanek 8:5d99fbf255d6 24 };
lukas_formanek 8:5d99fbf255d6 25
lukas_formanek 8:5d99fbf255d6 26 SD::SD(PinName mosi, PinName miso, PinName sck, PinName cs)
lukas_formanek 8:5d99fbf255d6 27 // : sdCard(mosi, miso, sck, cs , "sd")
lukas_formanek 8:5d99fbf255d6 28 {
lukas_formanek 8:5d99fbf255d6 29 // myLogFile = NULL;
lukas_formanek 8:5d99fbf255d6 30 };
lukas_formanek 8:5d99fbf255d6 31
lukas_formanek 8:5d99fbf255d6 32 void SD::Init()
lukas_formanek 8:5d99fbf255d6 33 {
lukas_formanek 8:5d99fbf255d6 34
lukas_formanek 8:5d99fbf255d6 35 pc.printf("1. \r\n");
lukas_formanek 9:28e272b6b018 36 FILE *myLogFile = fopen("/sd/DATA_LOG.txt","r");
lukas_formanek 8:5d99fbf255d6 37 pc.printf("2. \r\n");
lukas_formanek 8:5d99fbf255d6 38 if (myLogFile != NULL) {
lukas_formanek 8:5d99fbf255d6 39 // fprintf(myLogFile,"\r\n-------------------- NODE NUMBER --------------------\r\n\n");
lukas_formanek 8:5d99fbf255d6 40 // fprintf(myLogFile,"| DATUM | CAS | ADC | v[m/s] |\r\n\n");
lukas_formanek 8:5d99fbf255d6 41 fclose(myLogFile);
lukas_formanek 9:28e272b6b018 42 free(myLogFile);
lukas_formanek 8:5d99fbf255d6 43 pc.printf("File already exist. Appending data to current file.\r\n");
lukas_formanek 8:5d99fbf255d6 44 pc.printf("3. \r\n");
lukas_formanek 8:5d99fbf255d6 45 }
lukas_formanek 8:5d99fbf255d6 46 else
lukas_formanek 8:5d99fbf255d6 47 {
lukas_formanek 8:5d99fbf255d6 48 myLogFile = fopen("/sd/DATA_LOG.txt","w");
lukas_formanek 8:5d99fbf255d6 49 if (myLogFile == NULL) {
lukas_formanek 8:5d99fbf255d6 50 pc.printf("Unable to create file \r\n");
lukas_formanek 8:5d99fbf255d6 51 }
lukas_formanek 8:5d99fbf255d6 52 else {
lukas_formanek 8:5d99fbf255d6 53 fprintf(myLogFile,"-------------------- NODE NUMBER --------------------\r\n\n");
lukas_formanek 8:5d99fbf255d6 54 fprintf(myLogFile,"| DATUM | CAS | ADC | v[m/s] |\r\n\n");
lukas_formanek 8:5d99fbf255d6 55 fclose(myLogFile);
lukas_formanek 9:28e272b6b018 56 free(myLogFile);
lukas_formanek 8:5d99fbf255d6 57 pc.printf("File successfully create! \r\n");
lukas_formanek 8:5d99fbf255d6 58 }
lukas_formanek 8:5d99fbf255d6 59 }
lukas_formanek 8:5d99fbf255d6 60 };
lukas_formanek 8:5d99fbf255d6 61
lukas_formanek 8:5d99fbf255d6 62 void SD::Write(char* data)
lukas_formanek 8:5d99fbf255d6 63 {
lukas_formanek 9:28e272b6b018 64 // __disable_irq(); // Disable Interrupts
lukas_formanek 9:28e272b6b018 65 // pc.printf("1. \r\n");
lukas_formanek 8:5d99fbf255d6 66 /*
lukas_formanek 8:5d99fbf255d6 67 if (myLogFile =! NULL)
lukas_formanek 8:5d99fbf255d6 68 {
lukas_formanek 8:5d99fbf255d6 69 fclose(myLogFile);
lukas_formanek 8:5d99fbf255d6 70 free(myLogFile);
lukas_formanek 8:5d99fbf255d6 71 }
lukas_formanek 8:5d99fbf255d6 72 */
lukas_formanek 10:e62222c46ee9 73 // ds3231_cntl_stat_t rtc_control_status = {0,0};
lukas_formanek 10:e62222c46ee9 74 // rtc.set_cntl_stat_reg(rtc_control_status);
lukas_formanek 10:e62222c46ee9 75 // time_t epoch_time;
lukas_formanek 10:e62222c46ee9 76 // epoch_time = rtc.get_epoch();
lukas_formanek 10:e62222c46ee9 77
lukas_formanek 10:e62222c46ee9 78 // pc.printf("\nTime as seconds since January 1, 1970 = %d\r\n", epoch_time);
lukas_formanek 10:e62222c46ee9 79
lukas_formanek 10:e62222c46ee9 80 // pc.printf("Time as a basic string = %.19s \r\n", ctime(&epoch_time));
lukas_formanek 10:e62222c46ee9 81
lukas_formanek 10:e62222c46ee9 82
lukas_formanek 10:e62222c46ee9 83 // pc.printf("bla bla \r\n");
lukas_formanek 10:e62222c46ee9 84
lukas_formanek 8:5d99fbf255d6 85 FILE *myLogFile = fopen("/sd/DATA_LOG.txt","a");
lukas_formanek 9:28e272b6b018 86 // pc.printf("2. \r\n");
lukas_formanek 8:5d99fbf255d6 87 if (myLogFile == NULL)
lukas_formanek 8:5d99fbf255d6 88 {
lukas_formanek 8:5d99fbf255d6 89 pc.printf("ERROR: failed to open the log file for writing!\r\n");
lukas_formanek 8:5d99fbf255d6 90 }
lukas_formanek 8:5d99fbf255d6 91 else
lukas_formanek 8:5d99fbf255d6 92 {
lukas_formanek 9:28e272b6b018 93 // pc.printf("3. \r\n");
lukas_formanek 9:28e272b6b018 94 // fprintf(myLogFile,"HAMTALA");
lukas_formanek 10:e62222c46ee9 95 // fprintf(myLogFile,"%.19s|", ctime(&epoch_time));
lukas_formanek 10:e62222c46ee9 96 fprintf(myLogFile,"%s", actual_time);
lukas_formanek 8:5d99fbf255d6 97 fprintf(myLogFile,"%s", data);
lukas_formanek 9:28e272b6b018 98 // pc.printf("4. \r\n");
lukas_formanek 8:5d99fbf255d6 99 // fprintf(myLogFile,"HAMTALA");
lukas_formanek 9:28e272b6b018 100 // if(myLogFile != NULL)
lukas_formanek 8:5d99fbf255d6 101 fclose(myLogFile);
lukas_formanek 9:28e272b6b018 102 // fclose(myLogFile);
lukas_formanek 8:5d99fbf255d6 103 // free(myLogFile);
lukas_formanek 8:5d99fbf255d6 104 }
lukas_formanek 9:28e272b6b018 105 // pc.printf("5. \r\n");
lukas_formanek 8:5d99fbf255d6 106 // fclose(myLogFile);
lukas_formanek 9:28e272b6b018 107 // __enable_irq(); // Enable Interrupts
lukas_formanek 8:5d99fbf255d6 108 }
lukas_formanek 8:5d99fbf255d6 109