Dino Martic / RTC-DS1307

Dependents:   Detektor_Pokreta Dino_Martic_Programski

Committer:
leihen
Date:
Sun Jun 23 16:29:35 2013 +0000
Revision:
4:d2cc690aaac7
Child:
5:30531f2121a2
Added a RTC wrapper class.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
leihen 4:d2cc690aaac7 1 #ifndef __RTC_H__
leihen 4:d2cc690aaac7 2 #define __RTC_H__
leihen 4:d2cc690aaac7 3
leihen 4:d2cc690aaac7 4 #include "Rtc_Ds1307.h"
leihen 4:d2cc690aaac7 5 #include "mbed.h"
leihen 4:d2cc690aaac7 6
leihen 4:d2cc690aaac7 7 typedef void (*callback_t)(void);
leihen 4:d2cc690aaac7 8
leihen 4:d2cc690aaac7 9 class RtcCls : public Rtc_Ds1307
leihen 4:d2cc690aaac7 10 {
leihen 4:d2cc690aaac7 11 protected:
leihen 4:d2cc690aaac7 12 InterruptIn m_sqw;
leihen 4:d2cc690aaac7 13 bool m_bUseSqw;
leihen 4:d2cc690aaac7 14 time_t m_time; // Only used in case of SQW use
leihen 4:d2cc690aaac7 15
leihen 4:d2cc690aaac7 16 bool m_bAlarmEnabled;
leihen 4:d2cc690aaac7 17 callback_t m_alarmfunc;
leihen 4:d2cc690aaac7 18 time_t m_alarmTime;
leihen 4:d2cc690aaac7 19
leihen 4:d2cc690aaac7 20 public:
leihen 4:d2cc690aaac7 21 RtcCls(PinName sda, PinName scl, PinName sqw, bool bUseSqw);
leihen 4:d2cc690aaac7 22
leihen 4:d2cc690aaac7 23 protected:
leihen 4:d2cc690aaac7 24 static void _callback(void);
leihen 4:d2cc690aaac7 25
leihen 4:d2cc690aaac7 26 public:
leihen 4:d2cc690aaac7 27 time_t getTime();
leihen 4:d2cc690aaac7 28 void setTime(time_t t);
leihen 4:d2cc690aaac7 29 public:
leihen 4:d2cc690aaac7 30 void setAlarm(int nSeconds, callback_t alarmfunc)
leihen 4:d2cc690aaac7 31 {
leihen 4:d2cc690aaac7 32 m_alarmfunc = alarmfunc;
leihen 4:d2cc690aaac7 33 m_alarmTime = m_time + nSeconds;
leihen 4:d2cc690aaac7 34 m_bAlarmEnabled = (alarmfunc == NULL) ? false : true;
leihen 4:d2cc690aaac7 35 }
leihen 4:d2cc690aaac7 36 };
leihen 4:d2cc690aaac7 37
leihen 4:d2cc690aaac7 38 #endif // __RTC_H__