Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: SPI_TFT_ILI9341 TFT_fonts Adafruit_RTCLib RTC-DS1307 TSI
Diff: utility.cpp
- Revision:
- 21:fe1769d5a01c
- Parent:
- 19:450dbcda696e
diff -r 450dbcda696e -r fe1769d5a01c utility.cpp
--- a/utility.cpp Thu May 25 21:56:06 2017 +0000
+++ b/utility.cpp Fri May 26 11:59:44 2017 +0000
@@ -33,10 +33,10 @@
: time(t), prevTime(p), weather(w), date(d), alarm(a), screenState(0), screenActive(true), duringAlarm(false) {}
-void playAlarmSound(StateClass *ps)
+void playAlarmSound()
{
PwmOut speaker(ALARM_PIN); // alarm sound of regular beeps
- while (ps->duringAlarm) {
+ while (programState->duringAlarm) {
speaker.period(1.0/150.0); // 150hz period
speaker =0.0125;
wait(0.5);
@@ -60,29 +60,38 @@
return inches <= RANGE_THRESHOLD;
}
-I2C master(RTC_SDA, RTC_SCL);
-RtcDs1307 rtc(master);
+//I2C master(RTC_SDA, RTC_SCL);
+Rtc_Ds1307 rtc(RTC_SDA, RTC_SCL);
void read_rtc(StateClass *ps)
{
- LOG("IN RTC\r\n");
- DateTime data = rtc.now();
- LOG("%d:%d:%d", data.hour(), data.minute(), data.second());
- if (!rtc.isRunning())
- return;
- ps->time->hour = data.hour();
- ps->prevTime->hour = data.hour();
- ps->time->minute = data.minute();
- ps->prevTime->minute = data.minute();
- ps->time->second = data.second();
- ps->prevTime->second = data.second();
- ps->date->year = data.year();
- ps->date->day = data.day();
- ps->date->month = data.month();
- ps->date->dow = data.dayOfWeek();
+ Rtc_Ds1307::Time_rtc data = {};
+ int s = 0, m = 0, h = 0, dow = 0, d = 0, mo = 0, y = 0;
+ //rtc.gettime(&s, &m, &h, &dow, &d, &mo, &y);
+ rtc.getTime(data);
+ h = data.hour;
+ m = data.min;
+ s = data.sec;
+ dow = data.wday - 1;
+ d = data.date;
+ mo = data.mon;
+ y = data.year;
+ LOG("%d:%d:%d", h, m, s);
+ //if (!rtc.isRunning())
+ // return;
+ ps->time->hour = h;
+ ps->prevTime->hour = h;
+ ps->time->minute = m;
+ ps->prevTime->minute = m;
+ ps->time->second = s;
+ ps->prevTime->second = s;
+ ps->date->year = y;
+ ps->date->day = d;
+ ps->date->month = mo;
+ ps->date->dow = dow-1;
}
void update_rtc(StateClass *ps)
{
- DateTime data(ps->date->year, ps->date->month, ps->date->day, ps->time->hour, ps->time->minute, ps->time->second);
- rtc.adjust(data);
+ //DateTime data(ps->date->year, ps->date->month, ps->date->day, ps->time->hour, ps->time->minute, ps->time->second);
+ //rtc.adjust(data);
}
\ No newline at end of file