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.
Dependents: Detektor_Pokreta Dino_Martic_Programski
Revision 0:3940f0ad2ca5, committed 2013-06-02
- Comitter:
- leihen
- Date:
- Sun Jun 02 09:59:39 2013 +0000
- Child:
- 1:64274190e842
- Commit message:
- Initial Revision - not working yet.
Changed in this revision
| Rtc_Ds1307.cpp | Show annotated file Show diff for this revision Revisions of this file |
| Rtc_Ds1307.h | Show annotated file Show diff for this revision Revisions of this file |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Rtc_Ds1307.cpp Sun Jun 02 09:59:39 2013 +0000
@@ -0,0 +1,45 @@
+/* Rtc_Ds1307.cpp */
+
+#include "Rtc_Ds1307.h"
+
+#define _DEBUG 0
+
+
+#if (_DEBUG && !defined(TARGET_LPC11U24))
+#define INFO(x, ...) std::printf("[Rtc_Ds1307 : INFO]"x"\r\n", ##__VA_ARGS__);
+#define WARN(x, ...) std::printf("[Rtc_Ds1307 : WARN]"x"\r\n", ##__VA_ARGS__);
+#define ERR(x, ...) std::printf("[Rtc_Ds1307 : ERR]"x"\r\n", ##__VA_ARGS__);
+#else
+#define INFO(x, ...)
+#define WARN(x, ...)
+#define ERR(x, ...)
+#endif
+
+
+
+
+Rtc_Ds1307::Rtc_Ds1307(PinName sda, PinName scl)
+{
+ // Create a new I2C object
+ m_rtc = new I2C(sda, scl);
+ if (m_rtc == NULL)
+ error("Rtc_Ds1307");
+}
+
+Rtc_Ds1307::~Rtc_Ds1307()
+{
+ if (m_rtc != NULL)
+ delete m_rtc;
+}
+
+bool Rtc_Ds1307::setTime(tm& time)
+{
+ INFO("Setting new time : %d:%d:%d\n", time.tm_hour, time.tm_min, time.tm_sec);
+
+ return true;
+}
+
+bool Rtc_Ds1307::getTime(tm& time)
+{
+ return false;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Rtc_Ds1307.h Sun Jun 02 09:59:39 2013 +0000
@@ -0,0 +1,57 @@
+/* Rtc_Ds1307.h */
+/*
+Copyright (c) 2013 Henry Leinen (henry[dot]leinen [at] online [dot] de)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+*/
+#ifndef __RTC_DS1307_H__
+#define __RTC_DS1307_H__
+
+#include "mbed.h"
+
+
+/** Class Rtc_Ds1307 implements the real time clock module DS1307
+ *
+ * You can read the clock and set a new time and date.
+ * It is also possible to start and stop the clock.
+ * Rtc_Ds1307 allows you to display the time in a 12h or 24h format
+ */
+class Rtc_Ds1307
+{
+ I2C* m_rtc;
+
+ public:
+ /** public constructor which creates the real time clock object
+ *
+ * @param sda : specifies the pin for the SDA communication line.
+ *
+ * @param scl : the pin for the serial clock
+ *
+ */
+ Rtc_Ds1307(PinName sda, PinName scl);
+
+ ~Rtc_Ds1307();
+
+ bool getTime(tm& time);
+
+ bool setTime(tm& time);
+};
+
+
+#endif // __RTC_DS1307_H__
\ No newline at end of file