From 35b682b13d2f0ee76c8d297024fa94b939dd13a0 Mon Sep 17 00:00:00 2001 From: anschrammh Date: Sat, 9 Mar 2019 22:38:21 +0100 Subject: [PATCH] Added sd card test program plus minor changes --- src/app/RtcManager.cpp | 2 +- src/app/RtcManager.h | 4 +- src/app/SAB.cpp | 2 +- src/app/SAB.h | 6 +-- src/app/app.ino | 19 +++------ src/sdCard_test/sdCard_test.ino | 75 +++++++++++++++++++++++++++++++++ 6 files changed, 88 insertions(+), 20 deletions(-) create mode 100644 src/sdCard_test/sdCard_test.ino diff --git a/src/app/RtcManager.cpp b/src/app/RtcManager.cpp index 00de00d..1512a62 100644 --- a/src/app/RtcManager.cpp +++ b/src/app/RtcManager.cpp @@ -1,6 +1,6 @@ #include "RtcManager.h" -RtcManager::RtcManager(const RTC_DS3231 &rtc) : _rtcRef(rtc) +RtcManager::RtcManager(RTC_DS3231 &rtc) : _rtcRef(rtc) { } diff --git a/src/app/RtcManager.h b/src/app/RtcManager.h index 180b317..0ac056e 100644 --- a/src/app/RtcManager.h +++ b/src/app/RtcManager.h @@ -12,9 +12,9 @@ class RtcManager void setDateTime(const DateTime dateTime); boolean hasLostPower() const; protected: - RtcManager(const RTC_DS3231 &rtc); + RtcManager(RTC_DS3231 &rtc); private: - const RTC_DS3231 &_rtcRef; + RTC_DS3231 &_rtcRef; }; #endif //RTCMANAGER_H diff --git a/src/app/SAB.cpp b/src/app/SAB.cpp index 0892f84..9117f49 100644 --- a/src/app/SAB.cpp +++ b/src/app/SAB.cpp @@ -29,7 +29,7 @@ ScreenManager& SAB::getScreenManager() return _screenManager; } -const RtcManager& SAB::getRtcManager() const +RtcManager& SAB::getRtcManager() { return _rtcManager; } diff --git a/src/app/SAB.h b/src/app/SAB.h index 874ca68..75eb808 100644 --- a/src/app/SAB.h +++ b/src/app/SAB.h @@ -17,7 +17,7 @@ class SAB SAB(const PinMapping pinConfig, const ScreenConfig screenConfig, const SDCardConfig sdCardConfig); ScreenManager& getScreenManager(); - const RtcManager& getRtcManager() const; + RtcManager& getRtcManager(); SDCardManager& getSdCardManager(); ScreenConfig getScreenConfig() const; PinMapping getPinConfig() const; @@ -32,8 +32,8 @@ class SAB Adafruit_SSD1306 _display; ScreenManager _screenManager; - const RTC_DS3231 _rtc; - const RtcManager _rtcManager; + RTC_DS3231 _rtc; + RtcManager _rtcManager; SDClass _sdCard; SDCardManager _sdCardManager; diff --git a/src/app/app.ino b/src/app/app.ino index 3506764..65322df 100644 --- a/src/app/app.ino +++ b/src/app/app.ino @@ -4,7 +4,6 @@ #include "views.h" SAB sab; -long *memoryEater = NULL; unsigned long currentMs = 0; int mySize = 0; @@ -13,15 +12,15 @@ DateTimePacket dtp = {sab.getRtcManager().getDateTime(), sab.getSdCardManager(). void setup() { // put your setup code here, to run once: Serial.println("Starting setup"); - + pinMode(GPIO_0, INPUT); sab.getScreenManager().addView(&(view_1), &dtp, 1); - Serial.print("SD size : ");Serial.println(sab.getSdCardManager().getSize(GBYTE)); + /*Serial.print("SD size : ");Serial.println(sab.getSdCardManager().getSize(GBYTE)); Serial.print("SD size : ");Serial.println(sab.getSdCardManager().getSize(GBIT)); Serial.print("SD size : ");Serial.println(sab.getSdCardManager().getSize(MBYTE)); Serial.print("SD size : ");Serial.println(sab.getSdCardManager().getSize(MBIT)); Serial.print("SD size : ");Serial.println(sab.getSdCardManager().getSize(KBYTE)); - Serial.print("SD size : ");Serial.println(sab.getSdCardManager().getSize(KBIT)); + Serial.print("SD size : ");Serial.println(sab.getSdCardManager().getSize(KBIT));*/ Serial.println("End setup"); } @@ -32,14 +31,8 @@ void loop() { currentMs = millis(); dtp.dateTime = sab.getRtcManager().getDateTime(); sab.getScreenManager().displayView(1); - - long *temp = (long *) realloc(memoryEater,sizeof(long) * ++mySize); - - if(temp != NULL) - memoryEater = temp; - else - { - free(memoryEater);memoryEater = NULL;mySize = 0; - } } + + /*if(digitalRead(GPIO_0)==0) + sab.getRtcManager().setDateTime(DateTime(2019,3,9,19,34,0));*/ } diff --git a/src/sdCard_test/sdCard_test.ino b/src/sdCard_test/sdCard_test.ino new file mode 100644 index 0000000..4858555 --- /dev/null +++ b/src/sdCard_test/sdCard_test.ino @@ -0,0 +1,75 @@ +#include "definition.h" +#include "PinMapping.h" +#include "SAB.h" + +SAB sab; + +File f,g; + +void setup() { + // put your setup code here, to run once: + Serial.println("Starting setup"); + //Testing if directory exists : + if(!sab.getSdCardManager().getSdCardHandler().exists("test/doesnotexist")) + Serial.println("The directory does not exist"); + else + Serial.println("The directory does exist"); + + if(!sab.getSdCardManager().getSdCardHandler().mkdir("test")) + Serial.println("Failed to create test dir"); + + if(!sab.getSdCardManager().getSdCardHandler().exists("test")) + Serial.println("The directory does not exist"); + else + Serial.println("The directory does exist"); + + f = sab.getSdCardManager().getSdCardHandler().open("test/doesnotexist.txt"); + if(f == NULL) Serial.println("Unable to open file doesnotexist.txt"); + + f = sab.getSdCardManager().getSdCardHandler().open("test/exist.txt", FILE_WRITE); + if(f == NULL) Serial.println("Unable to open file exist.txt"); + else + { + char text[] = "I am the file's content.\nHere is a new Line"; + f.write(text, strlen(text)); + f.close(); + } + + f = sab.getSdCardManager().getSdCardHandler().open("test/exist.txt"); + if(f == NULL) Serial.println("Unable to open file exist.txt"); + else + { + Serial.println("File content :"); + while(f.available()) + { + char c = f.read(); + Serial.print(c); + } + Serial.println(); + f.close(); + } + + if(!sab.getSdCardManager().getSdCardHandler().remove("test/exist.txt")) + Serial.println("Failed to remove file"); + else + Serial.println("Deleted successfully"); + + f = sab.getSdCardManager().getSdCardHandler().open("several"); + if(f == NULL) Serial.println("Unable to open file several"); + else + { + Serial.println("dir content :"); + while((g = f.openNextFile()) != 0) + { + Serial.println(g.name()); + } + Serial.println(); + f.close(); + } + + Serial.println("End setup"); +} + +void loop() { + +}