First Commit
This commit is contained in:
33
libraries/RTClib/src/RTC_Micros.cpp
Normal file
33
libraries/RTClib/src/RTC_Micros.cpp
Normal file
@@ -0,0 +1,33 @@
|
||||
#include "RTClib.h"
|
||||
|
||||
/**************************************************************************/
|
||||
/*!
|
||||
@brief Set the current date/time of the RTC_Micros clock.
|
||||
@param dt DateTime object with the desired date and time
|
||||
*/
|
||||
/**************************************************************************/
|
||||
void RTC_Micros::adjust(const DateTime &dt) {
|
||||
lastMicros = micros();
|
||||
lastUnix = dt.unixtime();
|
||||
}
|
||||
|
||||
/**************************************************************************/
|
||||
/*!
|
||||
@brief Adjust the RTC_Micros clock to compensate for system clock drift
|
||||
@param ppm Adjustment to make. A positive adjustment makes the clock faster.
|
||||
*/
|
||||
/**************************************************************************/
|
||||
void RTC_Micros::adjustDrift(int ppm) { microsPerSecond = 1000000 - ppm; }
|
||||
|
||||
/**************************************************************************/
|
||||
/*!
|
||||
@brief Get the current date/time from the RTC_Micros clock.
|
||||
@return DateTime object containing the current date/time
|
||||
*/
|
||||
/**************************************************************************/
|
||||
DateTime RTC_Micros::now() {
|
||||
uint32_t elapsedSeconds = (micros() - lastMicros) / microsPerSecond;
|
||||
lastMicros += elapsedSeconds * microsPerSecond;
|
||||
lastUnix += elapsedSeconds;
|
||||
return lastUnix;
|
||||
}
|
||||
Reference in New Issue
Block a user