Telescope Control Library
RTCClock.h@19:fd854309cb4c, 2018-09-24 (annotated)
- Committer:
- caoyu@caoyuan9642-desktop.MIT.EDU
- Date:
- Mon Sep 24 19:36:48 2018 -0400
- Revision:
- 19:fd854309cb4c
- Parent:
- 0:6cb2eaf8b133
Fix bug in nudging with small speeds mentioned in the last commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
caoyuan9642 | 0:6cb2eaf8b133 | 1 | #ifndef RTCCLOCK_H_ |
caoyuan9642 | 0:6cb2eaf8b133 | 2 | #define RTCCLOCK_H_ |
caoyuan9642 | 0:6cb2eaf8b133 | 3 | |
caoyuan9642 | 0:6cb2eaf8b133 | 4 | #include "mbed.h" |
caoyuan9642 | 0:6cb2eaf8b133 | 5 | #include "UTCClock.h" |
caoyuan9642 | 0:6cb2eaf8b133 | 6 | /** |
caoyuan9642 | 0:6cb2eaf8b133 | 7 | * RTCClock class implements the UTCClock interface and provides time through the MBED interface to hardware RTC found on most ARM MCUs |
caoyuan9642 | 0:6cb2eaf8b133 | 8 | */ |
caoyuan9642 | 0:6cb2eaf8b133 | 9 | class RTCClock: public UTCClock |
caoyuan9642 | 0:6cb2eaf8b133 | 10 | { |
caoyuan9642 | 0:6cb2eaf8b133 | 11 | protected: |
caoyuan9642 | 0:6cb2eaf8b133 | 12 | time_t t; |
caoyuan9642 | 0:6cb2eaf8b133 | 13 | public: |
caoyuan9642 | 0:6cb2eaf8b133 | 14 | |
caoyuan9642 | 0:6cb2eaf8b133 | 15 | RTCClock() |
caoyuan9642 | 0:6cb2eaf8b133 | 16 | { |
caoyuan9642 | 0:6cb2eaf8b133 | 17 | time(&t); |
caoyuan9642 | 0:6cb2eaf8b133 | 18 | } |
caoyuan9642 | 0:6cb2eaf8b133 | 19 | ~RTCClock() |
caoyuan9642 | 0:6cb2eaf8b133 | 20 | { |
caoyuan9642 | 0:6cb2eaf8b133 | 21 | } |
caoyuan9642 | 0:6cb2eaf8b133 | 22 | |
caoyuan9642 | 0:6cb2eaf8b133 | 23 | time_t getTime() |
caoyuan9642 | 0:6cb2eaf8b133 | 24 | { |
caoyuan9642 | 0:6cb2eaf8b133 | 25 | time(&t); |
caoyuan9642 | 0:6cb2eaf8b133 | 26 | return t; |
caoyuan9642 | 0:6cb2eaf8b133 | 27 | } |
caoyuan9642 | 0:6cb2eaf8b133 | 28 | |
caoyuan9642 | 0:6cb2eaf8b133 | 29 | void setTime(time_t newtime) |
caoyuan9642 | 0:6cb2eaf8b133 | 30 | { |
caoyuan9642 | 0:6cb2eaf8b133 | 31 | set_time(newtime); |
caoyuan9642 | 0:6cb2eaf8b133 | 32 | t = newtime; |
caoyuan9642 | 0:6cb2eaf8b133 | 33 | } |
caoyuan9642 | 0:6cb2eaf8b133 | 34 | |
caoyuan9642 | 0:6cb2eaf8b133 | 35 | static RTCClock& getInstance() |
caoyuan9642 | 0:6cb2eaf8b133 | 36 | { |
caoyuan9642 | 0:6cb2eaf8b133 | 37 | static RTCClock clock; |
caoyuan9642 | 0:6cb2eaf8b133 | 38 | return clock; |
caoyuan9642 | 0:6cb2eaf8b133 | 39 | } |
caoyuan9642 | 0:6cb2eaf8b133 | 40 | }; |
caoyuan9642 | 0:6cb2eaf8b133 | 41 | |
caoyuan9642 | 0:6cb2eaf8b133 | 42 | #endif /*RTCCLOCK_H_*/ |
caoyuan9642 | 0:6cb2eaf8b133 | 43 |