#include <TimeLib.h>
void setup(){
Serial.begin(9600);
}
void Timestamp() {
if (Serial.available()) {
time_t t = processSyncMessage();
if (t != 0) {
Teensy3Clock.set(t);
setTime(t);
}
}
digitalClockDisplay();
}
void digitalClockDisplay() {
Serial.print(hour());
printDigits(minute());
printDigits(second());
Serial.println();
}
time_t getTeensy3Time()
{
return Teensy3Clock.get();
}
#define TIME_HEADER "T"
unsigned long processSyncMessage() {
unsigned long pctime = 0L;
const unsigned long DEFAULT_TIME = 1357041600;
if(Serial.find(TIME_HEADER)) {
pctime = Serial.parseInt();
return pctime;
if( pctime < DEFAULT_TIME) {
pctime = 0L;
}
}
return pctime;
}
void printDigits(int digits){
Serial.print(":");
if(digits < 10)
Serial.print('0');
Serial.print(digits);
}