34 lines
1.3 KiB
C++
34 lines
1.3 KiB
C++
#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;
|
|
}
|