EMIR - Ekvitermní mikroprocesorová regulace https://code.google.com/p/emir/ https://code.google.com/p/emir/wiki/DesignV3
Dependencies: ConfigFile DS1307 OneWire SDFileSystem USBDeviceLite mbed-rtos mbed
src/rtc.cpp@6:c24057b64a66, 2014-07-30 (annotated)
- Committer:
- alpov
- Date:
- Wed Jul 30 19:03:20 2014 +0000
- Revision:
- 6:c24057b64a66
- Parent:
- 3:ede67e9b60eb
library updates
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
alpov | 3:ede67e9b60eb | 1 | #include "mbed.h" |
alpov | 3:ede67e9b60eb | 2 | #include "rtos.h" |
alpov | 3:ede67e9b60eb | 3 | #include "DS1307.h" |
alpov | 3:ede67e9b60eb | 4 | #include "rtc.h" |
alpov | 3:ede67e9b60eb | 5 | |
alpov | 3:ede67e9b60eb | 6 | DS1307 rtc(I2C_SDA, I2C_SCL); |
alpov | 3:ede67e9b60eb | 7 | Mutex rtc_mutex; |
alpov | 3:ede67e9b60eb | 8 | |
alpov | 3:ede67e9b60eb | 9 | time_t get_rtc() |
alpov | 3:ede67e9b60eb | 10 | { |
alpov | 3:ede67e9b60eb | 11 | rtc_mutex.lock(); |
alpov | 3:ede67e9b60eb | 12 | time_t m_time = rtc.now(); |
alpov | 3:ede67e9b60eb | 13 | rtc_mutex.unlock(); |
alpov | 3:ede67e9b60eb | 14 | set_time(m_time); |
alpov | 3:ede67e9b60eb | 15 | return m_time; |
alpov | 3:ede67e9b60eb | 16 | } |
alpov | 3:ede67e9b60eb | 17 | |
alpov | 3:ede67e9b60eb | 18 | bool set_rtc(time_t time) |
alpov | 3:ede67e9b60eb | 19 | { |
alpov | 3:ede67e9b60eb | 20 | rtc_mutex.lock(); |
alpov | 3:ede67e9b60eb | 21 | bool b = rtc.set_time(time); |
alpov | 3:ede67e9b60eb | 22 | rtc_mutex.unlock(); |
alpov | 3:ede67e9b60eb | 23 | set_time(time); |
alpov | 3:ede67e9b60eb | 24 | return b; |
alpov | 3:ede67e9b60eb | 25 | } |